Skip to content

Commit 4ec778f

Browse files
authored
Create Keycloak provider (apache#51081)
1 parent 7b4d6ef commit 4ec778f

39 files changed

+887
-33
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ airflow-core/src/airflow/ui/src/i18n/locales/nl/ @BasPH @DjVinnii
7474
/providers/edge3/ @jscheffl
7575
/providers/fab/ @vincbeck
7676
/providers/hashicorp/ @hussein-awala
77+
/providers/keycloak/ @vincbeck
7778
/providers/openlineage/ @mobuchowski
7879
/providers/slack/ @eladkal
7980
/providers/smtp/ @hussein-awala

.github/ISSUE_TEMPLATE/3-airflow_providers_bug_report.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ body:
7676
- influxdb
7777
- jdbc
7878
- jenkins
79+
- keycloak
7980
- microsoft-azure
8081
- microsoft-mssql
8182
- microsoft-psrp

airflow-core/docs/extra-packages-ref.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,8 @@ pre-installed when Airflow is installed.
397397
+---------------------+-----------------------------------------------------+--------------------------------------+--------------+
398398
| jdbc | ``pip install 'apache-airflow[jdbc]'`` | JDBC hooks and operators | |
399399
+---------------------+-----------------------------------------------------+--------------------------------------+--------------+
400+
| keycloak | ``pip install apache-airflow[keycloak]`` | Keycloak hooks and operators | +
401+
+---------------------+-----------------------------------------------------+--------------------------------------+--------------+
400402
| microsoft-psrp | ``pip install 'apache-airflow[microsoft-psrp]'`` | PSRP hooks and operators | |
401403
+---------------------+-----------------------------------------------------+--------------------------------------+--------------+
402404
| microsoft-winrm | ``pip install 'apache-airflow[microsoft-winrm]'`` | WinRM hooks and operators | |

dev/breeze/doc/images/output_build-docs.svg

Lines changed: 5 additions & 5 deletions
Loading
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
88d90c252838cd5181c71747f142fe07
1+
44d93ca3ec21587ec90a45f0e4306997

dev/breeze/doc/images/output_release-management_add-back-references.svg

Lines changed: 5 additions & 5 deletions
Loading
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
121c5c2424354100827502bc6a6e09c3
1+
7390a9c0a3344fbfb55a930cd1b3b599

dev/breeze/doc/images/output_release-management_publish-docs.svg

Lines changed: 5 additions & 5 deletions
Loading
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e8f545ddc1af069cda899b9573fd816f
1+
addf5db2bbbc4a47d012fbb106364c0f

dev/breeze/doc/images/output_sbom_generate-providers-requirements.svg

Lines changed: 6 additions & 6 deletions
Loading
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
a6a6703b3dca1be0fa7f6ce9342524f7
1+
ccece867103e42ef0497a52a0ec0b6d1

dev/breeze/doc/images/output_workflow-run_publish-docs.svg

Lines changed: 5 additions & 5 deletions
Loading
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3f1f9f946a5fa6c0ab733fc19e431d72
1+
714e8c33dee3b51717dc89ef696bcc5d

dev/breeze/src/airflow_breeze/global_constants.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -691,13 +691,13 @@ def generate_provider_dependencies_if_needed():
691691
{
692692
"python-version": "3.9",
693693
"airflow-version": "2.10.5",
694-
"remove-providers": "cloudant common.messaging fab git",
694+
"remove-providers": "cloudant common.messaging fab git keycloak",
695695
"run-tests": "true",
696696
},
697697
{
698698
"python-version": "3.9",
699699
"airflow-version": "2.11.0",
700-
"remove-providers": "cloudant common.messaging fab git",
700+
"remove-providers": "cloudant common.messaging fab git keycloak",
701701
"run-tests": "true",
702702
},
703703
{

docs/spelling_wordlist.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,7 @@ kerberized
983983
Kerberos
984984
kerberos
985985
KerberosClient
986+
keycloak
986987
Keyfile
987988
keyfile
988989
KeyManagementServiceClient

providers/keycloak/README.rst

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
.. Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
.. http://www.apache.org/licenses/LICENSE-2.0
11+
12+
.. Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
19+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
20+
21+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
22+
``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
23+
24+
Package ``apache-airflow-providers-keycloak``
25+
26+
Release: ``1.0.0``
27+
28+
29+
``Keycloak Provider``
30+
31+
32+
Provider package
33+
----------------
34+
35+
This is a provider package for ``keycloak`` provider. All classes for this provider package
36+
are in ``airflow.providers.keycloak`` python package.
37+
38+
You can find package information and changelog for the provider
39+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-keycloak/1.0.0/>`_.
40+
41+
Installation
42+
------------
43+
44+
You can install this package on top of an existing Airflow 2 installation (see ``Requirements`` below
45+
for the minimum Airflow version supported) via
46+
``pip install apache-airflow-providers-keycloak``
47+
48+
The package supports the following python versions: 3.9,3.10,3.11,3.12
49+
50+
Requirements
51+
------------
52+
53+
================== ==================
54+
PIP package Version required
55+
================== ==================
56+
``apache-airflow`` ``>=3.0.0``
57+
================== ==================
58+
59+
The changelog for the provider package can be found in the
60+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-keycloak/1.0.0/changelog.html>`_.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bc45acf4ccb7db87b410f3d03a7f8be3364ec5f4

providers/keycloak/docs/changelog.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
.. Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
9+
.. http://www.apache.org/licenses/LICENSE-2.0
10+
11+
.. Unless required by applicable law or agreed to in writing,
12+
software distributed under the License is distributed on an
13+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
KIND, either express or implied. See the License for the
15+
specific language governing permissions and limitations
16+
under the License.
17+
18+
.. NOTE TO CONTRIBUTORS:
19+
Please, only add notes to the Changelog just below the "Changelog" header when there are some breaking changes
20+
and you want to add an explanation to the users on how they are supposed to deal with them.
21+
The changelog is updated and maintained semi-automatically by release manager.
22+
23+
``apache-airflow-providers-keycloak``
24+
25+
Changelog
26+
---------
27+
28+
1.0.0
29+
.....
30+
31+
.. note::
32+
This release of provider is only available for Airflow 3.0+ as explained in the
33+
`Apache Airflow providers support policy <https://github.com/apache/airflow/blob/main/PROVIDERS.rst#minimum-supported-version-of-airflow-for-community-managed-providers>`_.
34+
35+
* ``Initial version of the provider (#46694)``

providers/keycloak/docs/commits.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
.. Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
.. http://www.apache.org/licenses/LICENSE-2.0
11+
12+
.. Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
19+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
20+
21+
.. IF YOU WANT TO MODIFY THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
22+
`PROVIDER_COMMITS_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
23+
24+
.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN!
25+
26+
Package apache-airflow-providers-keycloak
27+
------------------------------------------------------
28+
29+
``Keycloak Provider``
30+
31+
32+
This is detailed commit list of changes for versions provider package: ``keycloak``.
33+
For high-level changelog, see :doc:`package information including changelog <index>`.
34+
35+
.. airflow-providers-commits::

providers/keycloak/docs/conf.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Disable Flake8 because of all the sphinx imports
2+
#
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
"""Configuration of Providers docs building."""
20+
21+
from __future__ import annotations
22+
23+
import os
24+
25+
os.environ["AIRFLOW_PACKAGE_NAME"] = "apache-airflow-providers-keycloak"
26+
27+
from docs.provider_conf import * # noqa: F403

providers/keycloak/docs/index.rst

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
2+
.. Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
.. http://www.apache.org/licenses/LICENSE-2.0
11+
12+
.. Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
19+
``apache-airflow-providers-keycloak``
20+
=====================================
21+
22+
23+
.. toctree::
24+
:hidden:
25+
:maxdepth: 1
26+
:caption: Basics
27+
28+
Home <self>
29+
Changelog <changelog>
30+
Security <security>
31+
32+
.. toctree::
33+
:hidden:
34+
:maxdepth: 1
35+
:caption: References
36+
37+
Python API <_api/airflow/providers/keycloak/index>
38+
39+
.. toctree::
40+
:hidden:
41+
:maxdepth: 1
42+
:caption: System tests
43+
44+
System Tests <_api/tests/system/keycloak/index>
45+
46+
.. toctree::
47+
:hidden:
48+
:maxdepth: 1
49+
:caption: Resources
50+
51+
PyPI Repository <https://pypi.org/project/apache-airflow-providers-keycloak/>
52+
Installing from sources <installing-providers-from-sources>
53+
54+
.. THE REMAINDER OF THE FILE IS AUTOMATICALLY GENERATED. IT WILL BE OVERWRITTEN AT RELEASE TIME!
55+
56+
57+
.. toctree::
58+
:hidden:
59+
:maxdepth: 1
60+
:caption: Commits
61+
62+
Detailed list of commits <commits>
63+
64+
65+
apache-airflow-providers-keycloak package
66+
------------------------------------------------------
67+
68+
``Keycloak Provider``
69+
70+
71+
Release: 1.0.0
72+
73+
Provider package
74+
----------------
75+
76+
This package is for the ``keycloak`` provider.
77+
All classes for this package are included in the ``airflow.providers.keycloak`` python package.
78+
79+
Installation
80+
------------
81+
82+
You can install this package on top of an existing Airflow 2 installation via
83+
``pip install apache-airflow-providers-keycloak``.
84+
For the minimum Airflow version supported, see ``Requirements`` below.
85+
86+
Requirements
87+
------------
88+
89+
The minimum Apache Airflow version supported by this provider distribution is ``3.0.0``.
90+
91+
================== ==================
92+
PIP package Version required
93+
================== ==================
94+
``apache-airflow`` ``>=3.0.0``
95+
================== ==================
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
.. Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
9+
.. http://www.apache.org/licenses/LICENSE-2.0
10+
11+
.. Unless required by applicable law or agreed to in writing,
12+
software distributed under the License is distributed on an
13+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
KIND, either express or implied. See the License for the
15+
specific language governing permissions and limitations
16+
under the License.
17+
18+
.. include:: /../../../devel-common/src/sphinx_exts/includes/installing-providers-from-sources.rst

providers/keycloak/docs/security.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
.. Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
9+
.. http://www.apache.org/licenses/LICENSE-2.0
10+
11+
.. Unless required by applicable law or agreed to in writing,
12+
software distributed under the License is distributed on an
13+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
KIND, either express or implied. See the License for the
15+
specific language governing permissions and limitations
16+
under the License.
17+
18+
.. include:: /../../../devel-common/src/sphinx_exts/includes/security.rst

providers/keycloak/provider.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
---
19+
package-name: apache-airflow-providers-keycloak
20+
name: Keycloak
21+
description: |
22+
``Keycloak Provider``
23+
24+
state: not-ready
25+
source-date-epoch: 1741121853
26+
# note that those versions are maintained by release manager - do not update them manually
27+
versions:
28+
- 1.0.0

0 commit comments

Comments
 (0)