diff --git a/README.md b/README.md index d2a2a02..c041c27 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Static routes for 193.40.103.36/30 have been added in pve nodes to make them com [^mariadb]: As of 2024-07-30 used by auth, authelia, bitwarden, etherpad, freescout, git, grafana, nextcloud, wiki, woodpecker -[^redisdead]: Redis has been replaced as redis-operatori couldn't handle itself: didn't reconcile after reboots, master URI was empty, and clients complained about missing masters. ArgoCD still hosts its own Redis. +[^redisdead]: Redis has been replaced as redis-operatori couldn't handle itself: didn't reconcile after reboots, master URI was empty, and clients complained about missing masters. Dragonfly replaces KeyDB. [^mongoproblems]: Mongo problems: Incompatible with rawfile csi (wiredtiger.wt corrupts), complicated resizing (PVCs from statefulset PVC template). diff --git a/argocd/README.md b/argocd/README.md index 86827c4..6e10d44 100644 --- a/argocd/README.md +++ b/argocd/README.md @@ -54,3 +54,5 @@ kubectl label -n argocd secret oidc-client-argocd-owner-secrets app.kubernetes.i kubectl -n argocd rollout restart deployment/k6-argocd-redis deployment/k6-argocd-repo-server deployment/k6-argocd-server deployment/k6-argocd-notifications-controller statefulset/k6-argocd-application-controller ``` + +WARN: ArgoCD doesn't host its own redis, Dragonfly must be able to independently cold-start. diff --git a/argocd/applications/redis-clusters.yaml b/argocd/applications/redis-clusters.yaml deleted file mode 100644 index 6312c80..0000000 --- a/argocd/applications/redis-clusters.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: redis-clusters - namespace: argocd -spec: - project: k-space.ee - source: - repoURL: 'git@git.k-space.ee:k-space/kube.git' - path: redis-clusters - targetRevision: HEAD - destination: - server: 'https://kubernetes.default.svc' - namespace: redis-clusters - syncPolicy: - automated: - prune: true - syncOptions: - - CreateNamespace=true diff --git a/redis-clusters/README.md b/redis-clusters/README.md deleted file mode 100644 index 4a21e65..0000000 --- a/redis-clusters/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Redis clusters - -This is namespace for Redis clusters managed by Codemowers' sample -[redis-operator](https://github.com/codemowers/operatorlib/tree/main/samples/redis-operator) -which is deployed via [ArgoCD](https://argocd.k-space.ee/applications/argocd/redis-operator) - -``` -kubectl create namespace redis-clusters -kubectl apply -n redis-clusters -f application.yaml -``` diff --git a/redis-clusters/cache.yaml b/redis-clusters/cache.yaml deleted file mode 100644 index 8b1ff9b..0000000 --- a/redis-clusters/cache.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: codemowers.cloud/v1beta1 -kind: RedisClass -metadata: - name: cache - annotations: - kubernetes.io/description: "Caching Redis instance" -spec: - reclaimPolicy: Delete - replicas: 1 - podSpec: - containers: - - name: redis - image: mirror.gcr.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4 - imagePullPolicy: IfNotPresent - args: - - --maxmemory-policy - - volatile-lfu diff --git a/redis-clusters/ephemeral.yaml b/redis-clusters/ephemeral.yaml deleted file mode 100644 index 65e39a5..0000000 --- a/redis-clusters/ephemeral.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -apiVersion: codemowers.cloud/v1beta1 -kind: RedisClass -metadata: - name: ephemeral - annotations: - kubernetes.io/description: "Ephemeral Redis cluster" -spec: - reclaimPolicy: Delete - replicas: 3 - podSpec: - containers: - - name: redis - image: mirror.gcr.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4 - imagePullPolicy: IfNotPresent - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage diff --git a/redis-clusters/persistent.yaml b/redis-clusters/persistent.yaml deleted file mode 100644 index 0f8c915..0000000 --- a/redis-clusters/persistent.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -apiVersion: codemowers.cloud/v1beta1 -kind: RedisClass -metadata: - name: persistent - annotations: - kubernetes.io/description: "Persistent Redis instance" -spec: - reclaimPolicy: Retain - replicas: 3 - storageClass: redis - podSpec: - containers: - - name: redis - image: mirror.gcr.io/library/redis:7.0.11@sha256:1008c73f08e9f913868e2fa2e843212b62ea5bf3c66435d87bc7a6207bc0f1b4 - imagePullPolicy: IfNotPresent - args: - - --activedefrag yes - nodeSelector: - dedicated: storage - tolerations: - - effect: NoSchedule - key: dedicated - operator: Equal - value: storage diff --git a/redis-clusters/session.yaml b/redis-clusters/session.yaml deleted file mode 100644 index e69de29..0000000 diff --git a/redis-clusters/storageclass.yaml b/redis-clusters/storageclass.yaml deleted file mode 100644 index c29253c..0000000 --- a/redis-clusters/storageclass.yaml +++ /dev/null @@ -1,21 +0,0 @@ ---- -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: redis - annotations: - kubernetes.io/description: | - Storage class for Redis, KeyDB, DragonflyDB and similar applications - deployed in highly available fashion utilizing application level - replication needing persistent volume for storing the snapshots. - This storage class uses XFS, has no block level redundancy and - has block device level caching disabled. -provisioner: csi.proxmox.sinextra.dev -reclaimPolicy: Retain -volumeBindingMode: WaitForFirstConsumer -allowVolumeExpansion: true -parameters: - csi.storage.k8s.io/fstype: xfs - storage: ks-pvs - cache: none - ssd: "true" diff --git a/shared/README.md b/shared/README.md index ccaaec2..9c54376 100644 --- a/shared/README.md +++ b/shared/README.md @@ -1,12 +1,3 @@ -# KeyDB - -KeyDB can be instantiated by symlinking the generated keydb.yml, -in future this could be handled by an operator. - -``` -helm template keydb enapter/keydb --set persistentVolume.enabled=false > keydb.yml -``` - # To regenerate base network policies It's quite odd there is no better way to generate these. diff --git a/storage-class.yaml b/storage-class.yaml index 4235eb0..4a71401 100644 --- a/storage-class.yaml +++ b/storage-class.yaml @@ -143,7 +143,7 @@ metadata: name: redis annotations: kubernetes.io/description: | - Storage class for Redis, KeyDB, DragonflyDB and similar applications + Storage class for DragonflyDB and similar applications deployed in highly available fashion utilizing application level replication needing persistent volume for storing the snapshots. This storage class uses XFS, has no block level redundancy and