Split backend service into checker and generator

Both are linked through a unix socket.
This commit is contained in:
nemunaire 2023-07-10 09:17:02 +02:00
commit ed091e761c
34 changed files with 660 additions and 208 deletions

View file

@ -61,17 +61,28 @@ onboot:
peer: veth-admin
bindNS:
net: /run/netns/fic-admin
- name: backend-ip-setup
- name: checker-ip-setup
image: linuxkit/ip:c88e3272e3b12edec454e4720da8bb70a7655bc7
command: ["/bin/sh", "-c", "ip a add 172.17.0.3/24 dev vethin-backend; ip link set vethin-backend up;" ]
command: ["/bin/sh", "-c", "ip a add 172.17.0.3/24 dev vethin-checker; ip link set vethin-checker up;" ]
net: new
runtime:
interfaces:
- name: vethin-backend
- name: vethin-checker
add: veth
peer: veth-backend
peer: veth-checker
bindNS:
net: /run/netns/fic-backend
net: /run/netns/fic-checker
- name: generator-ip-setup
image: linuxkit/ip:c88e3272e3b12edec454e4720da8bb70a7655bc7
command: ["/bin/sh", "-c", "ip a add 172.17.0.5/24 dev vethin-generator; ip link set vethin-generator up;" ]
net: new
runtime:
interfaces:
- name: vethin-generator
add: veth
peer: veth-generator
bindNS:
net: /run/netns/fic-generator
- name: mysql-ip-setup
image: linuxkit/ip:c88e3272e3b12edec454e4720da8bb70a7655bc7
command: ["/bin/sh", "-c", "ip a add 172.17.0.4/24 dev vethin-db; ip link set vethin-db up;" ]
@ -85,7 +96,7 @@ onboot:
net: /run/netns/db
- name: bridge-setup
image: linuxkit/ip:c88e3272e3b12edec454e4720da8bb70a7655bc7
command: ["/bin/sh", "-c", "ip a add 172.17.0.1/24 dev br0; ip link set veth-admin master br0; ip link set veth-backend master br0; ip link set veth-db master br0; ip link set br0 up; ip link set veth-admin up; ip link set veth-backend up; ip link set veth-db up;" ]
command: ["/bin/sh", "-c", "ip a add 172.17.0.1/24 dev br0; ip link set veth-admin master br0; ip link set veth-checker master br0; ip link set veth-generator master br0; ip link set veth-db master br0; ip link set br0 up; ip link set veth-admin up; ip link set veth-checker up; ip link set veth-generator up; ip link set veth-db up;" ]
runtime:
interfaces:
- name: br0
@ -173,11 +184,11 @@ services:
- /var/lib/fic/raw_files:/mnt/fic
- /var/lib/fic/dashboard:/srv/DASHBOARD
- /var/lib/fic/files:/srv/FILES
- /var/lib/fic/generator:/srv/GENERATOR:ro
- /var/lib/fic/pki:/srv/PKI
- /var/lib/fic/teams:/srv/TEAMS
- /var/lib/fic/settings:/srv/SETTINGS
- /var/lib/fic/sync:/srv/SYNC
- /var/lib/fic/submissions:/srv/submissions:ro
- /var/lib/fic/teams:/srv/TEAMS:ro
net: /run/netns/fic-admin
pid: new
ipc: new
@ -186,10 +197,10 @@ services:
mkdir:
- /var/lib/fic/dashboard
- /var/lib/fic/files
- /var/lib/fic/generator
- /var/lib/fic/raw_files
- /var/lib/fic/pki
- /var/lib/fic/settings
- /var/lib/fic/sync
- /var/lib/fic/submissions
- /var/lib/fic/teams
- name: fic-evdist
@ -206,21 +217,24 @@ services:
mkdir:
- /var/lib/fic/settings
- /var/lib/fic/settingsdist
- name: fic-backend
image: nemunaire/fic-backend:latest@sha256:12d3286cdbe6d18d284f21432b4eb92ce8ab9844982177562069bc0f9536c93b
- name: fic-checker
image: nemunaire/fic-checker:latest@sha256:12d3286cdbe6d18d284f21432b4eb92ce8ab9844982177562069bc0f9536c93b
env:
- MYSQL_HOST=db
- MYSQL_PASSWORD=fic
binds:
- /etc/hosts:/etc/hosts:ro
- /var/lib/fic/teams:/srv/TEAMS
- /var/lib/fic/generator:/srv/GENERATOR:ro
- /var/lib/fic/teams:/srv/TEAMS:ro
- /var/lib/fic/settingsdist:/srv/SETTINGSDIST:ro
- /var/lib/fic/submissions:/srv/submissions
net: /run/netns/fic-backend
net: /run/netns/fic-checker
pid: new
ipc: new
uts: new
runtime:
mkdir:
- /var/lib/fic/generator
- /var/lib/fic/settingsdist
- /var/lib/fic/submissions
- /var/lib/fic/teams
@ -242,6 +256,26 @@ services:
- /var/lib/fic/dashboard
- /var/lib/fic/teams
- /var/lib/fic/settingsdist
- name: fic-generator
image: nemunaire/fic-generator:latest@sha256:12d3286cdbe6d18d284f21432b4eb92ce8ab9844982177562069bc0f9536c93b
command: ["/srv/generator", "-bind=/srv/GENERATOR/generator.socket"]
env:
- MYSQL_HOST=db
- MYSQL_PASSWORD=fic
binds:
- /etc/hosts:/etc/hosts:ro
- /var/lib/fic/generator:/srv/GENERATOR:ro
- /var/lib/fic/teams:/srv/TEAMS
- /var/lib/fic/settingsdist:/srv/SETTINGSDIST:ro
net: /run/netns/fic-generator
pid: new
ipc: new
uts: new
runtime:
mkdir:
- /var/lib/fic/generator
- /var/lib/fic/settingsdist
- /var/lib/fic/teams
- name: fic-synchro
image: nemunaire/rsync:a3d76b2dd0a9ad73be44dc77ad765b20d96a3285
command: ["/bin/ash", "/root/synchro.sh"]