Commit fa0e007a authored by Sergio Gimenez's avatar Sergio Gimenez
Browse files

Add tf_sdk for quick development

parent 0786ad03
Loading
Loading
Loading
Loading
+121 −0
Original line number Diff line number Diff line
services:
  mongodb-local:
    image: mongo
    container_name: mongodb-local
    restart: unless-stopped
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_DATABASE: federation-manager
      MONGODB_DATA_DIR: /data/db
      MONDODB_LOG_DIR: /dev/null
    volumes:
      - smdbdata-local:/data/db
    networks:
      - local-net

  mongodb-remote:
    image: mongo
    container_name: mongodb-remote
    restart: unless-stopped
    ports:
      - "27018:27017"
    environment:
      MONGO_INITDB_DATABASE: federation-manager
      MONGODB_DATA_DIR: /data/db
      MONDODB_LOG_DIR: /dev/null
    volumes:
      - smdbdata-remote:/data/db
    networks:
      - remote-net

  keycloak-local:
    image: quay.io/keycloak/keycloak:26.1.4
    container_name: keycloak-local
    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:
      - ../../../keycloak/realm-import.json:/opt/keycloak/data/import/realm-import.json
    networks:
      - local-net

  keycloak-remote:
    image: quay.io/keycloak/keycloak:26.1.4
    container_name: keycloak-remote
    environment:
      - KC_BOOTSTRAP_ADMIN_USERNAME=admin
      - KC_BOOTSTRAP_ADMIN_PASSWORD=admin
      - KC_IMPORT=/opt/keycloak/data/import/realm-import.json
    ports:
      - "8081:8080"
    command: ["start-dev", "--import-realm"]
    volumes:
      - ../../../keycloak/realm-import.json:/opt/keycloak/data/import/realm-import.json
    networks:
      - remote-net

  federation-manager-remote:
    build:
      context: ../../../
      dockerfile: Dockerfile
      args:
        PIP_INDEX_URL: https://gitlab-ci-token:glpat-Gm4adH6E5xJGt51zZDEs@gitlab.i2cat.net/api/v4/projects/2512/packages/pypi/simple
        PIP_EXTRA_INDEX_URL: https://gitlab-ci-token:glpat-Gm4adH6E5xJGt51zZDEs@gitlab.i2cat.net/api/v4/projects/2514/packages/pypi/simple
    container_name: federation-manager-remote
    restart: unless-stopped
    ports:
      - "30990:8989"
    volumes:
      - ../../conf/config-fm-remote.cfg:/usr/app/src/conf/config.cfg
      - ../../clients/tf_sdk.py:/usr/app/src/clients/tf_sdk.py
      - /home/sergio/i2cat/OperatorPlatform/OP_Automation/automation/1-kind-cluster/operator-platform-external-kubeconfig.yaml:/root/.kube/config
      # For local deployment, changes in lite2edge are automatically reflected and no need to push new Pipy package to Gitlab packet repo
      - ../../../../kubernetes-adapter/lite2edge:/usr/local/lib/python3.12/site-packages/lite2edge

    depends_on:
      - mongodb-remote
      - keycloak-remote
    networks:
      - remote-net

  federation-manager-local:
    build:
      context: ../../../
      dockerfile: Dockerfile
      args:
        PIP_INDEX_URL: https://gitlab-ci-token:glpat-Gm4adH6E5xJGt51zZDEs@gitlab.i2cat.net/api/v4/projects/2512/packages/pypi/simple
        PIP_EXTRA_INDEX_URL: https://gitlab-ci-token:glpat-Gm4adH6E5xJGt51zZDEs@gitlab.i2cat.net/api/v4/projects/2514/packages/pypi/simple
    container_name: federation-manager-local
    restart: unless-stopped
    ports:
      - "8989:8989"
    environment:
      - KUBECONFIG=/root/.kube/config
    volumes:
      - ../../conf/config-fm-local.cfg:/usr/app/src/conf/config.cfg
      - ../../clients/tf_sdk.py:/usr/app/src/clients/tf_sdk.py
      - /home/sergio/i2cat/OperatorPlatform/OP_Automation/automation/1-kind-cluster/operator-platform-external-kubeconfig.yaml:/root/.kube/config
      # For local deployment, changes in lite2edge are automatically reflected and no need to push new Pipy package to Gitlab packet repo
      - ../../../../kubernetes-adapter/lite2edge:/usr/local/lib/python3.12/site-packages/lite2edge
    depends_on:
      - mongodb-local
      - keycloak-local
    networks:
      - local-net

volumes:
  smdbdata-local:
    driver: local
  smdbdata-remote:
    driver: local

networks:
  local-net:
    driver: bridge
  remote-net:
    driver: bridge