Files
service-catalog/manifests/helm/airflow/1.16.0
wbsong111 d3816a14ca airflow fernet key 를 콘솔이 만든 Secret 으로 넘긴다 (#38)
차트가 fernet key Secret 을 직접 만들면 helm.sh/hook: pre-install +
hook-delete-policy: before-hook-creation 이 붙는다. ArgoCD 는 훅을 "삭제 후 재생성" 하는데,
변경이 없는 sync 에서는 삭제 직후 operation 이 종료되어 재생성되지 않는다. 컨트롤러 로그로
확인했다.

  변경 있는 sync  waiting for deletion ... -> serverside-applied -> Succeeded 'all tasks run'
  no-op sync      waiting for deletion ... -> Succeeded (같은 초)             'no more tasks'

파드는 이미 주입된 env 로 계속 돌아 증상이 즉시 드러나지 않지만, 재시작하는 순간
CreateContainerConfigError 로 기동하지 못한다. refresh·selfHeal 로 흔히 발생하는 상황이다.

fernetKeySecretName 을 주면 차트가 Secret 을 아예 만들지 않으므로
(templates/secrets/fernetkey-secret.yaml:23) 훅 자체가 사라지고, 모든 워크로드가 그 이름을
secretKeyRef 로 참조한다(templates/_helpers.yaml:395-397).

$FERNET_KEY_SECRET 은 placeholder 다. dip-console-api 가 <릴리스명>-fernet-key Secret 을
만들고(없을 때만) 이 자리를 그 이름으로 치환한다. 콘솔이 만든 Secret 은 ArgoCD 추적 대상이
아니라 sync 의 영향을 받지 않는다.

값이 아니라 이름을 넘기는 이유가 하나 더 있다 — fernet key 는 메타DB 의
Connection·Variable 암호화에 쓰이므로 tenant 레포(git)에 평문으로 남기지 않는다.
업스트림도 can only be set during install, not upgrade 라고 못박고 있어, 이미 배포된
테넌트는 재배포 시 현재 Secret 을 그대로 인수한다.

CUSTOM-README 5절은 이 문서의 성격(배포 방법 · custom-values.yaml 키 설명)에 맞게 키
테이블과 배포 절차 중심으로 다시 썼다(69줄 -> 48줄). 상세 근거는 이슈로 넘긴다.

redis 훅 Secret 2종은 CeleryExecutor 전환 예정이 없어 조치하지 않는다. 참조 워크로드가
0개인 것을 클러스터에서 확인했다. 전환 시 처리 방법만 문서에 남긴다.

검증

service-catalog 에 선반영해 테스트 클러스터에서 확인했다. 재배포 후 sync 를 걸었을 때 훅인
redis Secret 2종은 또 삭제됐고 콘솔이 관리하는 fernet Secret 만 살아남았다(resourceVersion
미동, 값 동일). 이 레포 기준으로도 helm template 2회 렌더에서 차트가 fernet Secret 을 만들지
않고 webserver 체크섬이 동일함을 확인했다.

관련: paasup/dip-catalog#38, paasup/dip-console-api#100

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 13:56:36 +09:00
..
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00
2026-06-16 16:37:07 +09:00
2026-06-18 15:23:09 +09:00
2026-06-18 15:23:09 +09:00
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00
2026-01-19 16:11:44 +09:00

Helm Chart for Apache Airflow

Artifact HUB

Apache Airflow is a platform to programmatically author, schedule and monitor workflows.

Introduction

This chart will bootstrap an Airflow deployment on a Kubernetes cluster using the Helm package manager.

Requirements

  • Kubernetes 1.29+ cluster
  • Helm 3.0+
  • PV provisioner support in the underlying infrastructure (optionally)

Features

  • Supported executors: LocalExecutor, CeleryExecutor, KubernetesExecutor, LocalKubernetesExecutor, CeleryKubernetesExecutor
  • Supported AWS executors with AWS provider version 8.21.0+:
    • airflow.providers.amazon.aws.executors.batch.AwsBatchExecutor
    • airflow.providers.amazon.aws.executors.ecs.AwsEcsExecutor
  • Supported Airflow version: 1.10+, 2.0+
  • Supported database backend: PostgreSQL, MySQL
  • Autoscaling for CeleryExecutor provided by KEDA
  • PostgreSQL and PgBouncer with a battle-tested configuration
  • Monitoring:
    • StatsD/Prometheus metrics for Airflow
    • Prometheus metrics for PgBouncer
    • Flower
  • Automatic database migration after a new deployment
  • Administrator account creation during deployment
  • Kerberos secure configuration
  • One-command deployment for any type of executor. You don't need to provide other services e.g. Redis/Database to test the Airflow.

Documentation

Full documentation for Helm Chart (latest stable release) lives on the website.

Note: If you're looking for documentation for main branch (latest development branch): you can find it on s.apache.org/airflow-docs/. Source code for documentation is in ../docs/helm-chart

Contributing

Want to help build Apache Airflow? Check out our contributing documentation.