Skip to content

Component Configuration

kMetal's umbrella chart wraps each platform component as a Helm sub-chart. To customize a component, override values under the matching top-level key in your kmetal-values.yaml.

For the full per-component values schema, see Helm Values Reference.

Override pattern

# Operator-facing toggle (top-level)
kamaji:
  enabled: true
  replicas: 2

# Sub-chart values override (same key)
kamaji:
  nodeSelector:
    node-role.kubernetes.io/control-plane: ""
  resources:
    requests: { cpu: "1",   memory: 512Mi }
    limits:   { cpu: "2",   memory: 1Gi  }

Each component key behaves the same way: the operator-facing block toggles availability and high-level knobs; the sub-chart override block passes everything else straight through to the underlying chart.

Common overrides

Pinning a component to control-plane nodes

cert-manager:
  nodeSelector:
    node-role.kubernetes.io/control-plane: ""
  cainjector:
    nodeSelector:
      node-role.kubernetes.io/control-plane: ""
  webhook:
    nodeSelector:
      node-role.kubernetes.io/control-plane: ""

Adjusting Kamaji replicas and resources

kamaji:
  replicas: 3
  resources:
    requests: { cpu: "1", memory: 512Mi }
    limits:   { cpu: "2", memory: 1Gi }

Pinning component versions

The umbrella chart pins tested versions for every sub-chart. Override individual versions only when you have a specific reason and have validated compatibility.

t.b.d. — A worked example of bumping a specific sub-chart version while preserving others is t.b.d. in this section.

Disabling a component

storage:
  localPath:
    enabled: false       # Use a vendor CSI driver instead

Validating overrides

Render the chart before installing or upgrading:

helm template kmetal oci://ghcr.io/clastix/oci/kmetal \
  --values kmetal-values.yaml > rendered.yaml

Inspect rendered.yaml for the resources, namespaces, and image tags you expect.


For platform-wide values and the top-level keys, see Platform Values. For best practices, see Component Best Practices.