diff --git a/kubernetes/apps/kustomization.yaml b/kubernetes/apps/kustomization.yaml index a5cf2db..bde56f5 100644 --- a/kubernetes/apps/kustomization.yaml +++ b/kubernetes/apps/kustomization.yaml @@ -11,6 +11,7 @@ resources: - ./podinfo/podinfo.yaml - ./postgresql/postgresql.yaml - ./qbittorrent/qbittorrent.yaml + - ./redis/redis.yaml - ./snippet-box/snippet-box.yaml - ./uptime-kuma/uptime-kuma.yaml - ./weave-gitops/weave-gitops.yaml \ No newline at end of file diff --git a/kubernetes/apps/redis/app/release.yaml b/kubernetes/apps/redis/app/release.yaml new file mode 100644 index 0000000..3fc4991 --- /dev/null +++ b/kubernetes/apps/redis/app/release.yaml @@ -0,0 +1,39 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: redis + namespace: redis +spec: + releaseName: redis + chart: + spec: + chart: redis + sourceRef: + kind: HelmRepository + name: bitnami + namespace: flux-system + interval: 1h + install: + remediation: + retries: 3 + values: + clusterDomain: redis.cluster.local + auth: + password: "" + master: + persistence: + existingClaim: redis-master-pvc + selector: + matchLabels: + name: redis-master-pvc + persistentVolumeClaimRetentionPolicy: + enabled: true + replica: + replicaCount: 1 + persistence: + existingClaim: redis-replica-pvc + selector: + matchLabels: + name: redis-replica-pvc + persistentVolumeClaimRetentionPolicy: + enabled: true diff --git a/kubernetes/apps/redis/app/volume.yaml b/kubernetes/apps/redis/app/volume.yaml new file mode 100644 index 0000000..41567d0 --- /dev/null +++ b/kubernetes/apps/redis/app/volume.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: redis-master-pvc + namespace: redis + labels: + name: redis-master-pvc +spec: + storageClassName: local-path + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: redis-replica-pvc + namespace: redis + labels: + name: redis-replica-pvc +spec: + storageClassName: local-path + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 8Gi \ No newline at end of file diff --git a/kubernetes/apps/redis/redis.yaml b/kubernetes/apps/redis/redis.yaml new file mode 100644 index 0000000..9504156 --- /dev/null +++ b/kubernetes/apps/redis/redis.yaml @@ -0,0 +1,46 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: redis-secrets + namespace: redis +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + targetNamespace: redis + path: ./redis + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: home-cluster-ops-secrets + dependsOn: + - name: repositories + namespace: flux-system + decryption: + provider: sops + secretRef: + name: redis-sops-age +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: redis + namespace: redis +spec: + interval: 10m + timeout: 1m30s + retryInterval: 30s + path: ./kubernetes/apps/redis/app + prune: true + sourceRef: + kind: GitRepository + namespace: flux-system + name: flux-system + dependsOn: + - name: redis-secrets + namespace: redis + postBuild: + substituteFrom: + - kind: Secret + name: redis-secrets \ No newline at end of file diff --git a/kubernetes/infrastructure/namespaces/namespaces/redis.yaml b/kubernetes/infrastructure/namespaces/namespaces/redis.yaml new file mode 100644 index 0000000..7b5a5b5 --- /dev/null +++ b/kubernetes/infrastructure/namespaces/namespaces/redis.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: redis