- Role should run on Ubuntu Bionic
- The ultimate purpose of this task is to display database operations in a Grafana dashboard.
- Use of
shell
(andcommand
) Ansible modules are prohibited - We expect the task to be completed in a tidy manner and to be fit for production use.
-
Deploy a postgresql database in a container
-
Create a read and a write user for the database
-
Deploy an exporter providing metrics from the database
-
Deploy in a container a prometheus instance gathering the metrics
-
Deploy a grafana container with a dashboard for the database
-
Make some writing test against the database
-
Endpoints should be accessible through https (example: https://0.0.0.0/prometheus, https://0.0.0.0/grafana)
-
Unsecured ports should not be accessible from internet
-
All data must be persistent