Summary
On a fresh cluster, install.sh's observability step (metrics enabled) fails because the VictoriaMetrics operator's CRDs are shipped as templates (not in a crds/ directory), so the sibling VMAgent / VMCluster custom resources are applied before their CRDs are registered and fail validation.
Release impact
Release blocker for the RC branch experimental/v1-ga-separation.
Target branch for the fix: experimental/v1-ga-separation.
Location
- Umbrella:
SaFE/charts/primus-safe-observability
- Subchart:
SaFE/charts/primus-safe-observability/charts/primus-robust-vm-operator (depends on victoria-metrics-operator 0.35.2)
- The CRs live in
charts/primus-robust-vmagent and charts/primus-robust-victoriametrics.
Symptom
helm upgrade --install primus-safe-observability ... fails with no matches for kind "VMAgent" / no matches for kind "VMCluster" (or a CR validation/ensure CRD is installed error) on a fresh cluster where the VM-operator CRDs do not yet exist.
Reproduction
- Fresh cluster (no VictoriaMetrics CRDs present).
- Run
SaFE/bootstrap/install.sh with the metrics stack enabled (install SaFE observability metrics stack ? y).
- The observability release fails on the VM CRs.
Reproducible; unlike the OpenSearch/Fluent CRDs (which this umbrella already ships in its own crds/ dir and installs first), the VM-operator CRDs are templated by the upstream subchart and register after the CRs are applied.
Manual workaround used
Pre-install the 16 VM-operator CRDs, then relabel/annotate them for Helm adoption (meta.helm.sh/release-name, release-namespace, app.kubernetes.io/managed-by=Helm) before re-running install.sh.
Suggested fix
Ensure the VM-operator CRDs are installed before the CRs. Options:
- Vendor the VM-operator CRDs into the umbrella
SaFE/charts/primus-safe-observability/crds/ dir (same pattern already used for OpenSearch/Fluent CRDs), and disable the subchart's templated CRDs.
- Or add a pre-install CRD apply step for the VM operator in
install.sh's observability step.
Summary
On a fresh cluster,
install.sh's observability step (metrics enabled) fails because the VictoriaMetrics operator's CRDs are shipped as templates (not in acrds/directory), so the siblingVMAgent/VMClustercustom resources are applied before their CRDs are registered and fail validation.Release impact
Release blocker for the RC branch
experimental/v1-ga-separation.Target branch for the fix:
experimental/v1-ga-separation.Location
SaFE/charts/primus-safe-observabilitySaFE/charts/primus-safe-observability/charts/primus-robust-vm-operator(depends onvictoria-metrics-operator0.35.2)charts/primus-robust-vmagentandcharts/primus-robust-victoriametrics.Symptom
helm upgrade --install primus-safe-observability ...fails withno matches for kind "VMAgent"/no matches for kind "VMCluster"(or a CR validation/ensure CRD is installederror) on a fresh cluster where the VM-operator CRDs do not yet exist.Reproduction
SaFE/bootstrap/install.shwith the metrics stack enabled (install SaFE observability metrics stack ? y).Reproducible; unlike the OpenSearch/Fluent CRDs (which this umbrella already ships in its own
crds/dir and installs first), the VM-operator CRDs are templated by the upstream subchart and register after the CRs are applied.Manual workaround used
Pre-install the 16 VM-operator CRDs, then relabel/annotate them for Helm adoption (
meta.helm.sh/release-name,release-namespace,app.kubernetes.io/managed-by=Helm) before re-runninginstall.sh.Suggested fix
Ensure the VM-operator CRDs are installed before the CRs. Options:
SaFE/charts/primus-safe-observability/crds/dir (same pattern already used for OpenSearch/Fluent CRDs), and disable the subchart's templated CRDs.install.sh's observability step.