diff --git a/bitnami/airflow/2/debian-12/Dockerfile b/bitnami/airflow/2/debian-12/Dockerfile index 958d363f8dea..3e8a36e857c8 100644 --- a/bitnami/airflow/2/debian-12/Dockerfile +++ b/bitnami/airflow/2/debian-12/Dockerfile @@ -8,11 +8,11 @@ ARG TARGETARCH LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \ org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ - org.opencontainers.image.created="2024-10-31T16:41:38Z" \ + org.opencontainers.image.created="2024-11-04T17:15:37Z" \ org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/airflow/README.md" \ org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.ref.name="2.10.2-debian-12-r6" \ + org.opencontainers.image.ref.name="2.10.2-debian-12-r7" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/airflow" \ org.opencontainers.image.title="airflow" \ org.opencontainers.image.vendor="Broadcom, Inc." \ @@ -69,7 +69,7 @@ ENV AIRFLOW_HOME="/opt/bitnami/airflow" \ NSS_WRAPPER_PASSWD="/opt/bitnami/airflow/nss-wrapper/nss_passwd" \ PATH="/opt/bitnami/common/bin:/opt/bitnami/python/bin:/opt/bitnami/airflow/venv/bin:$PATH" -EXPOSE 8080 8793 +EXPOSE 8080 8793 8794 USER 1001 ENTRYPOINT [ "/opt/bitnami/scripts/airflow/entrypoint.sh" ] diff --git a/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/airflow-env.sh b/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/airflow-env.sh index d8783b87f879..655e2f59e74e 100644 --- a/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/airflow-env.sh +++ b/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/airflow-env.sh @@ -44,6 +44,7 @@ airflow_env_vars=( AIRFLOW_POOL_SIZE AIRFLOW_POOL_DESC AIRFLOW_STANDALONE_DAG_PROCESSOR + AIRFLOW_TRIGGERER_DEFAULT_CAPACITY AIRFLOW_WORKER_QUEUE AIRFLOW_DATABASE_HOST AIRFLOW_DATABASE_PORT_NUMBER @@ -126,6 +127,7 @@ export AIRFLOW_POOL_NAME="${AIRFLOW_POOL_NAME:-}" export AIRFLOW_POOL_SIZE="${AIRFLOW_POOL_SIZE:-}" export AIRFLOW_POOL_DESC="${AIRFLOW_POOL_DESC:-}" export AIRFLOW_STANDALONE_DAG_PROCESSOR="${AIRFLOW_STANDALONE_DAG_PROCESSOR:-no}" +export AIRFLOW_TRIGGERER_DEFAULT_CAPACITY="${AIRFLOW_TRIGGERER_DEFAULT_CAPACITY:-1000}" AIRFLOW_WORKER_QUEUE="${AIRFLOW_WORKER_QUEUE:-"${AIRFLOW_QUEUE:-}"}" export AIRFLOW_WORKER_QUEUE="${AIRFLOW_WORKER_QUEUE:-}" diff --git a/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/libairflow.sh b/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/libairflow.sh index 8e39ecc4d581..2bde85f03fc4 100644 --- a/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/libairflow.sh +++ b/bitnami/airflow/2/debian-12/rootfs/opt/bitnami/scripts/libairflow.sh @@ -76,7 +76,7 @@ airflow_validate() { # Check component type & executor check_empty_value "AIRFLOW_COMPONENT_TYPE" - check_multi_value "AIRFLOW_COMPONENT_TYPE" "webserver scheduler worker dag-processor" + check_multi_value "AIRFLOW_COMPONENT_TYPE" "webserver scheduler worker triggerer dag-processor" check_empty_value "AIRFLOW_EXECUTOR" check_yes_no_value "AIRFLOW_STANDALONE_DAG_PROCESSOR" @@ -270,6 +270,7 @@ airflow_generate_config() { [[ -n "$AIRFLOW_FERNET_KEY" ]] && airflow_conf_set "core" "fernet_key" "$AIRFLOW_FERNET_KEY" [[ -n "$AIRFLOW_SECRET_KEY" ]] && airflow_conf_set "webserver" "secret_key" "$AIRFLOW_SECRET_KEY" + [[ "$AIRFLOW_COMPONENT_TYPE" = "triggerer" && -n "$AIRFLOW_TRIGGERER_DEFAULT_CAPACITY" ]] && airflow_conf_set "triggerer" "default_capacity" "$AIRFLOW_TRIGGERER_DEFAULT_CAPACITY" if [[ "$AIRFLOW_COMPONENT_TYPE" != "worker" ]]; then # Configure Airflow to load examples if is_boolean_yes "$AIRFLOW_LOAD_EXAMPLES"; then diff --git a/bitnami/airflow/README.md b/bitnami/airflow/README.md index bcd919b45d96..82ae8eae081a 100644 --- a/bitnami/airflow/README.md +++ b/bitnami/airflow/README.md @@ -301,54 +301,55 @@ This container supports the installation of additional python modules at start-u #### Customizable environment variables -| Name | Description | Default Value | -|---------------------------------------|----------------------------------------------------------------------------------------------|----------------------| -| `AIRFLOW_USERNAME` | Airflow username | `user` | -| `AIRFLOW_PASSWORD` | Airflow password | `bitnami` | -| `AIRFLOW_FIRSTNAME` | Airflow firstname | `Firstname` | -| `AIRFLOW_LASTNAME` | Airflow lastname | `Lastname` | -| `AIRFLOW_EMAIL` | Airflow email | `user@example.com` | -| `AIRFLOW_COMPONENT_TYPE` | Airflow component type. Allowed values: *webserver*, *scheduler*, *dag-processor*, *worker*. | `webserver` | -| `AIRFLOW_EXECUTOR` | Airflow executor. | `SequentialExecutor` | -| `AIRFLOW_RAW_FERNET_KEY` | Airflow raw/unencoded Fernet key | `nil` | -| `AIRFLOW_FORCE_OVERWRITE_CONF_FILE` | Force the airflow.cfg config file generation. | `no` | -| `AIRFLOW_FERNET_KEY` | Airflow Fernet key | `nil` | -| `AIRFLOW_SECRET_KEY` | Airflow Secret key | `nil` | -| `AIRFLOW_WEBSERVER_BASE_URL` | Airflow Webserver base URL. | `nil` | -| `AIRFLOW_WEBSERVER_HOST` | Airflow Webserver host | `127.0.0.1` | -| `AIRFLOW_WEBSERVER_PORT_NUMBER` | Airflow Webserver port. | `8080` | -| `AIRFLOW_LOAD_EXAMPLES` | To load example tasks into the application. | `yes` | -| `AIRFLOW_HOSTNAME_CALLABLE` | Method to obtain the hostname. | `nil` | -| `AIRFLOW_POOL_NAME` | Pool name. | `nil` | -| `AIRFLOW_POOL_SIZE` | Pool size, required with AIRFLOW_POOL_NAME. | `nil` | -| `AIRFLOW_POOL_DESC` | Pool description, required with AIRFLOW_POOL_NAME. | `nil` | -| `AIRFLOW_STANDALONE_DAG_PROCESSOR` | Enable running Dag Processor in standalone mode | `no` | -| `AIRFLOW_WORKER_QUEUE` | A queue for the worker to pull tasks from. | `nil` | -| `AIRFLOW_DATABASE_HOST` | Hostname for PostgreSQL server. | `postgresql` | -| `AIRFLOW_DATABASE_PORT_NUMBER` | Port used by PostgreSQL server. | `5432` | -| `AIRFLOW_DATABASE_NAME` | Database name that Airflow will use to connect with the database. | `bitnami_airflow` | -| `AIRFLOW_DATABASE_USERNAME` | Database user that Airflow will use to connect with the database. | `bn_airflow` | -| `AIRFLOW_DATABASE_PASSWORD` | Database password that Airflow will use to connect with the database. | `nil` | -| `AIRFLOW_DATABASE_USE_SSL` | Set to yes if the database is using SSL. | `no` | -| `AIRFLOW_REDIS_USE_SSL` | Set to yes if Redis(R) uses SSL. | `no` | -| `REDIS_HOST` | Hostname for Redis(R) server. | `redis` | -| `REDIS_PORT_NUMBER` | Port used by Redis(R) server. | `6379` | -| `REDIS_USER` | User that Airflow will use to connect with Redis(R). | `nil` | -| `REDIS_PASSWORD` | Password that Airflow will use to connect with Redis(R). | `nil` | -| `REDIS_DATABASE` | Name of the Redis(R) database. | `1` | -| `AIRFLOW_LDAP_ENABLE` | Enable LDAP authentication. | `no` | -| `AIRFLOW_LDAP_URI` | LDAP server URI. | `nil` | -| `AIRFLOW_LDAP_SEARCH` | LDAP search base. | `nil` | -| `AIRFLOW_LDAP_UID_FIELD` | LDAP field used for uid. | `nil` | -| `AIRFLOW_LDAP_BIND_USER` | LDAP user name. | `nil` | -| `AIRFLOW_LDAP_BIND_PASSWORD` | LDAP user password. | `nil` | -| `AIRFLOW_LDAP_USER_REGISTRATION` | User self registration. | `True` | -| `AIRFLOW_LDAP_USER_REGISTRATION_ROLE` | Role name to be assign when a user registers himself. | `nil` | -| `AIRFLOW_LDAP_ROLES_MAPPING` | Mapping from LDAP DN to a list of Airflow roles. | `nil` | -| `AIRFLOW_LDAP_ROLES_SYNC_AT_LOGIN` | Replace ALL the user roles each login, or only on registration. | `True` | -| `AIRFLOW_LDAP_USE_TLS` | Use LDAP SSL. | `False` | -| `AIRFLOW_LDAP_ALLOW_SELF_SIGNED` | Allow self signed certicates in LDAP ssl. | `True` | -| `AIRFLOW_LDAP_TLS_CA_CERTIFICATE` | File that store the CA for LDAP ssl. | `nil` | +| Name | Description | Default Value | +|---------------------------------------|-----------------------------------------------------------------------------------------------------------|----------------------| +| `AIRFLOW_USERNAME` | Airflow username | `user` | +| `AIRFLOW_PASSWORD` | Airflow password | `bitnami` | +| `AIRFLOW_FIRSTNAME` | Airflow firstname | `Firstname` | +| `AIRFLOW_LASTNAME` | Airflow lastname | `Lastname` | +| `AIRFLOW_EMAIL` | Airflow email | `user@example.com` | +| `AIRFLOW_COMPONENT_TYPE` | Airflow component type. Allowed values: *webserver*, *scheduler*, *dag-processor*, *triggerer*, *worker*. | `webserver` | +| `AIRFLOW_EXECUTOR` | Airflow executor. | `SequentialExecutor` | +| `AIRFLOW_RAW_FERNET_KEY` | Airflow raw/unencoded Fernet key | `nil` | +| `AIRFLOW_FORCE_OVERWRITE_CONF_FILE` | Force the airflow.cfg config file generation. | `no` | +| `AIRFLOW_FERNET_KEY` | Airflow Fernet key | `nil` | +| `AIRFLOW_SECRET_KEY` | Airflow Secret key | `nil` | +| `AIRFLOW_WEBSERVER_BASE_URL` | Airflow Webserver base URL. | `nil` | +| `AIRFLOW_WEBSERVER_HOST` | Airflow Webserver host | `127.0.0.1` | +| `AIRFLOW_WEBSERVER_PORT_NUMBER` | Airflow Webserver port. | `8080` | +| `AIRFLOW_LOAD_EXAMPLES` | To load example tasks into the application. | `yes` | +| `AIRFLOW_HOSTNAME_CALLABLE` | Method to obtain the hostname. | `nil` | +| `AIRFLOW_POOL_NAME` | Pool name. | `nil` | +| `AIRFLOW_POOL_SIZE` | Pool size, required with AIRFLOW_POOL_NAME. | `nil` | +| `AIRFLOW_POOL_DESC` | Pool description, required with AIRFLOW_POOL_NAME. | `nil` | +| `AIRFLOW_STANDALONE_DAG_PROCESSOR` | Enable running Dag Processor in standalone mode | `no` | +| `AIRFLOW_TRIGGERER_DEFAULT_CAPACITY` | How many triggers a single Triggerer can run at once. | `1000` | +| `AIRFLOW_WORKER_QUEUE` | A queue for the worker to pull tasks from. | `nil` | +| `AIRFLOW_DATABASE_HOST` | Hostname for PostgreSQL server. | `postgresql` | +| `AIRFLOW_DATABASE_PORT_NUMBER` | Port used by PostgreSQL server. | `5432` | +| `AIRFLOW_DATABASE_NAME` | Database name that Airflow will use to connect with the database. | `bitnami_airflow` | +| `AIRFLOW_DATABASE_USERNAME` | Database user that Airflow will use to connect with the database. | `bn_airflow` | +| `AIRFLOW_DATABASE_PASSWORD` | Database password that Airflow will use to connect with the database. | `nil` | +| `AIRFLOW_DATABASE_USE_SSL` | Set to yes if the database is using SSL. | `no` | +| `AIRFLOW_REDIS_USE_SSL` | Set to yes if Redis(R) uses SSL. | `no` | +| `REDIS_HOST` | Hostname for Redis(R) server. | `redis` | +| `REDIS_PORT_NUMBER` | Port used by Redis(R) server. | `6379` | +| `REDIS_USER` | User that Airflow will use to connect with Redis(R). | `nil` | +| `REDIS_PASSWORD` | Password that Airflow will use to connect with Redis(R). | `nil` | +| `REDIS_DATABASE` | Name of the Redis(R) database. | `1` | +| `AIRFLOW_LDAP_ENABLE` | Enable LDAP authentication. | `no` | +| `AIRFLOW_LDAP_URI` | LDAP server URI. | `nil` | +| `AIRFLOW_LDAP_SEARCH` | LDAP search base. | `nil` | +| `AIRFLOW_LDAP_UID_FIELD` | LDAP field used for uid. | `nil` | +| `AIRFLOW_LDAP_BIND_USER` | LDAP user name. | `nil` | +| `AIRFLOW_LDAP_BIND_PASSWORD` | LDAP user password. | `nil` | +| `AIRFLOW_LDAP_USER_REGISTRATION` | User self registration. | `True` | +| `AIRFLOW_LDAP_USER_REGISTRATION_ROLE` | Role name to be assign when a user registers himself. | `nil` | +| `AIRFLOW_LDAP_ROLES_MAPPING` | Mapping from LDAP DN to a list of Airflow roles. | `nil` | +| `AIRFLOW_LDAP_ROLES_SYNC_AT_LOGIN` | Replace ALL the user roles each login, or only on registration. | `True` | +| `AIRFLOW_LDAP_USE_TLS` | Use LDAP SSL. | `False` | +| `AIRFLOW_LDAP_ALLOW_SELF_SIGNED` | Allow self signed certicates in LDAP ssl. | `True` | +| `AIRFLOW_LDAP_TLS_CA_CERTIFICATE` | File that store the CA for LDAP ssl. | `nil` | #### Read-only environment variables