How-To

Update the Cloud-Vinyl Operator

Prerequisites

  • Access to the dp-infra repository

  • Node.js and npm installed locally

Steps

1. Update the Version in config.yaml

Edit dp-infra/cloud-vinyl/config.yaml:

versions:
  operator: "0.5.1"  # New version

2. Refresh the VinylCache CRD

The CRD is managed via GitOps, not by Helm (Helm only installs CRDs on first install and never updates them on upgrade). Pull the CRD that ships with the new chart version and overwrite the committed copy:

cd dp-infra/cloud-vinyl
helm pull oci://ghcr.io/bluedynamics/charts/cloud-vinyl --version 0.5.1 --untar -d /tmp/cv
cp /tmp/cv/cloud-vinyl/crds/vinylcache.yaml crds/vinylcache.yaml

npm run build re-emits it into manifests/cloud-vinyl-crd.k8s.yaml with the ArgoCD sync-wave and ServerSideApply annotations.

Note

Skipping this step leaves the cluster CRD on the old schema, so new VinylCache fields are silently pruned by the API server.

3. Rebuild Manifests

cd dp-infra/cloud-vinyl
npm run build

4. Review Changes

git diff manifests/

Verify that the HelmChart shows the new version and the CRD manifest reflects any schema changes.

5. Commit and Push

git add config.yaml crds/ manifests/
git commit -m "feat: update cloud-vinyl operator to 0.5.1"
git push

ArgoCD will automatically detect the change and sync within ~3 minutes.

6. Verify Deployment

# Check operator pod is running with new version
kubectl get pods -n cloud-vinyl-system

# Check ArgoCD sync status
kubectl get application cloud-vinyl-app-* -n argocd -o wide

# Confirm the CRD carries the new schema (example: a field added in this release)
kubectl get crd vinylcaches.vinyl.bluedynamics.eu -o yaml | grep -c volumeClaimTemplates