The application is the user-facing part of an online shop that sells socks. It is intended to aid the demonstration and testing of microservice and cloud native technologies.
It is built using Spring Boot, Go kit and Node.js and is packaged in Docker containers.
- Documentation site: website
- Application design: website.
- Google Cloud Kubernetes installation: website
Project | Tech Stack | Fork | Original Github | Docker hub |
---|---|---|---|---|
front-end | Node.js | link | link | link |
edge-router | traefik | -- | edge-router | link |
catalogue | Go | link | link | link |
catalogue-db | mysql | -- | -- | link |
carts | Java Spring boot | link | link | link |
carts-db, orders-db | MongoDB | -- | -- | link |
orders | Java Spring boot | link | link | link |
shipping | Java Spring boot | link | link | link |
queue-master | Java Spring boot | link | link | link |
rabbitmq | RabbitMQ | -- | -- | link |
payment | Go | link | link | link |
user | Go | link | link | link |
user-db | MongoDB | -- | -- | link |
load-test | Python | link | link | link |
session-db | Redis | -- | link |
- Start minikube:
minikube start --vm-driver=hyperkit --cpus 6 --memory 8192
- Go to the folder deploy/kubernetes/manifest and execute:
kubectl apply -f .
- In another terminal/console, run
minikube tunnel
- Get the external ip address using
kubectl get svc front-end
- To get metrics in minikube install this
minikube addons enable metrics-server
and display dashboar withminikube dashboard
- Finally, to end execute
minikube stop
and delete withminikube delete
- istioctl install
- kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.11/samples/addons/kiali.yaml
- kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.11/samples/addons/jaeger.yaml
- kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.11/samples/addons/prometheus.yaml
- kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.11/samples/addons/grafana.yaml
- k port-forward svc/kiali 20001 -n istio-system
- Follow terraform gcp instructions (create gke, install k8s apps, do load test)
The deploy folder contains scripts and instructions to provision the application onto your favourite platform.
Please let us know if there is a platform that you would like to see supported.
We'd love to see community contributions. We like to keep it simple and use Github issues to track bugs and feature requests and pull requests to manage contributions. See the contribution information for more information.
Use Weave Scope or Weave Cloud to visualize the application once it's running in the selected target platform.