From 6e67747d6f5b256aab02000da36212a6d65f90ce Mon Sep 17 00:00:00 2001 From: chenkins Date: Thu, 6 Mar 2025 17:36:56 +0100 Subject: [PATCH 1/6] Use docker compose instead of docker-compose command. --- config/dev/cab-standalone/docker-compose.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/dev/cab-standalone/docker-compose.sh b/config/dev/cab-standalone/docker-compose.sh index 281eeeec..bac36288 100755 --- a/config/dev/cab-standalone/docker-compose.sh +++ b/config/dev/cab-standalone/docker-compose.sh @@ -44,4 +44,4 @@ fi echo "HOST_IP=${HOST_IP}" >> .env cat .env -docker-compose up -d +docker compose up -d From b5b6fbae219422744ac1e3b8eb5828e06744670a Mon Sep 17 00:00:00 2001 From: chenkins Date: Thu, 6 Mar 2025 17:40:17 +0100 Subject: [PATCH 2/6] Local setup: - Use cab docker network to be able to reach context from simulation. - Tokens are issued to frontend:80 (KEYCLOAK_SERVER_URL), fix in browser and loadTestConfig.sh (needs entry in /etc/hosts). - Avoid conflict on port 5000 with simulation running on same port. --- config/dev/cab-standalone/docker-compose.yml | 6 +++++- resources/getToken.sh | 2 +- resources/loadTestConf.sh | 3 ++- usecases_examples/PowerGrid/README.md | 10 +++++----- usecases_examples/PowerGrid/docker-compose.yml | 15 ++++++++++++--- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/config/dev/cab-standalone/docker-compose.yml b/config/dev/cab-standalone/docker-compose.yml index 0f247617..a8ee07c4 100644 --- a/config/dev/cab-standalone/docker-compose.yml +++ b/config/dev/cab-standalone/docker-compose.yml @@ -46,7 +46,7 @@ services: - TZ=UTC # Set timezone to UTC command: sh -c "./entrypoint.sh" ports: - - 5000:5000 + - 5001:5000 volumes: - ../../../backend/event-service:/code depends_on: @@ -148,6 +148,8 @@ services: - './nginx-cors-permissive.conf:/etc/nginx/conf.d/default.conf' ports: - '3200:80' + # tokens are issued for frontend:80 (see KEYCLOAK_SERVER_URL below), need to match the URL + - '80:80' depends_on: - cabrecommendation - cabevent @@ -163,6 +165,8 @@ services: build: context: ../../../backend dockerfile: Recommendation-Service-Dockerfile + # fix platform as otherwise, we get compile errors on macOS.... + platform: "linux/amd64" restart: unless-stopped environment: - GATEWAY_SERVICE=http://frontend:80 diff --git a/resources/getToken.sh b/resources/getToken.sh index ccc48ba0..654dbed3 100755 --- a/resources/getToken.sh +++ b/resources/getToken.sh @@ -23,7 +23,7 @@ fi echo "Get token for user $username on $url" access_token_pattern='"access_token":"([^"]+)"' -response=$(curl -s -X POST -d "username="$username"&password=test&grant_type=password&client_id=opfab-client" $url:3200/auth/token) +response=$(curl -s -X POST -d "username="$username"&password=test&grant_type=password&client_id=opfab-client" $url:80/auth/token) if [[ $response =~ $access_token_pattern ]] ; then export token=${BASH_REMATCH[1]} fi diff --git a/resources/loadTestConf.sh b/resources/loadTestConf.sh index e8bdd466..04739d0b 100755 --- a/resources/loadTestConf.sh +++ b/resources/loadTestConf.sh @@ -15,7 +15,8 @@ cd "$(dirname "${BASH_SOURCE[0]}")" url=$1 if [[ -z $url ]] then - url="http://localhost" + # tweak /etc/hosts to run from docker host! + url="http://frontend" fi ( cd bundles diff --git a/usecases_examples/PowerGrid/README.md b/usecases_examples/PowerGrid/README.md index 9c6fb0e0..28269b91 100644 --- a/usecases_examples/PowerGrid/README.md +++ b/usecases_examples/PowerGrid/README.md @@ -73,7 +73,7 @@ docker-compose up -d --build api ``` The launched API might be accessible at this address: -http://SERVER_ADDRESS:5100 +http://SERVER_ADDRESS:5101 The SERVER_ADDRESS will be the one of the computer used to launch the Docker command. @@ -92,8 +92,8 @@ pip install -r requirements-app.txt docker-compose up -d --build app ``` -The launched app might be accessible at this address: -http://SERVER_ADDRESS:5100/ +The launched app will be accessible at this address: +http://SERVER_ADDRESS:5101/ The SERVER_ADDRESS will be the one of the computer used to launch the Docker command. @@ -115,11 +115,11 @@ python PowerGrid_poc_simulator_consol.py ### To launch the simulator app (BEST APPROACH) Open a web browser and navigate to the URL returned by Docker after running the containers. -This URL will typically be `http://localhost:5100/` unless you've configured a different port. +This URL will typically be `http://localhost:5101/` unless you've configured a different port. Note: If you're running Docker on a remote machine or using Docker Toolbox on Windows, you may need to replace 'localhost' with the appropriate IP address. -For example : http://SERVER_ADDRESS:5100/ with **SERVER_ADDRESS** the one of your remote machine. +For example : http://SERVER_ADDRESS:5101/ with **SERVER_ADDRESS** the one of your remote machine. ### Run the simulator in your terminal (optional) ```commandline diff --git a/usecases_examples/PowerGrid/docker-compose.yml b/usecases_examples/PowerGrid/docker-compose.yml index 2608c16a..e0a3e853 100644 --- a/usecases_examples/PowerGrid/docker-compose.yml +++ b/usecases_examples/PowerGrid/docker-compose.yml @@ -8,10 +8,11 @@ services: container_name: PowerGrid-simulator-app restart: always ports: - - "5100:5000" + - "5101:5000" volumes: - .:/code - + networks: + - cab-standalone_default api: build: context: . @@ -20,6 +21,14 @@ services: container_name: PowerGrid-simulator-api restart: always ports: - - "5100:5000" + - "5101:5000" volumes: - .:/code + networks: + - cab-standalone_default + +# allow for communication between simulator and cab +networks: + cab-standalone_default: + name: cab-standalone_default + external: true \ No newline at end of file From eea1c6abec17a1270bcc3e380d0233bfee047871 Mon Sep 17 00:00:00 2001 From: chenkins Date: Thu, 6 Mar 2025 17:40:56 +0100 Subject: [PATCH 3/6] Add deployment diagram (architecture/local setup) and notes on reverse engineering. --- REVERSEENGINEERING.md | 19 +++++++++++++++++++ Wiring.drawio.png | Bin 0 -> 152800 bytes 2 files changed, 19 insertions(+) create mode 100644 REVERSEENGINEERING.md create mode 100644 Wiring.drawio.png diff --git a/REVERSEENGINEERING.md b/REVERSEENGINEERING.md new file mode 100644 index 00000000..48322e97 --- /dev/null +++ b/REVERSEENGINEERING.md @@ -0,0 +1,19 @@ +# Reverse Engineering InteractiveAI Platform + +## Apidocs + +* [Event-Api](http://localhost:5001/docs) +* [Context-Api](http://localhost:5100/docs) +* [Historic-Api](http://localhost:5200/docs) + +## Notes + +* Use cases are statically defined at build: + e.g. `class MetadataSchemaRTE(MetadataSchema):` is located in `backend/resources`. +* Users have +* Schemas for use-case specific event types are there, but seem not published in swagger, e.g. `class MetadataSchemaRTE(MetadataSchema):` found but not + in [Event-Api](http://localhost:5001/docs) + +## Wiring + +![Wiring.drawio.png](Wiring.drawio.png) \ No newline at end of file diff --git a/Wiring.drawio.png b/Wiring.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..fa164c342dcedcdd03d9422061cdedc049a21051 GIT binary patch literal 152800 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%0Aoo-fnWf@p&6bN^?(f|+ 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 literal 0 HcmV?d00001 From 2f86798924b949c007bb3945bf0699b12bc4ad46 Mon Sep 17 00:00:00 2001 From: chenkins Date: Thu, 6 Mar 2025 18:33:56 +0100 Subject: [PATCH 4/6] Expose railway data schema in openapi.json of context and event services. --- backend/context-service/api/schemas.py | 12 +++++++++--- backend/event-service/api/schemas.py | 23 +++++++++++++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/backend/context-service/api/schemas.py b/backend/context-service/api/schemas.py index 3752e236..178c28ec 100644 --- a/backend/context-service/api/schemas.py +++ b/backend/context-service/api/schemas.py @@ -1,7 +1,7 @@ import importlib from apiflask import Schema -from apiflask.fields import DateTime, Dict, Integer, String +from apiflask.fields import DateTime, Dict, Integer, String, List, Nested from apiflask.validators import Length, OneOf from marshmallow import ValidationError, validates_schema @@ -11,13 +11,19 @@ class MetadataSchema(Schema): pass +# workaround to expose schema in openapi.json: copy-paste from resources/Railway +class MetadataSchemaRailway(MetadataSchema): + trains = List(Dict(), required=False) + list_of_target = Dict(required=False) + direction_agents = List(Integer(), required=False) + position_agents = Dict(required=False) class ContextIn(Schema): use_case = String( required=True, validate=OneOf(["PowerGrid", "Railway", "ATM"]) ) date = DateTime(format="iso") - data = Dict() + data = Nested(MetadataSchemaRailway) @validates_schema def validate_metadata(self, data, **kwargs): @@ -45,7 +51,7 @@ class ContextOut(Schema): id_context = String() use_case = String() date = DateTime(format="iso") - data = Dict() + data = Nested(MetadataSchemaRailway) class UseCaseIn(Schema): diff --git a/backend/event-service/api/schemas.py b/backend/event-service/api/schemas.py index 8b1302ba..9c3d9765 100644 --- a/backend/event-service/api/schemas.py +++ b/backend/event-service/api/schemas.py @@ -2,14 +2,29 @@ from api.models import UseCaseModel from apiflask import Schema -from apiflask.fields import Boolean, DateTime, Dict, Integer, String +from apiflask.fields import Boolean, DateTime, Dict, Integer, String, List, Float, Nested from apiflask.validators import Length, OneOf from marshmallow import ValidationError, validates_schema - class MetadataSchema(Schema): pass +# workaround to expose schema in openapi.json: copy-paste from resources/Railway +class MetadataSchemaRailway(MetadataSchema): + agent_id = String(allow_none=True, required=True) + event_type = String(required=True) + agent_position = List( + Integer(allow_none=True), allow_none=True, default=None + ) + delay = Integer(required=True) + id_train = String(allow_none=True, required=True) + malfunction_stop_position = List(Integer(allow_none=True), allow_none=True) + num_rame = String(allow_none=True, default=None) + tmp_rame = String(allow_none=True, default=None) + travel_plan = List(Dict(), allow_none=True) + longitude = Float(allow_none=True, default=None) + latitude = Float(allow_none=True, default=None) + simulation_name = String(allow_none=True, default=None) class EventIn(Schema): use_case = String(required=True, validate=Length(1, 255)) @@ -21,7 +36,7 @@ class EventIn(Schema): required=True, validate=OneOf(["ND", "HIGH", "MEDIUM", "LOW", "ROUTINE"]), ) - data = Dict() + data = Nested(MetadataSchemaRailway) is_active = Boolean() parent_event_id = String(allow_none=True) @@ -57,7 +72,7 @@ class EventOut(Schema): start_date = DateTime(format="iso", allow_none=True) end_date = DateTime(format="iso", allow_none=True) criticality = String() - data = Dict() + data = Nested(MetadataSchemaRailway) is_active = Boolean() parent_event_id = String(allow_none=True) From 4c7eccb66a68bf11b5a7142ceac35b246441d645 Mon Sep 17 00:00:00 2001 From: chenkins Date: Tue, 19 Aug 2025 10:05:33 +0200 Subject: [PATCH 5/6] Fix deleteAllBundles.sh param order. --- resources/bundles/deleteAllBundles.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/bundles/deleteAllBundles.sh b/resources/bundles/deleteAllBundles.sh index 41551266..0f22604c 100755 --- a/resources/bundles/deleteAllBundles.sh +++ b/resources/bundles/deleteAllBundles.sh @@ -12,7 +12,7 @@ # is called from another folder cd "$(dirname "${BASH_SOURCE[0]}")" -url=$2 +url=$1 if [ -z $url ] then url="http://localhost" From ae404f5e5578de78490c9f83f3f6fd81afa8c67d Mon Sep 17 00:00:00 2001 From: chenkins Date: Tue, 19 Aug 2025 10:06:10 +0200 Subject: [PATCH 6/6] Allow hostname to be configurable. --- config/dev/cab-standalone/docker-compose.yml | 28 ++++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/config/dev/cab-standalone/docker-compose.yml b/config/dev/cab-standalone/docker-compose.yml index a8ee07c4..8595e112 100644 --- a/config/dev/cab-standalone/docker-compose.yml +++ b/config/dev/cab-standalone/docker-compose.yml @@ -11,8 +11,8 @@ services: - FLASK_APP=app:create_app('dev') - PYTHONPATH=/code - FLASK_ENV=development - - URL_INTROSPECT=http://frontend:80/auth/check_token - - KEYCLOAK_SERVER_URL=http://frontend:80/auth/ + - URL_INTROSPECT=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/check_token + - KEYCLOAK_SERVER_URL=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/ - OPFAB_CLIENT_SECRET=opfab-keycloak-secret - TZ=UTC # Set timezone to UTC @@ -34,14 +34,14 @@ services: restart: unless-stopped environment: - CARDS_PUBLICATION_SERVICE=http://cards-publication:8080 - - GATEWAY_SERVICE=http://frontend:80 + - GATEWAY_SERVICE=http://${GATEWAY_HOSTNAME:-frontend}:80 - HISTORIC_SERVICE=http://cabhistoric:5000 - DATABASE_URL=postgresql://postgres:postgres@db_postgres_event:5432/cab-event - FLASK_APP=app:create_app('dev') - PYTHONPATH=/code - FLASK_ENV=development - - URL_INTROSPECT=http://frontend:80/auth/check_token - - KEYCLOAK_SERVER_URL=http://frontend:80/auth/ + - URL_INTROSPECT=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/check_token + - KEYCLOAK_SERVER_URL=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/ - OPFAB_CLIENT_SECRET=opfab-keycloak-secret - TZ=UTC # Set timezone to UTC command: sh -c "./entrypoint.sh" @@ -63,8 +63,8 @@ services: - FLASK_APP=app:create_app('dev') - FLASK_ENV=development - PYTHONPATH=/my_app - - URL_INTROSPECT=http://frontend:80/auth/check_token - - KEYCLOAK_SERVER_URL=http://frontend:80/auth/ + - URL_INTROSPECT=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/check_token + - KEYCLOAK_SERVER_URL=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/ - OPFAB_CLIENT_SECRET=opfab-keycloak-secret - TZ=UTC # Set timezone to UTC restart: unless-stopped @@ -130,7 +130,7 @@ services: restart: unless-stopped frontend: - container_name: frontend + container_name: ${GATEWAY_HOSTNAME:-frontend} build: context: ../../../frontend dockerfile: Dockerfile @@ -148,7 +148,7 @@ services: - './nginx-cors-permissive.conf:/etc/nginx/conf.d/default.conf' ports: - '3200:80' - # tokens are issued for frontend:80 (see KEYCLOAK_SERVER_URL below), need to match the URL + # tokens are issued for ${GATEWAY_HOSTNAME:-frontend}:80 (see KEYCLOAK_SERVER_URL below), need to match the URL - '80:80' depends_on: - cabrecommendation @@ -169,13 +169,13 @@ services: platform: "linux/amd64" restart: unless-stopped environment: - - GATEWAY_SERVICE=http://frontend:80 + - GATEWAY_SERVICE=http://${GATEWAY_HOSTNAME:-frontend}:80 - DATABASE_URL=postgresql://postgres:postgres@db_postgres_recommendation:5432/cab-recommendation - FLASK_APP=app:create_app('dev') - PYTHONPATH=/my_app - FLASK_ENV=development - - URL_INTROSPECT=http://frontend:80/auth/check_token - - KEYCLOAK_SERVER_URL=http://frontend:80/auth/ + - URL_INTROSPECT=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/check_token + - KEYCLOAK_SERVER_URL=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/ - OPFAB_CLIENT_SECRET=opfab-keycloak-secret - TZ=UTC # Set timezone to UTC command: sh -c "./entrypoint.sh" @@ -210,8 +210,8 @@ services: - FLASK_APP=app:create_app('dev') - FLASK_ENV=development - PYTHONPATH=/my_app - - URL_INTROSPECT=http://frontend:80/auth/check_token - - KEYCLOAK_SERVER_URL=http://frontend:80/auth/ + - URL_INTROSPECT=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/check_token + - KEYCLOAK_SERVER_URL=http://${GATEWAY_HOSTNAME:-frontend}:80/auth/ - OPFAB_CLIENT_SECRET=opfab-keycloak-secret - TZ=UTC # Set timezone to UTC restart: unless-stopped