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 Heroku π, 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 [email protected]:jakuboskera/guestbook.git
- Navigate to a folder
guestbook
$ cd guestbook
- Issue
make
command to see available targets, which you can use$ make
- 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