redis migration

This commit is contained in:
auricom
2024-01-28 22:58:19 +01:00
parent e7fe440f36
commit 5adb6cb0d4
29 changed files with 21 additions and 501 deletions

View File

@@ -1,19 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.devbu.io/external-secrets.io/externalsecret_v1beta1.json
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: redis
spec:
secretStoreRef:
kind: ClusterSecretStore
name: onepassword-connect
target:
name: redis-secret
template:
engineVersion: v2
data:
REDIS_PASSWORD: "{{ .REDIS_PASSWORD }}"
dataFrom:
- extract:
key: redis

View File

@@ -36,7 +36,7 @@ spec:
args:
- -c
- >-
redis-server --requirepass $REDIS_PASSWORD
redis-server
probes:
liveness:
enabled: true
@@ -74,11 +74,6 @@ spec:
memory: 241Mi
env:
REDIS_PORT: "6379"
REDIS_PASSWORD:
valueFrom:
secretKeyRef:
name: redis-secret
key: REDIS_PASSWORD
service:
main:
ports:

View File

@@ -4,6 +4,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./configmap.yaml
- ./externalsecret.yaml
- ./helmrelease.yaml
- ../../../../templates/volsync

View File

@@ -28,7 +28,8 @@ spec:
keepHistory: false
dependsOn:
- name: lldap
- name: authelia-redis
- name: redis
namespace: database
- name: smtp-relay
values:
defaultPodOptions:
@@ -92,7 +93,7 @@ spec:
AUTHELIA_SERVER_ADDRESS: tcp://0.0.0.0:8888
AUTHELIA_SESSION_DOMAIN: ${SECRET_CLUSTER_DOMAIN}
AUTHELIA_SESSION_NAME: authelia-home-ops
AUTHELIA_SESSION_REDIS_HOST: authelia-redis.default.svc.cluster.local.
AUTHELIA_SESSION_REDIS_HOST: redis.database.svc.cluster.local.
AUTHELIA_SESSION_REDIS_PORT: 6379
AUTHELIA_TELEMETRY_METRICS_ADDRESS: tcp://0.0.0.0:8080
AUTHELIA_TELEMETRY_METRICS_ENABLED: "true"

View File

@@ -11,7 +11,7 @@ spec:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: authelia-redis
- name: redis
- name: external-secrets-stores
path: ./kubernetes/apps/default/authelia/app
prune: true
@@ -26,27 +26,3 @@ spec:
substitute:
APP: *app
GATUS_SUBDOMAIN: auth
---
# 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: authelia-redis
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: &app authelia
path: ./kubernetes/apps/default/authelia/redis
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app

View File

@@ -1,43 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: authelia-redis
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: public.ecr.aws/docker/library/redis
tag: 7.2.4@sha256:b5ddcd52d425a8e354696c022f392fe45fca928f68d6289e6bb4a709c3a74668
env:
REDIS_REPLICATION_MODE: master
resources:
requests:
cpu: 5m
memory: 256M
limits:
memory: 256M
service:
main:
ports:
http:
enabled: false
redis:
enabled: true
port: 6379

View File

@@ -1,10 +0,0 @@
---
# 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: authelia-redis
app.kubernetes.io/instance: authelia

View File

@@ -27,7 +27,8 @@ spec:
uninstall:
keepHistory: false
dependsOn:
- name: ghostfolio-redis
- name: redis
namespace: database
values:
controllers:
main:
@@ -49,7 +50,7 @@ spec:
tag: 2.46.0@sha256:d7f94879d1f08afa2a3ed642b83b67cedc4dd6a9f72428dd8cfa12002fbc2d36
env:
NODE_ENV: production
REDIS_HOST: ghostfolio-redis.default.svc.cluster.local
REDIS_HOST: redis.database.svc.cluster.local.
REDIS_PORT: 6379
envFrom: *envFrom
resources:

View File

@@ -17,31 +17,7 @@ spec:
name: home-ops-kubernetes
dependsOn:
- name: external-secrets-stores
- name: ghostfolio-redis
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app
---
# 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: ghostfolio-redis
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: &app ghostfolio
path: ./kubernetes/apps/default/ghostfolio/redis
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
- name: redis
wait: false
interval: 30m
retryInterval: 1m

View File

@@ -1,43 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: ghostfolio-redis
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: public.ecr.aws/docker/library/redis
tag: 7.2.4@sha256:b5ddcd52d425a8e354696c022f392fe45fca928f68d6289e6bb4a709c3a74668
env:
REDIS_REPLICATION_MODE: master
resources:
requests:
cpu: 5m
memory: 256M
limits:
memory: 256M
service:
main:
ports:
http:
enabled: false
redis:
enabled: true
port: 6379

View File

@@ -1,10 +0,0 @@
---
# 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

View File

@@ -21,7 +21,6 @@ spec:
DB_PASSWORD: &dbPass "{{ .POSTGRES_PASS }}"
DB_PORT: "5432"
JWT_SECRET: "{{ .IMMICH_JWT_SECRET }}"
REDIS_PASSWORD: "{{ .REDIS_PASSWORD }}"
TYPESENSE_API_KEY: "{{ .IMMICH_TYPESENSE_API_KEY }}"
# Postgres Init
INIT_POSTGRES_DBNAME: *dbName

View File

@@ -27,7 +27,8 @@ spec:
uninstall:
keepHistory: false
dependsOn:
- name: lychee-redis
- name: redis
namespace: database
values:
controllers:
main:
@@ -52,7 +53,7 @@ spec:
APP_URL: https://lychee.${SECRET_CLUSTER_DOMAIN}
DB_CONNECTION: pgsql
PHP_TZ: ${TIMEZONE}
REDIS_HOST: lychee-redis.default.svc.cluster.local.
REDIS_HOST: redis.database.svc.cluster.local.
REDIS_PORT: 6379
TRUSTED_PROXIES: "*"
envFrom: *envFrom

View File

@@ -26,26 +26,3 @@ spec:
substitute:
APP: *app
VOLSYNC_CAPACITY: 80Gi
---
# 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: lychee-redis
namespace: flux-system
spec:
commonMetadata:
labels:
app.kubernetes.io/name: &app lychee
path: ./kubernetes/apps/default/lychee/redis
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app

View File

@@ -1,43 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: lychee-redis
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: public.ecr.aws/docker/library/redis
tag: 7.2.4@sha256:b5ddcd52d425a8e354696c022f392fe45fca928f68d6289e6bb4a709c3a74668
env:
REDIS_REPLICATION_MODE: master
resources:
requests:
cpu: 5m
memory: 256M
limits:
memory: 256M
service:
main:
ports:
http:
enabled: false
redis:
enabled: true
port: 6379

View File

@@ -1,10 +0,0 @@
---
# 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: lychee-redis
app.kubernetes.io/instance: lychee

View File

@@ -22,6 +22,7 @@ spec:
DATABASE_URL: "postgresql://{{ .POSTGRES_USER }}:{{ .POSTGRES_PASS }}@postgres16-rw.database.svc.cluster.local/outline"
OIDC_CLIENT_SECRET: "{{ .OUTLINE_OAUTH_CLIENT_SECRET }}"
# PGSSLMODE: require
REDIS_URL: redis://redis.database.svc.cluster.local.:6379
# Postgres Init
INIT_POSTGRES_DBNAME: outline
INIT_POSTGRES_HOST: postgres16-rw.database.svc.cluster.local

View File

@@ -27,7 +27,8 @@ spec:
uninstall:
keepHistory: false
dependsOn:
- name: outline-redis
- name: redis
namespace: database
values:
controllers:
main:
@@ -65,7 +66,6 @@ spec:
OIDC_USERINFO_URI: "https://auth.${SECRET_CLUSTER_DOMAIN}/api/oidc/userinfo"
OIDC_USERNAME_CLAIM: email
PORT: 8080
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}"

View File

@@ -25,27 +25,3 @@ spec:
substitute:
APP: *app
VOLSYNC_CAPACITY: 2Gi
---
# 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: outline-redis
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: &app outline
path: ./kubernetes/apps/default/outline/redis
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app

View File

@@ -1,43 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: outline-redis
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: public.ecr.aws/docker/library/redis
tag: 7.2.4@sha256:b5ddcd52d425a8e354696c022f392fe45fca928f68d6289e6bb4a709c3a74668
env:
REDIS_REPLICATION_MODE: master
resources:
requests:
cpu: 5m
memory: 256M
limits:
memory: 256M
service:
main:
ports:
http:
enabled: false
redis:
enabled: true
port: 6379

View File

@@ -1,10 +0,0 @@
---
# 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

View File

@@ -27,7 +27,8 @@ spec:
uninstall:
keepHistory: false
dependsOn:
- name: paperless-redis
- name: redis
namespace: database
values:
controllers:
main:
@@ -58,7 +59,7 @@ spec:
PAPERLESS_OCR_LANGUAGE: fra
PAPERLESS_PORT: 8000
PAPERLESS_DBNAME: paperless
PAPERLESS_REDIS: redis://paperless-redis.default.svc.cluster.local:6379
PAPERLESS_REDIS: redis://redis.database.svc.cluster.local.:6379
PAPERLESS_TASK_WORKERS: 2
PAPERLESS_TIME_ZONE: "Europe/Paris"
PAPERLESS_URL: https://paperless.${SECRET_CLUSTER_DOMAIN}

View File

@@ -25,26 +25,3 @@ spec:
substitute:
APP: *app
---
# 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: paperless-redis
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: &app paperless
path: ./kubernetes/apps/default/paperless/redis
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app

View File

@@ -1,43 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: paperless-redis
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: public.ecr.aws/docker/library/redis
tag: 7.2.4@sha256:b5ddcd52d425a8e354696c022f392fe45fca928f68d6289e6bb4a709c3a74668
env:
REDIS_REPLICATION_MODE: master
resources:
requests:
cpu: 5m
memory: 256M
limits:
memory: 256M
service:
main:
ports:
http:
enabled: false
redis:
enabled: true
port: 6379

View File

@@ -1,10 +0,0 @@
---
# 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

View File

@@ -27,7 +27,8 @@ spec:
uninstall:
keepHistory: false
dependsOn:
- name: wallabag-redis
- name: redis
namespace: database
values:
defaultPodOptions:
securityContext:
@@ -61,7 +62,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: wallabag-redis.default.svc.cluster.local.
SYMFONY__ENV__REDIS_HOST: redis.database.svc.cluster.local.
SYMFONY__ENV__SERVER_NAME: Wallabag
command:
- /var/www/wallabag/bin/console

View File

@@ -27,27 +27,3 @@ spec:
substitute:
APP: *app
VOLSYNC_CAPACITY: 2Gi
---
# 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: wallabag-redis
namespace: flux-system
spec:
targetNamespace: default
commonMetadata:
labels:
app.kubernetes.io/name: &app wallabag
path: ./kubernetes/apps/default/wallabag/redis
prune: true
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m
postBuild:
substitute:
APP: *app

View File

@@ -1,43 +0,0 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: wallabag-redis
namespace: default
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 2.5.0
interval: 30m
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
values:
controllers:
main:
strategy: RollingUpdate
containers:
main:
image:
repository: public.ecr.aws/docker/library/redis
tag: 7.2.4@sha256:b5ddcd52d425a8e354696c022f392fe45fca928f68d6289e6bb4a709c3a74668
env:
REDIS_REPLICATION_MODE: master
resources:
requests:
cpu: 5m
memory: 256M
limits:
memory: 256M
service:
main:
ports:
http:
enabled: false
redis:
enabled: true
port: 6379

View File

@@ -1,10 +0,0 @@
---
# 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