Skip to content

Value overrides don't overwrite values from spec

From the Fluxcd documentation:

The simplest way to define values overrides is inline via spec.values. It is also possible to define a list of ConfigMap and Secret resources from which to take values via spec.valuesFrom. The values are merged in the order given, with the later values overwriting earlier, and then spec.values overwriting those

This means that whatever values we put in an oas-<app>-override ConfigMap or Secret can never overwrite values that are in the release.yaml's spec.values field.

Solution: we should remove values that users are allowed to overwrite from release.yaml and move them to a separate, flux-managed <app>-configmap.yaml file. This file should be the first in the valuesFrom list, so they can get overwritten with files from the ConfigMap and then from the Secret.

Unfortunately, this does slow reconciliation of the application's values down a bit:

ConfigMap and Secret values overrides. Changes to these do not trigger an immediate reconciliation, but will be handled upon the next reconciliation. This is to avoid a large number of upgrades occurring when multiple resources are updated.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information