diff --git a/charts/airflow/CHANGELOG.md b/charts/airflow/CHANGELOG.md
index e11d1f59..392fdfde 100644
--- a/charts/airflow/CHANGELOG.md
+++ b/charts/airflow/CHANGELOG.md
@@ -8,16 +8,63 @@ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
### Added
- _see [Unreleased]_
-### Fixed
+### Changed
- _see [Unreleased]_
### Removed
- _see [Unreleased]_
-### Docs
+### Fixed
- _see [Unreleased]_
+## [8.4.0] - 2021-07-09
+
+### Added
+- allow referencing Secrets/ConfigMaps in `airflow.{users,connections,pools,variables}` ([#281](https://github.com/airflow-helm/charts/pull/281))
+ - __WARNING:__ the meaning of `airflow.{usersUpdate,connectionsUpdate,poolsUpdate,variablesUpdate}` have changed,
+ they now configure if a Deployment is created to perpetually sync `airflow.{users,connections,pools,variables}`,
+ or if a single Job is created on each `helm upgrade ...`
+ - __Docs:__
+ - [How to create airflow users?](https://github.com/airflow-helm/charts/tree/main/charts/airflow#how-to-create-airflow-users)
+ - [How to create airflow connections?](https://github.com/airflow-helm/charts/tree/main/charts/airflow#how-to-create-airflow-connections)
+ - [How to create airflow variables?](https://github.com/airflow-helm/charts/tree/main/charts/airflow#how-to-create-airflow-variables)
+ - [How to create airflow pools?](https://github.com/airflow-helm/charts/tree/main/charts/airflow#how-to-create-airflow-pools)
+ - __New Values:__
+ - `airflow.usersTemplates`
+ - `airflow.connectionsTemplates`
+ - `airflow.variablesTemplates`
+ - `airflow.sync`:
+ - `airflow.sync.resources`
+ - `airflow.sync.nodeSelector`
+ - `airflow.sync.affinity`
+ - `airflow.sync.tolerations`
+ - `airflow.sync.securityContext`
+ - `airflow.sync.podLabels`
+ - `airflow.sync.annotations`
+ - `airflow.sync.podAnnotations`
+ - `airflow.sync.safeToEvict`
+- removed the need for `helmWait` value ([#266](https://github.com/airflow-helm/charts/pull/266))
+ - __NOTE__: this is great for users of the `--wait` flag with `helm install ...` (which is common in tools like [argo-cd](https://github.com/argoproj/argo-cd/))
+
+### Changed
+- the default `airflow.image` is now `apache/airflow:2.1.1-python3.8` ([#286](https://github.com/airflow-helm/charts/issues/286))
+ - __NOTE:__ this does not affect support for older versions, see the [airflow version support matrix](https://github.com/airflow-helm/charts/tree/main/charts/airflow#airflow-version-support)
+- the `Chart.yaml` now explicitly specifies `apiVersion=v2` (requiring helm 3) ([#278](https://github.com/airflow-helm/charts/issues/278))
+- the `requirements.yaml` file was removed in preference of the `v2` dependencies method (specifying in `Chart.yaml`) ([#278](https://github.com/airflow-helm/charts/issues/278))
+- git-sync containers are now deployed in webserver, regardless of `airflow.legacyCommands` ([#288](https://github.com/airflow-helm/charts/pull/288))
+ - __NOTE:__ this allows users who store airflow plugins in their git repo to see them in the webserver
+- `wait-for-db-migrations` init-containers now work properly when `airflow.legacyCommands=true` ([#271](https://github.com/airflow-helm/charts/pull/271))
+ - __NOTE:__ this is important for airflow `1.10.X`, as previously Pods would not actually wait, and so would CrashLoopBackoff until the `upgrade-db` Job had finished
+- improve validation of `{logs,dags}.persistence.accessMode` ([#269](https://github.com/airflow-helm/charts/pull/269))
+
+### Fixed
+- include volumeMounts in init-containers ([#255](https://github.com/airflow-helm/charts/pull/255))
+- add `release` to worker Service selector ([#267](https://github.com/airflow-helm/charts/pull/267))
+- mount `dags-data` with `readOnly=true` if `accessMode=ReadOnlyMany` ([#268](https://github.com/airflow-helm/charts/pull/268))
+- only validate `ingress.{web,flower}.path` if `ingress.enabled=true` ([#270](https://github.com/airflow-helm/charts/pull/270))
+- multiple Schedulers could run if `legacyCommands=true` (due to rollingUpdate) ([#272](https://github.com/airflow-helm/charts/pull/272))
+
## [8.3.2] - 2021-06-30
### Docs
- added this changelog ([#231](https://github.com/airflow-helm/charts/issues/231))
@@ -513,6 +560,7 @@ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
> https://github.com/helm/charts/tree/master/stable/airflow
[Unreleased]: https://github.com/airflow-helm/charts/compare/airflow-8.3.2...HEAD
+[8.4.0]: https://github.com/airflow-helm/charts/compare/airflow-8.3.2...airflow-8.4.0
[8.3.2]: https://github.com/airflow-helm/charts/compare/airflow-8.3.1...airflow-8.3.2
[8.3.1]: https://github.com/airflow-helm/charts/compare/airflow-8.3.0...airflow-8.3.1
[8.3.0]: https://github.com/airflow-helm/charts/compare/airflow-8.2.0...airflow-8.3.0
diff --git a/charts/airflow/requirements.lock b/charts/airflow/Chart.lock
similarity index 84%
rename from charts/airflow/requirements.lock
rename to charts/airflow/Chart.lock
index 0dc30b98..5dde93b3 100644
--- a/charts/airflow/requirements.lock
+++ b/charts/airflow/Chart.lock
@@ -6,4 +6,4 @@ dependencies:
repository: https://charts.helm.sh/stable
version: 10.5.7
digest: sha256:bfe30fcaf72a0609856bf1a5dab2b941e8ef89b30ba935aa820743a6758f4fc4
-generated: "2020-11-05T16:33:27.586085+11:00"
+generated: "2021-07-09T14:11:48.265069+10:00"
diff --git a/charts/airflow/Chart.yaml b/charts/airflow/Chart.yaml
index 4820a639..57b4928a 100644
--- a/charts/airflow/Chart.yaml
+++ b/charts/airflow/Chart.yaml
@@ -1,8 +1,8 @@
-apiVersion: v1
+apiVersion: v2
description: the community Apache Airflow Helm Chart - used to deploy Apache Airflow on Kubernetes
name: airflow
-version: 8.3.2
-appVersion: 2.0.1
+version: 8.4.0
+appVersion: 2.1.1
icon: https://airflow.apache.org/_images/pin_large.png
home: https://airflow.apache.org/
maintainers:
@@ -16,3 +16,12 @@ keywords:
- airflow
- dag
- workflow
+dependencies:
+ - name: postgresql
+ version: 8.6.4
+ repository: https://charts.helm.sh/stable
+ condition: postgresql.enabled
+ - name: redis
+ version: 10.5.7
+ repository: https://charts.helm.sh/stable
+ condition: redis.enabled
diff --git a/charts/airflow/README.md b/charts/airflow/README.md
index 7fc6fcd6..5281fef7 100644
--- a/charts/airflow/README.md
+++ b/charts/airflow/README.md
@@ -1,17 +1,22 @@
-# Airflow Helm Chart (Community) [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/airflow-helm)](https://artifacthub.io/packages/search?repo=airflow-helm)
+# Airflow Helm Chart (User Community)
-This chart provides a standard way to deploy [Apache Airflow](https://airflow.apache.org/) on your Kubernetes cluster, and is used by many thousands of companies for their production deployments of Airflow.
+[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/airflow-helm)](https://artifacthub.io/packages/search?repo=airflow-helm)
+
+This chart provides a standard way to deploy [Apache Airflow](https://airflow.apache.org/) on your Kubernetes cluster,
+and is used by thousands of companies for their production deployments of Airflow.
> 🟦 __Discussion__ 🟦
->
-> This `community` chart is an alternative to the `official` chart found in the `apache/airflow` repo.
+>
+> The `user community` chart is an alternative to the `official` chart found in the `apache/airflow` repo.
> There are differences between the charts, so you should evaluate which is better for your organisation.
->
-> The goals of the `community` chart are:
-> (1) be easy to use & configure
-> (2) provide long-term support for older airflow versions
-> (3) automatically detect bad configs - and fail the install
-> (4) have useful documentation - written by people who actually use airflow in production
+>
+> The `user community` chart has existed since 2018 and was previously called `stable/airflow` on the official [helm/charts](https://github.com/helm/charts/tree/master/stable/airflow) repo.
+>
+> The goals of the `user community` chart are:
+> (1) be easy to configure
+> (2) support older airflow versions
+> (3) provide great documentation
+> (4) automatically detect bad configs
## Quickstart Guide
@@ -19,8 +24,8 @@ These steps will allow you to quickly install Apache Airflow on your Kubernetes
### 1. Install the Chart
-> 🟨 __Note__ 🟨
->
+> 🟨 __Note__ 🟨
+>
> In production, we encourage using a tool like [ArgoCD](https://argoproj.github.io/argo-cd/), rather than running `helm install` manually
```sh
@@ -65,23 +70,25 @@ The [CHANGELOG.md](CHANGELOG.md) is found at the root of this chart folder.
### Airflow Version Support
+See [the guide here](#how-to-use-a-specific-version-of-airflow) on how to explicitly set your airflow version.
+
. | `1.10.X` | `2.0.X` | `2.1.X`
--- | --- | --- | ---
chart - `7.X.X` | ✅ | ❌ | ❌
chart - `8.X.X` | ✅ [1] | ✅ | ✅
-[0] [see here](#how-to-use-a-specific-version-of-airflow) for a guide on how to set your airflow version
[1] you must set `airflow.legacyCommands = true` to use airflow `1.10.X` with chart `8.X.X`
### Airflow Executor Support
+Set your airflow executor-type using the `airflow.executor` value.
+
. | `CeleryExecutor` | `KubernetesExecutor` | `CeleryKubernetesExecutor`
--- | --- | --- | ---
-chart - `7.X.X` | ✅ | ✅ | ❌
-chart - `8.X.X` | ✅ | ✅ [1] | ✅ [1]
+chart - `7.X.X` | ✅ | ✅ [1] | ❌
+chart - `8.X.X` | ✅ | ✅ | ✅
-[0] you can set the executor using the `airflow.executor` value
-[1] we encourage you to use airflow `2.X.X` with chart `8.X.X`, and make use of the new `airflow.kubernetesPodTemplate.*` values
+[1] we encourage you to upgrade the chart to `8.X.X`, so you can use the `airflow.kubernetesPodTemplate` values (which require airflow `2.X.X`)
### Examples
diff --git a/charts/airflow/requirements.yaml b/charts/airflow/requirements.yaml
deleted file mode 100644
index b31bfae6..00000000
--- a/charts/airflow/requirements.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-dependencies:
-- name: postgresql
- version: 8.6.4
- repository: https://charts.helm.sh/stable
- condition: postgresql.enabled
-- name: redis
- version: 10.5.7
- repository: https://charts.helm.sh/stable
- condition: redis.enabled
diff --git a/charts/airflow/values.yaml b/charts/airflow/values.yaml
index e8ba9790..5826440e 100644
--- a/charts/airflow/values.yaml
+++ b/charts/airflow/values.yaml
@@ -10,7 +10,7 @@ airflow:
##
image:
repository: apache/airflow
- tag: 2.0.1-python3.8
+ tag: 2.1.1-python3.8
## values: Always or IfNotPresent
pullPolicy: IfNotPresent
pullSecret: ""