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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions