mrrl-containers

MRRL version of container scripts
git clone https://ccx.te2000.cz/git/mrrl-containers
Log | Files | Refs

commit e8af5d63401b99305286f0f00385b0b5c35bd109
parent c7af951991848a44838cfda01f30da335c8ab69c
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date:   Sat, 16 Jan 2021 00:38:59 +0100

Abstract out container name, use correct one for xsession.

Diffstat:
Mzsh-functions/confz_containers_init | 39+++++++++++++++++++++------------------
1 file changed, 21 insertions(+), 18 deletions(-)

diff --git a/zsh-functions/confz_containers_init b/zsh-functions/confz_containers_init @@ -92,10 +92,12 @@ confz_container_service_preset_check() { } confz_container_service_generic_check() { - local uid gid container_user_dir svc_dir + local uid gid container_user_dir svc_dir container local -a fstab checkvars containers_dir svscan_dir image_name user defvar fstab_extra '' + defvar container_name "$vars[image_name]" + container=$vars[container_name] uid="${${(s.:.)"$(getent passwd ccx)"}[3]}" \ gid="${${(s.:.)"$(getent group ccx)"}[3]}" \ @@ -104,7 +106,7 @@ confz_container_service_generic_check() { require fs_m filename=$vars[containers_dir]/user/$vars[user] mode=751 require fs_o filename=$vars[containers_dir]/user/$vars[user] owner=0:$gid - container_user_dir=$vars[containers_dir]/user/$vars[user]/$vars[image_name] + container_user_dir=$vars[containers_dir]/user/$vars[user]/$container require fs_d filename=$container_user_dir require fs_m filename=$container_user_dir mode=751 require fs_o filename=$container_user_dir owner=0:$gid @@ -124,19 +126,19 @@ confz_container_service_generic_check() { require fs_m filename=$vars[containers_dir]/home/$vars[user] mode=751 require fs_o filename=$vars[containers_dir]/home/$vars[user] owner=0:$gid - require fs_l filename=$vars[containers_dir]/home/$vars[user]/$vars[image_name] \ - destination=../../user/$vars[user]/$vars[image_name]/home/$vars[user] + require fs_l filename=$vars[containers_dir]/home/$vars[user]/$container \ + destination=../../user/$vars[user]/$container/home/$vars[user] fstab=( $vars[containers_dir]/$vars[image_name]$'\t'$container_user_dir/root$'\tnone\tbind,ro,nosuid,nodev\t0 0' $container_user_dir/home$'\t'$container_user_dir/root/home$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0' "${(f@)vars[fstab_extra]}" ) - svc_dir=$vars[svscan_dir]/container.$vars[image_name].$vars[user] + svc_dir=$vars[svscan_dir]/container.$container.$vars[user] require container_service_preset preset=generic \ svc_dir=$svc_dir control_user=$uid control_group=$gid \ root_link=$container_user_dir/root \ @@ -145,14 +147,15 @@ confz_container_service_generic_check() { 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] + content=$container } confz_container_service_xsession_check() { - local uid gid container_user_dir svc_dir + local uid gid container_user_dir svc_dir container local -a fstab checkvars containers_dir svscan_dir image_name user display_number defvar fstab_extra '' + container=xsession.$vars[display_number] uid="${${(s.:.)"$(getent passwd ccx)"}[3]}" \ gid="${${(s.:.)"$(getent group ccx)"}[3]}" \ @@ -161,7 +164,7 @@ confz_container_service_xsession_check() { require fs_m filename=$vars[containers_dir]/user/$vars[user] mode=751 require fs_o filename=$vars[containers_dir]/user/$vars[user] owner=0:$gid - container_user_dir=$vars[containers_dir]/user/$vars[user]/$vars[image_name] + container_user_dir=$vars[containers_dir]/user/$vars[user]/$container require fs_d filename=$container_user_dir require fs_m filename=$container_user_dir mode=751 require fs_o filename=$container_user_dir owner=0:$gid @@ -174,15 +177,15 @@ confz_container_service_xsession_check() { require fs_m filename=$vars[containers_dir]/home/$vars[user] mode=751 require fs_o filename=$vars[containers_dir]/home/$vars[user] owner=0:$gid - require fs_l filename=$vars[containers_dir]/home/$vars[user]/$vars[image_name] \ - destination=../../user/$vars[user]/$vars[image_name]/root/home/$vars[user] + require fs_l filename=$vars[containers_dir]/home/$vars[user]/$container \ + destination=../../user/$vars[user]/$container/root/home/$vars[user] fstab=( $vars[containers_dir]/$vars[image_name]$'\t'$container_user_dir/root$'\tnone\tbind,ro,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/home$'\t'$container_user_dir/root/home$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0' - /run/containers/$vars[image_name].$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/home$'\t'$container_user_dir/root/home$'\tnone\tbind,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/run$'\t'$container_user_dir/root/run$'\tnone\tbind,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/tmp$'\t'$container_user_dir/root/tmp$'\tnone\tbind,nosuid,nodev\t0 0' + /run/containers/$container.$vars[user]/inbox$'\t'$container_user_dir/root/.inbox$'\tnone\tbind,ro,nosuid,nodev\t0 0' "${(f@)vars[fstab_extra]}" ) @@ -195,7 +198,7 @@ confz_container_service_xsession_check() { require fs_contentnl filename=$svc_dir/env/CONTAINER_USER \ content=$vars[user] require fs_contentnl filename=$svc_dir/env/CONTAINER_NAME \ - content=xsession.$vars[display_number] + content=$container_name } # --- old