FreifunkMD / backend-ffmd

Configuration and Ansible for the FreifunkMD backend.
0 stars 0 forks source link

docker-compose-Setup in Ansible überführen #41

Open penguineer opened 1 year ago

penguineer commented 1 year ago

Ein großer Teil der Container wird noch über Docker-Compose aufgesetzt. Wir sollten das in Ansible überführen, um hier eine einheitliche Konfigurationsschicht zu haben.

24367dfa commented 1 year ago

docker-compose in ansible wäre auch noch eine Option

24367dfa commented 1 year ago
dkdent@gw01:~$ docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED         STATUS         PORTS     NAMES
986a2c8c2ae7   jool-docker                "/root/run.sh"           6 days ago      Up 9 minutes             jool-docker_jool_1
0560fa2296f8   klausdieter371/wg-docker   "/scripts/run.sh"        3 weeks ago     Up 6 days                wg-docker_wg_1
b9b742fec6b0   yanic                      "/bin/sh -c '/go/bin…"   23 months ago   Up 6 days                ffmd_yanic
31e3c0af2b33   docker-dns64_dns64         "/docker-entry.sh '/…"   2 years ago     Up 6 days                docker-dns64_dns64_1
dkdent@gw01:~$ docker inspect 98 | grep com.docker.compose
                "com.docker.compose.config-hash": "a12049441338b40ac5073e5d95cc0dd6510f3fbede080150a905d15fca1ff13f",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "jool-docker",
                "com.docker.compose.project.config_files": "docker-compose.yaml",
                "com.docker.compose.project.working_dir": "/root/jool-docker",
                "com.docker.compose.service": "jool",
                "com.docker.compose.version": "1.27.4",
dkdent@gw01:~$ docker inspect 05 | grep com.docker.compose
                "com.docker.compose.config-hash": "245656998c42ba4394722bae83d2ebbd381ea7b268a4adee6be4673d2b953e10",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "wg-docker",
                "com.docker.compose.project.config_files": "docker-compose.yaml",
                "com.docker.compose.project.working_dir": "/root/wg-docker",
                "com.docker.compose.service": "wg",
                "com.docker.compose.version": "1.27.4"
dkdent@gw01:~$ docker inspect b9 | grep com.docker.compose
                "com.docker.compose.config-hash": "4c26f4eaabfc38b4c9ee62511c48fb83fd840ddedfdae23a6caa4f08e6eb848a",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "ffmd-yanic",
                "com.docker.compose.service": "yanic",
                "com.docker.compose.version": "1.21.0",
dkdent@gw01:~$ docker inspect 31 | grep com.docker.compose
                "com.docker.compose.config-hash": "0336d1f2cb61e4297a629f0f2c3d982a2dc67abf6dfe1f68fc5ce404bddbfc0e",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "docker-dns64",
                "com.docker.compose.service": "dns64",
                "com.docker.compose.version": "1.21.0"

Für mich sieht das so aus, als ob einzelne Container (jool und wg) ihre separaten docker-compose Files bekommen haben und die anderen noch aus dem alten gemeinsamen docker-compose.yaml gestartet werden. Entspricht das ungefähr dem, was ihr da als Bild im Kopf habt?

Ich habe mir gerade einmal alle meinem Verständnis nach relevanten Dateien gezogen, werde das aber vorerst nicht einchecken, da da noch Secrets drin stehen.

penguineer commented 1 year ago

Ja, das ist etwas zersplittert, weil wir auch noch Admin-Möglichkeiten gesucht haben. Ein paar Services haben ihre eigenen Docker-Compose-Dateien und ich glaube, auf web hat @Kwa5ir mal ein einzelnes, großes File angelegt.

penguineer commented 1 year ago
dkdent@gw01:~$ docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED         STATUS         PORTS     NAMES
986a2c8c2ae7   jool-docker                "/root/run.sh"           6 days ago      Up 9 minutes             jool-docker_jool_1
0560fa2296f8   klausdieter371/wg-docker   "/scripts/run.sh"        3 weeks ago     Up 6 days                wg-docker_wg_1
b9b742fec6b0   yanic                      "/bin/sh -c '/go/bin…"   23 months ago   Up 6 days                ffmd_yanic
31e3c0af2b33   docker-dns64_dns64         "/docker-entry.sh '/…"   2 years ago     Up 6 days                docker-dns64_dns64_1
dkdent@gw01:~$ docker inspect 98 | grep com.docker.compose
                "com.docker.compose.config-hash": "a12049441338b40ac5073e5d95cc0dd6510f3fbede080150a905d15fca1ff13f",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "jool-docker",
                "com.docker.compose.project.config_files": "docker-compose.yaml",
                "com.docker.compose.project.working_dir": "/root/jool-docker",
                "com.docker.compose.service": "jool",
                "com.docker.compose.version": "1.27.4",
dkdent@gw01:~$ docker inspect 05 | grep com.docker.compose
                "com.docker.compose.config-hash": "245656998c42ba4394722bae83d2ebbd381ea7b268a4adee6be4673d2b953e10",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "wg-docker",
                "com.docker.compose.project.config_files": "docker-compose.yaml",
                "com.docker.compose.project.working_dir": "/root/wg-docker",
                "com.docker.compose.service": "wg",
                "com.docker.compose.version": "1.27.4"
dkdent@gw01:~$ docker inspect b9 | grep com.docker.compose
                "com.docker.compose.config-hash": "4c26f4eaabfc38b4c9ee62511c48fb83fd840ddedfdae23a6caa4f08e6eb848a",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "ffmd-yanic",
                "com.docker.compose.service": "yanic",
                "com.docker.compose.version": "1.21.0",
dkdent@gw01:~$ docker inspect 31 | grep com.docker.compose
                "com.docker.compose.config-hash": "0336d1f2cb61e4297a629f0f2c3d982a2dc67abf6dfe1f68fc5ce404bddbfc0e",
                "com.docker.compose.container-number": "1",
                "com.docker.compose.oneoff": "False",
                "com.docker.compose.project": "docker-dns64",
                "com.docker.compose.service": "dns64",
                "com.docker.compose.version": "1.21.0"

~Für mich sieht das so aus, als ob einzelne Container (jool und wg) ihre separaten docker-compose Files bekommen haben und die anderen noch aus dem alten gemeinsamen docker-compose.yaml gestartet werden. Entspricht das ungefähr dem, was ihr da als Bild im Kopf habt?~

Ich habe mir gerade einmal alle meinem Verständnis nach relevanten Dateien gezogen, werde das aber vorerst nicht einchecken, da da noch Secrets drin stehen.

Für die Secrets haben wir auch noch keine abgestimmte Lösung, weil es bislang im Ansible keine gab.

penguineer commented 1 year ago

Möglicherweise ist der effektivste nächste Schritt hier, die Fragen zu finden, die wir auf dem nächsten Freifunk-Treffen beantworten sollten. Insbesondere auch in Hinblick darauf, wie wir das in Zukunft lösen wollen.

penguineer commented 1 year ago

docker-compose in ansible wäre auch noch eine Option

Wir könnten auch in einem ersten Schritt die docker-compose files direkt über Ansible ausführen und sie dann durch Ansible-Aufrufe ablösen.

24367dfa commented 1 year ago

jool wird wegen kernelmodul genau beim start des containers gebaut

christf commented 1 year ago

freifunk-ist.pdf

freifunk.pdf

freifunk.dot.txt freifunk-ist.dot.txt