aboutsummaryrefslogtreecommitdiff
path: root/app/README.md
blob: 3049cac13e112845d48917794220b493fcee5465 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
## 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 using `secretmgr.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:

```bash
# 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`:

```bash
./secretmgr.py check dummy
```

Generate secrets for app `dummy` if they don't already exist:

```bash
./secretmgr.py gen dummy
```

Rotate secrets for app `dummy`, overwriting existing ones (be careful, this is dangerous!):

```bash
./secretmgr.py regen dummy
```

## How to upgrade our packaged apps to a new version?

 1. Edit `docker-compose.yml`
 2. Change the `VERSION` variable to the desired version
 3. Increment the docker image tag by 1 (eg: superboum/riot:v13 -> superboum/riot:v14)
 4. Run `docker-compose build`
 5. Run `docker-compose push`
 6. Done