Skip to content

Commit

Permalink
Keycloak Breeze integration (apache#43240)
Browse files Browse the repository at this point in the history
* Keycloak Breeze integration

Work is starting on multi-team Airflow, and this project has many
dependencies on a auth manager that can support authn and authz and also
support the changes to the auth manager api (upcoming). An option for
this is Keycloak.

This PR adds a Breeze integartion for Keycloak which creates a container
running keycloak, which uses the existing Postgres container as the DB
and disables the requirements for ssl/https/certificates to use the
Keycloak admin console (since this is only for development purposes not
production).
  • Loading branch information
o-nikolas authored and ellisms committed Nov 13, 2024
1 parent 18db1c8 commit 25a9831
Show file tree
Hide file tree
Showing 16 changed files with 211 additions and 52 deletions.
2 changes: 2 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -658,6 +658,8 @@ repos:
^docs/exts/removemarktransform.py$|
^newsfragments/41761.significant.rst$|
^scripts/ci/pre_commit/vendor_k8s_json_schema.py$|
^scripts/ci/docker-compose/integration-keycloak.yml$|
^scripts/ci/docker-compose/keycloak/keycloak-entrypoint.sh$|
^tests/|
^providers/tests/|
^.pre-commit-config\.yaml$|
Expand Down
68 changes: 35 additions & 33 deletions contributing-docs/testing/integration_tests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,39 +49,41 @@ The following integrations are available:

.. BEGIN AUTO-GENERATED INTEGRATION LIST
+--------------+----------------------------------------------------+
| Identifier | Description |
+==============+====================================================+
| cassandra | Integration required for Cassandra hooks. |
+--------------+----------------------------------------------------+
| celery | Integration required for Celery executor tests. |
+--------------+----------------------------------------------------+
| drill | Integration required for drill operator and hook. |
+--------------+----------------------------------------------------+
| kafka | Integration required for Kafka hooks. |
+--------------+----------------------------------------------------+
| kerberos | Integration that provides Kerberos authentication. |
+--------------+----------------------------------------------------+
| mongo | Integration required for MongoDB hooks. |
+--------------+----------------------------------------------------+
| mssql | Integration required for mssql hooks. |
+--------------+----------------------------------------------------+
| openlineage | Integration required for Openlineage hooks. |
+--------------+----------------------------------------------------+
| otel | Integration required for OTEL/opentelemetry hooks. |
+--------------+----------------------------------------------------+
| pinot | Integration required for Apache Pinot hooks. |
+--------------+----------------------------------------------------+
| qdrant | Integration required for Qdrant tests. |
+--------------+----------------------------------------------------+
| redis | Integration required for Redis tests. |
+--------------+----------------------------------------------------+
| statsd | Integration required for Statsd hooks. |
+--------------+----------------------------------------------------+
| trino | Integration required for Trino hooks. |
+--------------+----------------------------------------------------+
| ydb | Integration required for YDB tests. |
+--------------+----------------------------------------------------+
+--------------+-------------------------------------------------------+
| Identifier | Description |
+==============+=======================================================+
| cassandra | Integration required for Cassandra hooks. |
+--------------+-------------------------------------------------------+
| celery | Integration required for Celery executor tests. |
+--------------+-------------------------------------------------------+
| drill | Integration required for drill operator and hook. |
+--------------+-------------------------------------------------------+
| kafka | Integration required for Kafka hooks. |
+--------------+-------------------------------------------------------+
| kerberos | Integration that provides Kerberos authentication. |
+--------------+-------------------------------------------------------+
| keycloak | Integration for manual testing of multi-team Airflow. |
+--------------+-------------------------------------------------------+
| mongo | Integration required for MongoDB hooks. |
+--------------+-------------------------------------------------------+
| mssql | Integration required for mssql hooks. |
+--------------+-------------------------------------------------------+
| openlineage | Integration required for Openlineage hooks. |
+--------------+-------------------------------------------------------+
| otel | Integration required for OTEL/opentelemetry hooks. |
+--------------+-------------------------------------------------------+
| pinot | Integration required for Apache Pinot hooks. |
+--------------+-------------------------------------------------------+
| qdrant | Integration required for Qdrant tests. |
+--------------+-------------------------------------------------------+
| redis | Integration required for Redis tests. |
+--------------+-------------------------------------------------------+
| statsd | Integration required for Statsd hooks. |
+--------------+-------------------------------------------------------+
| trino | Integration required for Trino hooks. |
+--------------+-------------------------------------------------------+
| ydb | Integration required for YDB tests. |
+--------------+-------------------------------------------------------+

.. END AUTO-GENERATED INTEGRATION LIST'
Expand Down
4 changes: 2 additions & 2 deletions dev/breeze/doc/images/output-commands.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions dev/breeze/doc/images/output_shell.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion dev/breeze/doc/images/output_shell.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
fd70e0f17940f32fbc0579e8f77fc6c4
fef5a76133d85a06a67932b9c394b0e1
Loading

0 comments on commit 25a9831

Please sign in to comment.