This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new cdddcfc72f Add docs about extending the Airflow helm chart (#36331)
cdddcfc72f is described below

commit cdddcfc72f4f69c6a9424b2544b65ef64de89f44
Author: shohamy7 <[email protected]>
AuthorDate: Thu Dec 21 02:17:27 2023 +0200

    Add docs about extending the Airflow helm chart (#36331)
    
    * Add docs about extending the Airflow helm chart
    
    * fix some grammar issues in
---
 docs/helm-chart/extending-the-chart.rst | 124 ++++++++++++++++++++++++++++++++
 docs/helm-chart/index.rst               |   1 +
 2 files changed, 125 insertions(+)

diff --git a/docs/helm-chart/extending-the-chart.rst 
b/docs/helm-chart/extending-the-chart.rst
new file mode 100644
index 0000000000..209b6db4d4
--- /dev/null
+++ b/docs/helm-chart/extending-the-chart.rst
@@ -0,0 +1,124 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+Extending the Chart
+-------------------
+
+In some cases, you will want to deploy your custom templates (e.g. maintenance 
CronJobs you want to add)
+together with the Airflow chart installation.
+However, sometimes those templates are not directly related to the Airflow 
chart,
+thus should not be added to the chart.
+
+Instead, you can easily extend the chart and create a custom chart with your 
custom templates that
+depends on the Airflow chart.
+When you'll install your custom chart, the Airflow chart will also be 
installed.
+
+You can extend the official Airflow chart by applying the following steps.
+
+Create your custom Chart
+'''''''''''''''''''''''''
+
+First, you will need to create you own chart directory. You can do it by 
running the following command:
+
+.. code-block:: bash
+
+    helm create my-custom-chart
+
+
+This command will create a directory called ``my-custom-chart`` with the 
following structure:
+
+.. code-block::
+
+    my-custom-chart/
+    ├── .helmignore
+    ├── Chart.yaml
+    ├── values.yaml
+    ├── charts/
+    └── templates/
+        └── tests/
+
+Add Airflow chart as dependency
+'''''''''''''''''''''''''''''''
+
+Second, you will need to add the Airflow chart as dependency to your chart.
+This will give you the ability to add your custom templates without the need 
to modify the Airflow chart itself.
+In order to add the Airflow chart as a dependency (often called ``subcharts``) 
to your chart,
+add the following lines to your ``Chart.yaml`` file:
+
+.. code-block::
+
+    dependencies:
+      - name: airflow
+        version: 1.11.0
+        repository: https://airflow.apache.org
+
+.. note::
+
+    Make sure you have already added the Airflow repo locally by running: 
``helm repo add apache-airflow https://airflow.apache.org``.
+
+.. tip::
+
+    You can also use the name of the repo instead of the URL by replacing
+    ``https://airflow.apache.org`` with ``"@apache-airflow"``.
+
+Adding the Airflow chart as a dependency means that it will be deployed 
together with your custom chart.
+You can disable the installation of Airflow by adding the ``condition`` field 
to the ``dependencies`` section.
+For example:
+
+.. code-block::
+
+    dependencies:
+      - name: airflow
+        version: 1.11.0
+        repository: https://airflow.apache.org
+        condition: airflow.enabled
+
+This will check if the value of ``airflow.enabled`` inside your 
``values.yaml`` is ``true``.
+If it is, the Airflow chart will be deployed together with your custom chart.
+Otherwise, only your templates will be deployed.
+
+Download the Airflow Chart
+''''''''''''''''''''''''''
+
+Third, after you have specified the Airflow chart inside the ``dependencies`` 
section in ``Chart.yaml`` file,
+you can download the Airflow chart by running the following command:
+
+.. code-block::
+
+    helm dependency build
+
+.. note::
+
+    Make sure you are inside the directory which contains the ``Chart.yaml`` 
file.
+
+The chart will be downloaded and saved inside the ``charts/`` directory.
+
+Overriding default values
+''''''''''''''''''''''''''
+
+When you add a chart as a subchart to your chart,
+you have the ability to override the default values of the subchart in your 
``values.yaml``.
+This is useful when your chart needs a specific configuration for your custom 
chart.
+E.g. if you want that the Airflow chart be installed with the 
``KubernetesExecutor``,
+you can do it by adding the following section to your ``values.yaml``:
+
+.. code-block::
+
+    airflow:
+      executor: KubernetesExecutor
+
+You can override as many values as you like.
diff --git a/docs/helm-chart/index.rst b/docs/helm-chart/index.rst
index 461ba4aabc..a8942410a4 100644
--- a/docs/helm-chart/index.rst
+++ b/docs/helm-chart/index.rst
@@ -36,6 +36,7 @@ Helm Chart for Apache Airflow
     using-additional-containers
     customizing-workers
     Installing from sources<installing-helm-chart-from-sources>
+    Extending the Chart<extending-the-chart>
 
 .. toctree::
     :hidden:

Reply via email to