forked from ungleich-public/cdist
Merge remote-tracking branch 'telmich/master'
This commit is contained in:
commit
7997551b48
11 changed files with 33 additions and 10 deletions
|
@ -25,7 +25,7 @@ destination="/$__object_id"
|
||||||
|
|
||||||
os=$("$__explorer/os")
|
os=$("$__explorer/os")
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"freebsd"|"openbsd")
|
"freebsd"|"netbsd"|"openbsd")
|
||||||
# FIXME: should be something like this based on man page, but can not test
|
# FIXME: should be something like this based on man page, but can not test
|
||||||
stat -f "type: %ST
|
stat -f "type: %ST
|
||||||
owner: %Du %Su
|
owner: %Du %Su
|
||||||
|
|
|
@ -109,6 +109,12 @@ for param in $(ls "$__object/parameter/"); do
|
||||||
# remove trailing ,
|
# remove trailing ,
|
||||||
printf ' ,"retry_join": [%s]\n' "${retry_join%*,}"
|
printf ' ,"retry_join": [%s]\n' "${retry_join%*,}"
|
||||||
;;
|
;;
|
||||||
|
retry-join-wan)
|
||||||
|
# join multiple parameters into json array over wan
|
||||||
|
retry_join_wan="$(awk '{printf "\""$1"\","}' "$__object/parameter/retry-join-wan")"
|
||||||
|
# remove trailing ,
|
||||||
|
printf ' ,"retry_join_wan": [%s]\n' "${retry_join_wan%*,}"
|
||||||
|
;;
|
||||||
bootstrap-expect)
|
bootstrap-expect)
|
||||||
# integer key=value parameters
|
# integer key=value parameters
|
||||||
key="$(echo "$param" | tr '-' '_')"
|
key="$(echo "$param" | tr '-' '_')"
|
||||||
|
|
|
@ -17,3 +17,4 @@ key-file-source
|
||||||
node-name
|
node-name
|
||||||
user
|
user
|
||||||
state
|
state
|
||||||
|
advertise-wan
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
retry-join
|
retry-join
|
||||||
|
retry-join-wan
|
||||||
|
|
|
@ -25,7 +25,7 @@ destination="/$__object_id"
|
||||||
|
|
||||||
os=$("$__explorer/os")
|
os=$("$__explorer/os")
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"freebsd"|"openbsd")
|
"freebsd"|"netbsd"|"openbsd")
|
||||||
# FIXME: should be something like this based on man page, but can not test
|
# FIXME: should be something like this based on man page, but can not test
|
||||||
stat -f "type: %ST
|
stat -f "type: %ST
|
||||||
owner: %Du %Su
|
owner: %Du %Su
|
||||||
|
|
|
@ -25,7 +25,7 @@ destination="/$__object_id"
|
||||||
|
|
||||||
os=$("$__explorer/os")
|
os=$("$__explorer/os")
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"freebsd"|"openbsd")
|
"freebsd"|"netbsd"|"openbsd")
|
||||||
# FIXME: should be something like this based on man page, but can not test
|
# FIXME: should be something like this based on man page, but can not test
|
||||||
stat -f "type: %ST
|
stat -f "type: %ST
|
||||||
owner: %Du %Su
|
owner: %Du %Su
|
||||||
|
|
|
@ -24,9 +24,11 @@
|
||||||
name=$__object_id
|
name=$__object_id
|
||||||
os="$($__explorer/os)"
|
os="$($__explorer/os)"
|
||||||
|
|
||||||
if [ "$os" = "freebsd" ]; then
|
case "$os" in
|
||||||
echo "FreeBSD does not have getent gshadow"
|
"freebsd"|"netbsd")
|
||||||
|
echo "$os does not have getent gshadow"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
getent gshadow "$name" || true
|
getent gshadow "$name" || true
|
||||||
|
|
|
@ -34,7 +34,7 @@ case "$os" in
|
||||||
__package timezone
|
__package timezone
|
||||||
export require="__package/timezone"
|
export require="__package/timezone"
|
||||||
;;
|
;;
|
||||||
freebsd)
|
freebsd|netbsd)
|
||||||
# whitelist
|
# whitelist
|
||||||
:
|
:
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -20,4 +20,4 @@
|
||||||
|
|
||||||
user="$(cat "$__object/parameter/user" 2>/dev/null || echo "$__object_id")"
|
user="$(cat "$__object/parameter/user" 2>/dev/null || echo "$__object_id")"
|
||||||
|
|
||||||
(id --groups --name "$user" | tr ' ' '\n' | sort) 2>/dev/null || true
|
(id -G -n "$user" | tr ' ' '\n' | sort) 2>/dev/null || true
|
||||||
|
|
|
@ -18,4 +18,11 @@
|
||||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
os="$($__explorer/os)"
|
||||||
|
|
||||||
|
if [ "$os" = "netbsd" ]; then
|
||||||
|
echo netbsd
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
usermod --help | grep -q -- '-A group' && echo true || echo false
|
usermod --help | grep -q -- '-A group' && echo true || echo false
|
||||||
|
|
|
@ -21,8 +21,14 @@
|
||||||
user="$(cat "$__object/parameter/user" 2>/dev/null || echo "$__object_id")"
|
user="$(cat "$__object/parameter/user" 2>/dev/null || echo "$__object_id")"
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
oldusermod="$(cat "$__object/explorer/oldusermod")"
|
oldusermod="$(cat "$__object/explorer/oldusermod")"
|
||||||
|
os=$(cat "$__global/explorer/os")
|
||||||
|
|
||||||
if [ "$oldusermod" = "true" ]; then
|
if [ "$os" = "netbsd" ]; then
|
||||||
|
# NetBSD does not have a command to remove a user from a group
|
||||||
|
oldusermod="true"
|
||||||
|
addparam="-G"
|
||||||
|
delparam=";;#"
|
||||||
|
elif [ "$oldusermod" = "true" ]; then
|
||||||
addparam="-A"
|
addparam="-A"
|
||||||
delparam="-R"
|
delparam="-R"
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue