Skip to content

Sweep raw-manifest infrastructure for components that should be HelmReleases #205

Closed

Description

@devantler

🤖 Generated by the Agentic Engineer

Evidence

#68 asked for two things: factor the HelmRelease defaults and drift detection into shared components (delivered by #204), and sweep the template's remaining raw-manifest and vendored infrastructure for pieces that could be a HelmRelease instead. The sweep was not part of #204, so it is tracked here.

Audience and problem

Operators of platforms built from this template. A component installed from raw or vendored manifests gets none of the HelmRelease protections: no retry on a failed upgrade, no drift detection, and no chart-version bump from Renovate. It also has to be re-vendored by hand for every upgrade.

Hypothesis

Moving each raw-manifest component that has a maintained upstream chart to a HelmRelease gives it the same retry, drift and update behaviour as everything else, with no change in what runs.

Acceptance criteria

  • A list of every raw-manifest or vendored component in the bases and provider layers, each marked "has a maintained chart" or "stays raw" with the reason.
  • Each "has a maintained chart" entry is either migrated in its own PR or filed as its own issue.
  • Both provider renders and both workload validate runs stay green after each migration.

Size

S for the inventory; each migration is its own slice.

Activity

  1. moved this to 📥 Backlog in 🌊 Project Boardon Sep 27, 2026
  2. added a commit that references this issue on Oct 24, 2026
  3. devantler commented on Oct 24, 2026

    @devantler
    ContributorAuthor

    🤖 Generated by the Agentic Engineer (interactive Claude Code session)

    Verdict: done. Inventory of every raw-manifest or vendored component in the bases and provider layers, against main at 679fe8b. Configuration resources for controllers that already run from a HelmRelease (cluster policies, issuers, the Gateway, the Coroot and FluxInstance custom resources, secrets plumbing) are not installs, so they are out of scope.

    Component Layer Verdict Reason
    auth-proxy bases stays raw Our own Traefik forward-auth configuration, already scheduled for removal under #8.
    cdi bases stays raw Upstream ships operator manifests only; no maintained chart.
    kubevirt bases stays raw Upstream ships operator manifests only; packagers that need a chart generate one from those manifests because no supported chart exists.
    testkube/custom-resource-definitions bases has a maintained chart The Testkube chart in the same directory already installs these CRDs by default, so they have two owners: #263.
    coredns bases, hetzner stays raw Only overrides the distribution-managed CoreDNS ConfigMap; nothing to install.
    minio docker stays raw Local-only S3 stand-in; replaced the Bitnami chart on purpose (reason in its manifest), and the MinIO community edition is in maintenance mode with no maintained chart.
    kubelet-serving-cert-approver hetzner stays raw Upstream ships manifests only (the one chart found is a third-party 0.0.1). It is, however, fetched from upstream's main branch unpinned, unlike the platform's pinned copy: #264.
    cluster-heartbeat, vault-backup, vault-config, vault-seed bases stays raw Our own Jobs, CronJobs and secret seeding; there is no upstream chart.

    The one "has a maintained chart" entry is filed as its own issue (#263), which satisfies the second criterion; the third (renders and validation stay green after each migration) moves with it. #264 is a separate pinning gap the sweep turned up. Both are under #175.

  4. moved this from 🧊 Icebox to ✅ Done in 🌊 Project Boardon Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    No fields configured for Refactor.

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions