diff --git a/docs/architecture/arneis-swarch.md b/docs/architecture/arneis-swarch.md new file mode 100644 index 0000000..f93e351 --- /dev/null +++ b/docs/architecture/arneis-swarch.md @@ -0,0 +1,41 @@ +# ARNEIS - Software Architecture + +This document details the planned Software Architecture that will be developed for the ARNEIS project. + +The software architecture of the ARNEIS project will be based on microservices running on the ARNEIS Kubernetes cluster. + + + + + +## Architecture of the ARNEIS cluster + + + +The ARNEIS cluster is based on [Kubernetes](https://kubernetes.io/). + +For simplicity we chose to deploy the ARNEIS cluster using [K3s](https://k3s.io/). + +K3s (or “Lightweight Kubernetes”) is a simplified installation of the Kubernetes distribution built for IoT and Edge computing. + +K3s is an Open Source project started and maintained by Rancher.com. + +* Servers + - VM arneis-vm01 + - (optional) 2x additional VM to provide High Availability? +* Agents: + - Same hosts acting as main K3s server (primary agent) + - (optional) VM arneis-vm02 on the cloud + - RPI4 on each instance of ARNEIS edge system + +## Services deployed on the ARNEIS cluster + +* Terminate HTTPS (Traefik instance built into K3s) +* Web server for ARNEIS documentation (replica of ) +* Database for ARNEIS backend service (alternative: MongoDB instance at ) +* ARNEIS backend service (Node.js + Koa - based on some public boilerplate) +* ARNEIS customer frontend (static site developed in Next.js) +* Service running on the RPI4 for controlling the OAK-D-Lite (Python3?) +* Service running on the RPI4 for controlling the LEGO® Technics Bluetooth Hub (Python3?) + + diff --git a/docs/index.rst b/docs/index.rst index bba89c0..688b31e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -48,6 +48,7 @@ Documentation architecture/arneis-spec architecture/arneis-sysarch + architecture/arneis-swarch .. toctree:: :maxdepth: 2