1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2025-12-14 19:02:45 +03:00

Add support for groups in alpine-config

Only support creating empty groups for now

ref: https://cloudinit.readthedocs.io/en/latest/reference/modules.html#users-and-groups
This commit is contained in:
Natanael Copa 2024-07-31 15:09:34 +02:00
parent b2821a7a69
commit 115dafdfa0
2 changed files with 24 additions and 1 deletions

View File

@ -4,7 +4,7 @@
INIT_ACTIONS_MAIN="$(insert_before create_default_user userdata_user $INIT_ACTIONS_MAIN)"
INIT_ACTIONS_MAIN="$(insert_after set_hostname \
"userdata_bootcmd userdata_write_files userdata_ntp userdata_apk_cache userdata_apk_repositories userdata_package_update userdata_package_upgrade userdata_packages" \
"userdata_bootcmd userdata_groups userdata_write_files userdata_ntp userdata_apk_cache userdata_apk_repositories userdata_package_update userdata_package_upgrade userdata_packages" \
$INIT_ACTIONS_MAIN)"
INIT_ACTIONS_MAIN="$(insert_after set_ssh_keys ssh_authorized_keys $INIT_ACTIONS_MAIN)"
INIT_ACTIONS_FINAL="$INIT_ACTIONS_FINAL userdata_runcmd userdata_autoinstall"
@ -233,6 +233,14 @@ init__userdata_runcmd() {
done
}
init__userdata_groups() {
local groups="$(get_userdata groups)"
for i in $groups; do
local group="$(get_userdata groups/$i)"
$MOCK addgroup $group
done
}
find_biggest_empty_disk() {
local d
for d in "$ROOT"/sys/class/block/*/device; do

View File

@ -16,6 +16,7 @@ init_tests \
userdata_user_missing_name \
userdata_create_default_user \
userdata_ssh_authorized_keys \
userdata_groups \
userdata_bootcmd \
userdata_write_files \
userdata_ntp \
@ -178,6 +179,20 @@ userdata_bootcmd_body() {
tiny-cloud main
}
userdata_groups_body() {
fake_userdata_nocloud <<-EOF
#alpine-config
groups:
- group1
- group2
EOF
atf_check -e ignore -o ignore tiny-cloud early
atf_check \
-e match:"userdata_groups: done" \
-o match:"addgroup group1" -o match:"addgroup group2" \
tiny-cloud main
}
userdata_ntp_body() {
fake_userdata_nocloud <<-EOF
#alpine-config