Skip to content

feat(common): stateful workload support - #496

Merged
bosbaber merged 1 commit into
mainfrom
feat/common-stateful-workload-support
Oct 27, 2026
Merged

bosbaber merged 1 commit into
mainfrom
feat/common-stateful-workload-support

Conversation

@bosbaber

Copy link
Copy Markdown
Collaborator

No description provided.

@bosbaber
bosbaber requested a review from a team as a code owner October 27, 2026 08:29
Copilot AI balanced review requested due to automatic review settings October 27, 2026 08:29
@bosbaber bosbaber self-assigned this Oct 27, 2026
@bosbaber
bosbaber merged commit facd06c into main Oct 27, 2026
11 checks passed
@bosbaber
bosbaber deleted the feat/common-stateful-workload-support branch October 27, 2026 08:31
github-actions Bot added a commit that referenced this pull request Oct 27, 2026
Automated chart versioning after merge of PR #496.
This PR updates Chart.yaml versions, packages updated charts into
docs/interledger,
and regenerates the Helm index.

Co-authored-by: bosbaber <1615407+bosbaber@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Two newly added fields (revisionHistoryLimit, terminationGracePeriodSeconds) use with and silently drop a meaningful explicit 0, contradicting the PR's own zero-preservation design, and the new PVC template lacks the unit-test coverage the common chart otherwise maintains.

3 open issues
What changed in this PR

This PR extends the shared common Helm library chart to better support stateful and batch workloads. It adds a new PersistentVolumeClaim template, surfaces pod/deployment lifecycle fields (revisionHistoryLimit, terminationGracePeriodSeconds, automountServiceAccountToken), and hardens numeric-field handling so an explicit 0 is preserved rather than collapsed to a Kubernetes default. Documentation in the chart README is expanded to cover the new fields.

Changes:

  • New common.pvc template rendering a PersistentVolumeClaim with required name/size validation and optional accessModes/storageClassName/volumeMode/annotations.
  • replicaCount, backoffLimit, and ttlSecondsAfterFinished now use hasKey so an explicit 0 is emitted; new revisionHistoryLimit, terminationGracePeriodSeconds, and automountServiceAccountToken fields added to the pod/deployment templates.
  • README updated with a deployment/pod fields table and a persistent-volume-claims section.
File Description
charts/​common/​templates/​_pvc.yaml New common.pvc helper emitting a PersistentVolumeClaim with validation and optional spec fields.
charts/​common/​templates/​_pod.tpl Adds explicit automountServiceAccountToken handling and terminationGracePeriodSeconds.
charts/​common/​templates/​_job.yaml Switches backoffLimit/ttlSecondsAfterFinished to hasKey so an explicit 0 is kept; doc comment updated.
charts/​common/​templates/​_deployment.yaml Adds revisionHistoryLimit and hasKey-based replicaCount to preserve an explicit 0.
charts/​common/​README.md Documents the new deployment/pod fields and the persistent-volume-claims helper.

Review effort: Balanced

Comment on lines +28 to +29
{{- with $deployment.revisionHistoryLimit }}
revisionHistoryLimit: {{ . }}
Comment on lines +32 to +33
{{- with $pod.terminationGracePeriodSeconds }}
terminationGracePeriodSeconds: {{ . }}
A GitOps controller needs its own equivalent, such as Argo CD's
`argocd.argoproj.io/sync-options: Prune=false,Delete=false`.
*/}}
{{- define "common.pvc.tpl" -}}
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