Centralized configuration management and storage for prometheus-configurator.
Export the path to the devel config (from the root of this repository):
$ export PROMETHEUS_MANAGER_CONFIG_PATH=$PWD/config.example.yaml
Start the mariadb instance using docker-compose:
$ docker compose up -d
Wait a few seconds, and then we need to create the non-admin user:
$ mariadb -h 127.0.0.1 --user=root --password=root -e "grant all privileges on prometheusconfig.* to 'prometheusconfig'@'%' identified by 'prometheusconfig';"
Now we can run the migrations to populate the database:
$ python3 scripts/pm-migrate INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 639f4dd7f8c4, create projects table ...
Run the service:
$ flask run * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:5000
$ python3 scripts/pm-interactive --- prometheus-manager interactive shell --- >>> from prometheus_manager.database import alembic >>> alembic.revision("create projects table") INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.autogenerate.compare] Detected added table 'projects' Generating /home/taavi/src/prometheus-manager/prometheus_manager/migrations/639f4dd7f8c4_create_projects_table.py ... done [Script('639f4dd7f8c4', None, branch_labels={'default'})] >>> now exiting InteractiveConsole... $ python3 scripts/pm-migrate INFO [alembic.runtime.migration] Context impl MySQLImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running upgrade -> 639f4dd7f8c4, create projects table