From b759f4beeaf223c4e193d6612412757033343545 Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Sat, 15 Aug 2026 12:32:57 +1000 Subject: [PATCH] Install valkey-operator (#365) Makes the valkey-operator available in the cluster so a later change can replace the self-managed redis Deployment with a Valkey CR. This PR only installs the operator; it does not create any Valkey CR or touch existing apps. Changes: - Add `apps/base/valkey-operator-system/` (namespace `valkey-operator-system`, mirroring the cnpg-system pattern). - Add `apps/overlays/au-syd1/valkey-operator-system/` which inflates the `valkey-operator` 0.5.0 Helm chart from the artifactapi virtual helm repo with `includeCRDs: true` (the chart ships CRDs in the Helm-native `crds/` dir, which `helm template` skips otherwise). - Route the operator image through artifactapi: `artifactapi.k8s.syd1.au.unkin.net/ghcr/valkey-io/valkey-operator:v0.5.0`. - Register `apps/overlays/*/valkey-operator-system` in the platform ApplicationSet. No AppProject change needed: the `*-system` destination and the virtual-helm sourceRepo already cover it (same as cnpg-system/cephrgw-system). Depends on unkin/terraform-artifactapi#29 (adds the valkey helm remote + virtual member and allowlists the operator image). That PR must merge and apply before this one syncs, or the chart pull / image pull will 404/403. Validated with `kustomize build --enable-helm` against the upstream chart (identical version/values): renders the Namespace, 2 CRDs, operator Deployment (image = the artifactapi ghcr path), RBAC, SA, and metrics Service, all in `valkey-operator-system`. Reviewed-on: https://git.unkin.net/unkin/argocd-apps/pulls/365 Co-authored-by: unkin-agent Co-committed-by: unkin-agent --- .../valkey-operator-system/kustomization.yaml | 6 ++++++ apps/base/valkey-operator-system/namespace.yaml | 5 +++++ .../valkey-operator-system/kustomization.yaml | 17 +++++++++++++++++ .../au-syd1/valkey-operator-system/values.yaml | 14 ++++++++++++++ argocd/applicationsets/platform.yaml | 1 + 5 files changed, 43 insertions(+) create mode 100644 apps/base/valkey-operator-system/kustomization.yaml create mode 100644 apps/base/valkey-operator-system/namespace.yaml create mode 100644 apps/overlays/au-syd1/valkey-operator-system/kustomization.yaml create mode 100644 apps/overlays/au-syd1/valkey-operator-system/values.yaml diff --git a/apps/base/valkey-operator-system/kustomization.yaml b/apps/base/valkey-operator-system/kustomization.yaml new file mode 100644 index 0000000..5122f9e --- /dev/null +++ b/apps/base/valkey-operator-system/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - namespace.yaml diff --git a/apps/base/valkey-operator-system/namespace.yaml b/apps/base/valkey-operator-system/namespace.yaml new file mode 100644 index 0000000..f72d2a8 --- /dev/null +++ b/apps/base/valkey-operator-system/namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: valkey-operator-system diff --git a/apps/overlays/au-syd1/valkey-operator-system/kustomization.yaml b/apps/overlays/au-syd1/valkey-operator-system/kustomization.yaml new file mode 100644 index 0000000..1a24408 --- /dev/null +++ b/apps/overlays/au-syd1/valkey-operator-system/kustomization.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../../base/valkey-operator-system + +helmCharts: + - name: valkey-operator + repo: https://artifactapi.k8s.syd1.au.unkin.net/api/v1/virtual/helm + version: "0.5.0" + releaseName: valkey-operator + namespace: valkey-operator-system + valuesFile: values.yaml + # The chart ships CRDs in the Helm-native crds/ dir, which helm template + # skips unless CRDs are explicitly included. + includeCRDs: true diff --git a/apps/overlays/au-syd1/valkey-operator-system/values.yaml b/apps/overlays/au-syd1/valkey-operator-system/values.yaml new file mode 100644 index 0000000..e1afdf9 --- /dev/null +++ b/apps/overlays/au-syd1/valkey-operator-system/values.yaml @@ -0,0 +1,14 @@ +image: + registry: artifactapi.k8s.syd1.au.unkin.net/ghcr + repository: valkey-io/valkey-operator + tag: v0.5.0 + +replicaCount: 1 + +resources: + limits: + cpu: 500m + memory: 256Mi + requests: + cpu: 10m + memory: 64Mi diff --git a/argocd/applicationsets/platform.yaml b/argocd/applicationsets/platform.yaml index 97a4c39..20cfa68 100644 --- a/argocd/applicationsets/platform.yaml +++ b/argocd/applicationsets/platform.yaml @@ -43,6 +43,7 @@ spec: - path: apps/overlays/*/reloader-system - path: apps/overlays/*/reposync - path: apps/overlays/*/traefik-system + - path: apps/overlays/*/valkey-operator-system - path: apps/overlays/*/vm-system - path: apps/overlays/*/vpa-system - path: apps/overlays/*/vault