404 lines
14 KiB
YAML
404 lines
14 KiB
YAML
|
kernel:
|
||
|
image: nemunaire/kernel:4.9.77
|
||
|
cmdline: "console=tty0"
|
||
|
|
||
|
init:
|
||
|
- linuxkit/init:be8756f0a6005279d2409a8790b4dd8b2ac11df9
|
||
|
- linuxkit/runc:7b15b00b4e3507d62e3ed8d44dfe650561cd35ff
|
||
|
- linuxkit/containerd:78706a05d00a7385ff2b6b7db280041338e4b34a
|
||
|
- linuxkit/ca-certificates:de21b84d9b055ad9dcecc57965b654a7a24ef8e0
|
||
|
- linuxkit/getty:22e27189b6b354e1d5d38fc0536a5af3f2adb79f
|
||
|
- nemunaire/mdadm:0ac2a0d3e7be84f1aad852c906d54cbff4d1668f
|
||
|
|
||
|
onboot:
|
||
|
- name: sysctl
|
||
|
image: linuxkit/sysctl:4c1ef93bb5eb1a877318db4b2daa6768ed002e21
|
||
|
|
||
|
# Filesystem
|
||
|
- name: swap
|
||
|
image: linuxkit/swap:b3d5db11b14168874a01b5ea4398186321be836f
|
||
|
command: ["/sbin/swapon", "/dev/sda3", "/dev/sdb3"]
|
||
|
- name: mount
|
||
|
image: linuxkit/mount:b346ec277b7074e5c9986128a879c10a1d18742b
|
||
|
command: ["/usr/bin/mountie", "-device", "/dev/md127", "/var/lib/fic" ]
|
||
|
|
||
|
# Network
|
||
|
# - name: dhcpcd
|
||
|
# image: linuxkit/dhcpcd:0d59a6cc03412289ef4313f2491ec666c1715cc9
|
||
|
# command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"]
|
||
|
# - name: ntp
|
||
|
# image: linuxkit/openntpd:536e5947607c9e6a6771957c2ff817230cba0d3c
|
||
|
- name: nginx-ip-setup
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/sh", "-c", "ip a add 172.17.1.2/24 dev vethin-nginx; ip link set vethin-nginx up;" ]
|
||
|
net: new
|
||
|
runtime:
|
||
|
interfaces:
|
||
|
- name: vethin-nginx
|
||
|
add: veth
|
||
|
peer: veth-nginx
|
||
|
bindNS:
|
||
|
net: /run/netns/nginx
|
||
|
- name: frontal-ip-setup
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/sh", "-c", "ip link set bond-frontal up; ifenslave bond-frontal eth1 eth2 eth3; ip a add 172.23.42.1/24 dev bond-frontal; ip a add 163.5.55.58/32 dev bond-frontal;" ]
|
||
|
net: /run/netns/nginx
|
||
|
runtime:
|
||
|
interfaces:
|
||
|
- name: eth1
|
||
|
- name: eth2
|
||
|
- name: eth3
|
||
|
- name: bond-frontal
|
||
|
add: bond
|
||
|
- name: frontend-ip-setup
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/sh", "-c", "ip a add 172.17.1.3/24 dev vethin-frontend; ip link set vethin-frontend up;" ]
|
||
|
net: new
|
||
|
runtime:
|
||
|
interfaces:
|
||
|
- name: vethin-frontend
|
||
|
add: veth
|
||
|
peer: veth-frontend
|
||
|
bindNS:
|
||
|
net: /run/netns/fic-frontend
|
||
|
- name: sshd-ip-setup
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/sh", "-c", "ip a add 10.10.10.2/29 dev eth0; ip link set eth0 up;" ]
|
||
|
net: new
|
||
|
runtime:
|
||
|
interfaces:
|
||
|
- name: eth0
|
||
|
bindNS:
|
||
|
net: /run/netns/sshd
|
||
|
- name: bridge-setup
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/sh", "-c", "ip a add 172.17.1.1/24 dev br0; ip link set veth-nginx master br0; ip link set veth-frontend master br0; ip link set br0 up; ip link set veth-nginx up; ip link set veth-frontend up;" ]
|
||
|
runtime:
|
||
|
interfaces:
|
||
|
- name: br0
|
||
|
add: bridge
|
||
|
|
||
|
- name: firewall-frontal
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/bash", "-c", "/sbin/iptables-restore < /etc/iptables/rules-frontal.v4; /sbin/ip6tables-restore < /etc/iptables/rules.v6" ]
|
||
|
binds:
|
||
|
- /etc/iptables/rules-frontal.v4:/etc/iptables/rules-frontal.v4:ro
|
||
|
- /etc/iptables/rules.v6:/etc/iptables/rules.v6:ro
|
||
|
net: /run/netns/nginx
|
||
|
- name: firewall-sshd
|
||
|
image: linuxkit/ip:284c21791d8c05c49eccbd8e8cc2fb97bbd61842
|
||
|
command: ["/bin/bash", "-c", "/sbin/iptables-restore < /etc/iptables/rules-sshd.v4; /sbin/ip6tables-restore < /etc/iptables/rules.v6" ]
|
||
|
binds:
|
||
|
- /etc/iptables/rules-sshd.v4:/etc/iptables/rules-sshd.v4:ro
|
||
|
- /etc/iptables/rules.v6:/etc/iptables/rules.v6:ro
|
||
|
net: /run/netns/sshd
|
||
|
|
||
|
services:
|
||
|
- name: rngd
|
||
|
image: linuxkit/rngd:94e01a4b16fadb053455cdc2269c4eb0b39199cd
|
||
|
- name: nginx
|
||
|
image: nginx:alpine
|
||
|
capabilities:
|
||
|
- CAP_NET_BIND_SERVICE
|
||
|
- CAP_CHOWN
|
||
|
- CAP_SETUID
|
||
|
- CAP_SETGID
|
||
|
- CAP_DAC_OVERRIDE
|
||
|
binds:
|
||
|
- /etc/hosts:/etc/hosts:ro
|
||
|
- /etc/resolv.conf:/etc/resolv.conf:ro
|
||
|
- /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
|
||
|
- /etc/nginx/ssl/:/etc/nginx/ssl/:ro
|
||
|
- /etc/nginx/fic-auth.conf:/etc/nginx/fic-auth.conf:ro
|
||
|
- /www/htdocs-frontend:/srv/htdocs-frontend:ro
|
||
|
- /var/lib/fic/files:/srv/FILES:ro
|
||
|
- /var/lib/fic/pki:/srv/PKI:ro
|
||
|
- /var/lib/fic/settings:/srv/SETTINGS:ro
|
||
|
- /var/lib/fic/startingblock:/srv/startingblock:ro
|
||
|
- /var/lib/fic/teams:/srv/TEAMS:ro
|
||
|
net: /run/netns/nginx
|
||
|
pid: new
|
||
|
ipc: new
|
||
|
uts: new
|
||
|
runtime:
|
||
|
mkdir:
|
||
|
- /var/lib/fic/files
|
||
|
- /var/lib/fic/pki
|
||
|
- /var/lib/fic/startingblock
|
||
|
- /var/lib/fic/teams
|
||
|
- name: fic-frontend
|
||
|
image: nemunaire/fic-frontend:latest
|
||
|
command: ["/srv/frontend", "-bind=:8080", "-startedFile=/srv/startingblock/started"]
|
||
|
binds:
|
||
|
- /etc/hosts:/etc/hosts:ro
|
||
|
- /var/lib/fic/files:/srv/FILES:ro
|
||
|
- /var/lib/fic/settings:/srv/SETTINGS:ro
|
||
|
- /var/lib/fic/startingblock:/srv/startingblock
|
||
|
- /var/lib/fic/submissions:/srv/submissions
|
||
|
- /var/lib/fic/teams:/srv/TEAMS:ro
|
||
|
net: /run/netns/fic-frontend
|
||
|
runtime:
|
||
|
mkdir:
|
||
|
- /var/lib/fic/files
|
||
|
- /var/lib/fic/settings
|
||
|
- /var/lib/fic/startingblock
|
||
|
- /var/lib/fic/submissions
|
||
|
- /var/lib/fic/teams
|
||
|
- name: sshd
|
||
|
image: nemunaire/rsync:f66273f042b8a2976fe4af2425943df913b18088
|
||
|
binds:
|
||
|
- /etc/hosts:/etc/hosts:ro
|
||
|
- /root/.ssh/id_synchro.pub:/root/.ssh/authorized_keys:ro
|
||
|
- /var/lib/fic/files:/srv/FILES
|
||
|
- /var/lib/fic/pki:/srv/PKI
|
||
|
- /var/lib/fic/settings:/srv/SETTINGS
|
||
|
- /var/lib/fic/submissions:/srv/submissions
|
||
|
- /var/lib/fic/teams:/srv/TEAMS
|
||
|
net: /run/netns/sshd
|
||
|
pid: new
|
||
|
ipc: new
|
||
|
uts: new
|
||
|
runtime:
|
||
|
mkdir:
|
||
|
- /var/lib/fic/files
|
||
|
- /var/lib/fic/pki
|
||
|
- /var/lib/fic/settings
|
||
|
- /var/lib/fic/submissions
|
||
|
- /var/lib/fic/teams
|
||
|
|
||
|
- 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/nginx
|
||
|
pid: new
|
||
|
ipc: new
|
||
|
uts: new
|
||
|
- name: dns-server
|
||
|
image: sapcc/unbound
|
||
|
binds:
|
||
|
- /etc/unbound/unbound.conf:/etc/unbound/unbound.conf:ro
|
||
|
capabilities:
|
||
|
- CAP_NET_BIND_SERVICE
|
||
|
net: /run/netns/nginx
|
||
|
pid: new
|
||
|
ipc: new
|
||
|
uts: new
|
||
|
|
||
|
|
||
|
files:
|
||
|
- path: etc/nginx/ssl/dhparams-4096.pem
|
||
|
source: configs/dhparams-4096.pem
|
||
|
mode: "0444"
|
||
|
- path: etc/nginx/ssl/fullchain.pem
|
||
|
source: configs/fic.srs.epita.fr/fullchain.pem
|
||
|
mode: "0444"
|
||
|
- path: etc/nginx/ssl/privkey.pem
|
||
|
source: configs/fic.srs.epita.fr/privkey.pem
|
||
|
mode: "0440"
|
||
|
|
||
|
- path: etc/hosts
|
||
|
source: configs/hosts
|
||
|
mode: "0644"
|
||
|
- path: root/.ssh/authorized_keys
|
||
|
source: configs/authorized_keys
|
||
|
mode: "0400"
|
||
|
- path: root/.ssh/id_synchro.pub
|
||
|
source: configs/id_ed25519.pub
|
||
|
mode: "0400"
|
||
|
|
||
|
- path: etc/dhcp/dhcpd.conf
|
||
|
source: configs/dhcpd.conf
|
||
|
mode: "0400"
|
||
|
- path: etc/nginx/conf.d/default.conf
|
||
|
source: configs/nginx-prod.conf
|
||
|
mode: "0400"
|
||
|
- path: etc/nginx/fic-auth.conf
|
||
|
source: configs/fic-auth.conf
|
||
|
mode: "0400"
|
||
|
|
||
|
- path: www/htdocs-frontend
|
||
|
directory: true
|
||
|
mode: "0755"
|
||
|
- path: www/htdocs-frontend/e500.html
|
||
|
source: frontend/static/e500.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/img/srs.png
|
||
|
source: frontend/static/img/srs.png
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/img/fic.png
|
||
|
source: frontend/static/img/fic.png
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/img/logo-epita-bw.png
|
||
|
source: frontend/static/img/logo-epita-bw.png
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/img/epita.png
|
||
|
source: frontend/static/img/epita.png
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/img/rcc.png
|
||
|
source: frontend/static/img/rcc.png
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/favicon.ico
|
||
|
source: frontend/static/favicon.ico
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/e404.html
|
||
|
source: frontend/static/e404.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/css/bootstrap.min.css
|
||
|
source: frontend/static/css/bootstrap.min.css
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/css/fic.css
|
||
|
source: frontend/static/css/fic.css
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/css/glyphicon.css
|
||
|
source: frontend/static/css/glyphicon.css
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/i18n/angular-locale_fr-fr.js
|
||
|
source: frontend/static/js/i18n/angular-locale_fr-fr.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/angular-sanitize.min.js
|
||
|
source: frontend/static/js/angular-sanitize.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/d3.v3.min.js
|
||
|
source: frontend/static/js/d3.v3.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/common.js
|
||
|
source: frontend/static/js/common.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/angular.min.js
|
||
|
source: frontend/static/js/angular.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/challenge.js
|
||
|
source: frontend/static/js/challenge.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/public.js
|
||
|
source: frontend/static/js/public.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/bootstrap.min.js
|
||
|
source: frontend/static/js/bootstrap.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/popper.min.js
|
||
|
source: frontend/static/js/popper.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/jquery.min.js
|
||
|
source: frontend/static/js/jquery.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/angular-animate.min.js
|
||
|
source: frontend/static/js/angular-animate.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/js/angular-route.min.js
|
||
|
source: frontend/static/js/angular-route.min.js
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/e413.html
|
||
|
source: frontend/static/e413.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/fonts/glyphicons-halflings-regular.woff2
|
||
|
source: frontend/static/fonts/glyphicons-halflings-regular.woff2
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/fonts/glyphicons-halflings-regular.woff
|
||
|
source: frontend/static/fonts/glyphicons-halflings-regular.woff
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/fonts/glyphicons-halflings-regular.eot
|
||
|
source: frontend/static/fonts/glyphicons-halflings-regular.eot
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/fonts/glyphicons-halflings-regular.ttf
|
||
|
source: frontend/static/fonts/glyphicons-halflings-regular.ttf
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/fonts/glyphicons-halflings-regular.svg
|
||
|
source: frontend/static/fonts/glyphicons-halflings-regular.svg
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/welcome.html
|
||
|
source: frontend/static/welcome.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/public.html
|
||
|
source: frontend/static/public.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/index.html
|
||
|
source: frontend/static/index.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/videos.html
|
||
|
source: frontend/static/views/videos.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/home.html
|
||
|
source: frontend/static/views/home.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/theme.html
|
||
|
source: frontend/static/views/theme.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/rank.html
|
||
|
source: frontend/static/views/rank.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/register.html
|
||
|
source: frontend/static/views/register.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/rules.html
|
||
|
source: frontend/static/views/rules.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/views/team-edit.html
|
||
|
source: frontend/static/views/team-edit.html
|
||
|
mode: "0644"
|
||
|
- path: www/htdocs-frontend/robots.txt
|
||
|
source: frontend/static/robots.txt
|
||
|
mode: "0644"
|
||
|
|
||
|
- 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-sshd.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
|
||
|
[0:0] -A INPUT -i eth0 -s 10.10.10.0/29 -p tcp -m conntrack --ctstate NEW -m tcp --dport ssh -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 -j LOG
|
||
|
[0:0] -A OUTPUT -j REJECT
|
||
|
COMMIT
|
||
|
mode: "0440"
|
||
|
- path: etc/iptables/rules-frontal.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 -i bond-frontal -p tcp -m conntrack --ctstate NEW -m tcp --dport http -j ACCEPT
|
||
|
[0:0] -A INPUT -i bond-frontal -p tcp -m conntrack --ctstate NEW -m tcp --dport https -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 -i vethin-nginx -d 172.17.1.3 -p tcp -m conntrack --ctstate NEW -m tcp --dport 8080 -j ACCEPT
|
||
|
[0:0] -A OUTPUT -j LOG
|
||
|
[0:0] -A OUTPUT -j REJECT
|
||
|
COMMIT
|
||
|
mode: "0440"
|
||
|
|
||
|
trust:
|
||
|
org:
|
||
|
- linuxkit
|
||
|
- library
|