Logo created in Blender by Albert Hahn.
KubeVision is a microservice web-application, developed for my bachelor thesis. The application provides a GUI and allows the user to authenticate through either password and username or face-detection.
The local system needs access through kubectl and helm to a running Kubernetes Cluster. Commands for applying the kubeconfig, export the config as ENV.
export KUBECONFIG=~/your/path/to/KubeVision/kubeconfig_poc
cd helm/certs
kubectl apply -f issuer.yaml
kubectl apply -f cert.yaml
kubectl apply -f mongodb-secret.yaml
cd helm/kubevision
helm install kubevision .
kubectl exec --stdin --tty deploy/mongo -- /bin/bash
\
mongo
use admin
db.createUser({user: 'admin',pwd: 'password',roles: [ { role: 'root', db: 'admin' } ]})
The background for this step is that, the mongodb deployment somehow doesn't initialize a admin user on start, needed for CRUD-Operations.
Docker and Docker-Compose Installation on the local machine.
cd microservices
docker-compose up
cd microservices
make [COMMAND]
e.g. make build-push-facerecognition
Every service directory has a script for exporting enviromental-variables e.g. flaskStartupFrontend.sh
cd microservices
cd frontend
source flaskStartupFrontend.sh
flask run --port=8000
cd microservices
cd facerecognition
source flaskStartupfacerecognition.sh
gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 -b 0.0.0.0:5000 run:app
cd microservices
cd authentication
source flaskStartupAuth.sh
flask run --port=5001
docker run -p 27017:27017 --name mongodb mongo:4.1.7
docker exec -it mongodb bash
mongo
use admin
db.createUser({user: 'admin',pwd: 'password',roles: [ { role: 'root', db: 'admin' } ]})
https://hub.docker.com/repository/docker/albird/frontend
https://hub.docker.com/repository/docker/albird/facerecognition
https://hub.docker.com/repository/docker/albird/authentication