In this section
Configure platform application overrides
Use application override objects to change supported settings on an installed platform. This procedure changes a non-sensitive Grafana resource setting as an example. Choose a value that meets your deployment's requirements.
Before you begin
You need the following:
kubectlconfigured for the intended cluster.- Permission to read and update the
grafana-overridesConfigMap instructsure-system. - Permission to inspect HelmRelease status and the affected workloads.
- An installed Grafana application with an existing override ConfigMap.
- The supported values hierarchy for the packaged Grafana chart.
Confirm the cluster before making a change:
kubectl config current-context
kubectl get configmap grafana-overrides -n structsure-system
If the object is absent, confirm the installed application and package configuration. Creating an override alone does not install a missing application.
Save the current values
Export the non-sensitive values to a local file for comparison and recovery:
kubectl get configmap grafana-overrides -n structsure-system \
-o go-template='{{index .data "values.yaml"}}{{"\n"}}' \
> grafana-overrides-before.yaml
Check that the file contains the current values. Store backups of sensitive configuration separately using your site's approved secret-handling process.
Update the source override
Merge the fragment into the existing values. Replacing the whole values.yaml entry
with this fragment removes any other settings in that entry. A resource change can
cause workloads to restart as their chart reconciles.
-
Open the ConfigMap in your configured editor:
kubectl edit configmap grafana-overrides -n structsure-system -
Merge the intended setting into the existing document under
data.values.yaml. For example, the following fragment sets Grafana's memory request to256Mi:grafana:values:upstream:resources:requests:memory: 256Mi -
Save the edited ConfigMap and exit the editor.
The live override uses the Big Bang application hierarchy. Do not put the SmoothGlue
chart's intermediate chartValues or chartSecrets keys inside this document.
Sensitive values belong in the matching override Secret.
Verify the result
Read the saved source values:
kubectl get configmap grafana-overrides -n structsure-system \
-o go-template='{{index .data "values.yaml"}}{{"\n"}}'
Confirm that the intended field changed and unrelated settings remain present. Inspect release reconciliation:
kubectl get helmreleases -A
Locate the Big Bang and Grafana releases. Wait for their readiness conditions and inspect any reported reconciliation errors. Crossplane copies the source configuration into the managed inputs, and Flux applies it through the Helm releases.
Confirm the resulting Grafana workload's resource request and readiness, then open Grafana to verify access. A ready HelmRelease alone does not establish application behavior. Chart and application behavior determine whether a restart or reload occurs.
Recover from a failed change
Open the same source ConfigMap and restore the affected values from
grafana-overrides-before.yaml. Preserve unrelated changes made since that backup.
Repeat the reconciliation and application checks.
Do not restore the exported file with kubectl apply; it contains values, not a
Kubernetes resource manifest. Do not patch a generated HelmRelease, copied override,
or workload as a permanent fix, because its controller can replace the patch.
If the source values are correct but reconciliation fails, inspect the related Crossplane resources, copied Big Bang configuration, and HelmRelease conditions to locate the failure.