mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-15 11:22:43 +03:00
Move create_default_user to main phase
This commit is contained in:
parent
a042bf8cf1
commit
b4776260db
@ -46,6 +46,18 @@ replace_word() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# usage: insert_after <where> <what> <list>...
|
||||||
|
insert_before() {
|
||||||
|
local search="$1" addition="$2"
|
||||||
|
shift 2
|
||||||
|
for i in "$@"; do
|
||||||
|
if [ "$i" = "$search" ]; then
|
||||||
|
echo "$addition"
|
||||||
|
fi
|
||||||
|
echo "$i"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# usage: insert_after <where> <what> <list>...
|
# usage: insert_after <where> <what> <list>...
|
||||||
insert_after() {
|
insert_after() {
|
||||||
local search="$1" addition="$2"
|
local search="$1" addition="$2"
|
||||||
|
|||||||
@ -15,13 +15,13 @@ DEFAULT_ACTIONS_BOOT="
|
|||||||
expand_root
|
expand_root
|
||||||
install_hotplugs
|
install_hotplugs
|
||||||
set_default_interfaces
|
set_default_interfaces
|
||||||
create_default_user
|
|
||||||
enable_sshd
|
enable_sshd
|
||||||
"
|
"
|
||||||
DEFAULT_ACTIONS_EARLY="
|
DEFAULT_ACTIONS_EARLY="
|
||||||
save_userdata
|
save_userdata
|
||||||
"
|
"
|
||||||
DEFAULT_ACTIONS_MAIN="
|
DEFAULT_ACTIONS_MAIN="
|
||||||
|
create_default_user
|
||||||
set_hostname
|
set_hostname
|
||||||
set_ssh_keys
|
set_ssh_keys
|
||||||
"
|
"
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
# vim:set ft=sh:
|
# vim:set ft=sh:
|
||||||
# shellcheck shell=sh
|
# shellcheck shell=sh
|
||||||
|
|
||||||
|
INIT_ACTIONS_MAIN="$(insert_before create_default_user userdata_user $INIT_ACTIONS_MAIN)"
|
||||||
INIT_ACTIONS_MAIN="$(insert_after set_hostname \
|
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_write_files userdata_ntp userdata_apk_cache userdata_apk_repositories userdata_package_update userdata_package_upgrade userdata_packages" \
|
||||||
$INIT_ACTIONS_MAIN)"
|
$INIT_ACTIONS_MAIN)"
|
||||||
@ -13,6 +14,18 @@ get_userdata() {
|
|||||||
unset IFS
|
unset IFS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init__userdata_user() {
|
||||||
|
local name="$(get_userdata user/name)"
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
name="$(get_userdata user)"
|
||||||
|
if [ -n "$(get_userdata user/$name)" ]; then
|
||||||
|
log -s err "user/name is required"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
CLOUD_USER="${name:-$CLOUD_USER}"
|
||||||
|
}
|
||||||
|
|
||||||
init__userdata_bootcmd() {
|
init__userdata_bootcmd() {
|
||||||
# run bootcmd
|
# run bootcmd
|
||||||
local bootcmds="$(get_userdata bootcmd)"
|
local bootcmds="$(get_userdata bootcmd)"
|
||||||
|
|||||||
@ -12,6 +12,9 @@ lib="$srcdir"/lib/tiny-cloud/cloud/alpine/init
|
|||||||
init_tests \
|
init_tests \
|
||||||
set_network_config_network_interfaces \
|
set_network_config_network_interfaces \
|
||||||
set_network_config_auto \
|
set_network_config_auto \
|
||||||
|
userdata_user_name \
|
||||||
|
userdata_user_missing_name \
|
||||||
|
userdata_create_default_user \
|
||||||
userdata_bootcmd \
|
userdata_bootcmd \
|
||||||
userdata_write_files \
|
userdata_write_files \
|
||||||
userdata_ntp \
|
userdata_ntp \
|
||||||
@ -82,6 +85,43 @@ set_network_config_auto_body() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userdata_user_name_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
user:
|
||||||
|
name: joeuser
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o match:"adduser.*joeuser" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
|
userdata_user_missing_name_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
user:
|
||||||
|
gecos: Foo B. Baz
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o not-match:"adduser.*gecos" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
|
userdata_create_default_user_body() {
|
||||||
|
fake_userdata_nocloud <<-EOF
|
||||||
|
#alpine-config
|
||||||
|
EOF
|
||||||
|
atf_check -e ignore -o ignore tiny-cloud early
|
||||||
|
atf_check \
|
||||||
|
-e match:"create_default_user: done" \
|
||||||
|
-o match:"adduser.*alpine" \
|
||||||
|
tiny-cloud main
|
||||||
|
}
|
||||||
|
|
||||||
userdata_bootcmd_body() {
|
userdata_bootcmd_body() {
|
||||||
fake_userdata_nocloud <<-EOF
|
fake_userdata_nocloud <<-EOF
|
||||||
#alpine-config
|
#alpine-config
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user