DrFaust92 opened a new pull request, #73016: URL: https://github.com/apache/airflow/pull/73016
The `checksum/*` pod annotations hash the entire rendered ConfigMap or Secret, and the manifest's `metadata.labels` include `helm.sh/chart`. That value changes on every chart version bump, so every Airflow component is restarted on `helm upgrade` even when no configuration has changed. This adds an `airflow.configMapOrSecretContentHash` helper that hashes only the `data`/`stringData` sections, and uses it for all 37 `checksum/*` annotations across the api-server, scheduler, dag-processor, triggerer, worker, flower, statsd, otel-collector and pgbouncer templates. Rendering the chart at 2.0.0 against a bumped version with identical values is now byte-identical, while changing `config.core.parallelism` still moves `checksum/airflow-config`. The full helm test suite passes (2155 tests). The same fix was recently made in the argo-cd chart (argoproj/argo-helm#4044); the loki chart uses the same data-only hashing. Unrelated, but found while testing: `checksum/jwt-secret` is unstable on every render, and even differs between two pods in the same render, because `chart/templates/secrets/jwt-secret.yaml` defaults to `randAlphaNum 128` and each `include` re-evaluates it. With `jwtSecret` unset those pods restart on every upgrade regardless of this change. Happy to open a separate issue or PR for that. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Opus 5 (Claude Code) Generated-by: Claude Opus 5 (Claude Code) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
