Value Hierarchy
How Kuberise.io merges default and cluster-specific values.
Two Levels of Values
Each component has up to two value files that ArgoCD merges in order:
- Defaults —
values/defaults/platform/<component>/values.yaml - Cluster-specific —
values/<cluster>/platform/<component>/values.yaml
Cluster-specific values override defaults.
Example
For the loki component on the onprem cluster:
values/
defaults/platform/loki/values.yaml # base config (all clusters)
onprem/platform/loki/values.yaml # overrides for onprem only
ArgoCD passes both files to Helm, which merges them with the cluster-specific file taking precedence.
Rules
- Default files must always exist, even if empty — they serve as placeholders showing available components.
- Cluster-specific files are optional — only create them when you have actual overrides.
- The ArgoCD template uses
ignoreMissingValueFiles: true, so missing cluster-specific files are silently skipped.
Applications vs Platform
Values are organized in two sub-directories:
values/<cluster>/platform/— platform tool configurationvalues/<cluster>/applications/— business application configuration
Direct Values (No Subchart Nesting)
Because external charts are referenced directly (not as subchart dependencies), values are passed at the top level:
# values/defaults/platform/loki/values.yaml
# These values go directly to the loki-distributed chart
loki:
config:
auth_enabled: false
Global Values
The install script injects two global values available to all charts:
global.domain— the base domain (e.g.onprem.kuberise.dev)global.clusterName— the cluster name (e.g.onprem)