Skip to content

feat(minio): add podLabels, serviceAccount and priorityClass to post-job#1217

Closed
ixxeL2097 wants to merge 7 commits intoCloudPirates-io:mainfrom
ixxeL2097:feat/minio-bucket-init-podlabels
Closed

feat(minio): add podLabels, serviceAccount and priorityClass to post-job#1217
ixxeL2097 wants to merge 7 commits intoCloudPirates-io:mainfrom
ixxeL2097:feat/minio-bucket-init-podlabels

Conversation

@ixxeL2097
Copy link
Copy Markdown
Contributor

Summary

The post-job (bucket initialization) template is missing several features that the Deployment template already supports. This creates issues for users deploying with ArgoCD, service meshes (Istio), or using Workload Identity.

Changes

  • bucketInitJob.podLabels — new value to inject custom labels into the job's pod spec (e.g. sidecar.istio.io/inject: "false")
  • commonLabels propagation — pod template now uses minio.labels instead of minio.selectorLabels, so commonLabels are propagated to job pods (needed for network policies, Kyverno/OPA)
  • serviceAccountName — the job now uses the chart's ServiceAccount (needed for IRSA/Workload Identity)
  • priorityClassName — support priority class on the job pods
  • Version bump 0.11.00.12.0
  • Regenerated values.schema.json

Motivation

Reported by a customer deploying on OpenShift with ArgoCD: podLabels values set under bucketInitJob were not rendered in the pod spec because the template didn't consume them.

Test plan

  • helm unittest charts/minio/ — all tests pass
  • helm lint charts/minio/ — no errors

ixxeL2097 and others added 7 commits March 27, 2026 18:10
…on (#5)

Add a Python script and GitHub Action for generating scoped changelogs
per Helm chart in a monorepo. Addresses CloudPirates-io#844.

Script (scripts/generate-changelog.py):
- CLI powered by click with subcommands: generate, release-notes, list, inspect
- Path-filtered commits (only changes touching the chart directory)
- Version grouping from Chart.yaml at each commit
- Noise filtering (changelog updates, merge commits)
- Empty bump detection (version-only changes)
- Conventional commit classification
- PR linking to GitHub

GitHub Action (.github/actions/generate-changelog):
- Two modes: generate (CHANGELOG.md files) and release-notes (single version for GitHub Release body)
- Auto-detects repo URL, fetches full history
- Outputs changed charts list and release notes file path

Workflow (.github/workflows/changelog.yaml):
- Triggers on push to main when charts/ change
- Detects unreleased chart versions (no matching git tag)
- Generates release notes and creates GitHub Release with tag per chart
- Matrix strategy for parallel releases
- Manual dispatch with dry-run support

Co-authored-by: Frederic Spiers <frederic.spiers@gitguardian.com>
…e workflow

Replace the changelog-update job (committed CHANGELOG.md files) with a
post-release step that updates GitHub Release notes via gh release edit.

Changes to changelog-and-release.yaml:
- Remove changelog-update job entirely (no more bot commits)
- Remove workflow_dispatch inputs for changelog regeneration
- Add 'Install tools' step (python + click + gitpython + pyyaml)
- Add 'Update release notes with scoped changelog' step after OCI push
- Sanitize all github.event.inputs via env vars (injection prevention)

Remove standalone changelog.yaml workflow (superseded).

The flow is now: detect → chart-releaser (tag + release + package) →
OCI push + cosign → update release notes with scoped changelog.
Single replica means downtime during pod restarts or node drains.
Default to 2 replicas for basic HA out of the box.

Co-authored-by: Frederic Spiers <frederic.spiers@gitguardian.com>
Allow the pipeline to pass on forks without registry secrets.
Steps that require credentials (registry login, OCI push, cosign)
now use continue-on-error: true. The critical steps (detect, chart-releaser,
release notes) still fail normally.
…tion (#9)

Without internalTrafficPolicy: Local, traffic may be routed to nginx
pods on other nodes, losing the client source IP. Setting it to Local
ensures traffic stays on the same node, preserving X-Forwarded-For.

Co-authored-by: Frederic Spiers <frederic.spiers@gitguardian.com>
The post-job (bucket initialization) template was missing several
features compared to the Deployment template:
- podLabels injection (needed for ArgoCD / service mesh sidecar control)
- commonLabels propagation to pod template (minio.labels instead of
  minio.selectorLabels)
- serviceAccountName (needed for IRSA/Workload Identity)
- priorityClassName support
Signed-off-by: cloudpirates-bot <cloudpirates-bot@users.noreply.github.com>
@ixxeL2097 ixxeL2097 closed this Apr 10, 2026
@ixxeL2097 ixxeL2097 deleted the feat/minio-bucket-init-podlabels branch April 10, 2026 13:22
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