2018-01-21 16:03:45 +00:00
kernel :
2020-01-30 18:07:11 +00:00
image : nemunaire/kernel:4.9.210-e1d178d56edb377b36364eb4890dc4bf430acf77-dirty-amd64
2018-12-10 01:16:07 +00:00
cmdline : "console=ttyS0 console=tty0"
2018-01-21 16:03:45 +00:00
init :
2020-01-15 10:09:36 +00:00
- linuxkit/init:1d8e0532ca588c5ad0d9ca6038349a70bb7ac626
- linuxkit/runc:c1f0db27e71d948f3134b31ce76276f843849b0a
- linuxkit/containerd:751de142273e1b5d2d247d2832d654ab92e907bc
- linuxkit/ca-certificates:v0.7
- linuxkit/getty:v0.7
2019-12-16 13:39:39 +00:00
- nemunaire/mdadm:18de5ca414227f38a5c0619662077ba5fa26176d
2018-01-21 16:03:45 +00:00
onboot :
2020-01-15 10:09:36 +00:00
# - name: mod
# image: linuxkit/modprobe:v0.7
# command: ["/bin/sh", "-c", "modprobe e1000e"]
2018-12-10 01:16:07 +00:00
2019-01-17 08:11:13 +00:00
- name : sysctl
2020-01-15 10:09:36 +00:00
image : linuxkit/sysctl:v0.7
2019-01-17 08:11:13 +00:00
binds :
- /etc/sysctl.d/01-fic.conf:/etc/sysctl.d/01-fic.conf:ro
2018-01-21 16:03:45 +00:00
# Filesystem
- name : swap
2020-01-15 10:09:36 +00:00
image : linuxkit/swap:v0.7
2020-01-30 18:03:14 +00:00
command : [ "/sbin/swapon" , "/dev/md1" ]
- name : dm-crypt
image : linuxkit/dm-crypt:v0.7
command : [ "/usr/bin/crypto" , "-l" , "crypt_fic" , "/dev/md0" ]
2018-01-21 16:03:45 +00:00
- name : mount
2020-01-15 10:09:36 +00:00
image : linuxkit/mount:v0.7
2020-01-30 18:03:14 +00:00
command : [ "/usr/bin/mountie" , "-device" , "/dev/mapper/crypt_fic" , "/var/lib/fic" ]
2018-01-21 16:03:45 +00:00
# Network
# - name: dhcpcd
2020-01-15 10:09:36 +00:00
# image: linuxkit/dhcpcd:v0.7
2018-01-21 16:03:45 +00:00
# command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
# - name: ntp
# image: linuxkit/openntpd:536e5947607c9e6a6771957c2ff817230cba0d3c
- name : synchro-ip-setup
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-01-21 16:03:45 +00:00
command : [ "/bin/sh" , "-c" , "ip a add 10.10.10.1/29 dev eth0; ip link set eth0 up;" ]
net : new
runtime :
interfaces :
- name : eth0
bindNS :
net : /run/netns/synchro
- name : admin-ip-setup
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-12-10 01:16:07 +00:00
command : [ "/bin/sh" , "-c" , "ip a add 192.168.23.1/24 dev eth1; ip link set eth1 up; ip a add 172.17.0.2/24 dev vethin-admin; ip link set vethin-admin up;" ]
2018-01-21 16:03:45 +00:00
net : new
runtime :
interfaces :
- name : eth1
- name : vethin-admin
add : veth
peer : veth-admin
bindNS :
net : /run/netns/fic-admin
- name : backend-ip-setup
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-01-21 16:03:45 +00:00
command : [ "/bin/sh" , "-c" , "ip a add 172.17.0.3/24 dev vethin-backend; ip link set vethin-backend up;" ]
net : new
runtime :
interfaces :
- name : vethin-backend
add : veth
peer : veth-backend
bindNS :
net : /run/netns/fic-backend
- name : mysql-ip-setup
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-01-21 16:03:45 +00:00
command : [ "/bin/sh" , "-c" , "ip a add 172.17.0.4/24 dev vethin-db; ip link set vethin-db up;" ]
net : new
runtime :
interfaces :
- name : vethin-db
add : veth
peer : veth-db
bindNS :
net : /run/netns/db
- name : bridge-setup
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-01-21 16:03:45 +00:00
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;" ]
runtime :
interfaces :
- name : br0
add : bridge
- name : firewall-synchro
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-01-21 16:03:45 +00:00
command : [ "/bin/bash" , "-c" , "/sbin/iptables-restore < /etc/iptables/rules-synchro.v4; /sbin/ip6tables-restore < /etc/iptables/rules.v6" ]
binds :
- /etc/iptables/rules-synchro.v4:/etc/iptables/rules-synchro.v4:ro
- /etc/iptables/rules.v6:/etc/iptables/rules.v6:ro
net : /run/netns/synchro
runtime :
mkdir :
- /var/lib/fic/teams
- name : firewall-admin
2020-01-15 10:09:36 +00:00
image : linuxkit/ip:v0.7
2018-01-21 16:03:45 +00:00
command : [ "/bin/bash" , "-c" , "/sbin/iptables-restore < /etc/iptables/rules-admin.v4; /sbin/ip6tables-restore < /etc/iptables/rules.v6" ]
binds :
- /etc/iptables/rules-admin.v4:/etc/iptables/rules-admin.v4:ro
- /etc/iptables/rules.v6:/etc/iptables/rules.v6:ro
net : /run/netns/fic-admin
services :
2018-12-10 01:16:07 +00:00
# - name: getty
2020-01-15 10:09:36 +00:00
# image: linuxkit/getty:v0.7
2018-12-10 01:16:07 +00:00
# env:
# - INSECURE=true
2020-01-30 18:04:41 +00:00
# Enable acpi to shutdown on power events
- name : acpid
image : linuxkit/acpid:v0.7
2018-01-21 16:03:45 +00:00
- name : rngd
2020-01-15 10:09:36 +00:00
image : linuxkit/rngd:v0.7
2018-01-21 16:03:45 +00:00
- name : db
image : mariadb:latest
command : [ "/bin/bash" , "/usr/local/bin/docker-entrypoint.sh" , "mysqld" ]
capabilities :
- CAP_CHOWN
- CAP_SETUID
- CAP_SETGID
- CAP_DAC_OVERRIDE
env :
- MYSQL_DATABASE=fic
- MYSQL_USER=fic
- MYSQL_PASSWORD=fic
- MYSQL_RANDOM_ROOT_PASSWORD=yes
binds :
- /etc/hosts:/etc/hosts:ro
2019-01-17 07:37:05 +00:00
- /etc/mysql/conf.d:/etc/mysql/conf.d:ro
2018-01-21 16:03:45 +00:00
- /var/lib/fic/mysql:/var/lib/mysql
net : /run/netns/db
pid : new
ipc : new
uts : new
runtime :
mkdir :
- /var/lib/fic/mysql
2019-01-17 08:26:51 +00:00
- name : db-backup
image : nemunaire/mariadb-client:8778512e5dc774e6eb71f566e16a755ddf59bcd8
command : [ "/bin/sh" , "/root/mysql_backup.sh" ]
env :
- MYSQL_HOST=db
- MYSQL_DATABASE=fic
- MYSQL_USER=fic
- MYSQL_PASSWORD=fic
binds :
- /etc/hosts:/etc/hosts:ro
- /root/mysql_backup.sh:/root/mysql_backup.sh:ro
- /var/lib/fic/backups/:/var/lib/fic/backups/
net : /run/netns/db
runtime :
mkdir :
- /var/lib/fic/backups
2018-01-21 16:03:45 +00:00
- name : fic-admin
image : nemunaire/fic-admin:latest
2019-10-31 15:05:58 +00:00
command : [ "/srv/admin" , "-bind=:8081" , "-baseurl=/admin/" , "-localimport=/mnt/fic" , "-timestampCheck=/srv/submissions" ]
2018-01-21 16:03:45 +00:00
env :
2019-07-30 15:13:55 +00:00
- MYSQL_HOST=db
2018-01-21 16:03:45 +00:00
- FICCA_PASS=jee8AhloAith1aesCeQu5ahgIegaeM4K
binds :
- /etc/hosts:/etc/hosts:ro
- /var/lib/fic/raw_files:/mnt/fic
2018-12-10 01:16:07 +00:00
- /var/lib/fic/dashboard:/srv/DASHBOARD
- /var/lib/fic/files:/srv/FILES
2018-01-21 16:03:45 +00:00
- /var/lib/fic/pki:/srv/PKI
- /var/lib/fic/teams:/srv/TEAMS
2018-12-10 01:16:07 +00:00
- /var/lib/fic/settings:/srv/SETTINGS
2019-10-31 15:05:58 +00:00
- /var/lib/fic/submissions:/srv/submissions:ro
2018-01-21 16:03:45 +00:00
net : /run/netns/fic-admin
pid : new
ipc : new
uts : new
runtime :
mkdir :
2018-12-10 01:16:07 +00:00
- /var/lib/fic/dashboard
2018-01-21 16:03:45 +00:00
- /var/lib/fic/files
- /var/lib/fic/raw_files
- /var/lib/fic/pki
- /var/lib/fic/settings
2020-01-30 18:06:38 +00:00
- /var/lib/fic/submissions
2018-01-21 16:03:45 +00:00
- /var/lib/fic/teams
- name : fic-backend
image : nemunaire/fic-backend:latest
env :
2019-07-30 15:13:55 +00:00
- MYSQL_HOST=db
2018-01-21 16:03:45 +00:00
binds :
- /etc/hosts:/etc/hosts:ro
2018-12-10 01:16:07 +00:00
- /var/lib/fic/teams:/srv/TEAMS
2018-01-21 16:03:45 +00:00
- /var/lib/fic/settings:/srv/SETTINGS:ro
- /var/lib/fic/submissions:/srv/submissions
net : /run/netns/fic-backend
pid : new
ipc : new
uts : new
runtime :
mkdir :
- /var/lib/fic/settings
- /var/lib/fic/submissions
- /var/lib/fic/teams
2018-12-10 01:16:07 +00:00
- name : fic-dashboard
image : nemunaire/fic-dashboard:latest
binds :
- /etc/hosts:/etc/hosts:ro
- /var/lib/fic/dashboard:/srv/DASHBOARD
2019-01-19 02:08:07 +00:00
- /var/lib/fic/files:/srv/FILES:ro
2018-12-10 01:16:07 +00:00
- /var/lib/fic/teams:/srv/TEAMS:ro
- /var/lib/fic/settings:/srv/SETTINGS:ro
net : /run/netns/fic-admin
pid : new
ipc : new
uts : new
runtime :
mkdir :
- /var/lib/fic/dashboard
- /var/lib/fic/teams
- /var/lib/fic/settings
2018-01-21 16:03:45 +00:00
- name : fic-synchro
2019-01-17 07:29:47 +00:00
image : nemunaire/rsync:cabe4226e500c3bbfb1500635c9faedc086add74
2018-01-21 16:03:45 +00:00
command : [ "/bin/ash" , "/root/synchro.sh" ]
binds :
- /etc/hosts:/etc/hosts:ro
2019-12-16 13:47:00 +00:00
- /var/lib/fic/ssh:/etc/ssh:ro
2018-01-21 16:03:45 +00:00
- /root/.ssh/id_ed25519:/root/.ssh/id_ed25519:ro
- /root/synchro.sh:/root/synchro.sh:ro
- /var/lib/fic/files:/srv/FILES:ro
2018-12-10 01:16:07 +00:00
#- /var/lib/fic/pki/ca.key:/srv/PKI/ca.key:ro
2018-01-21 16:03:45 +00:00
- /var/lib/fic/pki/shared:/srv/PKI/shared:ro
- /var/lib/fic/settings:/srv/SETTINGS:ro
- /var/lib/fic/submissions:/srv/submissions
- /var/lib/fic/teams:/srv/TEAMS:ro
2020-01-30 17:51:06 +00:00
- /var/log/frontend:/var/log/frontend
2018-01-21 16:03:45 +00:00
net : /run/netns/synchro
runtime :
mkdir :
- /var/lib/fic/files
- /var/lib/fic/pki/shared
- /var/lib/fic/settings
2019-12-16 13:47:00 +00:00
- /var/lib/fic/ssh
2018-01-21 16:03:45 +00:00
- /var/lib/fic/submissions
- /var/lib/fic/teams
2020-01-30 17:51:06 +00:00
- /var/log/frontend
2018-01-21 16:03:45 +00:00
- name : sshd
2019-01-17 07:13:11 +00:00
image : nemunaire/rsync:ca312b09a5048c165cf727660b7755f001d17650
2018-01-21 16:03:45 +00:00
binds :
- /etc/hosts:/etc/hosts:ro
2019-01-17 07:13:11 +00:00
- /root/.ssh/:/root/.ssh/:ro
2019-01-19 13:34:07 +00:00
- /usr/bin/iptables:/usr/bin/iptables:ro
- /usr/bin/mysql:/usr/bin/mysql:ro
- /usr/bin/pnsenter:/usr/bin/pnsenter:ro
2018-01-21 16:03:45 +00:00
- /var/lib/fic/outofsync:/var/lib/fic/outofsync
2018-12-10 01:16:07 +00:00
- /var/lib/fic/raw_files:/mnt/fic
2020-01-30 17:51:06 +00:00
- /var/log:/var/log:ro
2019-01-17 07:13:11 +00:00
capabilities :
- all
2018-01-21 16:03:45 +00:00
net : /run/netns/fic-admin
2019-01-17 07:13:11 +00:00
pid : host
2018-01-21 16:03:45 +00:00
runtime :
mkdir :
- /var/lib/fic/outofsync
2019-01-17 07:46:51 +00:00
- name : dhcp-server
image : joebiellik/dhcpd
binds :
- /etc/dhcp/dhcpd.conf:/etc/dhcp/dhcpd.conf:ro
capabilities :
- CAP_NET_BIND_SERVICE
- CAP_NET_RAW
- CAP_DAC_OVERRIDE
net : /run/netns/fic-admin
pid : new
ipc : new
uts : new
2018-01-21 16:03:45 +00:00
files :
2020-01-30 18:02:19 +00:00
- path : etc/init.d/015-setup-sshd
source : configs/sshd-setup.sh
mode : "0555"
2019-01-17 08:11:13 +00:00
- path : etc/sysctl.d/01-fic.conf
source : configs/sysctl-backend.conf
mode : "0444"
2018-01-21 16:03:45 +00:00
- path : root/synchro.sh
source : configs/synchro.sh
mode : "0755"
2019-01-17 08:26:51 +00:00
- path : root/mysql_backup.sh
source : configs/mysql_backup.sh
mode : "0755"
2018-01-21 16:03:45 +00:00
- path : etc/hosts
source : configs/hosts
mode : "0644"
- path : root/.ssh/authorized_keys
source : configs/authorized_keys
mode : "0400"
- path : root/.ssh/id_ed25519
source : configs/id_ed25519
mode : "0400"
2019-01-19 13:34:07 +00:00
- path : usr/bin/iptables
source : configs/nsenter_iptables.sh
mode : "0755"
- path : usr/bin/mysql
source : configs/nsenter_mysql.sh
mode : "0755"
- path : usr/bin/pnsenter
source : configs/nsenter_process.sh
mode : "0755"
2019-01-17 07:37:05 +00:00
- path : etc/mysql/conf.d/max-conn.cnf
contents : |
[ mysqld]
max_connections = 99999
mode : "0444"
2019-01-17 07:46:51 +00:00
- path : etc/dhcp/dhcpd.conf
contents : |
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.23.255;
subnet 192.168.23.0 netmask 255.255.255.0 {
range 192.168.23.10 192.168.23.250;
}
mode : "0440"
2018-01-21 16:03:45 +00:00
- path : etc/iptables/rules.v6
contents : |
*filter
: INPUT DROP [0:0]
: FORWARD DROP [0:0]
: OUTPUT DROP [0:0]
COMMIT
mode : "0440"
- path : etc/iptables/rules-admin.v4
contents : |
*filter
: INPUT DROP [0:0]
: FORWARD DROP [0:0]
: OUTPUT DROP [0:0]
[ 0 : 0 ] -A INPUT -i lo -j ACCEPT
[ 0 : 0 ] -A INPUT -m conntrack --ctstate INVALID -j DROP
[ 0 : 0 ] -A INPUT -p icmp -j ACCEPT
[ 0 : 0 ] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
2018-12-10 01:16:07 +00:00
[ 0 : 0 ] -A INPUT -i eth1 -s 192.168.23.0/24 -p tcp -m conntrack --ctstate NEW -m tcp --dport ssh -j ACCEPT
2018-01-21 16:03:45 +00:00
[ 0 : 0 ] -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 8081 -j ACCEPT
2018-12-10 01:16:07 +00:00
[ 0 : 0 ] -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 8082 -j ACCEPT
2018-01-21 16:03:45 +00:00
[ 0 : 0 ] -A INPUT -i vethin-admin -s 172.17.0.0/24 -p tcp -m conntrack --ctstate NEW -j ACCEPT
[ 0 : 0 ] -A INPUT -j LOG
[ 0 : 0 ] -A FORWARD -j LOG
[ 0 : 0 ] -A OUTPUT -o lo -j ACCEPT
[ 0 : 0 ] -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[ 0 : 0 ] -A OUTPUT -p icmp -j ACCEPT
[ 0 : 0 ] -A OUTPUT -o vethin-admin -d 172.17.0.0/24 -p tcp -m conntrack --ctstate NEW -j ACCEPT
[ 0 : 0 ] -A OUTPUT -j LOG
[ 0 : 0 ] -A OUTPUT -j REJECT
COMMIT
mode : "0440"
- path : etc/iptables/rules-synchro.v4
contents : |
*filter
: INPUT DROP [0:0]
: FORWARD DROP [0:0]
: OUTPUT DROP [0:0]
[ 0 : 0 ] -A INPUT -i lo -j ACCEPT
[ 0 : 0 ] -A INPUT -m conntrack --ctstate INVALID -j DROP
[ 0 : 0 ] -A INPUT -p icmp --icmp-type 8 -j ACCEPT
[ 0 : 0 ] -A INPUT -p icmp --icmp-type 0 -j ACCEPT
[ 0 : 0 ] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[ 0 : 0 ] -A INPUT -j LOG
[ 0 : 0 ] -A FORWARD -j LOG
[ 0 : 0 ] -A OUTPUT -o lo -j ACCEPT
[ 0 : 0 ] -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
[ 0 : 0 ] -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT
[ 0 : 0 ] -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[ 0 : 0 ] -A OUTPUT -o eth0 -d 10.10.10.2 -p tcp -m conntrack --ctstate NEW -m tcp --dport ssh -j ACCEPT
[ 0 : 0 ] -A OUTPUT -j LOG
[ 0 : 0 ] -A OUTPUT -j REJECT
COMMIT
mode : "0440"
2020-01-30 18:03:14 +00:00
- path : etc/dm-crypt/key
source : configs/dm-crypt.key
mode : "0440"
2018-01-21 16:03:45 +00:00
trust :
org :
- linuxkit
- library