Skip to content

feat(charts): add optional priorityClassName to op-geth - #585

Merged
alvarof2 merged 2 commits into
mainfrom
alvarof2/op-geth-priority
Sep 18, 2026
Merged

alvarof2 merged 2 commits into
mainfrom
alvarof2/op-geth-priority

Conversation

@alvarof2

Copy link
Copy Markdown
Member

What

Adds a priorityClassName value to the op-geth chart, so its pods can be assigned a Kubernetes PriorityClass. Same change as #584, which covered op-node, op-reth and op-conductor. erigon, prysm and nethermind already expose this.

Why it is conditional

The older charts render the field unconditionally:

priorityClassName: {{ .Values.priorityClassName | quote }}

Copying that verbatim would emit priorityClassName: "" into the pod template of every consumer of this chart. The block is wrapped in with instead — unset renders nothing:

      {{- with .Values.priorityClassName }}
      priorityClassName: {{ . | quote }}
      {{- end }}

Changes

Chart Template insertion point Version
op-geth pod spec, after serviceAccountName, before securityContext 0.3.13 → 0.3.14

values.yaml gains the following after tolerations, matching erigon's comment style:

## Used to assign priority to pods
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
##
priorityClassName: ""

Chart version is bumped so the release job does not try to push a tag that already exists.

Verification

helm template run against charts/op-geth/ci/ct-values.yaml, comparing rendered output before and after this change:

  • Value unset (default): rendered output is identical to the previous chart version apart from the helm.sh/chart label carrying the new version, and the checksum/configmap-scripts pod annotation — see the note below.
  • Value set (--set priorityClassName=high-priority): the only difference from the unset render is priorityClassName: "high-priority" in the pod spec.
  • helm lint passes (0 failed).

Note: one difference from #584

Unlike op-node and op-reth, this chart's pod template carries checksum/configmap-scripts, and templates/configmap-scripts.yaml includes op-geth.labels — which contains helm.sh/chart. So bumping the chart version changes that ConfigMap's sha256, changes the pod annotation, and existing op-geth pods will restart on their next sync.

This is not caused by the with guard — it happens on any op-geth chart version bump. With the chart version and that annotation normalised away, the rendered output before and after is byte-identical.

Not included

  • charts/op-geth/README.md — left alone; the [Automatic] - Update chart README.md job regenerates it from README.md.gotmpl.
  • ci/ct-values.yaml — no edit needed; the empty default keeps chart-testing rendering unchanged.

🤖 Generated with Claude Code

op-geth had no way to set a PriorityClass on its pods, matching the gap
just closed for op-node, op-reth and op-conductor in #584. erigon, prysm
and nethermind already expose `priorityClassName`.

Those charts render the field unconditionally:

    priorityClassName: {{ .Values.priorityClassName | quote }}

Copying that verbatim would emit `priorityClassName: ""` into every pod
template for every consumer of this chart, so the field is wrapped in
`with` instead: unset renders nothing at all.

Verified with `helm template` against ci/ct-values.yaml. With the value
unset the rendered output is identical to the previous chart version
apart from the `helm.sh/chart` label and the
`checksum/configmap-scripts` pod annotation, which changes because
configmap-scripts.yaml carries the chart labels — that annotation shifts
on any op-geth version bump, not because of this change. With the value
set the field renders as `priorityClassName: "high-priority"` in the pod
spec.

Chart version bumped 0.3.13 -> 0.3.14 so the release job does not push an
existing tag.

README is left untouched; the "[Automatic] - Update chart README.md" job
regenerates it from README.md.gotmpl.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@alvarof2
alvarof2 requested a review from a team as a code owner September 18, 2026 10:19
@alvarof2
alvarof2 requested a review from jcortejoso September 18, 2026 10:19
@alvarof2
alvarof2 merged commit a468768 into main Sep 18, 2026
7 checks passed
@alvarof2
alvarof2 deleted the alvarof2/op-geth-priority branch September 18, 2026 10: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.

1 participant