diff --git a/cluster/apps/data/kustomization.yaml b/cluster/apps/data/kustomization.yaml index ccda44c44..616672e98 100644 --- a/cluster/apps/data/kustomization.yaml +++ b/cluster/apps/data/kustomization.yaml @@ -9,6 +9,7 @@ resources: - homer - jobs - joplin-server + - nitter - pgadmin - pgbackups - postgresql-kube diff --git a/cluster/apps/data/nitter/deployment.yaml b/cluster/apps/data/nitter/deployment.yaml new file mode 100644 index 000000000..ff88de982 --- /dev/null +++ b/cluster/apps/data/nitter/deployment.yaml @@ -0,0 +1,134 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nitter + namespace: data + labels: + app.kubernetes.io/instance: nitter + app.kubernetes.io/name: nitter +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/instance: nitter + app.kubernetes.io/name: nitter + template: + metadata: + labels: + app.kubernetes.io/instance: nitter + app.kubernetes.io/name: nitter + spec: + containers: + - image: zedeus/nitter:cf47c1b8ad3affa43881ea661c8a5a11d206dfa0 + imagePullPolicy: IfNotPresent + name: nitter + ports: + - containerPort: 8080 + name: http + volumeMounts: + - name: config + mountPath: /src/nitter.conf + subPath: nitter.conf + volumes: + - name: config + configMap: + name: nitter-config +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: nitter-config + namespace: data +data: + nitter.conf: | + [Server] + address = "0.0.0.0" + port = 8080 + https = false # disable to enable cookies when not using https + httpMaxConnections = 100 + staticDir = "./public" + title = "nitter" + hostname = "nitter.${SECRET_CLUSTER_DOMAIN}" + + [Cache] + listMinutes = 240 # how long to cache list info (not the tweets, so keep it high) + rssMinutes = 10 # how long to cache rss queries + redisHost = "localhost" + redisPort = 6379 + redisConnections = 20 # connection pool size + redisMaxConnections = 30 + redisPassword = "" + # max, new connections are opened when none are available, but if the pool size + # goes above this, they're closed when released. don't worry about this unless + # you receive tons of requests per second + + [Config] + hmacKey = "b38bf170965a71f5ba4da40e4881d25c05339b51" # random key for cryptographic signing of video urls + base64Media = false # use base64 encoding for proxied media urls + tokenCount = 10 + # minimum amount of usable tokens. tokens are used to authorize API requests, + # but they expire after ~1 hour, and have a limit of 187 requests. + # the limit gets reset every 15 minutes, and the pool is filled up so there's + # always at least $tokenCount usable tokens. again, only increase this if + # you receive major bursts all the time + + # Change default preferences here, see src/prefs_impl.nim for a complete list + [Preferences] + theme = "Nitter" + replaceTwitter = "nitter.${SECRET_CLUSTER_DOMAIN}" + replaceYouTube = "piped.kavin.rocks" + replaceInstagram = "" + proxyVideos = true + hlsPlayback = false + infiniteScroll = false +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + prometheus.io/probe: "true" + prometheus.io/protocol: tcp + labels: + app.kubernetes.io/instance: nitter + app.kubernetes.io/name: nitter + name: nitter + namespace: data +spec: + ports: + - name: http + port: 8080 + protocol: TCP + targetPort: 8080 + selector: + app.kubernetes.io/instance: nitter + app.kubernetes.io/name: nitter + type: ClusterIP +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + # annotations: + # traefik.ingress.kubernetes.io/router.entrypoints: "websecure" + labels: + app.kubernetes.io/instance: nitter + app.kubernetes.io/name: nitter + name: nitter + namespace: data +spec: + ingressClassName: "nginx" + rules: + - host: "nitter.${SECRET_CLUSTER_DOMAIN}" + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nitter + port: + number: 8080 + tls: + - hosts: + - "nitter.${SECRET_CLUSTER_DOMAIN}" + secretName: "${SECRET_CLUSTER_CERTIFICATE_DEFAULT}" diff --git a/cluster/apps/data/nitter/kustomization.yaml b/cluster/apps/data/nitter/kustomization.yaml new file mode 100644 index 000000000..9c2d28b0c --- /dev/null +++ b/cluster/apps/data/nitter/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - deployment.yaml