This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to tag nightly-master
in repository https://gitbox.apache.org/repos/asf/airflow.git.
*** WARNING: tag nightly-master was modified! ***
from 6573846 (commit)
to c61af5c (commit)
from 6573846 Fix `logging.exception` redundancy (#14823)
add e229f35 Use Pip 21.* to install airflow officially (#15513)
add 4b031d3 Make Airflow code Pylint 2.8 compatible (#15534)
add e4deb0f Fixes wrong limit for dask for python>3.7 (should be <3.7)
(#15545)
add 71bbec1 Update INTHEWILD.md (#15550)
add bf2b481 Add Connection Documentation for Providers (#15499)
add 5b2fe0e Add Connection Documentation for Popular Providers (#15393)
add dfaaf49 Add description about ``secret_key`` when Webserver > 1
(#15546)
add 11face6 Fix kube client on mac with keepalive enabled (#15551)
add 40a2476 Adds interactivity when generating provider documentation.
(#15518)
add 6580a2c Upgrade hadolint to version 2.3.0 (#15573)
add a587dda Fix doc typo (#15584)
add 814e471 Update pre-commit checks (#15583)
add 053d903 `func.sum` may returns `Decimal` that break rest APIs
(#15585)
add 414bb20 Serve logs with Scheduler when using Local or Sequential
Executor (#15557)
add 943e3ca add an option to trigger a dag w/o changing conf (#15591)
add df143ae An initial rework of the "Concepts" docs (#15444)
add 18ead33 Change helm chart logging level back to default (INFO)
(#15597)
add ff4b7c4 Adds log persistence to helm chart (#15595)
add 5045419 Remove odbc dependency in microsoft.mssql provider (#15594)
add 924af8d Fix KEDA Autoscaler ``connectionFromEnv`` (#15561)
add 9c296c9 Fix parallelism after KubeExecutor pod adoption (#15555)
add 7f6ddda Improves production image preparation scripts. (#15577)
add c7cd437 Chart: Change default executor to ``CeleryExecutor`` (#15603)
add 5e79b1e Use latest version of `git-sync` image (#15606)
add c6be8b1 Expose snowflake query_id in snowflake hook and operator,
support multiple statements in sql string (#15533)
add d7a14a8 Remove the limit on Gunicorn dependency (#15611)
add 18531f8 Add test for the create user job in helm chart (#15614)
add a4211e2 Fix changing the parent dag state on subdag clear (#15562)
add f8a70e1 Support MySQL db in the helm chart (#15616)
add 8655d66 Helm RBAC Best Practices (#14152)
add 9a6309f Refactor building of results backend connection secret
(#15618)
add 807ad32 Prepares provider release after PIP 21 compatibility (#15576)
add 37ce907 Update support policy for Python and Kubernetes (#15612)
add 3d227f2 Automated tagging of default images in DockerHub (#15625)
add 7a4e170 Kubernetes Test Cleanup (#15626)
add db557a8 Docs: Replace 'airflow' to 'apache-airflow' to install extra
(#15628)
add bf81d2e Add docker-context-files detection and cleanup flag. (#15593)
add fc845ca PostgresHook: deepcopy connection to avoid mutating
connection obj (#15412)
add 4226f64 Better description of UID/GID behaviour in image and
quickstart (#15592)
add 7318787 Fix add quotes to extraConfigMaps/extraSecrets (#15633)
add 5f43cd9 Worker ServiceAccount is needed for KubernetesExecutor
(#15642)
add edbc89c Bump ssri from 6.0.1 to 6.0.2 in /airflow/www (#15437)
add 47a5539 Feature qubole hook support headers (#15615)
add 1dcd3d0 Chart: Add unit tests for limits and resources (#15621)
add 32c6362 When one_success mark task as failed if no success (#15467)
add 4ff05fa Fix breeze k8s tests on mac (#15643)
add 0f97a39 Rename example bucket names to use INVALID BUCKET NAME by
default (#15651)
add 59be278 Allow chart to work with custom cluster domains (#15640)
add cf6324e Implement BigQuery Table Schema Update Operator (#15367)
add ca432ee HttpHook: Use request factory and respect defaults (#14701)
add 91bb877 Use the Stable REST API for Kubernetes executor integration
tests (#15644)
add b1bd594 Add delimiter argument to WasbHook delete_file method (#15637)
add 367d64b Fix chart DAG ``git-sync`` and persistence with
``KubernetesExecutor ``(#15657)
add cf583b9 Rename old "Experimental" API to deprecated in the docs.
(#15653)
add dd56875 Improve Test Coverage for Kubernetes Executor (#15617)
add d723ba5 Fix log persistence with KubernetesExecutor (#15659)
add a0eb747 Fix dags table overflow (#15660)
add 60a3da6 Fix building assets on ``breeze start-airflow`` (#15663)
add e47f7e4 Add --executor option to breeze kind-cluster deploy command
(#15661)
add 86ad628 More verbose logs when running `airflow check_migrations`
(#15662)
add d295e70 Mask passwords and sensitive info in task logs and UI (#15599)
add a781093 Allows overriding versioned dirs when publishing
documentation (#15624)
add 13faa69 When installing providers from the context folder, use `pip
--find-links` (#15673)
add 817b599 Fix on_failure_callback when task receive SIGKILL (#15537)
add 922668f More test coverage on pgbouncer in the helm chart (#15684)
add 151ba30 Clean up the pre-commit config file (#15681)
add 1024c92 Update KubeExecutor pod templates to allow access to IAM
permissions (#15669)
add b7b1764 Add docs to the markdownlint and yamllint config files
(#15682)
add faa4a52 Add note on changes to configuration options (#15696)
add 0967453 Emit error on duplicated DAG ID (#15302)
add 15f5bf4 Support jinja2 native Python types (#14603)
add 3cfcd23 Chart: Update Webserver update strategy based on Airflow
Version (#15627)
add 803850a Clean up the pre-commit config (#15703)
add 3b4fdd0 add oracle connection link (#15632)
add bdb76be Run helm chart tests in parallel (#15706)
add c61af5c Revert "Clean up the pre-commit config (#15703)" (#15707)
No new revisions were added by this update.
Summary of changes:
.markdownlint.yml | 27 +-
.pre-commit-config.yaml | 114 +-
BREEZE.rst | 26 +
CI.rst | 17 +
CONTRIBUTING.rst | 21 +-
CONTRIBUTORS_QUICK_START.rst | 10 +-
Dockerfile | 22 +-
Dockerfile.ci | 13 +-
IMAGES.rst | 12 +-
INSTALL | 8 -
INTHEWILD.md | 1 +
LOCAL_VIRTUALENV.rst | 20 +-
README.md | 42 +-
UPDATING.md | 14 +-
airflow/cli/cli_parser.py | 1 +
airflow/cli/commands/celery_command.py | 28 +-
airflow/cli/commands/dag_command.py | 12 +-
airflow/cli/commands/info_command.py | 18 +-
airflow/cli/commands/kerberos_command.py | 23 +-
airflow/cli/commands/scheduler_command.py | 45 +-
airflow/cli/commands/task_command.py | 5 +
airflow/cli/commands/webserver_command.py | 4 +-
airflow/config_templates/airflow_local_settings.py | 10 +
airflow/config_templates/config.yml | 39 +-
airflow/config_templates/default_airflow.cfg | 21 +-
airflow/config_templates/default_test.cfg | 4 -
airflow/configuration.py | 2 +
.../example_dags/example_task_group_decorator.py | 12 +-
.../tutorial_taskflow_api_etl_virtualenv.py | 4 +-
airflow/exceptions.py | 13 +
airflow/executors/kubernetes_executor.py | 66 +-
airflow/hooks/base.py | 4 +-
airflow/hooks/subprocess.py | 1 +
airflow/jobs/local_task_job.py | 9 +-
airflow/kubernetes/kube_client.py | 26 +-
airflow/kubernetes/kubernetes_helper_functions.py | 20 +
.../dags_in_image_template.yaml | 1 +
.../dags_in_volume_template.yaml | 1 +
.../git_sync_template.yaml | 1 +
airflow/models/connection.py | 15 +-
airflow/models/dag.py | 22 +-
airflow/models/dagbag.py | 138 +-
airflow/models/pool.py | 15 +-
airflow/models/renderedtifields.py | 11 +
airflow/models/taskinstance.py | 20 +-
airflow/models/variable.py | 13 +-
airflow/operators/bash.py | 1 -
airflow/operators/python.py | 1 +
airflow/provider.yaml.schema.json | 4 +
airflow/providers/amazon/CHANGELOG.rst | 18 +
.../aws/example_dags/example_glacier_to_gcs.py | 2 +-
.../aws/example_dags/example_s3_to_redshift.py | 12 +-
.../amazon/aws/log/cloudwatch_task_handler.py | 2 +-
.../providers/amazon/aws/log/s3_task_handler.py | 2 +-
.../amazon/aws/operators/s3_file_transform.py | 29 +-
.../amazon/aws/transfers/dynamodb_to_s3.py | 20 +-
.../providers/amazon/aws/transfers/mysql_to_s3.py | 2 +-
airflow/providers/amazon/provider.yaml | 1 +
.../apache/beam/.latest-doc-only-change.txt | 1 +
airflow/providers/apache/beam/CHANGELOG.rst | 58 +
airflow/providers/apache/beam/README.md | 8 -
.../apache/beam/example_dags/example_beam.py | 32 +-
airflow/providers/apache/beam/hooks/beam.py | 1 +
airflow/providers/apache/beam/provider.yaml | 4 +
.../apache/cassandra/.latest-doc-only-change.txt | 1 +
.../apache/druid/.latest-doc-only-change.txt | 1 +
.../apache/hdfs/.latest-doc-only-change.txt | 1 +
.../apache/hive/.latest-doc-only-change.txt | 1 +
.../apache/hive/transfers/hive_to_mysql.py | 41 +-
.../apache/hive/transfers/mssql_to_hive.py | 9 +-
.../apache/kylin/.latest-doc-only-change.txt | 1 +
.../apache/pig/.latest-doc-only-change.txt | 1 +
.../apache/pinot/.latest-doc-only-change.txt | 1 +
airflow/providers/apache/pinot/hooks/pinot.py | 37 +-
airflow/providers/apache/spark/CHANGELOG.rst | 9 +
airflow/providers/apache/spark/hooks/spark_jdbc.py | 3 +-
airflow/providers/apache/spark/hooks/spark_sql.py | 1 +
.../providers/apache/spark/hooks/spark_submit.py | 26 +-
.../providers/apache/spark/operators/spark_jdbc.py | 3 +-
.../apache/spark/operators/spark_submit.py | 6 +-
airflow/providers/apache/spark/provider.yaml | 1 +
.../apache/sqoop/.latest-doc-only-change.txt | 1 +
airflow/providers/apache/sqoop/hooks/sqoop.py | 19 +-
.../providers/celery/.latest-doc-only-change.txt | 1 +
.../providers/cloudant/.latest-doc-only-change.txt | 1 +
airflow/providers/cncf/kubernetes/CHANGELOG.rst | 15 +
.../providers/cncf/kubernetes/hooks/kubernetes.py | 3 +-
.../cncf/kubernetes/operators/spark_kubernetes.py | 3 +-
airflow/providers/cncf/kubernetes/provider.yaml | 1 +
.../cncf/kubernetes/sensors/spark_kubernetes.py | 3 +-
.../databricks/.latest-doc-only-change.txt | 1 +
.../providers/databricks/operators/databricks.py | 4 +-
.../providers/datadog/.latest-doc-only-change.txt | 1 +
airflow/providers/dependencies.json | 3 -
.../providers/dingding/.latest-doc-only-change.txt | 1 +
.../dingding/example_dags/example_dingding.py | 25 +-
.../providers/discord/.latest-doc-only-change.txt | 1 +
airflow/providers/docker/CHANGELOG.rst | 11 +
airflow/providers/docker/hooks/docker.py | 4 +-
airflow/providers/docker/operators/docker.py | 2 +-
airflow/providers/docker/operators/docker_swarm.py | 2 +-
airflow/providers/docker/provider.yaml | 1 +
airflow/providers/elasticsearch/CHANGELOG.rst | 9 +
airflow/providers/elasticsearch/provider.yaml | 1 +
.../providers/exasol/.latest-doc-only-change.txt | 1 +
airflow/providers/ftp/CHANGELOG.rst | 8 +
airflow/providers/ftp/hooks/ftp.py | 2 +
airflow/providers/ftp/provider.yaml | 1 +
airflow/providers/google/CHANGELOG.rst | 71 +
.../google/ads/example_dags/example_ads.py | 2 +-
.../example_automl_nl_text_classification.py | 2 +-
.../example_automl_nl_text_extraction.py | 4 +-
.../example_automl_nl_text_sentiment.py | 2 +-
.../cloud/example_dags/example_automl_tables.py | 2 +-
.../example_dags/example_automl_translation.py | 4 +-
...ple_automl_video_intelligence_classification.py | 2 +-
.../example_automl_video_intelligence_tracking.py | 2 +-
.../example_automl_vision_classification.py | 2 +-
.../example_automl_vision_object_detection.py | 2 +-
.../example_dags/example_azure_fileshare_to_gcs.py | 2 +-
.../cloud/example_dags/example_bigquery_dts.py | 2 +-
.../example_dags/example_bigquery_operations.py | 35 +-
.../cloud/example_dags/example_bigquery_to_gcs.py | 2 +-
.../example_dags/example_bigquery_transfer.py | 2 +-
.../cloud/example_dags/example_cloud_build.py | 2 +-
.../example_dags/example_cloud_memorystore.py | 2 +-
.../google/cloud/example_dags/example_cloud_sql.py | 4 +-
.../cloud/example_dags/example_datacatalog.py | 2 +-
.../google/cloud/example_dags/example_dataflow.py | 10 +-
.../example_dags/example_dataflow_flex_template.py | 2 +-
.../google/cloud/example_dags/example_dataprep.py | 2 +-
.../google/cloud/example_dags/example_dlp.py | 2 +-
.../cloud/example_dags/example_life_sciences.py | 2 +-
.../google/cloud/example_dags/example_mlengine.py | 14 +-
.../cloud/example_dags/example_natural_language.py | 2 +-
.../cloud/example_dags/example_postgres_to_gcs.py | 2 +-
.../cloud/example_dags/example_presto_to_gcs.py | 2 +-
.../cloud/example_dags/example_speech_to_text.py | 2 +-
.../cloud/example_dags/example_translate_speech.py | 2 +-
.../cloud/example_dags/example_trino_to_gcs.py | 2 +-
.../example_dags/example_video_intelligence.py | 2 +-
.../google/cloud/example_dags/example_vision.py | 8 +-
airflow/providers/google/cloud/hooks/bigquery.py | 95 ++
airflow/providers/google/cloud/hooks/cloud_sql.py | 1 +
.../providers/google/cloud/operators/bigquery.py | 112 ++
airflow/providers/google/cloud/operators/gcs.py | 38 +-
.../google/cloud/transfers/bigquery_to_mysql.py | 2 +-
.../google/cloud/transfers/cassandra_to_gcs.py | 2 +
.../google/cloud/transfers/mysql_to_gcs.py | 2 +-
.../google/cloud/transfers/oracle_to_gcs.py | 3 +-
.../providers/google/cloud/transfers/sql_to_gcs.py | 3 +
.../firebase/example_dags/example_firestore.py | 2 +-
.../example_dags/example_display_video.py | 2 +-
airflow/providers/google/provider.yaml | 4 +
airflow/providers/http/.latest-doc-only-change.txt | 1 +
airflow/providers/http/hooks/http.py | 25 +-
airflow/providers/imap/.latest-doc-only-change.txt | 1 +
airflow/providers/imap/hooks/imap.py | 3 +-
airflow/providers/imap/sensors/imap_attachment.py | 4 +-
airflow/providers/jdbc/.latest-doc-only-change.txt | 1 +
.../providers/jenkins/.latest-doc-only-change.txt | 1 +
airflow/providers/jira/CHANGELOG.rst | 5 +
airflow/providers/jira/provider.yaml | 1 +
airflow/providers/microsoft/azure/CHANGELOG.rst | 27 +
.../example_dags/example_azure_blob_to_gcs.py | 2 +-
airflow/providers/microsoft/azure/hooks/wasb.py | 5 +-
.../microsoft/azure/log/wasb_task_handler.py | 2 +-
airflow/providers/microsoft/azure/provider.yaml | 1 +
.../azure/transfers/oracle_to_azure_data_lake.py | 2 +-
.../microsoft/mssql/.latest-doc-only-change.txt | 1 +
airflow/providers/microsoft/mssql/CHANGELOG.rst | 9 +
airflow/providers/microsoft/mssql/hooks/mssql.py | 9 +-
.../providers/microsoft/mssql/operators/mssql.py | 17 +-
airflow/providers/microsoft/mssql/provider.yaml | 1 +
airflow/providers/microsoft/winrm/CHANGELOG.rst | 5 +
airflow/providers/microsoft/winrm/provider.yaml | 1 +
.../providers/mongo/.latest-doc-only-change.txt | 1 +
airflow/providers/mongo/hooks/mongo.py | 5 +-
airflow/providers/mongo/sensors/mongo.py | 2 +-
.../providers/mysql/.latest-doc-only-change.txt | 1 +
airflow/providers/mysql/hooks/mysql.py | 2 +-
airflow/providers/mysql/operators/mysql.py | 2 +-
.../providers/mysql/transfers/presto_to_mysql.py | 2 +-
airflow/providers/mysql/transfers/s3_to_mysql.py | 2 +-
.../providers/mysql/transfers/trino_to_mysql.py | 2 +-
.../providers/mysql/transfers/vertica_to_mysql.py | 19 +-
.../providers/neo4j/.latest-doc-only-change.txt | 1 +
airflow/providers/neo4j/hooks/neo4j.py | 3 +
airflow/providers/neo4j/operators/neo4j.py | 2 +-
airflow/providers/odbc/.latest-doc-only-change.txt | 1 +
.../providers/openfaas/.latest-doc-only-change.txt | 1 +
.../providers/oracle/.latest-doc-only-change.txt | 1 +
airflow/providers/oracle/hooks/oracle.py | 3 +-
airflow/providers/oracle/operators/oracle.py | 3 +-
.../providers/oracle/transfers/oracle_to_oracle.py | 2 +-
.../pagerduty/.latest-doc-only-change.txt | 1 +
.../papermill/.latest-doc-only-change.txt | 1 +
.../papermill/example_dags/example_papermill.py | 2 +-
.../providers/plexus/.latest-doc-only-change.txt | 1 +
airflow/providers/postgres/CHANGELOG.rst | 6 +
airflow/providers/postgres/hooks/postgres.py | 7 +-
airflow/providers/postgres/operators/postgres.py | 3 +-
airflow/providers/postgres/provider.yaml | 1 +
.../providers/presto/.latest-doc-only-change.txt | 1 +
.../providers/qubole/.latest-doc-only-change.txt | 1 +
airflow/providers/qubole/CHANGELOG.rst | 9 +
airflow/providers/qubole/hooks/qubole.py | 15 +-
airflow/providers/qubole/hooks/qubole_check.py | 2 +-
airflow/providers/qubole/operators/qubole.py | 12 +-
airflow/providers/qubole/provider.yaml | 1 +
.../providers/redis/.latest-doc-only-change.txt | 1 +
.../providers/samba/.latest-doc-only-change.txt | 1 +
.../providers/segment/.latest-doc-only-change.txt | 1 +
.../providers/sendgrid/.latest-doc-only-change.txt | 1 +
airflow/providers/sftp/CHANGELOG.rst | 9 +
airflow/providers/sftp/provider.yaml | 1 +
.../providers/slack/.latest-doc-only-change.txt | 1 +
airflow/providers/slack/hooks/slack.py | 3 +-
airflow/providers/slack/operators/slack.py | 3 +-
.../snowflake/.latest-doc-only-change.txt | 1 +
airflow/providers/snowflake/CHANGELOG.rst | 8 +
.../snowflake/example_dags/example_snowflake.py | 25 +-
airflow/providers/snowflake/hooks/snowflake.py | 53 +-
airflow/providers/snowflake/operators/snowflake.py | 2 +
airflow/providers/snowflake/provider.yaml | 1 +
.../providers/sqlite/.latest-doc-only-change.txt | 1 +
airflow/providers/ssh/.latest-doc-only-change.txt | 1 +
.../providers/tableau/.latest-doc-only-change.txt | 1 +
airflow/providers/tableau/hooks/tableau.py | 4 +-
.../tableau/operators/tableau_refresh_workbook.py | 4 +-
.../tableau/sensors/tableau_job_status.py | 4 +-
.../providers/telegram/.latest-doc-only-change.txt | 1 +
.../providers/vertica/.latest-doc-only-change.txt | 1 +
.../providers/yandex/.latest-doc-only-change.txt | 1 +
.../providers/zendesk/.latest-doc-only-change.txt | 1 +
airflow/security/kerberos.py | 28 +-
airflow/sensors/bash.py | 20 +-
airflow/sensors/smart_sensor.py | 7 +
airflow/serialization/schema.json | 1 +
airflow/settings.py | 11 +
airflow/task/task_runner/base_task_runner.py | 3 +-
airflow/ti_deps/deps/trigger_rule_dep.py | 6 +-
airflow/typing_compat.py | 9 +
airflow/utils/db.py | 5 +-
airflow/utils/file.py | 4 +-
airflow/utils/log/secrets_masker.py | 223 +++
airflow/utils/process_utils.py | 41 +-
airflow/utils/python_virtualenv.py | 15 +-
airflow/www/static/css/dags.css | 4 +
airflow/www/static/css/main.css | 26 +
airflow/www/templates/airflow/dag.html | 19 +-
airflow/www/templates/airflow/dags.html | 14 +-
airflow/www/utils.py | 57 +-
airflow/www/views.py | 5 +-
airflow/www/yarn.lock | 6 +-
breeze | 45 +-
breeze-complete | 7 +
chart/dockerfiles/pgbouncer-exporter/Dockerfile | 6 +-
.../pgbouncer-exporter/build_and_push.sh | 2 +-
chart/dockerfiles/pgbouncer/Dockerfile | 23 +-
chart/dockerfiles/pgbouncer/build_and_push.sh | 2 +-
chart/dockerfiles/statsd-exporter/Dockerfile | 4 +-
.../dockerfiles/statsd-exporter/build_and_push.sh | 2 +-
chart/files/pod-template-file.kubernetes-helm-yaml | 22 +-
chart/templates/_helpers.yaml | 141 +-
chart/templates/cleanup/cleanup-cronjob.yaml | 2 +-
.../templates/cleanup/cleanup-serviceaccount.yaml | 14 +-
chart/templates/configmaps/configmap.yaml | 2 +
chart/templates/flower/flower-deployment.yaml | 7 +-
.../flower-serviceaccount.yaml} | 8 +-
.../create-user-job-serviceaccount.yaml} | 12 +-
chart/templates/{ => jobs}/create-user-job.yaml | 8 +-
.../migrate-database-job-serviceaccount.yaml} | 12 +-
.../templates/{ => jobs}/migrate-database-job.yaml | 7 +-
...ount.yaml => logs-persistent-volume-claim.yaml} | 29 +-
.../templates/pgbouncer/pgbouncer-deployment.yaml | 3 +
chart/templates/pgbouncer/pgbouncer-service.yaml | 2 -
.../pgbouncer-serviceaccount.yaml} | 8 +-
chart/templates/rbac/pod-cleanup-role.yaml | 2 +-
chart/templates/rbac/pod-cleanup-rolebinding.yaml | 4 +-
chart/templates/rbac/pod-launcher-role.yaml | 2 +-
chart/templates/rbac/pod-launcher-rolebinding.yaml | 6 +-
chart/templates/rbac/pod-log-reader-role.yaml | 2 +-
.../templates/rbac/pod-log-reader-rolebinding.yaml | 2 +-
.../redis-serviceaccount.yaml} | 8 +-
chart/templates/redis/redis-statefulset.yaml | 1 +
.../templates/scheduler/scheduler-deployment.yaml | 39 +-
.../scheduler/scheduler-serviceaccount.yaml | 6 +-
.../secrets/metadata-connection-secret.yaml | 11 +-
.../secrets/result-backend-connection-secret.yaml | 14 +-
chart/templates/statsd/statsd-deployment.yaml | 3 +
.../statsd-serviceaccount.yaml} | 8 +-
.../templates/webserver/webserver-deployment.yaml | 29 +-
.../webserver/webserver-serviceaccount.yaml | 6 +-
chart/templates/workers/worker-deployment.yaml | 22 +-
chart/templates/workers/worker-serviceaccount.yaml | 6 +-
chart/tests/conftest.py | 23 +-
chart/tests/helm_template_generator.py | 5 +-
chart/tests/test_annotations.py | 138 ++
chart/tests/test_basic_helm_chart.py | 18 +-
...ate_database_job.py => test_create_user_job.py} | 15 +-
chart/tests/test_flower.py | 61 +
chart/tests/test_git_sync_webserver.py | 4 +-
chart/tests/test_git_sync_worker.py | 4 +-
chart/tests/test_kerberos.py | 6 +
...igrate_database_job.py => test_limit_ranges.py} | 18 +-
chart/tests/test_logs_persistent_volume_claim.py | 69 +
chart/tests/test_metadata_connection_secret.py | 108 ++
chart/tests/test_migrate_database_job.py | 2 +-
chart/tests/test_pgbouncer.py | 205 ++-
chart/tests/test_pod_launcher_role.py | 4 +-
chart/tests/test_pod_template_file.py | 123 +-
chart/tests/test_rbac.py | 297 ++++
chart/tests/test_redis.py | 24 +
chart/tests/test_resource_quota.py | 47 +
.../tests/test_result_backend_connection_secret.py | 124 ++
chart/tests/test_scheduler.py | 44 +
chart/tests/test_statsd.py | 24 +
chart/tests/test_webserver_deployment.py | 78 +
chart/tests/test_worker.py | 48 +
chart/values.schema.json | 284 +++-
chart/values.yaml | 237 ++-
dev/README_RELEASE_AIRFLOW.md | 54 +-
dev/README_RELEASE_PROVIDER_PACKAGES.md | 20 +-
dev/airflow-license | 4 +-
.../PROVIDER_INDEX_TEMPLATE.rst.jinja2 | 9 -
.../PROVIDER_README_TEMPLATE.rst.jinja2 | 8 -
dev/provider_packages/SETUP_TEMPLATE.py.jinja2 | 2 +-
dev/provider_packages/prepare_provider_packages.py | 302 ++--
docs/apache-airflow-providers-airbyte/index.rst | 18 -
docs/apache-airflow-providers-amazon/commits.rst | 19 +
docs/apache-airflow-providers-amazon/index.rst | 29 +-
.../commits.rst | 18 +-
.../apache-airflow-providers-apache-beam/index.rst | 80 +-
.../index.rst | 9 -
.../index.rst | 9 -
.../apache-airflow-providers-apache-hdfs/index.rst | 9 -
.../apache-airflow-providers-apache-hive/index.rst | 9 -
.../index.rst | 9 -
.../apache-airflow-providers-apache-livy/index.rst | 9 -
docs/apache-airflow-providers-apache-pig/index.rst | 9 -
.../index.rst | 9 -
.../commits.rst | 24 +-
.../connections/spark.rst | 22 +-
.../index.rst | 20 +-
.../index.rst | 9 -
docs/apache-airflow-providers-celery/index.rst | 9 -
docs/apache-airflow-providers-cloudant/index.rst | 9 -
.../commits.rst | 16 +
.../connections/kubernetes.rst | 11 +
.../index.rst | 26 +-
docs/apache-airflow-providers-databricks/index.rst | 9 -
docs/apache-airflow-providers-datadog/index.rst | 9 -
docs/apache-airflow-providers-dingding/index.rst | 9 -
docs/apache-airflow-providers-discord/index.rst | 9 -
docs/apache-airflow-providers-docker/commits.rst | 14 +
.../connections/docker.rst | 70 +
docs/apache-airflow-providers-docker/index.rst | 23 +-
.../commits.rst | 18 +-
.../index.rst | 20 +-
docs/apache-airflow-providers-exasol/index.rst | 9 -
docs/apache-airflow-providers-facebook/index.rst | 9 -
docs/apache-airflow-providers-ftp/commits.rst | 24 +-
docs/apache-airflow-providers-ftp/index.rst | 19 +-
docs/apache-airflow-providers-google/commits.rst | 21 +
docs/apache-airflow-providers-google/index.rst | 82 +-
.../operators/ads.rst | 4 +-
.../operators/cloud/bigquery.rst | 17 +
.../operators/cloud/bigquery_dts.rst | 8 +-
.../operators/cloud/cloud_build.rst | 2 +-
.../operators/cloud/cloud_memorystore.rst | 20 +-
.../operators/cloud/datacatalog.rst | 42 +-
.../operators/cloud/datafusion.rst | 20 +-
.../operators/cloud/gcs.rst | 2 +-
.../operators/cloud/mlengine.rst | 4 +-
.../operators/cloud/natural_language.rst | 8 +-
.../operators/firebase/firestore.rst | 2 +-
.../operators/marketing_platform/analytics.rst | 6 +-
.../marketing_platform/campaign_manager.rst | 14 +-
.../operators/marketing_platform/display_video.rst | 20 +-
.../operators/marketing_platform/search_ads.rst | 6 +-
.../operators/suite/sheets.rst | 2 +-
.../operators/transfer/gcs_to_gdrive.rst | 2 +-
.../operators/transfer/gcs_to_sftp.rst | 2 +-
.../operators/transfer/gcs_to_sheets.rst | 2 +-
.../operators/transfer/gdrive_to_gcs.rst | 2 +-
.../operators/transfer/sftp_to_gcs.rst | 2 +-
.../operators/transfer/sheets_to_gcs.rst | 2 +-
docs/apache-airflow-providers-grpc/index.rst | 9 -
docs/apache-airflow-providers-hashicorp/index.rst | 9 -
docs/apache-airflow-providers-http/index.rst | 9 -
.../connections/imap.rst | 60 +
docs/apache-airflow-providers-imap/index.rst | 10 +-
docs/apache-airflow-providers-jdbc/index.rst | 9 -
docs/apache-airflow-providers-jdbc/operators.rst | 2 +-
docs/apache-airflow-providers-jenkins/index.rst | 9 -
docs/apache-airflow-providers-jira/commits.rst | 22 +-
docs/apache-airflow-providers-jira/index.rst | 16 +-
.../commits.rst | 14 +
.../index.rst | 38 +-
.../commits.rst | 24 +-
.../index.rst | 39 +-
.../commits.rst | 11 +
.../index.rst | 16 +-
.../connections/mongo.rst | 82 +
docs/apache-airflow-providers-mongo/index.rst | 10 +-
.../connections/mysql.rst | 2 +
docs/apache-airflow-providers-mysql/index.rst | 9 -
.../connections/neo4j.rst | 16 +-
docs/apache-airflow-providers-neo4j/index.rst | 9 -
docs/apache-airflow-providers-odbc/index.rst | 9 -
docs/apache-airflow-providers-openfaas/index.rst | 9 -
docs/apache-airflow-providers-opsgenie/index.rst | 9 -
.../connections/oracle.rst | 2 +
docs/apache-airflow-providers-oracle/index.rst | 9 -
docs/apache-airflow-providers-pagerduty/index.rst | 9 -
docs/apache-airflow-providers-papermill/index.rst | 9 -
docs/apache-airflow-providers-plexus/index.rst | 9 -
docs/apache-airflow-providers-postgres/commits.rst | 23 +-
.../connections/postgres.rst | 2 +
docs/apache-airflow-providers-postgres/index.rst | 17 +-
docs/apache-airflow-providers-presto/index.rst | 9 -
docs/apache-airflow-providers-qubole/index.rst | 9 -
docs/apache-airflow-providers-redis/index.rst | 9 -
docs/apache-airflow-providers-salesforce/index.rst | 9 -
docs/apache-airflow-providers-samba/index.rst | 9 -
docs/apache-airflow-providers-segment/index.rst | 9 -
docs/apache-airflow-providers-sendgrid/index.rst | 9 -
docs/apache-airflow-providers-sftp/commits.rst | 17 +-
docs/apache-airflow-providers-sftp/index.rst | 20 +-
.../apache-airflow-providers-singularity/index.rst | 9 -
.../connections/slack.rst | 53 +-
docs/apache-airflow-providers-slack/index.rst | 10 +-
.../apache-airflow-providers-snowflake/commits.rst | 13 +
docs/apache-airflow-providers-snowflake/index.rst | 19 +-
docs/apache-airflow-providers-sqlite/index.rst | 9 -
docs/apache-airflow-providers-ssh/index.rst | 9 -
.../connections/tableau.rst | 84 +
docs/apache-airflow-providers-tableau/index.rst | 10 +-
docs/apache-airflow-providers-telegram/index.rst | 9 -
docs/apache-airflow-providers-trino/index.rst | 9 -
docs/apache-airflow-providers-vertica/index.rst | 9 -
docs/apache-airflow-providers-yandex/index.rst | 9 -
docs/apache-airflow-providers-zendesk/index.rst | 9 -
docs/apache-airflow/best-practices.rst | 2 +-
docs/apache-airflow/concepts.rst | 1708 --------------------
docs/apache-airflow/concepts/cluster-policies.rst | 92 ++
docs/apache-airflow/concepts/connections.rst | 37 +
docs/apache-airflow/concepts/dags.rst | 587 +++++++
.../{howto/operator => concepts}/index.rst | 42 +-
docs/apache-airflow/concepts/operators.rst | 201 +++
docs/apache-airflow/concepts/overview.rst | 96 ++
docs/apache-airflow/concepts/pools.rst | 46 +
docs/apache-airflow/{ => concepts}/scheduler.rst | 2 +-
docs/apache-airflow/concepts/sensors.rst | 33 +
.../smart-sensors.rst} | 14 +-
docs/apache-airflow/concepts/taskflow.rst | 72 +
docs/apache-airflow/concepts/tasks.rst | 167 ++
docs/apache-airflow/concepts/variables.rst | 48 +
docs/apache-airflow/concepts/xcoms.rst | 49 +
...est-api-ref.rst => deprecated-rest-api-ref.rst} | 15 +-
docs/apache-airflow/executor/index.rst | 54 +-
docs/apache-airflow/faq.rst | 2 +-
docs/apache-airflow/howto/connection.rst | 2 +-
docs/apache-airflow/howto/custom-operator.rst | 4 +-
docs/apache-airflow/howto/operator/bash.rst | 2 +-
docs/apache-airflow/howto/operator/index.rst | 2 +-
docs/apache-airflow/howto/operator/python.rst | 2 +-
docs/apache-airflow/howto/variable.rst | 2 +-
docs/apache-airflow/img/arch-diag-basic.png | Bin 16303 -> 16357 bytes
docs/apache-airflow/img/basic-dag.png | Bin 0 -> 5393 bytes
docs/apache-airflow/img/task_stages.png | Bin 12919 -> 0 bytes
docs/apache-airflow/index.rst | 6 +-
docs/apache-airflow/installation.rst | 9 +-
docs/apache-airflow/integration.rst | 2 +-
docs/apache-airflow/macros-ref.rst | 2 +-
docs/apache-airflow/operators-and-hooks-ref.rst | 2 +-
docs/apache-airflow/redirects.txt | 6 +
docs/apache-airflow/security/secrets/index.rst | 71 +-
docs/apache-airflow/security/webserver.rst | 12 +-
docs/apache-airflow/start/docker.rst | 56 +-
docs/apache-airflow/start/local.rst | 10 +-
docs/apache-airflow/timezone.rst | 2 +-
docs/apache-airflow/tutorial.rst | 5 +-
docs/apache-airflow/tutorial_taskflow_api.rst | 8 +-
docs/apache-airflow/ui.rst | 10 +-
docs/apache-airflow/upgrade-check.rst | 10 +-
docs/apache-airflow/usage-cli.rst | 13 -
docs/build_docs.py | 5 +-
docs/docker-stack/build-arg-ref.rst | 2 +-
docs/docker-stack/entrypoint.rst | 22 +
docs/exts/docs_build/code_utils.py | 14 +-
docs/exts/docs_build/docs_builder.py | 20 +-
docs/helm-chart/airflow-configuration.rst | 1 -
docs/helm-chart/index.rst | 1 +
docs/helm-chart/manage-logs.rst | 89 +
docs/helm-chart/parameters-ref.rst | 151 +-
docs/publish_docs.py | 8 +-
docs/spelling_wordlist.txt | 7 +
kubernetes_tests/test_kubernetes_executor.py | 51 +-
kubernetes_tests/test_kubernetes_pod_operator.py | 30 +-
.../test_kubernetes_pod_operator_backcompat.py | 69 -
scripts/ci/docker-compose/integration-kerberos.yml | 2 +-
scripts/ci/docker-compose/integration-trino.yml | 2 +-
scripts/ci/dockerfiles/apache-rat/Dockerfile | 17 +-
.../ci/dockerfiles/apache-rat/build_and_push.sh | 2 +-
scripts/ci/dockerfiles/bats/Dockerfile | 24 +-
scripts/ci/dockerfiles/bats/build_and_push.sh | 2 +-
scripts/ci/dockerfiles/krb5-kdc-server/Dockerfile | 20 +-
.../dockerfiles/krb5-kdc-server/build_and_push.sh | 2 +-
scripts/ci/dockerfiles/stress/Dockerfile | 6 +-
scripts/ci/dockerfiles/stress/build_and_push.sh | 2 +-
scripts/ci/dockerfiles/trino/Dockerfile | 4 +-
scripts/ci/dockerfiles/trino/build_and_push.sh | 2 +-
scripts/ci/images/ci_build_dockerhub.sh | 17 +-
.../ci/images/ci_wait_for_and_verify_ci_image.sh | 2 +-
.../ci/images/ci_wait_for_and_verify_prod_image.sh | 2 +-
scripts/ci/kubernetes/ci_run_kubernetes_tests.sh | 4 +-
scripts/ci/libraries/_build_images.sh | 60 +-
scripts/ci/libraries/_initialization.sh | 15 +-
scripts/ci/libraries/_kind.sh | 9 +-
scripts/ci/libraries/_runs.sh | 14 +-
.../ci_prepare_provider_documentation.sh | 2 +-
scripts/ci/static_checks/bats_tests.sh | 4 +-
scripts/ci/static_checks/check_license.sh | 2 +-
scripts/ci/static_checks/lint_dockerfile.sh | 2 +-
.../docker/install_from_docker_context_files.sh | 33 +-
scripts/in_container/_in_container_utils.sh | 6 -
scripts/in_container/bin/run_tmux | 2 +-
scripts/in_container/entrypoint_ci.sh | 9 +-
.../run_install_and_test_provider_packages.sh | 1 -
.../run_prepare_provider_documentation.sh | 27 +-
.../in_container/run_prepare_provider_packages.sh | 1 -
setup.cfg | 2 +-
setup.py | 29 +-
tests/api_connexion/endpoints/test_log_endpoint.py | 2 +
tests/cli/commands/test_dag_command.py | 7 +-
tests/cli/commands/test_pool_command.py | 2 +-
tests/cli/commands/test_scheduler_command.py | 72 +
tests/cli/commands/test_user_command.py | 26 +-
tests/cli/commands/test_variable_command.py | 43 +-
tests/cli/commands/test_webserver_command.py | 9 +-
tests/core/test_config_templates.py | 2 -
tests/core/test_impersonation_tests.py | 14 +-
tests/dags/test_backfill_pooled_tasks.py | 37 -
tests/dags/test_dag_with_no_tags.py | 2 +-
tests/dags/test_task_view_type_check.py | 4 +-
tests/executors/test_kubernetes_executor.py | 124 +-
tests/jobs/test_local_task_job.py | 33 +-
tests/jobs/test_scheduler_job.py | 4 +-
tests/kubernetes/pod.yaml | 2 +-
tests/kubernetes/test_pod_generator.py | 4 +-
tests/models/test_baseoperator.py | 51 +
tests/models/test_connection.py | 48 +
tests/models/test_dag.py | 57 +
tests/models/test_dagbag.py | 52 +-
tests/models/test_renderedtifields.py | 28 +-
tests/models/test_taskinstance.py | 31 +-
tests/models/test_variable.py | 40 +
tests/operators/test_sql.py | 22 +-
tests/operators/test_weekday.py | 2 +-
.../amazon/aws/log/test_cloudwatch_task_handler.py | 2 +-
.../amazon/aws/log/test_s3_task_handler.py | 2 +-
.../amazon/aws/operators/test_s3_file_transform.py | 9 +-
.../apache/hive/transfers/test_hive_to_mysql.py | 16 +-
.../apache/hive/transfers/test_mssql_to_hive.py | 8 +-
tests/providers/apache/pinot/hooks/test_pinot.py | 7 +-
tests/providers/apache/sqoop/hooks/test_sqoop.py | 11 +-
.../kubernetes/operators/test_kubernetes_pod.py | 21 +
.../providers/google/cloud/hooks/test_bigquery.py | 172 ++
tests/providers/google/cloud/hooks/test_gcs.py | 1 +
.../google/cloud/operators/test_bigquery.py | 31 +
tests/providers/google/cloud/operators/test_gcs.py | 23 +-
tests/providers/http/hooks/test_http.py | 74 +
tests/providers/http/sensors/test_http.py | 3 +
tests/providers/jenkins/hooks/test_jenkins.py | 2 +-
tests/providers/microsoft/azure/hooks/test_wasb.py | 2 +-
.../microsoft/azure/log/test_wasb_task_handler.py | 2 +-
.../microsoft/mssql/operators/test_mssql.py | 47 +-
tests/providers/postgres/hooks/test_postgres.py | 12 +
tests/providers/slack/hooks/test_slack.py | 12 +-
tests/providers/snowflake/hooks/test_snowflake.py | 19 +
tests/providers/yandex/hooks/test_yandex.py | 2 +-
tests/test_utils/logging_command_executor.py | 40 +-
tests/utils/log/test_secrets_masker.py | 236 +++
tests/utils/test_email.py | 68 +-
tests/utils/test_task_group.py | 52 +-
tests/www/test_utils.py | 43 -
tests/www/test_views.py | 3 +
yamllint-config.yml | 1 +
590 files changed, 8993 insertions(+), 4467 deletions(-)
create mode 100644 airflow/providers/apache/beam/.latest-doc-only-change.txt
create mode 100644
airflow/providers/apache/cassandra/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/druid/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/hdfs/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/hive/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/kylin/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/pig/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/pinot/.latest-doc-only-change.txt
create mode 100644 airflow/providers/apache/sqoop/.latest-doc-only-change.txt
create mode 100644 airflow/providers/celery/.latest-doc-only-change.txt
create mode 100644 airflow/providers/cloudant/.latest-doc-only-change.txt
create mode 100644 airflow/providers/databricks/.latest-doc-only-change.txt
create mode 100644 airflow/providers/datadog/.latest-doc-only-change.txt
create mode 100644 airflow/providers/dingding/.latest-doc-only-change.txt
create mode 100644 airflow/providers/discord/.latest-doc-only-change.txt
create mode 100644 airflow/providers/exasol/.latest-doc-only-change.txt
create mode 100644 airflow/providers/http/.latest-doc-only-change.txt
create mode 100644 airflow/providers/imap/.latest-doc-only-change.txt
create mode 100644 airflow/providers/jdbc/.latest-doc-only-change.txt
create mode 100644 airflow/providers/jenkins/.latest-doc-only-change.txt
create mode 100644
airflow/providers/microsoft/mssql/.latest-doc-only-change.txt
create mode 100644 airflow/providers/mongo/.latest-doc-only-change.txt
create mode 100644 airflow/providers/mysql/.latest-doc-only-change.txt
create mode 100644 airflow/providers/neo4j/.latest-doc-only-change.txt
create mode 100644 airflow/providers/odbc/.latest-doc-only-change.txt
create mode 100644 airflow/providers/openfaas/.latest-doc-only-change.txt
create mode 100644 airflow/providers/oracle/.latest-doc-only-change.txt
create mode 100644 airflow/providers/pagerduty/.latest-doc-only-change.txt
create mode 100644 airflow/providers/papermill/.latest-doc-only-change.txt
create mode 100644 airflow/providers/plexus/.latest-doc-only-change.txt
create mode 100644 airflow/providers/presto/.latest-doc-only-change.txt
create mode 100644 airflow/providers/qubole/.latest-doc-only-change.txt
create mode 100644 airflow/providers/redis/.latest-doc-only-change.txt
create mode 100644 airflow/providers/samba/.latest-doc-only-change.txt
create mode 100644 airflow/providers/segment/.latest-doc-only-change.txt
create mode 100644 airflow/providers/sendgrid/.latest-doc-only-change.txt
create mode 100644 airflow/providers/slack/.latest-doc-only-change.txt
create mode 100644 airflow/providers/snowflake/.latest-doc-only-change.txt
create mode 100644 airflow/providers/sqlite/.latest-doc-only-change.txt
create mode 100644 airflow/providers/ssh/.latest-doc-only-change.txt
create mode 100644 airflow/providers/tableau/.latest-doc-only-change.txt
create mode 100644 airflow/providers/telegram/.latest-doc-only-change.txt
create mode 100644 airflow/providers/vertica/.latest-doc-only-change.txt
create mode 100644 airflow/providers/yandex/.latest-doc-only-change.txt
create mode 100644 airflow/providers/zendesk/.latest-doc-only-change.txt
create mode 100644 airflow/utils/log/secrets_masker.py
copy chart/templates/{webserver/webserver-serviceaccount.yaml =>
flower/flower-serviceaccount.yaml} (80%)
copy chart/templates/{webserver/webserver-serviceaccount.yaml =>
jobs/create-user-job-serviceaccount.yaml} (75%)
rename chart/templates/{ => jobs}/create-user-job.yaml (92%)
copy chart/templates/{webserver/webserver-serviceaccount.yaml =>
jobs/migrate-database-job-serviceaccount.yaml} (76%)
rename chart/templates/{ => jobs}/migrate-database-job.yaml (90%)
copy chart/templates/{scheduler/scheduler-serviceaccount.yaml =>
logs-persistent-volume-claim.yaml} (63%)
copy chart/templates/{webserver/webserver-serviceaccount.yaml =>
pgbouncer/pgbouncer-serviceaccount.yaml} (83%)
copy chart/templates/{webserver/webserver-serviceaccount.yaml =>
redis/redis-serviceaccount.yaml} (79%)
copy chart/templates/{webserver/webserver-serviceaccount.yaml =>
statsd/statsd-serviceaccount.yaml} (84%)
create mode 100644 chart/tests/test_annotations.py
copy chart/tests/{test_migrate_database_job.py => test_create_user_job.py}
(68%)
copy chart/tests/{test_migrate_database_job.py => test_limit_ranges.py} (59%)
create mode 100644 chart/tests/test_logs_persistent_volume_claim.py
create mode 100644 chart/tests/test_metadata_connection_secret.py
create mode 100644 chart/tests/test_rbac.py
create mode 100644 chart/tests/test_resource_quota.py
create mode 100644 chart/tests/test_result_backend_connection_secret.py
create mode 100644 docs/apache-airflow-providers-docker/connections/docker.rst
create mode 100644 docs/apache-airflow-providers-imap/connections/imap.rst
create mode 100644 docs/apache-airflow-providers-mongo/connections/mongo.rst
copy airflow/providers/microsoft/azure/CHANGELOG.rst =>
docs/apache-airflow-providers-slack/connections/slack.rst (52%)
create mode 100644
docs/apache-airflow-providers-tableau/connections/tableau.rst
delete mode 100644 docs/apache-airflow/concepts.rst
create mode 100644 docs/apache-airflow/concepts/cluster-policies.rst
create mode 100644 docs/apache-airflow/concepts/connections.rst
create mode 100644 docs/apache-airflow/concepts/dags.rst
copy docs/apache-airflow/{howto/operator => concepts}/index.rst (63%)
create mode 100644 docs/apache-airflow/concepts/operators.rst
create mode 100644 docs/apache-airflow/concepts/overview.rst
create mode 100644 docs/apache-airflow/concepts/pools.rst
rename docs/apache-airflow/{ => concepts}/scheduler.rst (99%)
create mode 100644 docs/apache-airflow/concepts/sensors.rst
rename docs/apache-airflow/{smart-sensor.rst => concepts/smart-sensors.rst}
(93%)
create mode 100644 docs/apache-airflow/concepts/taskflow.rst
create mode 100644 docs/apache-airflow/concepts/tasks.rst
create mode 100644 docs/apache-airflow/concepts/variables.rst
create mode 100644 docs/apache-airflow/concepts/xcoms.rst
rename docs/apache-airflow/{rest-api-ref.rst => deprecated-rest-api-ref.rst}
(90%)
mode change 100644 => 100755 docs/apache-airflow/img/arch-diag-basic.png
create mode 100755 docs/apache-airflow/img/basic-dag.png
delete mode 100644 docs/apache-airflow/img/task_stages.png
create mode 100644 docs/helm-chart/manage-logs.rst
create mode 100644 tests/cli/commands/test_scheduler_command.py
delete mode 100644 tests/dags/test_backfill_pooled_tasks.py
create mode 100644 tests/utils/log/test_secrets_masker.py