README.md
May 3, 2023 ยท View on GitHub
Guestbook is a simple cloud-native web application which allows visitors to leave a public comment without creating a user account.
Application uses MVC architecture, which is widely used software architectural pattern in GUI-based applications.
This application among other things, contains these endpoints:
- API (for interaction without UI) - python-restx/flask-restx,
- Prometheus metrics (for observability) - rycus86/prometheus_flask_exporter,
- Health (health of a application) - ateliedocodigo/py-healthcheck.
Live demo of Guestbook application is deployed in
Fly.io ๐, public comments Welcome!๐ค:
https://guestbook.jakuboskera.dev
๐ TOC
- ๐ TOC
- ๐ Get started
- ๐ Used technologies
- ๐ Run in docker using docker-compose
- ๐ Run in Kubernetes
๐ Get started
-
Clone this repo
git clone git@github.com:jakuboskera/guestbook.git -
Navigate to a folder
guestbookcd guestbook -
Issue
makecommand to see available targets, which you can usemake
๐ Used technologies
๐ Run in docker using docker-compose
โ ๏ธ Prerequisites
- docker-compose
๐ Install
make docker-run
๐งน Cleanup
make docker-cleanup
๐ Run in Kubernetes
Using Helm chart guestbook from Helm repository
https://jakuboskera.github.io/charts.
Using Helm
โ ๏ธ Prerequisites
- Kubernetes 1.12+
- Helm 3.1.0+
๐ Install
make helm-install
๐งน Cleanup
make helm-cleanup
Using skaffold and Helm
Ideal for local Kubernetes development.
โ ๏ธ Prerequisites
- Kubernetes 1.12+
- Helm 3.1.0+
- skaffold
๐ Install
Build, tag and deploy artifacts via Helm chart using skaffold.yaml
make skaffold-run
Build, tag and deploy artifacts via Helm chart using skaffold.yaml, make port-forward to containers and write logs of containers to stdout
make skaffold-dev
๐งน Cleanup
make skaffold-cleanup