commit 23ceb1a23b8ed0b7c9142a09cd7edf713d234c1a
parent 0a4e33d0450066e1d7d7683e85aec86c81fdc042
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date: Fri, 15 Jan 2021 18:43:24 +0100
Use fs_contentnl
Diffstat:
1 file changed, 14 insertions(+), 89 deletions(-)
diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init
@@ -50,8 +50,8 @@ confz_container_service_check() {
require fs_l filename=$vars[svc_dir]/data/root \
destination=$vars[root_link]
- require fs_c filename=$vars[svc_dir]/data/fstab \
- content_call="printf '%s\n' ${(Q)vars[fstab]}"
+ require fs_contentnl filename=$vars[svc_dir]/data/fstab \
+ content=$vars[fstab]
require fs_m filename=$vars[svc_dir]/data/fstab mode=644
require fs_l filename=$vars[svc_dir]/run \
@@ -142,10 +142,10 @@ confz_container_service_generic_check() {
root_link=$container_user_dir/root \
fstab=${(F)fstab} \?down
require fs_d filename=$svc_dir/env
- require fs_c filename=$svc_dir/env/CONTAINER_USER \
- content_call="printf '%s\n' "${(q)vars[user]}
- require fs_c filename=$svc_dir/env/CONTAINER_NAME \
- content_call="printf '%s\n' "${(q)vars[image_name]}
+ require fs_contentnl filename=$svc_dir/env/CONTAINER_USER \
+ content=$vars[user]
+ require fs_contentnl filename=$svc_dir/env/CONTAINER_NAME \
+ content=$vars[image_name]
}
confz_container_service_xsession_check() {
@@ -192,10 +192,10 @@ confz_container_service_xsession_check() {
root_link=$container_user_dir/root \
fstab=${(F)fstab} \?down
require fs_d filename=$svc_dir/env
- require fs_c filename=$svc_dir/env/CONTAINER_USER \
- content_call="printf '%s\n' "${(q)vars[user]}
- require fs_c filename=$svc_dir/env/CONTAINER_NAME \
- content_call="printf '%s\n' "${(q)HOST}
+ require fs_contentnl filename=$svc_dir/env/CONTAINER_USER \
+ content=$vars[user]
+ require fs_contentnl filename=$svc_dir/env/CONTAINER_NAME \
+ content=$HOST
}
# --- old
@@ -224,10 +224,10 @@ confz_container_alpine_configured_check() {
# repos=( $=vars[repositories] )
require fs_d flags=p filename=$R/etc/apk
- require fs_c flags= filename=$R/etc/apk/repositories \
- content_call="printf '%s\n' "$vars[repositories]
- require fs_c flags= filename=$R/etc/apk/arch \
- content_call="printf '%s\n' "$vars[arch]
+ require fs_contentnl filename=$R/etc/apk/repositories \
+ content=$vars[repositories]
+ require fs_contentnl filename=$R/etc/apk/arch \
+ content=$vars[arch]
}
confz_container_alpine_base_check() {
@@ -262,78 +262,3 @@ confz_container_alpine_package_check() {
)
grep -q '^'$vars[package]'$' $vars[container_root]/etc/apk/world
}
-
-containers_fstab_gen(){
- printf '%\n' \
- "overlay $2/union overlay nosuid,nodev,lowerdir=$1,upperdir=$2/changes,workdir=$2/work 0 0" \
- "run_tmpfs $2/union/run tmpfs rw,nosuid,nodev,mode=755,uid=1000 0 0"
-}
-
-confz_container_user_setup_check() {
- checkvars container_name containers_dir user
- defvar container_root $vars[containers_dir]/$vars[container_name]
- defvar nameserver 127.0.0.1
-
- local D=$vars[containers_dir]/user/$vars[user]/$vars[container_name]
- local S=$vars[containers_dir]/service/$vars[container_name]
- local uid=$(awk </etc/passwd -F: -v USER=ccx '$1 == USER {print $3}')
-
- [[ "$uid" =~ '[0-9]+' ]] || die "Could not get uid for ${(qqq)uid}"
-
- require fs_d flags= filename=$vars[containers_dir]/user
- require fs_d flags= filename=$vars[containers_dir]/user/$vars[user]
- require fs_d flags= filename=$D
- require fs_d flags= filename=$D/changes
- require fs_d flags= filename=$D/union
- require fs_d flags= filename=$D/work
- require fs_c flags= filename=$D/fstab \
- content_call="containers_fstab_gen ${(qqq)vars[container_root]} ${(qqq)D}"
- require fs_d flags= filename=$D/changes/dev
- require fs_d flags= filename=$D/changes/dev/shm
- require fs_d flags= filename=$D/changes/dev/pts
- require fs_d flags= filename=$D/changes/etc
- # TODO: $U/changes/etc/passwd
- require fs_c flags= filename=$D/changes/etc/resolv.conf \
- content_call="printf '%\n' $vars[nameserver]"
- require fs_d flags= filename=$D/changes/home
- require fs_d flags= filename=$D/changes/home/$vars[user]
- require fs_o owner=$uid filename=$D/changes/home/$vars[user]
-
- require fs_d flags= filename=$vars[containers_dir]/home
- require fs_d flags= filename=$vars[containers_dir]/home/$vars[user]
- require fs_l flags= \
- filename=$vars[containers_dir]/home/$vars[user]/$vars[container_name] \
- destination=../../user/$vars[user]/$vars[container_name]/union/home/$vars[user]
-
- require fs_d flags= filename=$vars[containers_dir]/service
-
-#$S d o0:0 m755
- require fs_d flags= filename=$S
-#$S/event d o0:100 m3730
- require fs_d flags= filename=$S/event
-#$S/clone-newpid cN o0:0 m644
- require fs_c flags= filename=$S/clone-newpid \
- content_call=true
-
-#$S/down cN o0:0 m644
- require fs_c flags= filename=$S/down \
- content_call=true
-
-#$S/run o0:0 m755
- require fs_c flags= filename=$S/run \
- content_call="container_svc_run $uid:100 ${(q)D}"
-
-#$S/finish o0:0 m755
- require fs_c flags= filename=$S/finish \
- content_call="container_svc_finish ${(q)D}"
-
-#$S/supervise d o0:0 m755
- require fs_d flags= filename=$S/supervise
-#$S/supervise/control p o1000:0 m600
-#$S/supervise/death_tally cN o0:0 m644
-#$S/supervise/lock cN o1000:0m644
-#$S/supervise/status B QAAAAF6FoQIIEY80QAAAAF6FoQIIEY80AAAAAAAAAAAAABQ=
-#o0:0 m644
-
-
-}