Skip to content

chore: staging -> master (olake-helm v0.0.24)#174

Merged
shubham19may merged 1 commit into
masterfrom
staging
Jun 25, 2026
Merged

chore: staging -> master (olake-helm v0.0.24)#174
shubham19may merged 1 commit into
masterfrom
staging

Conversation

@schitizsharma

@schitizsharma schitizsharma commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Description

Removes imagePullSecrets from the job service account and instead injects them directly into activity pod specs via the worker. This is cleaner and avoids confusion — the job SA was the only reason imagePullSecrets were on it, and that coupling was non-obvious.

The worker now reads two new env vars from the configmap:

  • OLAKE_JOB_IMAGE_PULL_SECRETS — JSON array of pull secret refs, set directly on pod.Spec.ImagePullSecrets
  • OLAKE_JOB_POD_ANNOTATIONS — JSON map merged with internal olake.io/* annotations (internal keys always win)

Fully backward compatible — new worker handles absent env vars gracefully (old chart clients unaffected).

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

  • Scenario 1 — Fresh install (chart 0.0.24, worker 0.3.11, Harbor): activity pod gets harbor-secret + custom annotation
  • Scenario 2 — Empty imagePullSecrets: []: no panic, activity pod has no pull secrets
  • Scenario 3 — Upgrade 0.0.22 → 0.0.24: configmap updated, new worker picks up new env vars
  • Scenario 4 — New chart + old worker (v0.3.10): old worker ignores unknown env vars, no crash; upgrading worker alone enables features
  • Scenario 5 — Old chart (0.0.22) + new worker: worker starts cleanly with absent env vars, no regression for existing clients

* feat(fusion): add podLabels and podAnnotations hooks (#151)

The other components in this chart (olake-ui, olake-worker, temporal,
postgresql, nfs-server, elasticsearch) all support `podLabels` and
`podAnnotations` value blocks that get merged into
`spec.template.metadata`. The Fusion deployment template was missing
both — its pod-template metadata was hardcoded to the
`app.kubernetes.io/*` labels and the config-checksum annotation,
with no extension point.

This matters for deployments running under K8s admission policies that
require specific labels on pod templates (Gatekeeper, Kyverno,
OPA constraints, etc.). Without a `podLabels` hook, operators either
have to live with the policy warnings or carry parent-chart patches.

Changes mirror the same pattern olake-ui/deployment.yaml already uses:

  template:
    metadata:
      labels:
        app.kubernetes.io/name: ...
        ...
        {{- with .Values.fusion.podLabels }}
        {{- toYaml . | nindent 8 }}
        {{- end }}
      annotations:
        checksum/fusion-config: ...
        {{- with .Values.fusion.podAnnotations }}
        {{- toYaml . | nindent 8 }}
        {{- end }}

Defaults are `{}` in values.yaml so existing deployments render
byte-identically when neither value is set.

Verified with `helm template`:
  - default (no overrides) → unchanged labels/annotations
  - `--set fusion.podLabels.foo=bar --set fusion.podAnnotations.alpha=beta`
    → both merged into the rendered deployment

* feat: set service account to true by default

---------

Co-authored-by: vikash choudhary <vikash@datazip.io>
Co-authored-by: Antonio Davide Calì <antoniodavide.cali@zego.com>
Co-authored-by: vishal-datazip <vishal@datazip.io>
@shubham19may shubham19may merged commit 17696c2 into master Jun 25, 2026
5 checks passed
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