Database
Everything is deployed from the dodeka
repository. It also contains the "source" for the database (DB, PostgreSQL) and key-value store (KV, Redis).
The most important file is config.toml
, which contains all practical configuration. In the build
-folder you can find the source for all deploy scripts (build/deploy
) and container build files (build/container
). Using the confspawn
tool the actual scripts are built from these templates. The results you can find in the various folders in the use
directory.
Note on confspawn
The total configuration was spread over a lot of different files in different places (PostgreSQL config, various Docker Compose files...). Some configuration is also very project-dependent (names like 'dodeka'). To keep things more generable and have one single source of truth for the configuration, Tip developed a Python tool called confspawn
which can take in a configuration "template" (where certain values are not filled in yet) and fill them in using a secondary configuration source. It uses Jinja2 templates for this.