diff --git a/BREEZE.rst b/BREEZE.rst index 1f2832335a69d..ba401edf1eb3f 100644 --- a/BREEZE.rst +++ b/BREEZE.rst @@ -2357,7 +2357,7 @@ This is the current syntax for `./breeze <./breeze>`_: start all integrations. Selected integrations are not saved for future execution. One of: - cassandra kerberos mongo openldap pinot presto rabbitmq redis all + cassandra kerberos mongo openldap pinot presto rabbitmq redis statsd all --init-script INIT_SCRIPT_FILE Initialization script name - Sourced from files/airflow-breeze-config. Default value diff --git a/breeze-complete b/breeze-complete index 43820c771255b..7569763d495aa 100644 --- a/breeze-complete +++ b/breeze-complete @@ -25,7 +25,7 @@ _breeze_allowed_python_major_minor_versions="2.7 3.5 3.6 3.7 3.8" _breeze_allowed_backends="sqlite mysql postgres" -_breeze_allowed_integrations="cassandra kerberos mongo openldap pinot presto rabbitmq redis all" +_breeze_allowed_integrations="cassandra kerberos mongo openldap pinot presto rabbitmq redis statsd all" # registrys is good here even if it is not correct english. We are adding s automatically to all variables _breeze_allowed_github_registrys="docker.pkg.github.com ghcr.io" _breeze_allowed_kubernetes_modes="image" diff --git a/scripts/ci/docker-compose/integration-statsd.yml b/scripts/ci/docker-compose/integration-statsd.yml new file mode 100644 index 0000000000000..4685392c6671f --- /dev/null +++ b/scripts/ci/docker-compose/integration-statsd.yml @@ -0,0 +1,40 @@ +# 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. +--- +version: "2.2" +services: + statsd-exporter: + image: apache/airflow:airflow-statsd-exporter-2020.09.05-v0.17.0 + ports: + - "9125:9125" + - "9125:9125/udp" + - "29102:9102" + + grafana: + image: grafana/grafana + ports: + - "23000:3000" + + airflow: + environment: + - INTEGRATION_STATSD=true + - AIRFLOW__METRICS__STATSD_ON=True + - AIRFLOW__METRICS__STATSD_HOST=statsd-exporter + - AIRFLOW__METRICS__STATSD_PORT=9125 + depends_on: + - statsd-exporter + - grafana diff --git a/scripts/ci/libraries/_initialization.sh b/scripts/ci/libraries/_initialization.sh index ff6aedcf483ed..482f42d8b0015 100644 --- a/scripts/ci/libraries/_initialization.sh +++ b/scripts/ci/libraries/_initialization.sh @@ -176,7 +176,7 @@ function initialization::initialize_dockerhub_variables() { # Determine available integrations function initialization::initialize_available_integrations() { - export AVAILABLE_INTEGRATIONS="cassandra kerberos mongo openldap pinot presto rabbitmq redis" + export AVAILABLE_INTEGRATIONS="cassandra kerberos mongo openldap pinot presto rabbitmq redis statsd" } # Needs to be declared outside of function for MacOS