Commit 516dacd4 authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

Use zensical instead of mkdocs

parent da538a48
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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
@@ -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.

+2 −2
Original line number Diff line number Diff line
@@ -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"
+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`.
+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