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
- ๐ Get started
- ๐ Used technologies
- ๐ Run in docker using docker-compose
- ๐ Run in Kubernetes
-
Clone this repo
git clone git@github.com:jakuboskera/guestbook.git
-
Navigate to a folder
guestbook
cd guestbook
-
Issue
make
command to see available targets, which you can usemake
- docker-compose
make docker-run
make docker-cleanup
Using Helm chart guestbook
from Helm repository
https://jakuboskera.github.io/charts.
- Kubernetes 1.12+
- Helm 3.1.0+
make helm-install
make helm-cleanup
Ideal for local Kubernetes development.
- Kubernetes 1.12+
- Helm 3.1.0+
- skaffold
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
make skaffold-cleanup