Containerize DistAIXweb for deployment in k8s
Currently, a VM is required to run DistAIXweb in a shared resources environment (OpenStack). However, the application itself is well-suited for a containerized orchestration in Kubernetes.
Required steps:
- Optional: split web-frontend (React, JS) and backend (API, Golang) into separate SW projects? (to be decided)
- Dockerize the application(s) and make it (them) configurable through k8s config maps
- Create HELM chart to deploy DistAIXweb as k8s application; this should include
- Web-Frontend
- Backend (API)
- Cassandra DB cluster: currently 3 federated DB nodes (non-redundant!) running in 3 VMs on OpenStack
- PostgreSQL DB: currently 1 DB running in 1 VM running on OpenStack
- Ingress controller/ load balancer
The DBs have to be reachable through a load balancer so that DistAIX can reach them when running on an HPC cluster to store simulation results. The required configuration of the DBs is documented here. Public accessibility of the deployment is not required.
FYI @nberr @felix.wege