Cloud application running Stock, Order and Payment microservices, built with Python's Flask and PostgreSQL.
-
envFolder containing the PostgreSQL env variables for the docker-compose deployment -
helm-configHelm chart values for PostgreSQL and ingress-nginx -
k8sFolder containing the kubernetes deployments, apps and services for the ingress, order, payment and stock services. -
orderFolder containing the order application logic and dockerfile. -
paymentFolder containing the payment application logic and dockerfile. -
stockFolder containing the stock application logic and dockerfile. -
testFolder containing some basic correctness tests for the entire system.
order:5000payment:6000stock:7000
Run docker-compose up --build in the base folder.
Requirements: You need to have docker and docker-compose installed on your machine.
This setup is for local k8s testing to see if your k8s config works before deploying to the cloud.
To deploy the app on a minikube cluster run ./setup-minikube.sh (and minikube dashboard for monitoring). In case of an "insufficient cpu" error, pods 1-3 from k8s/order-app.yaml, k8s/payment-app.yaml and k8s/stock-app.yaml can be safely commented out.
The images of each service are also on dockerhub:
- bobdetest123/orderserivce:order
- bobdetest123/orderserivce:payment
- bobdetest123/orderserivce:stock
Requirements: You need to have minikube (with ingress enabled) and helm installed on your machine.
Similarly to the minikube deployment but run the deploy-charts-cluster.sh in the helm step to also install an ingress to the cluster.
Requirements: You need to have access to kubectl of a k8s cluster.