#!/bin/sh # Copyright 2017-2018 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . set -eu create_user() { local name="$1" local home="$2" local logdir="$3" addgroup --force "$name" || true adduser --disabled-login --disabled-password \ --gecos "Ick CI" --home "$home" \ --shell /bin/true --force \ --ingroup "$name" \ "$name" || true install -d -m 0755 -o "$name" -g "$name" "$logdir" } # Create a group and user for ick users create_user _ick /var/lib/ick /var/log/ick create_user _ickwm /var/lib/ick/wm /var/log/ickwm create_user _ickas /var/lib/ick/blobs /var/log/ickas create_user _ickns /var/lib/ick/blobs /var/log/ickns # Create controller config dir. install -d -m 0755 -o root -g root /etc/ick # Create controller state dir install -d -m 0755 -o _ick -g _ick /var/lib/ick/state # Create worker-manager workspace install -d -m 0755 -o _ickwm -g _ickwm /var/lib/ick/workspace # Create worker-manager systree install -d -m 0755 -o _ickwm -g _ickwm /var/lib/ick/systree # Create artifact store storage install -d -m 0755 -o _ickas -g _ickas /var/lib/ick/blobs #DEBHELPER#