This is an automated email from the ASF dual-hosted git repository. potiuk pushed a commit to branch v1-10-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit f9517a7f565ba32404e82ba8c0fc3ca723b01fb9 Author: Jarek Potiuk <[email protected]> AuthorDate: Tue Sep 29 11:45:37 2020 +0200 Optionally tags image when building with Breeze (#11181) Breeze tags the image based on the default python version, branch, type of the image, but you might want to tag the image in the same command especially in automated cases of building the image via CI scripts or security teams that tag the imge based on external factors (build time, person etc.). This is part of #11171 which makes the image easier to build in corporate environments. (cherry picked from commit c9a34d2ef9ccf6c18b379bbcb81b9381027eb803) --- BREEZE.rst | 115 +++++++++++++++++--------------- breeze | 52 +++++++++------ breeze-complete | 2 +- scripts/ci/libraries/_build_images.sh | 10 +++ scripts/ci/libraries/_initialization.sh | 3 + 5 files changed, 106 insertions(+), 76 deletions(-) diff --git a/BREEZE.rst b/BREEZE.rst index b998a87..9cf824b 100644 --- a/BREEZE.rst +++ b/BREEZE.rst @@ -1166,21 +1166,21 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: 2.7 3.5 3.6 3.7 3.8 - -a, --install-airflow-version <INSTALL_AIRFLOW_VERSION> + -a, --install-airflow-version INSTALL_AIRFLOW_VERSION If specified, installs Airflow directly from PIP released version. This happens at image building time in production image and at container entering time for CI image. One of: 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 master v1-10-test - -t, --install-airflow-reference <INSTALL_AIRFLOW_REFERENCE> + -t, --install-airflow-reference INSTALL_AIRFLOW_REFERENCE If specified, installs Airflow directly from reference in GitHub. This happens at image building time in production image and at container entering time for CI image. @@ -1197,7 +1197,7 @@ This is the current syntax for `./breeze <./breeze>`_: images are pulled by default only for the first time you run the environment, later the locally build images are used as cache. - -E, --extras + -E, --extras EXTRAS Extras to pass to build images The default are different for CI and production images: CI image: @@ -1207,16 +1207,19 @@ This is the current syntax for `./breeze <./breeze>`_: async,aws,azure,celery,dask,elasticsearch,gcp,kubernetes,mysql,postgres,redis,slack, ssh,statsd,virtualenv - --additional-extras + --image-tag TAG + Additional tag in the image. + + --additional-extras ADDITIONAL_EXTRAS Additional extras to pass to build images The default is no additional extras. - --additional-python-deps + --additional-python-deps ADDITIONAL_PYTHON_DEPS Additional python dependencies to use when building the images. - --additional-dev-deps + --additional-dev-deps ADDITIONAL_DEV_DEPS Additional apt dev dependencies to use when building the images. - --additional-runtime-deps + --additional-runtime-deps ADDITIONAL_RUNTIME_DEPS Additional apt runtime dependencies to use when building the images. --disable-pip-cache @@ -1260,24 +1263,24 @@ This is the current syntax for `./breeze <./breeze>`_: This strategy is used by default for both Production and CI images for the scheduled (nightly) builds in CI. - -D, --dockerhub-user + -D, --dockerhub-user DOCKERHUB_USER DockerHub user used to pull, push and build images. Default: apache. - -H, --dockerhub-repo + -H, --dockerhub-repo DOCKERHUB_REPO DockerHub repository used to pull, push, build images. Default: airflow. - -c, --github-registry + -c, --github-registry GITHUB_REGISTRY If GitHub registry is enabled, pulls and pushes are done from the GitHub registry not DockerHub. You need to be logged in to the registry in order to be able to pull/push from and you need to be committer to push to Apache Airflow' GitHub registry. - -g, --github-repository + -g, --github-repository GITHUB_REPOSITORY GitHub repository used to pull, push images when cache is used. Default: apache/airflow. If you use this flag, automatically --github-registry flag is enabled. - -s, --github-image-id <COMMIT_SHA>|<RUN_ID> + -s, --github-image-id COMMIT_SHA|RUN_ID <RUN_ID> or <COMMIT_SHA> of the image. Images in GitHub registry are stored with those to be able to easily find the image for particular CI runs. Once you know the <RUN_ID> or <COMMIT_SHA>, you can specify it in github-image-id flag and Breeze will @@ -1311,7 +1314,7 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: @@ -1362,7 +1365,7 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: @@ -1413,24 +1416,24 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -D, --dockerhub-user + -D, --dockerhub-user DOCKERHUB_USER DockerHub user used to pull, push and build images. Default: apache. - -H, --dockerhub-repo + -H, --dockerhub-repo DOCKERHUB_REPO DockerHub repository used to pull, push, build images. Default: airflow. - -c, --github-registry + -c, --github-registry GITHUB_REGISTRY If GitHub registry is enabled, pulls and pushes are done from the GitHub registry not DockerHub. You need to be logged in to the registry in order to be able to pull/push from and you need to be committer to push to Apache Airflow' GitHub registry. - -g, --github-repository + -g, --github-repository GITHUB_REPOSITORY GitHub repository used to pull, push images when cache is used. Default: apache/airflow. If you use this flag, automatically --github-registry flag is enabled. - -s, --github-image-id <COMMIT_SHA>|<RUN_ID> + -s, --github-image-id COMMIT_SHA|RUN_ID <RUN_ID> or <COMMIT_SHA> of the image. Images in GitHub registry are stored with those to be able to easily find the image for particular CI runs. Once you know the <RUN_ID> or <COMMIT_SHA>, you can specify it in github-image-id flag and Breeze will @@ -1466,7 +1469,7 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: @@ -1581,14 +1584,14 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: 2.7 3.5 3.6 3.7 3.8 - -b, --backend <BACKEND> + -b, --backend BACKEND Backend to use for tests - it determines which database is used. One of: @@ -1596,12 +1599,12 @@ This is the current syntax for `./breeze <./breeze>`_: Default: sqlite - --postgres-version <POSTGRES_VERSION> + --postgres-version POSTGRES_VERSION Postgres version used. One of: 9.6 10 - --mysql-version <MYSQL_VERSION> + --mysql-version MYSQL_VERSION Mysql version used. One of: 5.6 5.7 @@ -1634,7 +1637,7 @@ This is the current syntax for `./breeze <./breeze>`_: Flags: - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: @@ -1651,7 +1654,7 @@ This is the current syntax for `./breeze <./breeze>`_: images are pulled by default only for the first time you run the environment, later the locally build images are used as cache. - -E, --extras + -E, --extras EXTRAS Extras to pass to build images The default are different for CI and production images: CI image: @@ -1661,16 +1664,19 @@ This is the current syntax for `./breeze <./breeze>`_: async,aws,azure,celery,dask,elasticsearch,gcp,kubernetes,mysql,postgres,redis,slack, ssh,statsd,virtualenv - --additional-extras + --image-tag TAG + Additional tag in the image. + + --additional-extras ADDITIONAL_EXTRAS Additional extras to pass to build images The default is no additional extras. - --additional-python-deps + --additional-python-deps ADDITIONAL_PYTHON_DEPS Additional python dependencies to use when building the images. - --additional-dev-deps + --additional-dev-deps ADDITIONAL_DEV_DEPS Additional apt dev dependencies to use when building the images. - --additional-runtime-deps + --additional-runtime-deps ADDITIONAL_RUNTIME_DEPS Additional apt runtime dependencies to use when building the images. --disable-pip-cache @@ -1810,7 +1816,7 @@ This is the current syntax for `./breeze <./breeze>`_: **************************************************************************************************** Choose Airflow variant - -p, --python <PYTHON_MAJOR_MINOR_VERSION> + -p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: @@ -1820,7 +1826,7 @@ This is the current syntax for `./breeze <./breeze>`_: **************************************************************************************************** Choose backend to run for Airflow - -b, --backend <BACKEND> + -b, --backend BACKEND Backend to use for tests - it determines which database is used. One of: @@ -1828,12 +1834,12 @@ This is the current syntax for `./breeze <./breeze>`_: Default: sqlite - --postgres-version <POSTGRES_VERSION> + --postgres-version POSTGRES_VERSION Postgres version used. One of: 9.6 10 - --mysql-version <MYSQL_VERSION> + --mysql-version MYSQL_VERSION Mysql version used. One of: 5.6 5.7 @@ -1854,7 +1860,7 @@ This is the current syntax for `./breeze <./breeze>`_: ready to start Airflow webserver/scheduler/worker. Without the switch, the database does not have any tables and you need to run reset db manually. - -i, --integration <INTEGRATION> + -i, --integration INTEGRATION Integration to start during tests - it determines which integrations are started for integration tests. There can be more than one integration started, or all to start all integrations. Selected integrations are not saved for future execution. @@ -1865,7 +1871,7 @@ This is the current syntax for `./breeze <./breeze>`_: --rbac-ui Enable RBAC UI. - --init-script <INIT_SCRIPT_FILE> + --init-script INIT_SCRIPT_FILE Initialization script name - Sourced from files/airflow-breeze-config. Default value init.sh. It will be executed after the environment is configured and started. @@ -1883,7 +1889,7 @@ This is the current syntax for `./breeze <./breeze>`_: Configuration for the KinD Kubernetes cluster and tests: - -K, --kubernetes-mode <KUBERNETES_MODE> + -K, --kubernetes-mode KUBERNETES_MODE Kubernetes mode - only used in case one of kind-cluster commands is used. One of: @@ -1891,7 +1897,7 @@ This is the current syntax for `./breeze <./breeze>`_: Default: image - -V, --kubernetes-version <KUBERNETES_VERSION> + -V, --kubernetes-version KUBERNETES_VERSION Kubernetes version - only used in case one of kind-cluster commands is used. One of: @@ -1899,7 +1905,7 @@ This is the current syntax for `./breeze <./breeze>`_: Default: v1.18.6 - --kind-version <KIND_VERSION> + --kind-version KIND_VERSION Kind version - only used in case one of kind-cluster commands is used. One of: @@ -1907,7 +1913,7 @@ This is the current syntax for `./breeze <./breeze>`_: Default: v0.8.0 - --helm-version <HELM_VERSION> + --helm-version HELM_VERSION Helm version - only used in case one of kind-cluster commands is used. One of: @@ -1937,14 +1943,14 @@ This is the current syntax for `./breeze <./breeze>`_: **************************************************************************************************** Choose different Airflow version to install or run - -a, --install-airflow-version <INSTALL_AIRFLOW_VERSION> + -a, --install-airflow-version INSTALL_AIRFLOW_VERSION If specified, installs Airflow directly from PIP released version. This happens at image building time in production image and at container entering time for CI image. One of: 1.10.12 1.10.11 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 master v1-10-test - -t, --install-airflow-reference <INSTALL_AIRFLOW_REFERENCE> + -t, --install-airflow-reference INSTALL_AIRFLOW_REFERENCE If specified, installs Airflow directly from reference in GitHub. This happens at image building time in production image and at container entering time for CI image. @@ -1968,7 +1974,7 @@ This is the current syntax for `./breeze <./breeze>`_: images are pulled by default only for the first time you run the environment, later the locally build images are used as cache. - -E, --extras + -E, --extras EXTRAS Extras to pass to build images The default are different for CI and production images: CI image: @@ -1978,16 +1984,19 @@ This is the current syntax for `./breeze <./breeze>`_: async,aws,azure,celery,dask,elasticsearch,gcp,kubernetes,mysql,postgres,redis,slack, ssh,statsd,virtualenv - --additional-extras + --image-tag TAG + Additional tag in the image. + + --additional-extras ADDITIONAL_EXTRAS Additional extras to pass to build images The default is no additional extras. - --additional-python-deps + --additional-python-deps ADDITIONAL_PYTHON_DEPS Additional python dependencies to use when building the images. - --additional-dev-deps + --additional-dev-deps ADDITIONAL_DEV_DEPS Additional apt dev dependencies to use when building the images. - --additional-runtime-deps + --additional-runtime-deps ADDITIONAL_RUNTIME_DEPS Additional apt runtime dependencies to use when building the images. --disable-pip-cache @@ -2034,24 +2043,24 @@ This is the current syntax for `./breeze <./breeze>`_: **************************************************************************************************** Flags for pulling/pushing Docker images (both CI and production) - -D, --dockerhub-user + -D, --dockerhub-user DOCKERHUB_USER DockerHub user used to pull, push and build images. Default: apache. - -H, --dockerhub-repo + -H, --dockerhub-repo DOCKERHUB_REPO DockerHub repository used to pull, push, build images. Default: airflow. - -c, --github-registry + -c, --github-registry GITHUB_REGISTRY If GitHub registry is enabled, pulls and pushes are done from the GitHub registry not DockerHub. You need to be logged in to the registry in order to be able to pull/push from and you need to be committer to push to Apache Airflow' GitHub registry. - -g, --github-repository + -g, --github-repository GITHUB_REPOSITORY GitHub repository used to pull, push images when cache is used. Default: apache/airflow. If you use this flag, automatically --github-registry flag is enabled. - -s, --github-image-id <COMMIT_SHA>|<RUN_ID> + -s, --github-image-id COMMIT_SHA|RUN_ID <RUN_ID> or <COMMIT_SHA> of the image. Images in GitHub registry are stored with those to be able to easily find the image for particular CI runs. Once you know the <RUN_ID> or <COMMIT_SHA>, you can specify it in github-image-id flag and Breeze will diff --git a/breeze b/breeze index 3b802d4..af62f0a 100755 --- a/breeze +++ b/breeze @@ -965,6 +965,11 @@ function breeze::parse_arguments() { echo "Install MySQL client: ${INSTALL_MYSQL_CLIENT}" shift ;; + --image-tag) + export IMAGE_TAG="${2}" + echo "Tag to add to the image: ${IMAGE_TAG}" + shift 2 + ;; -D | --dockerhub-user) export DOCKERHUB_USER="${2}" echo "Dockerhub user ${DOCKERHUB_USER}" @@ -1838,7 +1843,7 @@ Run '${CMDNAME} flags' to see all applicable flags. ####################################################################################################### function breeze::flag_airflow_variants() { echo " --p, --python <PYTHON_MAJOR_MINOR_VERSION> +-p, --python PYTHON_MAJOR_MINOR_VERSION Python version used for the image. This is always major/minor version. One of: @@ -1861,7 +1866,7 @@ ${FORMATTED_PYTHON_MAJOR_MINOR_VERSIONS} ####################################################################################################### function breeze::flag_backend_variants() { echo " --b, --backend <BACKEND> +-b, --backend BACKEND Backend to use for tests - it determines which database is used. One of: @@ -1869,12 +1874,12 @@ ${FORMATTED_BACKENDS} Default: ${_breeze_default_backend:=} ---postgres-version <POSTGRES_VERSION> +--postgres-version POSTGRES_VERSION Postgres version used. One of: ${FORMATTED_POSTGRES_VERSIONS} ---mysql-version <MYSQL_VERSION> +--mysql-version MYSQL_VERSION Mysql version used. One of: ${FORMATTED_MYSQL_VERSIONS} @@ -1915,7 +1920,7 @@ function breeze::flag_breeze_actions() { ready to start Airflow webserver/scheduler/worker. Without the switch, the database does not have any tables and you need to run reset db manually. --i, --integration <INTEGRATION> +-i, --integration INTEGRATION Integration to start during tests - it determines which integrations are started for integration tests. There can be more than one integration started, or all to start all integrations. Selected integrations are not saved for future execution. @@ -1926,7 +1931,7 @@ ${FORMATTED_INTEGRATIONS} --rbac-ui Enable RBAC UI. ---init-script <INIT_SCRIPT_FILE> +--init-script INIT_SCRIPT_FILE Initialization script name - Sourced from files/airflow-breeze-config. Default value init.sh. It will be executed after the environment is configured and started. @@ -1951,7 +1956,7 @@ function breeze::flag_kubernetes_configuration() { echo " Configuration for the KinD Kubernetes cluster and tests: --K, --kubernetes-mode <KUBERNETES_MODE> +-K, --kubernetes-mode KUBERNETES_MODE Kubernetes mode - only used in case one of kind-cluster commands is used. One of: @@ -1959,7 +1964,7 @@ ${FORMATTED_KUBERNETES_MODES} Default: ${_breeze_default_kubernetes_mode:=} --V, --kubernetes-version <KUBERNETES_VERSION> +-V, --kubernetes-version KUBERNETES_VERSION Kubernetes version - only used in case one of kind-cluster commands is used. One of: @@ -1967,7 +1972,7 @@ ${FORMATTED_KUBERNETES_VERSIONS} Default: ${_breeze_default_kubernetes_version:=} ---kind-version <KIND_VERSION> +--kind-version KIND_VERSION Kind version - only used in case one of kind-cluster commands is used. One of: @@ -1975,7 +1980,7 @@ ${FORMATTED_KIND_VERSIONS} Default: ${_breeze_default_kind_version:=} ---helm-version <HELM_VERSION> +--helm-version HELM_VERSION Helm version - only used in case one of kind-cluster commands is used. One of: @@ -2014,13 +2019,13 @@ function breeze::flag_local_file_mounting() { ####################################################################################################### function breeze::flag_choose_different_airflow_version() { echo " --a, --install-airflow-version <INSTALL_AIRFLOW_VERSION> +-a, --install-airflow-version INSTALL_AIRFLOW_VERSION If specified, installs Airflow directly from PIP released version. This happens at image building time in production image and at container entering time for CI image. One of: ${FORMATTED_INSTALL_AIRFLOW_VERSIONS} --t, --install-airflow-reference <INSTALL_AIRFLOW_REFERENCE> +-t, --install-airflow-reference INSTALL_AIRFLOW_REFERENCE If specified, installs Airflow directly from reference in GitHub. This happens at image building time in production image and at container entering time for CI image. " @@ -2117,7 +2122,7 @@ function breeze::flag_build_docker_images() { images are pulled by default only for the first time you run the environment, later the locally build images are used as cache. --E, --extras +-E, --extras EXTRAS Extras to pass to build images The default are different for CI and production images: CI image: @@ -2126,16 +2131,19 @@ ${FORMATTED_DEFAULT_CI_EXTRAS} Production image: ${FORMATTED_DEFAULT_PROD_EXTRAS} ---additional-extras +--image-tag TAG + Additional tag in the image. + +--additional-extras ADDITIONAL_EXTRAS Additional extras to pass to build images The default is no additional extras. ---additional-python-deps +--additional-python-deps ADDITIONAL_PYTHON_DEPS Additional python dependencies to use when building the images. ---additional-dev-deps +--additional-dev-deps ADDITIONAL_DEV_DEPS Additional apt dev dependencies to use when building the images. ---additional-runtime-deps +--additional-runtime-deps ADDITIONAL_RUNTIME_DEPS Additional apt runtime dependencies to use when building the images. --disable-pip-cache @@ -2197,24 +2205,24 @@ ${FORMATTED_DEFAULT_PROD_EXTRAS} ####################################################################################################### function breeze::flag_pull_push_docker_images() { echo " --D, --dockerhub-user +-D, --dockerhub-user DOCKERHUB_USER DockerHub user used to pull, push and build images. Default: ${_breeze_default_dockerhub_user:=}. --H, --dockerhub-repo +-H, --dockerhub-repo DOCKERHUB_REPO DockerHub repository used to pull, push, build images. Default: ${_breeze_default_dockerhub_repo:=}. --c, --github-registry +-c, --github-registry GITHUB_REGISTRY If GitHub registry is enabled, pulls and pushes are done from the GitHub registry not DockerHub. You need to be logged in to the registry in order to be able to pull/push from and you need to be committer to push to Apache Airflow' GitHub registry. --g, --github-repository +-g, --github-repository GITHUB_REPOSITORY GitHub repository used to pull, push images when cache is used. Default: ${_breeze_default_github_repository:=}. If you use this flag, automatically --github-registry flag is enabled. --s, --github-image-id <COMMIT_SHA>|<RUN_ID> +-s, --github-image-id COMMIT_SHA|RUN_ID <RUN_ID> or <COMMIT_SHA> of the image. Images in GitHub registry are stored with those to be able to easily find the image for particular CI runs. Once you know the <RUN_ID> or <COMMIT_SHA>, you can specify it in github-image-id flag and Breeze will diff --git a/breeze-complete b/breeze-complete index 5a09334..7ac46c8 100644 --- a/breeze-complete +++ b/breeze-complete @@ -134,7 +134,7 @@ force-build-images force-pull-images production-image extras: force-clean-images build-cache-local build-cache-pulled build-cache-disabled disable-pip-cache dockerhub-user: dockerhub-repo: github-registry github-repository: github-image-id: postgres-version: mysql-version: -additional-extras: additional-python-deps: additional-dev-deps: additional-runtime-deps: +additional-extras: additional-python-deps: additional-dev-deps: additional-runtime-deps: image-tag: disable-mysql-client-installation load-default-connections load-example-dags " diff --git a/scripts/ci/libraries/_build_images.sh b/scripts/ci/libraries/_build_images.sh index 76abff1..a80616d 100644 --- a/scripts/ci/libraries/_build_images.sh +++ b/scripts/ci/libraries/_build_images.sh @@ -570,8 +570,13 @@ Docker building ${AIRFLOW_CI_IMAGE}. . -f Dockerfile.ci set -u if [[ -n "${DEFAULT_CI_IMAGE=}" ]]; then + echo "Tagging additionally image ${AIRFLOW_CI_IMAGE} with ${DEFAULT_CI_IMAGE}" docker tag "${AIRFLOW_CI_IMAGE}" "${DEFAULT_CI_IMAGE}" fi + if [[ -n "${IMAGE_TAG:=}" ]]; then + echo "Tagging additionally image ${AIRFLOW_CI_IMAGE} with ${IMAGE_TAG}" + docker tag "${AIRFLOW_CI_IMAGE}" "${IMAGE_TAG}" + fi if [[ -n ${SPIN_PID=} ]]; then kill -HUP "${SPIN_PID}" || true wait "${SPIN_PID}" || true @@ -718,8 +723,13 @@ function build_images::build_prod_images() { . -f Dockerfile set -u if [[ -n "${DEFAULT_PROD_IMAGE:=}" ]]; then + echo "Tagging additionally image ${AIRFLOW_PROD_IMAGE} with ${DEFAULT_PROD_IMAGE}" docker tag "${AIRFLOW_PROD_IMAGE}" "${DEFAULT_PROD_IMAGE}" fi + if [[ -n "${IMAGE_TAG:=}" ]]; then + echo "Tagging additionally image ${AIRFLOW_PROD_IMAGE} with ${IMAGE_TAG}" + docker tag "${AIRFLOW_PROD_IMAGE}" "${IMAGE_TAG}" + fi } # Waits for image tag to appear in GitHub Registry, pulls it and tags with the target tag diff --git a/scripts/ci/libraries/_initialization.sh b/scripts/ci/libraries/_initialization.sh index 7155d29..eb56560 100644 --- a/scripts/ci/libraries/_initialization.sh +++ b/scripts/ci/libraries/_initialization.sh @@ -325,6 +325,8 @@ function initialization::initialize_image_build_variables() { export AIRFLOW_PRE_CACHED_PIP_PACKAGES="${AIRFLOW_PRE_CACHED_PIP_PACKAGES:="true"}" # by default install mysql client export INSTALL_MYSQL_CLIENT=${INSTALL_MYSQL_CLIENT:="true"} + # additional tag for the image + export IMAGE_TAG=${IMAGE_TAG:=""} } # Determine version suffixes used to build backport packages @@ -644,6 +646,7 @@ function initialization::make_constants_read_only() { readonly ADDITIONAL_DEV_DEPS readonly ADDITIONAL_RUNTIME_DEPS readonly AIRFLOW_PRE_CACHED_PIP_PACKAGES + readonly IMAGE_TAG readonly DOCKERHUB_USER readonly DOCKERHUB_REPO
