diff options
Diffstat (limited to 'debian/postinst')
-rw-r--r-- | debian/postinst | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..35578ed --- /dev/null +++ b/debian/postinst @@ -0,0 +1,56 @@ +#!/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 <http://www.gnu.org/licenses/>. + +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 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# |