forked from Deuxfleurs/infrastructure
.. | ||
backup | ||
core/deploy | ||
directory | ||
dummy/secrets/dummy | ||
garage | ||
im | ||
jitsi | ||
nextcloud | ||
platoo | ||
plume | ||
postgres | ||
science/deploy | ||
seafile | ||
traefik | ||
web_static | ||
.gitignore | ||
docker-compose.yml | ||
README.md | ||
requirements.txt | ||
secretmgr.py |
Understand this folder hierarchy
This folder contains the following hierarchy:
<module>/build/<image_name>/
: folders with dockerfiles and other necessary resources for building container images<module>/config/
: folder containing configuration files, referenced by deployment file<module>/secrets/
: folder containing secrets, which can be synchronized with Consul usingsecretmgr.py
<module>/deploy/
: folder containing the HCL file(s) necessary for deploying the module<module>/integration/
: folder containing files for integration testing using docker-compose
How to install secretmgr.py
dependencies
How to install its dependencies:
# on fedora:
dnf install -y openldap-devel
# on ubuntu:
apt-get install -y libldap2-dev
# for eveyrone:
pip3 install --user --requirement requirements.txt
How to use secretmgr.py
Check that all secrets are correctly deployed for app dummy
:
./secretmgr.py check dummy
Generate secrets for app dummy
if they don't already exist:
./secretmgr.py gen dummy
Rotate secrets for app dummy
, overwriting existing ones (be careful, this is dangerous!):
./secretmgr.py regen dummy
How to upgrade our packaged apps to a new version?
- Edit
docker-compose.yml
- Change the
VERSION
variable to the desired version - Increment the docker image tag by 1 (eg: superboum/riot:v13 -> superboum/riot:v14)
- Run
docker-compose build
- Run
docker-compose push
- Done