Skip to content

Add peat-sidecar as subchart/dependency in uds-remote-agent Helm chart #13

@kitplummer

Description

@kitplummer

Summary

Package peat-sidecar as a Helm subchart of uds-remote-agent so they install together as a single unit. This gives the remote agent team a clean integration point and makes deployment seamless.

Current State

  • peat-sidecar has its own Helm chart (chart/peat-sidecar/) with injectable templates (_helpers.tpl)
  • The peat-sidecar.container and peat-sidecar.volumes templates are already designed for subchart injection:
    containers:
      {{- include "peat-sidecar.container" .Subcharts.peat-sidecar | nindent 8 }}
  • peat-sidecar is published as a Zarf package (zarf.yaml) and UDS bundle (bundle/)

Proposed Approach

1. Publish Helm Chart to OCI Registry

Publish chart/peat-sidecar/ to ghcr.io/defenseunicorns/charts/peat-sidecar so it can be referenced as a dependency.

2. Add as Subchart in Remote Agent

In the remote agent's Chart.yaml:

dependencies:
  - name: peat-sidecar
    version: "0.1.x"
    repository: "oci://ghcr.io/defenseunicorns/charts"
    condition: peat-sidecar.enabled

3. Inject Sidecar Container

In the remote agent's deployment template:

spec:
  template:
    spec:
      containers:
        - name: remote-agent
          ...
        {{- if .Values.peat-sidecar.enabled }}
        {{- include "peat-sidecar.container" .Subcharts.peat-sidecar | nindent 8 }}
        {{- end }}
      volumes:
        {{- if .Values.peat-sidecar.enabled }}
        {{- include "peat-sidecar.volumes" .Subcharts.peat-sidecar | nindent 8 }}
        {{- end }}

4. Default Values

In remote agent's values.yaml:

peat-sidecar:
  enabled: false
  listen: "unix:///tmp/peat.sock"
  agentAddr: "http://localhost:8080"
  autoSync: true

This keeps peat-sidecar opt-in and gives @steven Gettys a clear entrypoint to probe the integration.

References

  • chart/peat-sidecar/templates/_helpers.tpl — injectable container/volume templates
  • chart/peat-sidecar/values.yaml — configurable values
  • test/go/cmd/watchertest/ — existing agent+sidecar integration test

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions