diff --git a/.github/workflows/ci_edge_interface.yml b/.github/workflows/ci_edge_interface.yml index 96f25d75..a3ccf5ca 100644 --- a/.github/workflows/ci_edge_interface.yml +++ b/.github/workflows/ci_edge_interface.yml @@ -65,8 +65,7 @@ jobs: tags: | type=ref,event=branch type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}}.{{minor}}.{{patch}} flavor: latest=auto - name: Build and push Docker images diff --git a/.github/workflows/ci_edge_orchestrator.yml b/.github/workflows/ci_edge_orchestrator.yml index 86808d22..6b6b1803 100644 --- a/.github/workflows/ci_edge_orchestrator.yml +++ b/.github/workflows/ci_edge_orchestrator.yml @@ -24,11 +24,11 @@ jobs: ports: - 27017:27017 model_serving: - image: ghcr.io/octo-technology/vio/edge_model_serving:ci-cd-github-actions + image: ghcr.io/octo-technology/vio/edge_model_serving:latest ports: - 8501:8501 tflite_serving: - image: ghcr.io/octo-technology/vio/edge_tflite_serving:ci-cd-github-actions + image: ghcr.io/octo-technology/vio/edge_tflite_serving:latest ports: - 8502:8501 env: @@ -123,8 +123,7 @@ jobs: tags: | type=ref,event=branch type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}}.{{minor}}.{{patch}} flavor: latest=auto - name: Build and push Docker images diff --git a/.github/workflows/publication_vio_images_raspberry.yml b/.github/workflows/publication_vio_images_raspberry.yml index 591ae5b2..b95523d8 100644 --- a/.github/workflows/publication_vio_images_raspberry.yml +++ b/.github/workflows/publication_vio_images_raspberry.yml @@ -18,17 +18,17 @@ jobs: fail-fast: false matrix: include: - - dockerfile: ./edge_interface/Dockerfile.raspberry - image: ghcr.io/${{ github.repository }}/edge_interface.raspberry + - dockerfile: ./edge_interface/Dockerfile.raspberrypi + image: ghcr.io/${{ github.repository }}/edge_interface.raspberrypi context: ./edge_interface - - dockerfile: ./supervisor/Dockerfile.raspberry - image: ghcr.io/${{ github.repository }}/edge_orchestrator.raspberry + - dockerfile: ./supervisor/Dockerfile.raspberrypi + image: ghcr.io/${{ github.repository }}/edge_orchestrator.raspberrypi context: ./supervisor - - dockerfile: ./model_serving/Dockerfile.raspberry - image: ghcr.io/${{ github.repository }}/edge_model_serving.raspberry + - dockerfile: ./model_serving/Dockerfile.raspberrypi + image: ghcr.io/${{ github.repository }}/edge_model_serving.raspberrypi context: ./model_serving - - dockerfile: ./tflite_serving/Dockerfile.raspberry - image: ghcr.io/${{ github.repository }}/edge_tflite_serving.raspberry + - dockerfile: ./tflite_serving/Dockerfile.raspberrypi + image: ghcr.io/${{ github.repository }}/edge_tflite_serving.raspberrypi context: ./tflite_serving permissions: packages: write diff --git a/.gitignore b/.gitignore index aef16670..f0eec1be 100644 --- a/.gitignore +++ b/.gitignore @@ -169,3 +169,4 @@ poetry.toml # End of https://www.toptal.com/developers/gitignore/api/python supervisor/data/storage/ +supervisor/reports diff --git a/Makefile b/Makefile index b13874db..0bf6a34f 100644 --- a/Makefile +++ b/Makefile @@ -10,28 +10,28 @@ help: grep -E '^\.PHONY: [a-zA-Z0-9_-]+ .*?## .*$$' $(MAKEFILE_LIST) | \ awk 'BEGIN {FS = "(: |##)"}; {printf "\033[36m%-30s\033[0m %s\n", $$2, $$3}' -.PHONY: model_serving ## 💁 Start model_serving service (Docker container) +.PHONY: edge_model_serving ## 💁 Start model_serving service (Docker container) model_serving: - docker-compose up -d --build model_serving + docker-compose up -d --build edge_model_serving -.PHONY: supervisor ## 🕵 Start supervisor service (Docker container) -supervisor: - docker-compose up -d --build supervisor +.PHONY: edge_orchestrator ## 🕵 Start supervisor service (Docker container) +edge_orchestrator: + docker-compose up -d --build edge_orchestrator -.PHONY: edge_interface ## 📸 Start ui inside a docker container +.PHONY: edge_interface ## 📸 Start edge_interface inside a docker container edge_interface: docker-compose up -d --build edge_interface -.PHONY: mongodb ## 📁 Start mongodb inside a docker container -mongodb: - docker-compose up -d --build mongodb +.PHONY: edge_db ## 📁 Start edge_db inside a docker container +edge_db: + docker-compose up -d --build edge_db -.PHONY: grafana-local ## ⚙️ Start grafana inside a docker container -grafana-local: - docker-compose up -d --build grafana +.PHONY: hub_monitoring ## ⚙️ Start hub_monitoring inside a docker container +hub_monitoring: + docker-compose up -d --build hub_monitoring -.PHONY: deploy-grafana-azure ## ⚙️ Deploy grafana files in Azure -deploy-grafana-azure: +.PHONY: deploy-hub_monitoring-azure ## ⚙️ Deploy hub_monitoring files in Azure +deploy-hub_monitoring-azure: ssh-add deployment/grafvio_id_rsa # chmod 400 deployment/grafvio_id_rsa ansible-playbook deployment/ansible/update_grafana_dashboard.yml -i deployment/ansible/inventory --extra-vars ansible_port=22000 diff --git a/README.md b/README.md index a8c0db38..c6398451 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ -![edge_orchestrator CI](https://github.com/octo-technology/VIO/actions/workflows/edge_orchestrator_ci.yml/badge.svg)![GitHub issues](https://img.shields.io/github/issues/octo-technology/VIO) -# VIO-EDGE +# Visual Inspection Orchestrator + +![CI edge_orchestrator](https://github.com/octo-technology/VIO/actions/workflows/ci_edge_orchestrator.yml/badge.svg) +![CI edge_interface](https://github.com/octo-technology/VIO/actions/workflows/ci_edge_interface.yml/badge.svg) +![GitHub issues](https://img.shields.io/github/issues/octo-technology/VIO) Visual Inspection Orchestrator is a modular framework made to ease the deployment of VI usecases. @@ -9,11 +12,11 @@ VIO full documentation can be found [here](https://octo-technology.github.io/VIO ## Features -- [The core](docs/supervisor.md) -- [The deployment tools](docs/deployment.md) -- [The fleet monitoring](docs/monitoring.md) +- [The edge orchestrator](docs/supervisor.md) - [The edge interface](docs/edge_interface.md) -- [The model serving](docs/model_serving.md) +- [The edge model serving](docs/model_serving.md) +- [The hub monitoring](docs/monitoring.md) +- [The deployment tools](docs/deployment.md) ## Install the framework diff --git a/deployment/ansible/group_vars/all.yml b/deployment/ansible/group_vars/all.yml index 3f54a8e6..f688bbdc 100644 --- a/deployment/ansible/group_vars/all.yml +++ b/deployment/ansible/group_vars/all.yml @@ -45,21 +45,21 @@ devices: cloud_storage_name: blob-storage-raspberry-1 modules: mongodb: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/mongodb_raspberrypi - version: rpi-0.7.0 + image: webhippie/mongodb + version: latest-arm32v7 ports: 27017:27017 model_serving: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi - version: rpi-0.7.0 + image: ghcr.io/octo-technology/vio/edge_tflite_serving.raspberrypi + version: latest ports: 8501:8501 privileged: true edge_interface: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi - version: rpi-0.7.0 + image: ghcr.io/octo-technology/vio/edge_interface.raspberrypi + version: latest ports: 8080:80 supervisor: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi - version: rpi-0.7.0 + image: ghcr.io/octo-technology/vio/edge_orchestrator.raspberrypi + version: latest ports: 8000:8000 # device specific to pi-camera device: /dev/vchiq @@ -88,21 +88,21 @@ devices: cloud_storage_name: blob-storage-raspberry-2 modules: mongodb: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/mongodb_raspberrypi - version: rpi-0.7.0 + image: webhippie/mongodb + version: latest-arm32v7 ports: 27017:27017 model_serving: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi - version: rpi-0.7.0 + image: ghcr.io/octo-technology/vio/edge_tflite_serving.raspberrypi + version: latest ports: 8501:8501 privileged: true edge_interface: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi - version: rpi-0.7.0 + image: ghcr.io/octo-technology/vio/edge_interface.raspberrypi + version: latest ports: 8080:80 supervisor: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi - version: rpi-0.7.0 + image: ghcr.io/octo-technology/vio/edge_orchestrator.raspberrypi + version: latest ports: 8000:8000 # device specific to pi-camera device: /dev/vchiq @@ -125,240 +125,6 @@ devices: LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi2 LOCAL_STORAGE_ACCOUNT_KEY: fMkmWvOzHiawjg1MkEZN3Q== -# - name: "vio-device-raspberrypi-3-{{ deployment_env }}" -# modules_template_name: "modules_vio_device_raspberrypi_3_{{ deployment_env }}.json" -# local_storage_name: blob-storage-raspberry-3 -# cloud_storage_name: blob-storage-raspberry-3 -# modules: -# model_serving: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi -# version: rpi-0.5.8 -# ports: 8501:8501 -# privileged: true -# edge_interface: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi -# version: rpi-0.5.8 -# ports: 8080:80 -# supervisor: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi -# version: rpi-0.5.8 -# ports: 8000:8000 -# # device specific to pi-camera -# device: /dev/vchiq -# # volume /opt/vc specific to pi-camera -# volumes: -# - /opt/vc:/opt/vc -# - /home/pi/Desktop/vio_edge/supervisor/data/storage:/supervisor/data/storage -# envs: -# API_CONFIG: edge-lite -# AZURE_CONTAINER_NAME: blob-storage-raspberry-3 -# AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;BlobEndpoint=http://blob_storage:11002/localblobrpi3;AccountName=localblobrpi3;AccountKey=ozY9LRW4prgNbkDbCqwLDw==; -# privileged: true -# blob_storage: -# image: mcr.microsoft.com/azure-blob-storage -# version: latest -# ports: 11002:11002 -# volumes: -# - /srv/containerdata:/blobroot -# envs: -# LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi3 -# LOCAL_STORAGE_ACCOUNT_KEY: ozY9LRW4prgNbkDbCqwLDw== -# -# - name: "vio-device-raspberrypi-4-{{ deployment_env }}" -# modules_template_name: "modules_vio_device_raspberrypi_4_{{ deployment_env }}.json" -# local_storage_name: blob-storage-raspberry-4 -# cloud_storage_name: blob-storage-raspberry-4 -# modules: -# model_serving: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi -# version: rpi-0.5.8 -# ports: 8501:8501 -# privileged: true -# edge_interface: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi -# version: rpi-0.5.8 -# ports: 8080:80 -# supervisor: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi -# version: rpi-0.5.8 -# ports: 8000:8000 -# # device specific to pi-camera -# device: /dev/vchiq -# # volume /opt/vc specific to pi-camera -# volumes: -# - /opt/vc:/opt/vc -# - /home/pi/Desktop/vio_edge/supervisor/data/storage:/supervisor/data/storage -# envs: -# API_CONFIG: edge-lite -# AZURE_CONTAINER_NAME: blob-storage-raspberry-4 -# AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;BlobEndpoint=http://blob_storage:11002/localblobrpi4;AccountName=localblobrpi4;AccountKey=uKDdppAwlzztjdr03gbS8Q==; -# privileged: true -# blob_storage: -# image: mcr.microsoft.com/azure-blob-storage -# version: latest -# ports: 11002:11002 -# volumes: -# - /srv/containerdata:/blobroot -# envs: -# LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi4 -# LOCAL_STORAGE_ACCOUNT_KEY: uKDdppAwlzztjdr03gbS8Q== -# -# - name: "vio-device-raspberrypi-5-{{ deployment_env }}" -# modules_template_name: "modules_vio_device_raspberrypi_5_{{ deployment_env }}.json" -# local_storage_name: blob-storage-raspberry-5 -# cloud_storage_name: blob-storage-raspberry-5 -# modules: -# model_serving: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi -# version: rpi-0.5.8 -# ports: 8501:8501 -# privileged: true -# edge_interface: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi -# version: rpi-0.5.8 -# ports: 8080:80 -# supervisor: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi -# version: rpi-0.5.8 -# ports: 8000:8000 -# # device specific to pi-camera -# device: /dev/vchiq -# # volume /opt/vc specific to pi-camera -# volumes: -# - /opt/vc:/opt/vc -# - /home/pi/Desktop/vio_edge/supervisor/data/storage:/supervisor/data/storage -# envs: -# API_CONFIG: edge-lite -# AZURE_CONTAINER_NAME: blob-storage-raspberry-5 -# AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;BlobEndpoint=http://blob_storage:11002/localblobrpi5;AccountName=localblobrpi5;AccountKey=zV1y1m0u9NSylfz0ezGSYQ==; -# privileged: true -# blob_storage: -# image: mcr.microsoft.com/azure-blob-storage -# version: latest -# ports: 11002:11002 -# volumes: -# - /srv/containerdata:/blobroot -# envs: -# LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi5 -# LOCAL_STORAGE_ACCOUNT_KEY: zV1y1m0u9NSylfz0ezGSYQ== -# -# - name: "vio-device-raspberrypi-6-{{ deployment_env }}" -# modules_template_name: "modules_vio_device_raspberrypi_6_{{ deployment_env }}.json" -# local_storage_name: blob-storage-raspberry-6 -# cloud_storage_name: blob-storage-raspberry-6 -# modules: -# model_serving: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi -# version: rpi-0.5.8 -# ports: 8501:8501 -# privileged: true -# edge_interface: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi -# version: rpi-0.5.8 -# ports: 8080:80 -# supervisor: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi -# version: rpi-0.5.8 -# ports: 8000:8000 -# # device specific to pi-camera -# device: /dev/vchiq -# # volume /opt/vc specific to pi-camera -# volumes: -# - /opt/vc:/opt/vc -# - /home/pi/Desktop/vio_edge/supervisor/data/storage:/supervisor/data/storage -# envs: -# API_CONFIG: edge-lite -# AZURE_CONTAINER_NAME: blob-storage-raspberry-6 -# AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;BlobEndpoint=http://blob_storage:11002/localblobrpi6;AccountName=localblobrpi6;AccountKey=oIYqA/z08DTKt5oc28FI/Q==; -# privileged: true -# blob_storage: -# image: mcr.microsoft.com/azure-blob-storage -# version: latest -# ports: 11002:11002 -# volumes: -# - /srv/containerdata:/blobroot -# envs: -# LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi6 -# LOCAL_STORAGE_ACCOUNT_KEY: oIYqA/z08DTKt5oc28FI/Q== -# -# - name: "vio-device-raspberrypi-7-{{ deployment_env }}" -# modules_template_name: "modules_vio_device_raspberrypi_7_{{ deployment_env }}.json" -# local_storage_name: blob-storage-raspberry-7 -# cloud_storage_name: blob-storage-raspberry-7 -# modules: -# model_serving: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi -# version: rpi-0.5.8 -# ports: 8501:8501 -# privileged: true -# edge_interface: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi -# version: rpi-0.5.8 -# ports: 8080:80 -# supervisor: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi -# version: rpi-0.5.8 -# ports: 8000:8000 -# # device specific to pi-camera -# device: /dev/vchiq -# # volume /opt/vc specific to pi-camera -# volumes: -# - /opt/vc:/opt/vc -# - /home/pi/Desktop/vio_edge/supervisor/data/storage:/supervisor/data/storage -# envs: -# API_CONFIG: edge-lite -# AZURE_CONTAINER_NAME: blob-storage-raspberry-7 -# AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;BlobEndpoint=http://blob_storage:11002/localblobrpi7;AccountName=localblobrpi7;AccountKey=VaRo+fqlsmCbOM2KPdqX2g==; -# privileged: true -# blob_storage: -# image: mcr.microsoft.com/azure-blob-storage -# version: latest -# ports: 11002:11002 -# volumes: -# - /srv/containerdata:/blobroot -# envs: -# LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi7 -# LOCAL_STORAGE_ACCOUNT_KEY: VaRo+fqlsmCbOM2KPdqX2g== -# -# - name: "vio-device-raspberrypi-8-{{ deployment_env }}" -# modules_template_name: "modules_vio_device_raspberrypi_8_{{ deployment_env }}.json" -# local_storage_name: blob-storage-raspberry-8 -# cloud_storage_name: blob-storage-raspberry-8 -# modules: -# model_serving: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi -# version: rpi-0.5.8 -# ports: 8501:8501 -# privileged: true -# ui: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi -# version: rpi-0.5.8 -# ports: 8080:80 -# supervisor: -# image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi -# version: rpi-0.5.8 -# ports: 8000:8000 -# # device specific to pi-camera -# device: /dev/vchiq -# # volume /opt/vc specific to pi-camera -# volumes: -# - /opt/vc:/opt/vc -# - /home/pi/Desktop/vio_edge/supervisor/data/storage:/supervisor/data/storage -# envs: -# API_CONFIG: edge-lite -# AZURE_CONTAINER_NAME: blob-storage-raspberry-8 -# AZURE_STORAGE_CONNECTION_STRING: DefaultEndpointsProtocol=http;BlobEndpoint=http://blob_storage:11002/localblobrpi8;AccountName=localblobrpi8;AccountKey=XCsqmlbXzM6upvLljwpd4A==; -# privileged: true -# blob_storage: -# image: mcr.microsoft.com/azure-blob-storage -# version: latest -# ports: 11002:11002 -# volumes: -# - /srv/containerdata:/blobroot -# envs: -# LOCAL_STORAGE_ACCOUNT_NAME: localblobrpi8 -# LOCAL_STORAGE_ACCOUNT_KEY: XCsqmlbXzM6upvLljwpd4A== - # Grafana server virtual_network_name: "{{ project }}-grafana-virtual-network-{{ deployment_env }}" subnet_name: "{{ project }}-grafana-subnet-{{ deployment_env }}" diff --git a/docker-compose.raspberrypi.yml b/docker-compose.raspberrypi.yml index 0e0f6766..69a1f53a 100644 --- a/docker-compose.raspberrypi.yml +++ b/docker-compose.raspberrypi.yml @@ -1,15 +1,15 @@ version: '3' services: - mongodb: - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/mongodb_raspberrypi:latest - container_name: mongodb + edge_db: + image: webhippie/mongodb:latest-arm32v7 + container_name: edge_db ports: - 27017:27017 - model_serving: - container_name: model_serving - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberrypi:latest + edge_model_serving: + container_name: edge_model_serving + image: ghcr.io/octo-technology/vio/edge_tflite_serving.raspberrypi:latest environment: - TF_CPP_MIN_VLOG_LEVEL=0 ports: @@ -17,9 +17,9 @@ services: volumes: - ./model_serving:/models - supervisor: - container_name: supervisor - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/supervisor_raspberrypi:latest + edge_orchestrator: + container_name: edge_orchestrator + image: ghcr.io/octo-technology/vio/edge_orchestrator.raspberrypi:latest privileged: true volumes: - ./supervisor/data/storage:/supervisor/data/storage @@ -29,6 +29,6 @@ services: edge_interface: container_name: edge_interface - image: registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/ui_raspberrypi:latest + image: ghcr.io/octo-technology/vio/edge_interface.raspberrypi:latest ports: - 8080:80 diff --git a/docker-compose.yml b/docker-compose.yml index 63baec71..0c814780 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,14 @@ version: '3' services: - mongodb: + edge_db: image: mongo:5.0.2 - container_name: mongodb + container_name: edge_db ports: - 27017:27017 - model_serving: - container_name: model_serving + edge_model_serving: + container_name: edge_model_serving build: context: tflite_serving dockerfile: Dockerfile @@ -19,8 +19,8 @@ services: volumes: - ./model_serving:/models - supervisor: - container_name: supervisor + edge_orchestrator: + container_name: edge_orchestrator build: context: supervisor dockerfile: Dockerfile @@ -37,8 +37,8 @@ services: ports: - 8080:80 - grafana: - container_name: grafana + hub_monitoring: + container_name: hub_monitoring image: grafana/grafana:latest ports: - 4000:3000 diff --git a/docs/AUTHORS.md b/docs/AUTHORS.md index 696158f0..6afbe7a7 100644 --- a/docs/AUTHORS.md +++ b/docs/AUTHORS.md @@ -1,6 +1,6 @@ This AI asset was designed by Accenture Technology in collaboration with Octo Technology, if you have any interest please make sure to drop us an email: - science.at.scale-augi@octo.com + octo.data-ai.augi@accenture.com Members of the team involved into the development of the asset are: diff --git a/docs/edge_interface.md b/docs/edge_interface.md index 9c2da0f2..c3d729ab 100644 --- a/docs/edge_interface.md +++ b/docs/edge_interface.md @@ -1,4 +1,4 @@ -# Edge interface +# The Edge interface 1. Select a configuration ![edge_interface_config_screen](images/edge_interface_config_screen.png) diff --git a/docs/index.md b/docs/index.md index a42b30f3..f4d2ebc6 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,11 +7,11 @@ Usecase example: Quality check of a product manufactured on an assembly line. ## Features -- [The core](supervisor.md) -- [The deployment tools](deployment.md) -- [The fleet monitoring](monitoring.md) +- [The edge orchestrator](supervisor.md) - [The edge interface](edge_interface.md) -- [The model serving](model_serving.md) +- [The edge model serving](model_serving.md) +- [The hub monitoring](monitoring.md) +- [The deployment tools](deployment.md) ## Install the framework diff --git a/docs/model_serving.md b/docs/model_serving.md index d563e777..c8df31a0 100644 --- a/docs/model_serving.md +++ b/docs/model_serving.md @@ -1,4 +1,4 @@ -# Model serving +# The edge model serving more documentation coming soon.. diff --git a/docs/monitoring.md b/docs/monitoring.md index 7f63530e..e6abf811 100644 --- a/docs/monitoring.md +++ b/docs/monitoring.md @@ -1,4 +1,4 @@ -# Edge fleet monitoring +# The hub monitoring The monitoring is here to help us monitor our IoTHub Devices and Modules via a Grafana dashboard. diff --git a/docs/supervisor.md b/docs/supervisor.md index d108a6fe..472860d3 100644 --- a/docs/supervisor.md +++ b/docs/supervisor.md @@ -1,4 +1,4 @@ -# Le Core: Supervisor +# The edge orchestrator Le supervisor orchestre les étapes suivantes dès qu'il est déclenché : diff --git a/mkdocs.yaml b/mkdocs.yaml index f303ca0b..1c8bab7e 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -6,11 +6,11 @@ theme: nav: - Getting Started: index.md - Overview: overview.md - - Core: supervisor.md - - Deployment: deployment.md - - Monitoring: monitoring.md - - Model serving: model_serving.md + - Edge orchestrator: supervisor.md + - Edge model serving: model_serving.md - Edge interface: edge_interface.md + - Hub monitoring: monitoring.md + - Deployment: deployment.md - Contribute: - Contribute: CONTRIBUTING.md - Organization: ORGANIZATION.md diff --git a/mongodb/.gitlab-ci.yml b/mongodb/.gitlab-ci.yml deleted file mode 100644 index 011637e8..00000000 --- a/mongodb/.gitlab-ci.yml +++ /dev/null @@ -1,5 +0,0 @@ -build_and_push_mongodb_raspberrypi_to_registry: - extends: .build_raspberrypi_image_and_push_to_registry - variables: - SERVICE_NAME: mongodb - IMAGE_NAME: mongodb_raspberrypi diff --git a/mongodb/Dockerfile.raspberrypi b/mongodb/Dockerfile.raspberrypi deleted file mode 100644 index ff1fd438..00000000 --- a/mongodb/Dockerfile.raspberrypi +++ /dev/null @@ -1 +0,0 @@ -FROM --platform=linux/arm/v7 webhippie/mongodb \ No newline at end of file diff --git a/supervisor/Dockerfile b/supervisor/Dockerfile index 4becb49d..d08b5fcc 100644 --- a/supervisor/Dockerfile +++ b/supervisor/Dockerfile @@ -1,10 +1,10 @@ -FROM continuumio/miniconda3 +FROM continuumio/miniconda3:4.12.0 +# version freeze due to issue between numpy installation and latest miniconda3 image version WORKDIR /supervisor COPY setup.py ./setup.py COPY requirements.txt ./requirements.txt -COPY requirements-dev.txt ./requirements-dev.txt RUN pip install -r requirements.txt diff --git a/supervisor/supervisor/environment/docker.py b/supervisor/supervisor/environment/docker.py index b022556e..25410d9d 100644 --- a/supervisor/supervisor/environment/docker.py +++ b/supervisor/supervisor/environment/docker.py @@ -13,8 +13,8 @@ class Docker(Config): ROOT_PATH = Path('/supervisor') - MONGO_DB_URI = os.environ.get('MONGO_DB_URI', 'mongodb://mongodb:27017/') - SERVING_MODEL_URL = os.environ.get('SERVING_MODEL_URL', 'http://model_serving:8501') + MONGO_DB_URI = os.environ.get('MONGO_DB_URI', 'mongodb://edge_db:27017/') + SERVING_MODEL_URL = os.environ.get('SERVING_MODEL_URL', 'http://edge_model_serving:8501') def __init__(self): self.metadata_storage = MongoDbMetadataStorage(self.MONGO_DB_URI) diff --git a/supervisor/supervisor/environment/edge_with_azure_container_storage.py b/supervisor/supervisor/environment/edge_with_azure_container_storage.py index 930521a5..74bbeee5 100644 --- a/supervisor/supervisor/environment/edge_with_azure_container_storage.py +++ b/supervisor/supervisor/environment/edge_with_azure_container_storage.py @@ -12,7 +12,7 @@ class EdgeWithAzureContainerStorage(Config): ROOT_PATH = Path('/supervisor') - SERVING_MODEL_URL = 'http://model_serving:8501' + SERVING_MODEL_URL = 'http://edge_model_serving:8501' def __init__(self): self.metadata_storage = AzureContainerMetadataStorage() diff --git a/supervisor/supervisor/environment/edge_with_filesystem_metadata_storage.py b/supervisor/supervisor/environment/edge_with_filesystem_metadata_storage.py index 84fabbeb..3a7154f1 100644 --- a/supervisor/supervisor/environment/edge_with_filesystem_metadata_storage.py +++ b/supervisor/supervisor/environment/edge_with_filesystem_metadata_storage.py @@ -12,7 +12,7 @@ class EdgeWithFileSystemMetadataStorage(Config): ROOT_PATH = Path('/supervisor') - SERVING_MODEL_URL = 'http://model_serving:8501' + SERVING_MODEL_URL = 'http://edge_model_serving:8501' def __init__(self): self.metadata_storage = FileSystemMetadataStorage(self.ROOT_PATH / 'data' / 'storage') diff --git a/supervisor/supervisor/environment/edge_with_mongo_db_metadata_storage.py b/supervisor/supervisor/environment/edge_with_mongo_db_metadata_storage.py index 8f1818de..6d17ea48 100644 --- a/supervisor/supervisor/environment/edge_with_mongo_db_metadata_storage.py +++ b/supervisor/supervisor/environment/edge_with_mongo_db_metadata_storage.py @@ -12,7 +12,7 @@ class EdgeWithMongoDbMetadataStorage(Config): ROOT_PATH = Path('/supervisor') - SERVING_MODEL_URL = 'http://model_serving:8501' + SERVING_MODEL_URL = 'http://edge_model_serving:8501' def __init__(self): self.metadata_storage = MongoDbMetadataStorage('mongodb://mongodb:27017/') diff --git a/supervisor/supervisor/environment/test.py b/supervisor/supervisor/environment/test.py index 3582fed9..663cf7a5 100644 --- a/supervisor/supervisor/environment/test.py +++ b/supervisor/supervisor/environment/test.py @@ -14,8 +14,8 @@ class Test(Config): ROOT_PATH = Path('/tests') - MONGO_DB_URI = os.environ.get('MONGO_DB_URI', 'mongodb://mongodb:27017/') - SERVING_MODEL_URL = os.environ.get('SERVING_MODEL_URL', 'http://model_serving:8501') + MONGO_DB_URI = os.environ.get('MONGO_DB_URI', 'mongodb://edge_db:27017/') + SERVING_MODEL_URL = os.environ.get('SERVING_MODEL_URL', 'http://edge_model_serving:8501') def __init__(self): self.metadata_storage = MongoDbMetadataStorage(self.MONGO_DB_URI) diff --git a/supervisor/tests/fixtures/containers.py b/supervisor/tests/fixtures/containers.py index 9e272a8b..bb8aa221 100644 --- a/supervisor/tests/fixtures/containers.py +++ b/supervisor/tests/fixtures/containers.py @@ -46,7 +46,7 @@ def stop_test_container(container: DockerContainer): @fixture(scope='session') def setup_test_mongo_db() -> str: - image_name = 'ghcr.io/octo-technology/vio/mongodb:latest' # noqa + image_name = 'mongo:5.0.2' # noqa connection_url, mongo_db_container = start_test_mongo_db(image_name=image_name) yield connection_url stop_test_container(mongo_db_container) diff --git a/tflite_serving/README.md b/tflite_serving/README.md index affcb0b2..b6e5bbe6 100644 --- a/tflite_serving/README.md +++ b/tflite_serving/README.md @@ -31,15 +31,15 @@ Or via Docker: ``` # Build for raspberry -docker build --file Dockerfile.raspberrypi --tag registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberry:latest . +docker build --file Dockerfile.raspberrypi --tag ghcr.io/octo-technology/vio/edge_tflite_serving.raspberrypi:latest . # Run -docker run -p 8501:8501 registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving_raspberry:latest +docker run -p 8501:8501 ghcr.io/octo-technology/vio/edge_tflite_serving.raspberrypi:latest ``` ``` # Build for mac -docker build --file Dockerfile --tag registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving:latest . +docker build --file Dockerfile --tag ghcr.io/octo-technology/vio/edge_tflite_serving:latest . # Run for mac -docker run -p 8501:8501 registry.gitlab.com/octo-technology/les-bg-de-la-data/s-s-all/tribu/tribu-augi/asset/vio_edge/tflite_serving:latest +docker run -p 8501:8501 ghcr.io/octo-technology/vio/edge_tflite_serving:latest ``` You can check that the tflite-server is running by visiting `http://ip:5000/` from any machine, where `ip` is the ip address of the host (`localhost` if querying from the same machine). The docs can be viewed at `http://localhost:5000/docs`