From 5b6c3c8d52265865fbfdbb138a3e202d5d7d6030 Mon Sep 17 00:00:00 2001 From: Sergio Gimenez Date: Tue, 23 Dec 2025 13:30:45 +0100 Subject: [PATCH 1/3] Use updated docker compose command --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 60aab71..911fd5c 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ experiences across markets. #### Option A: Docker Compose (Recommended) ```bash - docker-compose up -d + docker compose up -d ``` This starts: - Federation Manager (port 8990) -- GitLab From 00d219673281904f66e25bc662fb06a0b8577e26 Mon Sep 17 00:00:00 2001 From: Sergio Gimenez Date: Tue, 23 Dec 2025 13:36:25 +0100 Subject: [PATCH 2/3] fix: temp fix to dynamically grab the keycloak url --- src/main.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/main.py b/src/main.py index 22b2953..566bc84 100644 --- a/src/main.py +++ b/src/main.py @@ -42,7 +42,22 @@ app.app.config['MONGODB_SETTINGS'] = { 'host': 'mongodb://' + MONGO_HOST + ':' + MONGO_PORT + '/federation-manager' } DB = MongoEngine(app.app) -app.add_api('swagger.yaml', arguments={'title': 'Federation Management Service'}, pythonic_params=True) + +# Load the swagger file and update the tokenUrl dynamically +with open("swagger/swagger.yaml", 'r') as f: + swagger_spec = yaml.safe_load(f) + +token_url = f"http://{KEYCLOAK_HOST}:{KEYCLOAK_PORT}/realms/{KEYCLOAK_REALM}/protocol/openid-connect/token" +swagger_spec['components']['securitySchemes']['oAuth2ClientCredentials']['flows']['clientCredentials']['tokenUrl'] = token_url + +# Update the static openapi.yaml file for the UI +try: + with open("static/openapi.yaml", "w") as f: + yaml.dump(swagger_spec, f) +except Exception as e: + print(f"Error updating static/openapi.yaml: {e}") + +app.add_api(swagger_spec, arguments={'title': 'Federation Management Service'}, pythonic_params=True) @app.route("/", methods=["GET"]) @@ -50,21 +65,8 @@ def documentation(): """Endpoint to retrieve documentation""" return render_template("swaggerui.html") -def edit_openapi_file(): - with open("static/openapi.yaml", "r") as f: - openapi_data = yaml.safe_load(f) - - token_url = f"http://{KEYCLOAK_HOST}:{KEYCLOAK_PORT}/realms/{KEYCLOAK_REALM}/protocol/openid-connect/token" - - # Update the tokenUrl - openapi_data['components']['securitySchemes']['oAuth2ClientCredentials']['flows']['clientCredentials']['tokenUrl'] = token_url - - with open("static/openapi.yaml", "w") as f: - yaml.dump(openapi_data, f) def main(): - edit_openapi_file() - app.run(host=HOST, port=PORT, threaded=True) -- GitLab From 467bbc2bf0fc5e107f043e1139afb7ace87efd23 Mon Sep 17 00:00:00 2001 From: Sergio Gimenez Date: Tue, 23 Dec 2025 13:36:41 +0100 Subject: [PATCH 3/3] Add realm in sample config --- src/conf/config.cfg.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/src/conf/config.cfg.sample b/src/conf/config.cfg.sample index 28f23ad..2a44cab 100644 --- a/src/conf/config.cfg.sample +++ b/src/conf/config.cfg.sample @@ -6,6 +6,7 @@ client2_secret = 2mhznERfWclLDuVojY77Lp4Qd2r4e8Ms scope = fed-mgmt host = keycloak port = 8080 +realm = federation [server] host = 127.0.0.1 -- GitLab