Loading .gitlab-ci.yml +2 −2 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ stages: pages: stage: deploy script: - pip install mkdocs-material mkdocs-build-plantuml-plugin - mkdocs build - pip install zensical - zensical build artifacts: paths: - public Loading README.md +3 −3 Original line number Diff line number Diff line Loading @@ -66,8 +66,8 @@ ansible-playbook playbooks/scenarios/clean_quick_single_oop.yml -e @ansible/secr 1. Create and activate a virtual environment: ```bash python3 -m venv docs/.venv source docs/.venv/bin/activate python3 -m venv .venv source .venv/bin/activate ``` 2. Install dependencies: ```bash Loading @@ -75,7 +75,7 @@ ansible-playbook playbooks/scenarios/clean_quick_single_oop.yml -e @ansible/secr ``` 3. Serve the documentation locally: ```bash mkdocs serve zensical serve ``` 4. Open [http://127.0.0.1:8000](http://127.0.0.1:8000) in your browser. Loading ansible/roles/srm/defaults/main.yml +2 −2 Original line number Diff line number Diff line Loading @@ -9,8 +9,8 @@ srm_controller_enabled: true srm_controller_name: srmcontroller srm_controller_replicas: 1 # srm_controller_image_repository: "labs.etsi.org:5050/oop/code/service-resource-manager" srm_controller_image_repository: "cesarcajasi2cat/service-resource-manager" srm_controller_image_tag: "1.0.6-i2edge-fix" srm_controller_image_repository: "gitlab.i2cat.net:5050/areas/software-networks/operator-platform/service-resource-manager" srm_controller_image_tag: "latest" srm_controller_image_pull_policy: Always srm_image_pull_secret_enabled: true srm_image_pull_secret_name: "gitlab-registry-secret" Loading docker-local-deployment/README.md 0 → 100644 +30 −0 Original line number Diff line number Diff line # Docker Local Deployment This folder provides a single Docker Compose stack to run the core Operator Platform services locally: OEG, SRM (with TF-SDK -> Lite2edge), Lite2edge, and Federation Manager. ## Prerequisites - Docker + Docker Compose ## Start the stack ```bash docker compose up --build ``` ## Key endpoints - OEG: `http://localhost:8088/oeg/1.0.0` - SRM: `http://localhost:8081/srm/1.0.0` - Lite2edge: `http://localhost:8082/api/v1` - Federation Manager: `http://localhost:8990/operatorplatform/federation/v1` - Keycloak: `http://localhost:8080` ## Notes - OEG uses its own MongoDB instance (`oeg-mongo`). - Federation Manager uses its own MongoDB instance (`fm-mongo`). - The stack includes an embedded k3s cluster; Lite2edge uses its generated kubeconfig. - Default SRM credentials for OEG are set to `admin/admin` and can be adjusted in `docker-compose.yaml`. docker-local-deployment/docker-compose.yaml 0 → 100644 +145 −0 Original line number Diff line number Diff line services: k3s: image: rancher/k3s:v1.28.2-k3s1 container_name: k3s privileged: true command: server --disable=traefik --tls-san k3s ports: - "6443:6443" - "80:80" environment: K3S_TOKEN: secret-token K3S_KUBECONFIG_MODE: "644" tmpfs: - /run - /var/run volumes: - k3s-data:/var/lib/rancher/k3s - k3s-config:/etc/rancher/k3s k3s-kubeconfig: image: python:3.11-alpine container_name: k3s-kubeconfig depends_on: - k3s volumes: - k3s-config:/input:ro - k3s-kubeconfig:/output - ./prepare_kubeconfig.py:/prepare_kubeconfig.py:ro command: ["python", "/prepare_kubeconfig.py"] oeg: build: context: ../../open-exposure-gateway dockerfile: Dockerfile container_name: oeg restart: unless-stopped ports: - "8088:8080" environment: MONGO_URI: mongodb://oeg-mongo:27017/oeg SRM_HOST: http://srm:8080/srm/1.0.0 PI_EDGE_USERNAME: admin PI_EDGE_PASSWORD: admin FEDERATION_MANAGER_HOST: http://federation-manager:8989/operatorplatform/federation/v1 PARTNER_API_ROOT: http://federation-manager:8989/operatorplatform/federation/v1 TOKEN_ENDPOINT: http://keycloak:8080/realms/federation/protocol/openid-connect/token depends_on: - oeg-mongo - srm - federation-manager oeg-mongo: image: mongo container_name: oeg-mongo restart: unless-stopped ports: - "27018:27017" volumes: - oegdbdata:/data/db srm: build: context: ../../service-resource-manager dockerfile: Dockerfile container_name: srm restart: unless-stopped ports: - "8081:8080" environment: EDGE_CLOUD_ADAPTER_NAME: lite2edge ADAPTER_BASE_URL: http://lite2edge:8080 depends_on: - lite2edge lite2edge: build: context: ../../lite2edge dockerfile: Dockerfile container_name: lite2edge restart: unless-stopped ports: - "8082:8080" environment: API_HOST: 0.0.0.0 API_PORT: 8080 LOG_LEVEL: INFO K8S_NAMESPACE: default DB_TYPE: in_memory KUBECONFIG: /kubeconfig/kubeconfig.yaml volumes: - k3s-kubeconfig:/kubeconfig:ro depends_on: - k3s-kubeconfig federation-manager: build: context: ../../FederationManager/local dockerfile: Dockerfile container_name: federation-manager restart: unless-stopped ports: - "8990:8989" volumes: - ../../FederationManager/local/src/conf/config.cfg:/usr/app/src/conf/config.cfg depends_on: - fm-mongo - keycloak fm-mongo: image: mongo container_name: fm-mongo restart: unless-stopped ports: - "27017:27017" environment: MONGO_INITDB_DATABASE: federation-manager MONGODB_DATA_DIR: /data/db MONDODB_LOG_DIR: /dev/null volumes: - fmdbdata:/data/db keycloak: image: quay.io/keycloak/keycloak:26.1.4 container_name: keycloak environment: KC_BOOTSTRAP_ADMIN_USERNAME: admin KC_BOOTSTRAP_ADMIN_PASSWORD: admin KC_IMPORT: /opt/keycloak/data/import/realm-import.json ports: - "8080:8080" command: ["start-dev", "--import-realm"] volumes: - ../../FederationManager/local/keycloak/realm-import.json:/opt/keycloak/data/import/realm-import.json volumes: oegdbdata: driver: local fmdbdata: driver: local k3s-data: driver: local k3s-config: driver: local k3s-kubeconfig: driver: local Loading
.gitlab-ci.yml +2 −2 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ stages: pages: stage: deploy script: - pip install mkdocs-material mkdocs-build-plantuml-plugin - mkdocs build - pip install zensical - zensical build artifacts: paths: - public Loading
README.md +3 −3 Original line number Diff line number Diff line Loading @@ -66,8 +66,8 @@ ansible-playbook playbooks/scenarios/clean_quick_single_oop.yml -e @ansible/secr 1. Create and activate a virtual environment: ```bash python3 -m venv docs/.venv source docs/.venv/bin/activate python3 -m venv .venv source .venv/bin/activate ``` 2. Install dependencies: ```bash Loading @@ -75,7 +75,7 @@ ansible-playbook playbooks/scenarios/clean_quick_single_oop.yml -e @ansible/secr ``` 3. Serve the documentation locally: ```bash mkdocs serve zensical serve ``` 4. Open [http://127.0.0.1:8000](http://127.0.0.1:8000) in your browser. Loading
ansible/roles/srm/defaults/main.yml +2 −2 Original line number Diff line number Diff line Loading @@ -9,8 +9,8 @@ srm_controller_enabled: true srm_controller_name: srmcontroller srm_controller_replicas: 1 # srm_controller_image_repository: "labs.etsi.org:5050/oop/code/service-resource-manager" srm_controller_image_repository: "cesarcajasi2cat/service-resource-manager" srm_controller_image_tag: "1.0.6-i2edge-fix" srm_controller_image_repository: "gitlab.i2cat.net:5050/areas/software-networks/operator-platform/service-resource-manager" srm_controller_image_tag: "latest" srm_controller_image_pull_policy: Always srm_image_pull_secret_enabled: true srm_image_pull_secret_name: "gitlab-registry-secret" Loading
docker-local-deployment/README.md 0 → 100644 +30 −0 Original line number Diff line number Diff line # Docker Local Deployment This folder provides a single Docker Compose stack to run the core Operator Platform services locally: OEG, SRM (with TF-SDK -> Lite2edge), Lite2edge, and Federation Manager. ## Prerequisites - Docker + Docker Compose ## Start the stack ```bash docker compose up --build ``` ## Key endpoints - OEG: `http://localhost:8088/oeg/1.0.0` - SRM: `http://localhost:8081/srm/1.0.0` - Lite2edge: `http://localhost:8082/api/v1` - Federation Manager: `http://localhost:8990/operatorplatform/federation/v1` - Keycloak: `http://localhost:8080` ## Notes - OEG uses its own MongoDB instance (`oeg-mongo`). - Federation Manager uses its own MongoDB instance (`fm-mongo`). - The stack includes an embedded k3s cluster; Lite2edge uses its generated kubeconfig. - Default SRM credentials for OEG are set to `admin/admin` and can be adjusted in `docker-compose.yaml`.
docker-local-deployment/docker-compose.yaml 0 → 100644 +145 −0 Original line number Diff line number Diff line services: k3s: image: rancher/k3s:v1.28.2-k3s1 container_name: k3s privileged: true command: server --disable=traefik --tls-san k3s ports: - "6443:6443" - "80:80" environment: K3S_TOKEN: secret-token K3S_KUBECONFIG_MODE: "644" tmpfs: - /run - /var/run volumes: - k3s-data:/var/lib/rancher/k3s - k3s-config:/etc/rancher/k3s k3s-kubeconfig: image: python:3.11-alpine container_name: k3s-kubeconfig depends_on: - k3s volumes: - k3s-config:/input:ro - k3s-kubeconfig:/output - ./prepare_kubeconfig.py:/prepare_kubeconfig.py:ro command: ["python", "/prepare_kubeconfig.py"] oeg: build: context: ../../open-exposure-gateway dockerfile: Dockerfile container_name: oeg restart: unless-stopped ports: - "8088:8080" environment: MONGO_URI: mongodb://oeg-mongo:27017/oeg SRM_HOST: http://srm:8080/srm/1.0.0 PI_EDGE_USERNAME: admin PI_EDGE_PASSWORD: admin FEDERATION_MANAGER_HOST: http://federation-manager:8989/operatorplatform/federation/v1 PARTNER_API_ROOT: http://federation-manager:8989/operatorplatform/federation/v1 TOKEN_ENDPOINT: http://keycloak:8080/realms/federation/protocol/openid-connect/token depends_on: - oeg-mongo - srm - federation-manager oeg-mongo: image: mongo container_name: oeg-mongo restart: unless-stopped ports: - "27018:27017" volumes: - oegdbdata:/data/db srm: build: context: ../../service-resource-manager dockerfile: Dockerfile container_name: srm restart: unless-stopped ports: - "8081:8080" environment: EDGE_CLOUD_ADAPTER_NAME: lite2edge ADAPTER_BASE_URL: http://lite2edge:8080 depends_on: - lite2edge lite2edge: build: context: ../../lite2edge dockerfile: Dockerfile container_name: lite2edge restart: unless-stopped ports: - "8082:8080" environment: API_HOST: 0.0.0.0 API_PORT: 8080 LOG_LEVEL: INFO K8S_NAMESPACE: default DB_TYPE: in_memory KUBECONFIG: /kubeconfig/kubeconfig.yaml volumes: - k3s-kubeconfig:/kubeconfig:ro depends_on: - k3s-kubeconfig federation-manager: build: context: ../../FederationManager/local dockerfile: Dockerfile container_name: federation-manager restart: unless-stopped ports: - "8990:8989" volumes: - ../../FederationManager/local/src/conf/config.cfg:/usr/app/src/conf/config.cfg depends_on: - fm-mongo - keycloak fm-mongo: image: mongo container_name: fm-mongo restart: unless-stopped ports: - "27017:27017" environment: MONGO_INITDB_DATABASE: federation-manager MONGODB_DATA_DIR: /data/db MONDODB_LOG_DIR: /dev/null volumes: - fmdbdata:/data/db keycloak: image: quay.io/keycloak/keycloak:26.1.4 container_name: keycloak environment: KC_BOOTSTRAP_ADMIN_USERNAME: admin KC_BOOTSTRAP_ADMIN_PASSWORD: admin KC_IMPORT: /opt/keycloak/data/import/realm-import.json ports: - "8080:8080" command: ["start-dev", "--import-realm"] volumes: - ../../FederationManager/local/keycloak/realm-import.json:/opt/keycloak/data/import/realm-import.json volumes: oegdbdata: driver: local fmdbdata: driver: local k3s-data: driver: local k3s-config: driver: local k3s-kubeconfig: driver: local