diff --git a/kubernetes/apps/default/authelia/app/helmrelease.yaml b/kubernetes/apps/default/authelia/app/helmrelease.yaml index cf243e40f..7988cd3e2 100644 --- a/kubernetes/apps/default/authelia/app/helmrelease.yaml +++ b/kubernetes/apps/default/authelia/app/helmrelease.yaml @@ -28,7 +28,7 @@ spec: keepHistory: false dependsOn: - name: lldap - - name: redis + - name: authelia-redis - name: smtp-relay values: initContainers: @@ -76,8 +76,7 @@ spec: AUTHELIA_SERVER_PORT: &port 8888 AUTHELIA_SESSION_DOMAIN: ${SECRET_CLUSTER_DOMAIN} AUTHELIA_SESSION_NAME: authelia-home-ops - AUTHELIA_SESSION_REDIS_DATABASE_INDEX: 14 - AUTHELIA_SESSION_REDIS_HOST: redis-master.default.svc.cluster.local. + AUTHELIA_SESSION_REDIS_HOST: authelia-redis.default.svc.cluster.local. AUTHELIA_SESSION_REDIS_PORT: 6379 AUTHELIA_STORAGE_POSTGRES_DATABASE: authelia AUTHELIA_STORAGE_POSTGRES_HOST: ${POSTGRES_HOST} diff --git a/kubernetes/apps/default/authelia/ks.yaml b/kubernetes/apps/default/authelia/ks.yaml index dac9e3a33..136b03097 100644 --- a/kubernetes/apps/default/authelia/ks.yaml +++ b/kubernetes/apps/default/authelia/ks.yaml @@ -9,6 +9,7 @@ metadata: substitution.flux.home.arpa/enabled: "true" spec: dependsOn: + - name: cluster-apps-authelia-redis - name: cluster-apps-cloudnative-pg-cluster - name: cluster-apps-external-secrets-stores path: ./kubernetes/apps/default/authelia/app @@ -24,3 +25,18 @@ spec: interval: 30m retryInterval: 1m timeout: 3m +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-authelia-redis + namespace: flux-system +spec: + interval: 10m + path: ./kubernetes/apps/default/authelia/redis + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + wait: false # no flux ks dependents diff --git a/kubernetes/apps/default/authelia/redis/helmrelease.yaml b/kubernetes/apps/default/authelia/redis/helmrelease.yaml new file mode 100644 index 000000000..18c8c11cd --- /dev/null +++ b/kubernetes/apps/default/authelia/redis/helmrelease.yaml @@ -0,0 +1,42 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: authelia-redis + namespace: default +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 1.5.1 + interval: 30m + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + + values: + image: + repository: public.ecr.aws/docker/library/redis + tag: 7.2.1@sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 + + env: + REDIS_REPLICATION_MODE: master + + service: + main: + ports: + http: + enabled: false + redis: + enabled: true + port: 6379 + + resources: + requests: + cpu: 5m + memory: 256M + limits: + memory: 256M diff --git a/kubernetes/apps/default/nitter/app/kustomization.yaml b/kubernetes/apps/default/authelia/redis/kustomization.yaml similarity index 64% rename from kubernetes/apps/default/nitter/app/kustomization.yaml rename to kubernetes/apps/default/authelia/redis/kustomization.yaml index ae816cb45..3de918cf3 100644 --- a/kubernetes/apps/default/nitter/app/kustomization.yaml +++ b/kubernetes/apps/default/authelia/redis/kustomization.yaml @@ -4,11 +4,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: default resources: - - ./gatus.yaml - ./helmrelease.yaml -configMapGenerator: - - name: nitter - files: - - ./config/config.yml -generatorOptions: - disableNameSuffixHash: true +commonLabels: + app.kubernetes.io/name: authelia-redis + app.kubernetes.io/instance: authelia diff --git a/kubernetes/apps/default/ghostfolio/app/helmrelease.yaml b/kubernetes/apps/default/ghostfolio/app/helmrelease.yaml index c80353e9a..2abf47676 100644 --- a/kubernetes/apps/default/ghostfolio/app/helmrelease.yaml +++ b/kubernetes/apps/default/ghostfolio/app/helmrelease.yaml @@ -26,6 +26,8 @@ spec: retries: 3 uninstall: keepHistory: false + dependsOn: + - name: ghostfolio-redis values: controller: strategy: RollingUpdate @@ -43,7 +45,7 @@ spec: tag: 2.2.0 env: NODE_ENV: production - REDIS_HOST: redis-master.default.svc.cluster.local + REDIS_HOST: ghostfolio-redis.default.svc.cluster.local REDIS_PORT: 6379 envFrom: *envFrom service: diff --git a/kubernetes/apps/default/ghostfolio/ks.yaml b/kubernetes/apps/default/ghostfolio/ks.yaml index 9ff9ce786..fa5bc0fa6 100644 --- a/kubernetes/apps/default/ghostfolio/ks.yaml +++ b/kubernetes/apps/default/ghostfolio/ks.yaml @@ -16,6 +16,7 @@ spec: dependsOn: - name: cluster-apps-cloudnative-pg-cluster - name: cluster-apps-external-secrets-stores + - name: cluster-apps-ghostfolio-redis healthChecks: - apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -24,3 +25,18 @@ spec: interval: 30m retryInterval: 1m timeout: 3m +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-ghostfolio-redis + namespace: flux-system +spec: + interval: 10m + path: ./kubernetes/apps/default/ghostfolio/redis + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + wait: false # no flux ks dependents diff --git a/kubernetes/apps/default/ghostfolio/redis/helmrelease.yaml b/kubernetes/apps/default/ghostfolio/redis/helmrelease.yaml new file mode 100644 index 000000000..b9935fe3a --- /dev/null +++ b/kubernetes/apps/default/ghostfolio/redis/helmrelease.yaml @@ -0,0 +1,42 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: ghostfolio-redis + namespace: default +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 1.5.1 + interval: 30m + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + + values: + image: + repository: public.ecr.aws/docker/library/redis + tag: 7.2.1@sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 + + env: + REDIS_REPLICATION_MODE: master + + service: + main: + ports: + http: + enabled: false + redis: + enabled: true + port: 6379 + + resources: + requests: + cpu: 5m + memory: 256M + limits: + memory: 256M diff --git a/kubernetes/apps/default/ghostfolio/redis/kustomization.yaml b/kubernetes/apps/default/ghostfolio/redis/kustomization.yaml new file mode 100644 index 000000000..eeb7cc718 --- /dev/null +++ b/kubernetes/apps/default/ghostfolio/redis/kustomization.yaml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: default +resources: + - ./helmrelease.yaml +commonLabels: + app.kubernetes.io/name: ghostfolio-redis + app.kubernetes.io/instance: ghostfolio diff --git a/kubernetes/apps/default/kustomization.yaml b/kubernetes/apps/default/kustomization.yaml index 232fb4309..d7605875b 100644 --- a/kubernetes/apps/default/kustomization.yaml +++ b/kubernetes/apps/default/kustomization.yaml @@ -35,7 +35,6 @@ resources: - ./media-browser/ks.yaml - ./music-transcode/ks.yaml - ./navidrome/ks.yaml - - ./nitter/ks.yaml - ./opnsense/ks.yaml - ./outline/ks.yaml - ./paperless/ks.yaml @@ -46,7 +45,6 @@ resources: - ./qbittorrent/ks.yaml - ./radarr/ks.yaml - ./recyclarr/ks.yaml - - ./redis/ks.yaml - ./resilio-sync/ks.yaml - ./sabnzbd/ks.yaml - ./semaphore/ks.yaml diff --git a/kubernetes/apps/default/lychee/app/helmrelease.yaml b/kubernetes/apps/default/lychee/app/helmrelease.yaml index 5a6241a91..9668a1f47 100644 --- a/kubernetes/apps/default/lychee/app/helmrelease.yaml +++ b/kubernetes/apps/default/lychee/app/helmrelease.yaml @@ -26,6 +26,8 @@ spec: retries: 3 uninstall: keepHistory: false + dependsOn: + - name: lychee-redis values: initContainers: 01-init-db: @@ -44,7 +46,7 @@ spec: TIMEZONE: ${TIMEZONE} APP_NAME: Lychee DB_CONNECTION: pgsql - REDIS_HOST: redis-master.default.svc.cluster.local. + REDIS_HOST: lychee-redis.default.svc.cluster.local. REDIS_PORT: 6379 envFrom: - secretRef: diff --git a/kubernetes/apps/default/lychee/ks.yaml b/kubernetes/apps/default/lychee/ks.yaml index e7e605bd5..4d8f9ff26 100644 --- a/kubernetes/apps/default/lychee/ks.yaml +++ b/kubernetes/apps/default/lychee/ks.yaml @@ -16,6 +16,7 @@ spec: dependsOn: - name: cluster-apps-cloudnative-pg-cluster - name: cluster-apps-external-secrets-stores + - name: cluster-apps-lychee-redis - name: cluster-apps-rook-ceph-cluster - name: cluster-apps-volsync-app healthChecks: @@ -26,3 +27,18 @@ spec: interval: 30m retryInterval: 1m timeout: 3m +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-lychee-redis + namespace: flux-system +spec: + interval: 10m + path: ./kubernetes/apps/default/lychee/redis + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + wait: false # no flux ks dependents diff --git a/kubernetes/apps/default/lychee/redis/helmrelease.yaml b/kubernetes/apps/default/lychee/redis/helmrelease.yaml new file mode 100644 index 000000000..b897b4db8 --- /dev/null +++ b/kubernetes/apps/default/lychee/redis/helmrelease.yaml @@ -0,0 +1,42 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: lychee-redis + namespace: default +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 1.5.1 + interval: 30m + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + + values: + image: + repository: public.ecr.aws/docker/library/redis + tag: 7.2.1@sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 + + env: + REDIS_REPLICATION_MODE: master + + service: + main: + ports: + http: + enabled: false + redis: + enabled: true + port: 6379 + + resources: + requests: + cpu: 5m + memory: 256M + limits: + memory: 256M diff --git a/kubernetes/apps/default/redis/app/kustomization.yaml b/kubernetes/apps/default/lychee/redis/kustomization.yaml similarity index 73% rename from kubernetes/apps/default/redis/app/kustomization.yaml rename to kubernetes/apps/default/lychee/redis/kustomization.yaml index 4aa74b27c..49444969a 100644 --- a/kubernetes/apps/default/redis/app/kustomization.yaml +++ b/kubernetes/apps/default/lychee/redis/kustomization.yaml @@ -5,3 +5,6 @@ kind: Kustomization namespace: default resources: - ./helmrelease.yaml +commonLabels: + app.kubernetes.io/name: lychee-redis + app.kubernetes.io/instance: lychee diff --git a/kubernetes/apps/default/nitter/app/config/config.yml b/kubernetes/apps/default/nitter/app/config/config.yml deleted file mode 100644 index 4f1978701..000000000 --- a/kubernetes/apps/default/nitter/app/config/config.yml +++ /dev/null @@ -1,45 +0,0 @@ -[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 = "redis-master.default.svc.cluster.local." # Change to "nitter-redis" if using docker-compose -redisPort = 6379 -redisPassword = "" -redisConnections = 20 # connection pool size -redisMaxConnections = 30 -# 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 = "${SECRET_NITTER_HMAC}" # random key for cryptographic signing of video urls -base64Media = false # use base64 encoding for proxied media urls -enableRSS = true # set this to false to disable RSS feeds -enableDebug = false # enable request logs and debug endpoints -#proxy = "" # http/https url, SOCKS proxies are not supported -#proxyAuth = "" -#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 = "invidious.${SECRET_CLUSTER_DOMAIN}" -replaceReddit = "libreddit.${SECRET_CLUSTER_DOMAIN}" -replaceInstagram = "" -proxyVideos = true -hlsPlayback = false -infiniteScroll = true diff --git a/kubernetes/apps/default/nitter/app/gatus.yaml b/kubernetes/apps/default/nitter/app/gatus.yaml deleted file mode 100644 index 5da83fc91..000000000 --- a/kubernetes/apps/default/nitter/app/gatus.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: nitter-gatus-ep - namespace: default - labels: - gatus.io/enabled: "true" -data: - config.yaml: | - endpoints: - - name: nitter - group: external - url: https://nitter.${SECRET_CLUSTER_DOMAIN} - interval: 1m - client: - dns-resolver: tcp://1.1.1.1:53 - insecure: true - conditions: - - "[STATUS] == 200" - alerts: - - type: pushover diff --git a/kubernetes/apps/default/nitter/app/helmrelease.yaml b/kubernetes/apps/default/nitter/app/helmrelease.yaml deleted file mode 100644 index 5d10b9ff4..000000000 --- a/kubernetes/apps/default/nitter/app/helmrelease.yaml +++ /dev/null @@ -1,84 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json -apiVersion: helm.toolkit.fluxcd.io/v2beta1 -kind: HelmRelease -metadata: - name: &app nitter - namespace: default -spec: - interval: 30m - chart: - spec: - chart: app-template - version: 1.5.1 - sourceRef: - kind: HelmRepository - name: bjw-s - namespace: flux-system - maxHistory: 2 - install: - createNamespace: true - remediation: - retries: 3 - upgrade: - cleanupOnFail: true - remediation: - retries: 3 - uninstall: - keepHistory: false - values: - controller: - strategy: RollingUpdate - annotations: - reloader.stakater.com/auto: "true" - image: - repository: docker.io/zedeus/nitter - tag: latest@sha256:c0275459df4de2331a1ceac61c42be30a8731e168f582851134b5ec25af75171 - service: - main: - ports: - http: - port: &port 8080 - probes: - liveness: &probes - enabled: false - # custom: true - # spec: - # httpGet: - # path: /Jack/status/20 - # port: *port - # initialDelaySeconds: 0 - # periodSeconds: 10 - # timeoutSeconds: 1 - # failureThreshold: 3 - readiness: *probes - startup: - enabled: false - ingress: - main: - enabled: true - ingressClassName: "nginx" - annotations: - auth.home.arpa/enabled: "true" - external-dns.home.arpa/enabled: "true" - hajimari.io/icon: mdi:web - hosts: - - host: &host "nitter.${SECRET_CLUSTER_DOMAIN}" - paths: - - path: / - pathType: Prefix - tls: - - hosts: - - *host - persistence: - config: - enabled: true - type: configMap - name: *app - subPath: config.yml - mountPath: /src/nitter.conf - readOnly: false - resources: - requests: - cpu: 50m - memory: 256Mi diff --git a/kubernetes/apps/default/nitter/ks.yaml b/kubernetes/apps/default/nitter/ks.yaml deleted file mode 100644 index c5bf7bba9..000000000 --- a/kubernetes/apps/default/nitter/ks.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: cluster-apps-nitter - namespace: flux-system - labels: - substitution.flux.home.arpa/enabled: "true" -spec: - path: ./kubernetes/apps/default/nitter/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - healthChecks: - - apiVersion: helm.toolkit.fluxcd.io/v2beta1 - kind: HelmRelease - name: nitter - namespace: default - interval: 30m - retryInterval: 1m - timeout: 3m diff --git a/kubernetes/apps/default/outline/app/helmrelease.yaml b/kubernetes/apps/default/outline/app/helmrelease.yaml index 53146e861..6bd93b6a7 100644 --- a/kubernetes/apps/default/outline/app/helmrelease.yaml +++ b/kubernetes/apps/default/outline/app/helmrelease.yaml @@ -26,6 +26,8 @@ spec: retries: 3 uninstall: keepHistory: false + dependsOn: + - name: outline-redis values: initContainers: 01-init-db: @@ -60,7 +62,7 @@ spec: OIDC_USERNAME_CLAIM: email PGSSLMODE: disable PORT: 8080 - REDIS_URL: redis://redis-master.default.svc.cluster.local.:6379 + REDIS_URL: redis://outline-redis.default.svc.cluster.local.:6379 SMTP_HOST: smtp-relay.default.svc.cluster.local. SMTP_PORT: 2525 SMTP_FROM_EMAIL: "outline@${SECRET_DOMAIN}" diff --git a/kubernetes/apps/default/outline/ks.yaml b/kubernetes/apps/default/outline/ks.yaml index f053b2e2f..6bd6bf2b0 100644 --- a/kubernetes/apps/default/outline/ks.yaml +++ b/kubernetes/apps/default/outline/ks.yaml @@ -16,6 +16,7 @@ spec: dependsOn: - name: cluster-apps-cloudnative-pg-cluster - name: cluster-apps-external-secrets-stores + - name: cluster-apps-outline-redis healthChecks: - apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -24,3 +25,18 @@ spec: interval: 30m retryInterval: 1m timeout: 3m +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-outline-redis + namespace: flux-system +spec: + interval: 10m + path: ./kubernetes/apps/default/outline/redis + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + wait: false # no flux ks dependents diff --git a/kubernetes/apps/default/outline/redis/helmrelease.yaml b/kubernetes/apps/default/outline/redis/helmrelease.yaml new file mode 100644 index 000000000..a8edf8287 --- /dev/null +++ b/kubernetes/apps/default/outline/redis/helmrelease.yaml @@ -0,0 +1,42 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: outline-redis + namespace: default +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 1.5.1 + interval: 30m + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + + values: + image: + repository: public.ecr.aws/docker/library/redis + tag: 7.2.1@sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 + + env: + REDIS_REPLICATION_MODE: master + + service: + main: + ports: + http: + enabled: false + redis: + enabled: true + port: 6379 + + resources: + requests: + cpu: 5m + memory: 256M + limits: + memory: 256M diff --git a/kubernetes/apps/default/outline/redis/kustomization.yaml b/kubernetes/apps/default/outline/redis/kustomization.yaml new file mode 100644 index 000000000..a43e84631 --- /dev/null +++ b/kubernetes/apps/default/outline/redis/kustomization.yaml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: default +resources: + - ./helmrelease.yaml +commonLabels: + app.kubernetes.io/name: outline-redis + app.kubernetes.io/instance: outline diff --git a/kubernetes/apps/default/paperless/app/helmrelease.yaml b/kubernetes/apps/default/paperless/app/helmrelease.yaml index 1220296c1..d73ed9fb0 100644 --- a/kubernetes/apps/default/paperless/app/helmrelease.yaml +++ b/kubernetes/apps/default/paperless/app/helmrelease.yaml @@ -26,6 +26,8 @@ spec: retries: 3 uninstall: keepHistory: false + dependsOn: + - name: paperless-redis values: initContainers: 01-init-db: @@ -48,7 +50,7 @@ spec: PAPERLESS_OCR_LANGUAGE: fra PAPERLESS_PORT: 8000 PAPERLESS_DBNAME: paperless - PAPERLESS_REDIS: redis://redis-master.default.svc.cluster.local:6379 + PAPERLESS_REDIS: redis://paperless-redis.default.svc.cluster.local:6379 PAPERLESS_TASK_WORKERS: 2 PAPERLESS_TIME_ZONE: "Europe/Paris" PAPERLESS_URL: https://paperless.${SECRET_CLUSTER_DOMAIN} diff --git a/kubernetes/apps/default/paperless/ks.yaml b/kubernetes/apps/default/paperless/ks.yaml index 7c6b6b701..533f1126a 100644 --- a/kubernetes/apps/default/paperless/ks.yaml +++ b/kubernetes/apps/default/paperless/ks.yaml @@ -16,6 +16,7 @@ spec: dependsOn: - name: cluster-apps-cloudnative-pg-cluster - name: cluster-apps-external-secrets-stores + - name: cluster-apps-paperless-redis healthChecks: - apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -24,3 +25,18 @@ spec: interval: 30m retryInterval: 1m timeout: 3m +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-paperless-redis + namespace: flux-system +spec: + interval: 10m + path: ./kubernetes/apps/default/paperless/redis + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + wait: false # no flux ks dependents diff --git a/kubernetes/apps/default/paperless/redis/helmrelease.yaml b/kubernetes/apps/default/paperless/redis/helmrelease.yaml new file mode 100644 index 000000000..2860663fd --- /dev/null +++ b/kubernetes/apps/default/paperless/redis/helmrelease.yaml @@ -0,0 +1,42 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: paperless-redis + namespace: default +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 1.5.1 + interval: 30m + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + + values: + image: + repository: public.ecr.aws/docker/library/redis + tag: 7.2.1@sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 + + env: + REDIS_REPLICATION_MODE: master + + service: + main: + ports: + http: + enabled: false + redis: + enabled: true + port: 6379 + + resources: + requests: + cpu: 5m + memory: 256M + limits: + memory: 256M diff --git a/kubernetes/apps/default/paperless/redis/kustomization.yaml b/kubernetes/apps/default/paperless/redis/kustomization.yaml new file mode 100644 index 000000000..e84bd88d0 --- /dev/null +++ b/kubernetes/apps/default/paperless/redis/kustomization.yaml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: default +resources: + - ./helmrelease.yaml +commonLabels: + app.kubernetes.io/name: paperless-redis + app.kubernetes.io/instance: paperless diff --git a/kubernetes/apps/default/redis/app/helmrelease.yaml b/kubernetes/apps/default/redis/app/helmrelease.yaml deleted file mode 100644 index b284525a7..000000000 --- a/kubernetes/apps/default/redis/app/helmrelease.yaml +++ /dev/null @@ -1,44 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json -apiVersion: helm.toolkit.fluxcd.io/v2beta1 -kind: HelmRelease -metadata: - name: &app redis - namespace: default -spec: - interval: 30m - chart: - spec: - chart: redis - version: 18.0.4 - sourceRef: - kind: HelmRepository - name: bitnami - namespace: flux-system - maxHistory: 2 - install: - createNamespace: true - remediation: - retries: 3 - upgrade: - cleanupOnFail: true - remediation: - retries: 3 - uninstall: - keepHistory: false - values: - auth: - enabled: false - sentinel: false - master: - persistence: - enabled: false - replica: - persistence: - enabled: false - architecture: standalone - metrics: - enabled: true - serviceMonitor: - enabled: true - interval: 1m diff --git a/kubernetes/apps/default/redis/ks.yaml b/kubernetes/apps/default/redis/ks.yaml deleted file mode 100644 index 7f53426cc..000000000 --- a/kubernetes/apps/default/redis/ks.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json -apiVersion: kustomize.toolkit.fluxcd.io/v1 -kind: Kustomization -metadata: - name: cluster-apps-redis - namespace: flux-system - labels: - substitution.flux.home.arpa/enabled: "true" -spec: - dependsOn: - - name: cluster-apps-rook-ceph-cluster - path: ./kubernetes/apps/default/redis/app - prune: true - sourceRef: - kind: GitRepository - name: home-ops-kubernetes - healthChecks: - - apiVersion: helm.toolkit.fluxcd.io/v2beta1 - kind: HelmRelease - name: redis - namespace: default - interval: 30m - retryInterval: 1m - timeout: 3m diff --git a/kubernetes/apps/default/wallabag/app/helmrelease.yaml b/kubernetes/apps/default/wallabag/app/helmrelease.yaml index 5e54e8583..c4cc00f94 100644 --- a/kubernetes/apps/default/wallabag/app/helmrelease.yaml +++ b/kubernetes/apps/default/wallabag/app/helmrelease.yaml @@ -26,6 +26,8 @@ spec: retries: 3 uninstall: keepHistory: false + dependsOn: + - name: wallabag-redis values: controller: annotations: @@ -48,7 +50,7 @@ spec: SYMFONY__ENV__FROM_EMAIL: wallabag@${SECRET_DOMAIN} SYMFONY__ENV__MAILER_HOST: smtp-relay.default.svc.cluster.local. SYMFONY__ENV__MAILER_PORT: "2525" - SYMFONY__ENV__REDIS_HOST: redis-master.default.svc.cluster.local. + SYMFONY__ENV__REDIS_HOST: wallabag-redis.default.svc.cluster.local. SYMFONY__ENV__SERVER_NAME: Wallabag command: - /var/www/wallabag/bin/console diff --git a/kubernetes/apps/default/wallabag/ks.yaml b/kubernetes/apps/default/wallabag/ks.yaml index ebd72c603..924f21cde 100644 --- a/kubernetes/apps/default/wallabag/ks.yaml +++ b/kubernetes/apps/default/wallabag/ks.yaml @@ -18,6 +18,7 @@ spec: - name: cluster-apps-external-secrets-stores - name: cluster-apps-rook-ceph-cluster - name: cluster-apps-volsync-app + - name: cluster-apps-wallabag-redis healthChecks: - apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease @@ -26,3 +27,18 @@ spec: interval: 30m retryInterval: 1m timeout: 3m +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: cluster-apps-wallabag-redis + namespace: flux-system +spec: + interval: 10m + path: ./kubernetes/apps/default/wallabag/redis + prune: true + sourceRef: + kind: GitRepository + name: home-ops-kubernetes + wait: false # no flux ks dependents diff --git a/kubernetes/apps/default/wallabag/redis/helmrelease.yaml b/kubernetes/apps/default/wallabag/redis/helmrelease.yaml new file mode 100644 index 000000000..dfa862fc3 --- /dev/null +++ b/kubernetes/apps/default/wallabag/redis/helmrelease.yaml @@ -0,0 +1,42 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: wallabag-redis + namespace: default +spec: + interval: 30m + chart: + spec: + chart: app-template + version: 1.5.1 + interval: 30m + sourceRef: + kind: HelmRepository + name: bjw-s + namespace: flux-system + + values: + image: + repository: public.ecr.aws/docker/library/redis + tag: 7.2.1@sha256:f92a0be0ba8c085e6a5e2d2bea386365443485bcd67ced5ca8ddcdacdd4656d2 + + env: + REDIS_REPLICATION_MODE: master + + service: + main: + ports: + http: + enabled: false + redis: + enabled: true + port: 6379 + + resources: + requests: + cpu: 5m + memory: 256M + limits: + memory: 256M diff --git a/kubernetes/apps/default/wallabag/redis/kustomization.yaml b/kubernetes/apps/default/wallabag/redis/kustomization.yaml new file mode 100644 index 000000000..f9267127c --- /dev/null +++ b/kubernetes/apps/default/wallabag/redis/kustomization.yaml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: default +resources: + - ./helmrelease.yaml +commonLabels: + app.kubernetes.io/name: wallabag-redis + app.kubernetes.io/instance: wallabag