Skip to content

feat(helm): add extraObjects support to deploy supplementary resources#753

Open
gbrd wants to merge 2 commits into
root-gg:masterfrom
gbrd:feature/helm-extra-objects
Open

feat(helm): add extraObjects support to deploy supplementary resources#753
gbrd wants to merge 2 commits into
root-gg:masterfrom
gbrd:feature/helm-extra-objects

Conversation

@gbrd

@gbrd gbrd commented May 21, 2026

Copy link
Copy Markdown

Add a new extraObjects value to the Plik Helm chart, allowing users to deploy arbitrary Kubernetes manifests alongside the chart (e.g. ExternalSecrets, NetworkPolicies, RBAC rules).
Three input forms are supported via templates/extra-objects.yaml:

  • dict (default, recommended): Helm deep-merges dicts across multiple -f files, so each values file can independently add its own named key without overwriting keys from other files.
  • list: convenient for a single values file; a second -f replaces the entire list.
  • string: same last-file-wins behaviour as a list, but the whole block is evaluated through tpl first — useful for inline Go template expressions (e.g. {{ include "plik.fullname" . }}). All three forms pass manifests through tpl before rendering. Update ARCHITECTURE.md with a comparison table and CHANGELOG.md with an [Unreleased] entry.

Add a new `extraObjects` value to the Plik Helm chart, allowing users
to deploy arbitrary Kubernetes manifests alongside the chart (e.g.
ExternalSecrets, NetworkPolicies, RBAC rules).
Three input forms are supported via `templates/extra-objects.yaml`:
- dict (default, recommended): Helm deep-merges dicts across multiple
  `-f` files, so each values file can independently add its own named
  key without overwriting keys from other files.
- list: convenient for a single values file; a second `-f` replaces
  the entire list.
- string: same last-file-wins behaviour as a list, but the whole block
  is evaluated through `tpl` first — useful for inline Go template
  expressions (e.g. `{{ include "plik.fullname" . }}`).
All three forms pass manifests through `tpl` before rendering.
Update ARCHITECTURE.md with a comparison table and CHANGELOG.md with
an [Unreleased] entry.
@gbrd

gbrd commented Jun 17, 2026

Copy link
Copy Markdown
Author

no news about this ?

@bodji

bodji commented Jul 3, 2026

Copy link
Copy Markdown
Member

Thanks for the PR, the feature itself is clean and works well. I checked it out locally (helm lint + helm template for all three forms; the dict/list/string variants all render correctly and tpl resolves helpers like {{ include "plik.fullname" . }}). Two things before this can go green:

1. CI helm-docs check will fail (blocking).
The # -- annotation was added to values.yaml, but charts/plik/README.md wasn't regenerated. The helm-docs job in .github/workflows/tests.yaml runs make helm-docs then git diff --exit-code, and I confirmed locally that it produces a diff (adds the missing extraObjects row). Fix:

make helm-docs
git add charts/plik/README.md

2. The generated README table cell is unreadable (recommended).
Because the whole multi-form example block follows # --, helm-docs slurps all ~40 lines into a single Values-table cell, producing one giant blob. Consider making the # -- line a short one-liner and demoting the long examples to plain # comments (not # --), e.g.:

# -- (object) Extra Kubernetes manifests to deploy alongside the chart.
# See ARCHITECTURE.md for the three supported forms (dict / list / string).
# Examples:
#   extraObjects:
#     my-secret: { ... }
extraObjects: {}

Nice work otherwise, the dict-for-mergeability rationale and the docs are excellent.

…te README

Move the verbose examples above the `# --` annotation so helm-docs only
captures the one-line description. Regenerate charts/plik/README.md.

Addresses PR review feedback (helm-docs CI check + readable table cell).
@gbrd

gbrd commented Jul 7, 2026

Copy link
Copy Markdown
Author

done. may I squash the 2 commits ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants