forked from ungleich-public/cdist
shellcheck
This commit is contained in:
parent
e551348cd7
commit
b371c42d53
108 changed files with 248 additions and 265 deletions
|
@ -25,13 +25,13 @@
|
||||||
os=$("$__explorer/os")
|
os=$("$__explorer/os")
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"macosx")
|
"macosx")
|
||||||
echo "$(sysctl -n hw.physicalcpu)"
|
sysctl -n hw.physicalcpu
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
if [ -r /proc/cpuinfo ]; then
|
if [ -r /proc/cpuinfo ]; then
|
||||||
cores="$(grep "core id" /proc/cpuinfo | sort | uniq | wc -l)"
|
cores="$(grep "core id" /proc/cpuinfo | sort | uniq | wc -l)"
|
||||||
if [ ${cores} -eq 0 ]; then
|
if [ "${cores}" -eq 0 ]; then
|
||||||
cores="1"
|
cores="1"
|
||||||
fi
|
fi
|
||||||
echo "$cores"
|
echo "$cores"
|
||||||
|
|
|
@ -25,14 +25,14 @@
|
||||||
os=$("$__explorer/os")
|
os=$("$__explorer/os")
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"macosx")
|
"macosx")
|
||||||
echo "$(system_profiler SPHardwareDataType | grep "Number of Processors" | awk -F': ' '{print $2}')"
|
system_profiler SPHardwareDataType | grep "Number of Processors" | awk -F': ' '{print $2}'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
if [ -r /proc/cpuinfo ]; then
|
if [ -r /proc/cpuinfo ]; then
|
||||||
sockets="$(grep "physical id" /proc/cpuinfo | sort | uniq | wc -l)"
|
sockets="$(grep "physical id" /proc/cpuinfo | sort | uniq | wc -l)"
|
||||||
if [ ${sockets} -eq 0 ]; then
|
if [ "${sockets}" -eq 0 ]; then
|
||||||
sockets="$(cat /proc/cpuinfo | grep "processor" | wc -l)"
|
sockets="$(grep -c "processor" /proc/cpuinfo)"
|
||||||
fi
|
fi
|
||||||
echo "${sockets}"
|
echo "${sockets}"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
cd /dev
|
cd /dev || exit 0
|
||||||
echo sd? hd? vd?
|
echo sd? hd? vd?
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
case "$($__explorer/os)" in
|
case "$("${__explorer}"/os)" in
|
||||||
openwrt)
|
openwrt)
|
||||||
(. /etc/openwrt_release && echo "$DISTRIB_CODENAME")
|
(. /etc/openwrt_release && echo "$DISTRIB_CODENAME")
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
case "$($__explorer/os)" in
|
case "$("${__explorer}"/os)" in
|
||||||
openwrt)
|
openwrt)
|
||||||
(. /etc/openwrt_release && echo "$DISTRIB_DESCRIPTION")
|
(. /etc/openwrt_release && echo "$DISTRIB_DESCRIPTION")
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
case "$($__explorer/os)" in
|
case "$("${__explorer}"/os)" in
|
||||||
openwrt)
|
openwrt)
|
||||||
(. /etc/openwrt_release && echo "$DISTRIB_ID")
|
(. /etc/openwrt_release && echo "$DISTRIB_ID")
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
case "$($__explorer/os)" in
|
case "$("${__explorer}"/os)" in
|
||||||
openwrt)
|
openwrt)
|
||||||
(. /etc/openwrt_release && echo "$DISTRIB_RELEASE")
|
(. /etc/openwrt_release && echo "$DISTRIB_RELEASE")
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -22,6 +22,6 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
if command -v uname 2>&1 >/dev/null; then
|
if command -v uname > /dev/null 2>&1; then
|
||||||
uname -m
|
uname -m
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -22,13 +22,13 @@
|
||||||
|
|
||||||
# FIXME: other system types (not linux ...)
|
# FIXME: other system types (not linux ...)
|
||||||
|
|
||||||
if [ -d "/proc/vz" -a ! -d "/proc/bc" ]; then
|
if [ -d "/proc/vz" ] && [ ! -d "/proc/bc" ]; then
|
||||||
echo openvz
|
echo openvz
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e "/proc/1/environ" ] &&
|
if [ -e "/proc/1/environ" ] &&
|
||||||
cat "/proc/1/environ" | tr '\000' '\n' | grep -Eiq '^container='; then
|
tr '\000' '\n' < "/proc/1/environ" | grep -Eiq '^container='; then
|
||||||
echo lxc
|
echo lxc
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
case "$($__explorer/os)" in
|
case "$("${__explorer}"/os)" in
|
||||||
amazon)
|
amazon)
|
||||||
cat /etc/system-release
|
cat /etc/system-release
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -29,9 +29,9 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo add-apt-repository \"$name\"
|
echo add-apt-repository \""$name"\"
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo remove-apt-repository \"$name\"
|
echo remove-apt-repository \""$name"\"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
file="$(cat "$__object/parameter/file" 2>/dev/null || echo "/$__object_id")"
|
# file="$(cat "$__object/parameter/file" 2>/dev/null || echo "/$__object_id")"
|
||||||
prefix=$(cat "$__object/parameter/prefix" 2>/dev/null || echo "#cdist:__block/$__object_id")
|
prefix=$(cat "$__object/parameter/prefix" 2>/dev/null || echo "#cdist:__block/$__object_id")
|
||||||
suffix=$(cat "$__object/parameter/suffix" 2>/dev/null || echo "#/cdist:__block/$__object_id")
|
suffix=$(cat "$__object/parameter/suffix" 2>/dev/null || echo "#/cdist:__block/$__object_id")
|
||||||
text=$(cat "$__object/parameter/text")
|
text=$(cat "$__object/parameter/text")
|
||||||
|
|
|
@ -42,21 +42,20 @@ get_current_value() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_group() {
|
set_group() {
|
||||||
echo chgrp \"$1\" \"$destination\"
|
echo chgrp \""$1"\" \""$destination"\"
|
||||||
echo chgrp $1 >> "$__messages_out"
|
echo chgrp "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_owner() {
|
set_owner() {
|
||||||
echo chown \"$1\" \"$destination\"
|
echo chown \""$1"\" \""$destination"\"
|
||||||
echo chown $1 >> "$__messages_out"
|
echo chown "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_mode() {
|
set_mode() {
|
||||||
echo chmod \"$1\" \"$destination\"
|
echo chmod \""$1"\" \""$destination"\"
|
||||||
echo chmod $1 >> "$__messages_out"
|
echo chmod "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_attributes=
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present|exists)
|
present|exists)
|
||||||
# Note: Mode - needs to happen last as a chown/chgrp can alter mode by
|
# Note: Mode - needs to happen last as a chown/chgrp can alter mode by
|
||||||
|
@ -67,11 +66,11 @@ case "$state_should" in
|
||||||
|
|
||||||
# change 0xxx format to xxx format => same as stat returns
|
# change 0xxx format to xxx format => same as stat returns
|
||||||
if [ "$attribute" = mode ]; then
|
if [ "$attribute" = mode ]; then
|
||||||
value_should="$(echo $value_should | sed 's/^0\(...\)/\1/')"
|
value_should="$(echo "$value_should" | sed 's/^0\(...\)/\1/')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
value_is="$(get_current_value "$attribute" "$value_should")"
|
value_is="$(get_current_value "$attribute" "$value_should")"
|
||||||
if [ -f "$__object/files/set-attributes" -o "$value_should" != "$value_is" ]; then
|
if [ -f "$__object/files/set-attributes" ] || [ "$value_should" != "$value_is" ]; then
|
||||||
"set_$attribute" "$value_should"
|
"set_$attribute" "$value_should"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -81,7 +80,7 @@ case "$state_should" in
|
||||||
|
|
||||||
absent)
|
absent)
|
||||||
if [ "$type" = "file" ]; then
|
if [ "$type" = "file" ]; then
|
||||||
echo rm -f \"$destination\"
|
echo rm -f \""$destination"\"
|
||||||
echo remove >> "$__messages_out"
|
echo remove >> "$__messages_out"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -22,7 +22,7 @@ name="$__object_id"
|
||||||
state="$(cat "$__object/parameter/state")"
|
state="$(cat "$__object/parameter/state")"
|
||||||
source="$(cat "$__object/parameter/source")"
|
source="$(cat "$__object/parameter/source")"
|
||||||
destination="$(cat "$__object/parameter/destination")"
|
destination="$(cat "$__object/parameter/destination")"
|
||||||
ccollectconf="$(cat "$__object/parameter/ccollectconf" | sed 's,/$,,')"
|
ccollectconf="$(sed 's,/$,,' "$__object/parameter/ccollectconf")"
|
||||||
|
|
||||||
sourcedir="$ccollectconf/sources"
|
sourcedir="$ccollectconf/sources"
|
||||||
basedir="$sourcedir/$name"
|
basedir="$sourcedir/$name"
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
set -- "/${__object_id}"
|
set -- "/${__object_id}"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
source)
|
source)
|
||||||
source="$(cat "$__object/parameter/source")"
|
source="$(cat "$__object/parameter/source")"
|
||||||
|
|
|
@ -66,7 +66,7 @@ require="__directory/etc/consul" \
|
||||||
__directory "$conf_dir" \
|
__directory "$conf_dir" \
|
||||||
--owner root --group "$group" --mode 750 --state "$state"
|
--owner root --group "$group" --mode 750 --state "$state"
|
||||||
|
|
||||||
if [ -f "$__object/parameter/ca-file-source" -o -f "$__object/parameter/cert-file-source" -o -f "$__object/parameter/key-file-source" ]; then
|
if [ -f "$__object/parameter/ca-file-source" ] || [ -f "$__object/parameter/cert-file-source" ] || [ -f "$__object/parameter/key-file-source" ]; then
|
||||||
# create directory for ssl certs
|
# create directory for ssl certs
|
||||||
require="__directory/etc/consul" \
|
require="__directory/etc/consul" \
|
||||||
__directory /etc/consul/ssl \
|
__directory /etc/consul/ssl \
|
||||||
|
@ -84,7 +84,7 @@ echo "{"
|
||||||
# parameters we define ourself
|
# parameters we define ourself
|
||||||
printf ' "data_dir": "%s"\n' "$data_dir"
|
printf ' "data_dir": "%s"\n' "$data_dir"
|
||||||
|
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state|user|group|json-config) continue ;;
|
state|user|group|json-config) continue ;;
|
||||||
ca-file-source|cert-file-source|key-file-source)
|
ca-file-source|cert-file-source|key-file-source)
|
||||||
|
|
|
@ -40,7 +40,7 @@ if [ ! -f "$__object/parameter/interval" ]; then
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if [ -f "$__object/parameter/docker-container-id" -a ! -f "$__object/parameter/script" ]; then
|
if [ -f "$__object/parameter/docker-container-id" ] && [ ! -f "$__object/parameter/script" ]; then
|
||||||
echo "When using --docker-container-id you must also define --script." >&2
|
echo "When using --docker-container-id you must also define --script." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -50,7 +50,7 @@ fi
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "check": {\n'
|
printf ' "check": {\n'
|
||||||
printf ' "name": "%s"\n' "$name"
|
printf ' "name": "%s"\n' "$name"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state|name) continue ;;
|
state|name) continue ;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -24,15 +24,15 @@ conf_file="service_${name}.json"
|
||||||
state="$(cat "$__object/parameter/state")"
|
state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
# Sanity checks
|
# Sanity checks
|
||||||
if [ -f "$__object/parameter/check-script" -a -f "$__object/parameter/check-ttl" ]; then
|
if [ -f "$__object/parameter/check-script" ] && [ -f "$__object/parameter/check-ttl" ]; then
|
||||||
echo "Use either --check-script together with --check-interval OR --check-ttl, but not both" >&2
|
echo "Use either --check-script together with --check-interval OR --check-ttl, but not both" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ -f "$__object/parameter/check-script" -a ! -f "$__object/parameter/check-interval" ]; then
|
if [ -f "$__object/parameter/check-script" ] && [ ! -f "$__object/parameter/check-interval" ]; then
|
||||||
echo "When using --check-script you must also define --check-interval" >&2
|
echo "When using --check-script you must also define --check-interval" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ -f "$__object/parameter/check-http" -a ! -f "$__object/parameter/check-interval" ]; then
|
if [ -f "$__object/parameter/check-http" ] && [ ! -f "$__object/parameter/check-interval" ]; then
|
||||||
echo "When using --check-http you must also define --check-interval" >&2
|
echo "When using --check-http you must also define --check-interval" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -42,7 +42,7 @@ fi
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "service": {\n'
|
printf ' "service": {\n'
|
||||||
printf ' "name": "%s"\n' "$name"
|
printf ' "name": "%s"\n' "$name"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state|name|check-interval) continue ;;
|
state|name|check-interval) continue ;;
|
||||||
check-script)
|
check-script)
|
||||||
|
|
|
@ -75,7 +75,7 @@ require="__directory/etc/consul-template" \
|
||||||
|
|
||||||
# Generate hcl config file
|
# Generate hcl config file
|
||||||
(
|
(
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
auth-password|state|ssl-*|syslog-*|version|vault-token|vault-ssl*) continue ;;
|
auth-password|state|ssl-*|syslog-*|version|vault-token|vault-ssl*) continue ;;
|
||||||
auth-username)
|
auth-username)
|
||||||
|
|
|
@ -26,11 +26,11 @@ template_dir="/etc/consul-template/template"
|
||||||
require=""
|
require=""
|
||||||
|
|
||||||
# Sanity checks
|
# Sanity checks
|
||||||
if [ -f "$__object/parameter/source" -a -f "$__object/parameter/source-file" ]; then
|
if [ -f "$__object/parameter/source" ] && [ -f "$__object/parameter/source-file" ]; then
|
||||||
echo "Use either --source OR --source-file, but not both." >&2
|
echo "Use either --source OR --source-file, but not both." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [ ! -f "$__object/parameter/source" -a ! -f "$__object/parameter/source-file" ]; then
|
if [ ! -f "$__object/parameter/source" ] && [ ! -f "$__object/parameter/source-file" ]; then
|
||||||
echo "Either --source OR --source-file must be given." >&2
|
echo "Either --source OR --source-file must be given." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -38,7 +38,7 @@ fi
|
||||||
# Generate hcl config file
|
# Generate hcl config file
|
||||||
(
|
(
|
||||||
printf 'template {\n'
|
printf 'template {\n'
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
source-file)
|
source-file)
|
||||||
source="$(cat "$__object/parameter/$param")"
|
source="$(cat "$__object/parameter/$param")"
|
||||||
|
|
|
@ -25,7 +25,7 @@ conf_file="watch_${watch_type}_${__object_id}.json"
|
||||||
state="$(cat "$__object/parameter/state")"
|
state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
# Sanity checks
|
# Sanity checks
|
||||||
if [ -f "$__object/parameter/filter-service" -a -f "$__object/parameter/filter-state" ]; then
|
if [ -f "$__object/parameter/filter-service" ] && [ -f "$__object/parameter/filter-state" ]; then
|
||||||
echo "Use either --filter-service or --filter-state but not both." >&2
|
echo "Use either --filter-service or --filter-state but not both." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -35,7 +35,7 @@ fi
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "watches": [{\n'
|
printf ' "watches": [{\n'
|
||||||
printf ' "type": "%s"\n' "$watch_type"
|
printf ' "type": "%s"\n' "$watch_type"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state) continue ;;
|
state) continue ;;
|
||||||
filter-*)
|
filter-*)
|
||||||
|
|
|
@ -29,7 +29,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "watches": [{\n'
|
printf ' "watches": [{\n'
|
||||||
printf ' "type": "%s"\n' "$watch_type"
|
printf ' "type": "%s"\n' "$watch_type"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state) continue ;;
|
state) continue ;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -29,7 +29,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "watches": [{\n'
|
printf ' "watches": [{\n'
|
||||||
printf ' "type": "%s"\n' "$watch_type"
|
printf ' "type": "%s"\n' "$watch_type"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state) continue ;;
|
state) continue ;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -29,7 +29,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "watches": [{\n'
|
printf ' "watches": [{\n'
|
||||||
printf ' "type": "%s"\n' "$watch_type"
|
printf ' "type": "%s"\n' "$watch_type"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state) continue ;;
|
state) continue ;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -29,7 +29,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "watches": [{\n'
|
printf ' "watches": [{\n'
|
||||||
printf ' "type": "%s"\n' "$watch_type"
|
printf ' "type": "%s"\n' "$watch_type"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state) continue ;;
|
state) continue ;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -29,7 +29,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
echo "{"
|
echo "{"
|
||||||
printf ' "watches": [{\n'
|
printf ' "watches": [{\n'
|
||||||
printf ' "type": "%s"\n' "$watch_type"
|
printf ' "type": "%s"\n' "$watch_type"
|
||||||
for param in $(ls "$__object/parameter/"); do
|
for param in "$__object/parameter/*"; do
|
||||||
case "$param" in
|
case "$param" in
|
||||||
state) continue ;;
|
state) continue ;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -24,7 +24,7 @@ user="$(cat "$__object/parameter/user")"
|
||||||
|
|
||||||
if [ -f "$__object/parameter/raw_command" ]; then
|
if [ -f "$__object/parameter/raw_command" ]; then
|
||||||
command="$(cat "$__object/parameter/command")"
|
command="$(cat "$__object/parameter/command")"
|
||||||
crontab -u $user -l 2>/dev/null | grep "^$command\$" || true
|
crontab -u "$user" -l 2>/dev/null | grep "^$command\$" || true
|
||||||
else
|
else
|
||||||
crontab -u $user -l 2>/dev/null | grep "# $name\$" || true
|
crontab -u "$user" -l 2>/dev/null | grep "# $name\$" || true
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
pkg=$(cat "$__object/parameter/from-package")
|
pkg=$(cat "$__object/parameter/from-package")
|
||||||
servicedir=$(cat "$__object/parameter/servicedir")
|
servicedir=$(cat "$__object/parameter/servicedir")
|
||||||
|
|
||||||
__package $pkg
|
__package "$pkg"
|
||||||
__directory $servicedir --mode 700
|
__directory "$servicedir" --mode 700
|
||||||
|
|
||||||
os=$(cat "$__global/explorer/os")
|
os=$(cat "$__global/explorer/os")
|
||||||
init=$(cat "$__global/explorer/init")
|
init=$(cat "$__global/explorer/init")
|
||||||
|
|
|
@ -25,14 +25,14 @@ badusage() {
|
||||||
[ -z "$run$runfile" ] && badusage
|
[ -z "$run$runfile" ] && badusage
|
||||||
[ -n "$run" ] && [ -n "$runfile" ] && badusage
|
[ -n "$run" ] && [ -n "$runfile" ] && badusage
|
||||||
|
|
||||||
__directory $servicedir/$name/log/main --parents
|
__directory "$servicedir/$name/log/main" --parents
|
||||||
|
|
||||||
echo "$RUN_PREFIX$run" | require="__directory/$servicedir/$name/log/main" __config_file "$servicedir/$name/run" \
|
echo "$RUN_PREFIX$run" | require="__directory/$servicedir/$name/log/main" __config_file "$servicedir/$name/run" \
|
||||||
--onchange "svc -t '$servicedir/$name' 2>/dev/null" \
|
--onchange "svc -t '$servicedir/$name' 2>/dev/null" \
|
||||||
--mode 755 \
|
--mode 755 \
|
||||||
--source "${runfile:--}"
|
--source "${runfile:--}"
|
||||||
|
|
||||||
echo "$RUN_PREFIX$logrun" | require="__directory/$servicedir/$name/log/main" __config_file $servicedir/$name/log/run \
|
echo "$RUN_PREFIX$logrun" | require="__directory/$servicedir/$name/log/main" __config_file "$servicedir/$name/log/run" \
|
||||||
--onchange "svc -t '$servicedir/$name/log' 2>/dev/null" \
|
--onchange "svc -t '$servicedir/$name/log' 2>/dev/null" \
|
||||||
--mode 755 \
|
--mode 755 \
|
||||||
--source "-"
|
--source "-"
|
||||||
|
|
|
@ -57,18 +57,18 @@ get_current_value() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_group() {
|
set_group() {
|
||||||
echo chgrp $recursive \"$1\" \"$destination\"
|
echo chgrp "$recursive" \""$1"\" \""$destination"\"
|
||||||
echo chgrp $recursive $1 >> "$__messages_out"
|
echo chgrp "$recursive" "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_owner() {
|
set_owner() {
|
||||||
echo chown $recursive \"$1\" \"$destination\"
|
echo chown "$recursive" \""$1"\" \""$destination"\"
|
||||||
echo chown $recursive $1 >> "$__messages_out"
|
echo chown "$recursive" "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_mode() {
|
set_mode() {
|
||||||
echo chmod $recursive \"$1\" \"$destination\"
|
echo chmod "$recursive" \""$1"\" \""$destination"\"
|
||||||
echo chmod $recursive $1 >> "$__messages_out"
|
echo chmod "$recursive" "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
|
@ -94,7 +94,7 @@ case "$state_should" in
|
||||||
|
|
||||||
# change 0xxx format to xxx format => same as stat returns
|
# change 0xxx format to xxx format => same as stat returns
|
||||||
if [ "$attribute" = mode ]; then
|
if [ "$attribute" = mode ]; then
|
||||||
value_should="$(echo $value_should | sed 's/^0\(...\)/\1/')"
|
value_should="$(echo "$value_should" | sed 's/^0\(...\)/\1/')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$set_attributes" = 1 ] || [ "$value_should" != "$value_is" ]; then
|
if [ "$set_attributes" = 1 ] || [ "$value_should" != "$value_is" ]; then
|
||||||
|
@ -105,7 +105,7 @@ case "$state_should" in
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
if [ "$type" = "directory" ]; then
|
if [ "$type" = "directory" ]; then
|
||||||
echo rm -rf \"$destination\"
|
echo rm -rf \""$destination"\"
|
||||||
echo remove >> "$__messages_out"
|
echo remove >> "$__messages_out"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
version="$(cat "$__object/parameter/version")"
|
version="$(cat "$__object/parameter/version")"
|
||||||
state="$(cat "$__object/parameter/state")"
|
state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
if [ ${state} = "present" ]; then
|
if [ "${state}" = "present" ]; then
|
||||||
# Download docker-compose file
|
# Download docker-compose file
|
||||||
echo 'curl -L "https://github.com/docker/compose/releases/download/'${version}'/docker-compose-$(uname -s)-$(uname -m)" -o /tmp/docker-compose'
|
echo 'curl -L "https://github.com/docker/compose/releases/download/'"${version}"'/docker-compose-$(uname -s)-$(uname -m)" -o /tmp/docker-compose'
|
||||||
echo 'mv /tmp/docker-compose /usr/local/bin/docker-compose'
|
echo 'mv /tmp/docker-compose /usr/local/bin/docker-compose'
|
||||||
# Change permissions
|
# Change permissions
|
||||||
echo 'chmod +x /usr/local/bin/docker-compose'
|
echo 'chmod +x /usr/local/bin/docker-compose'
|
||||||
|
|
|
@ -22,10 +22,10 @@
|
||||||
state="$(cat "$__object/parameter/state")"
|
state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
# Needed packages
|
# Needed packages
|
||||||
if [ ${state} = "present" ]; then
|
if [ "${state}" = "present" ]; then
|
||||||
__docker
|
__docker
|
||||||
__package curl
|
__package curl
|
||||||
elif [ ${state} = "absent" ]; then
|
elif [ "${state}" = "absent" ]; then
|
||||||
__file /usr/local/bin/docker-compose --state absent
|
__file /usr/local/bin/docker-compose --state absent
|
||||||
else
|
else
|
||||||
echo "Unknown state: ${state}" >&2
|
echo "Unknown state: ${state}" >&2
|
||||||
|
|
|
@ -23,7 +23,7 @@ destination="/$__object_id"
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
type="$(cat "$__object/explorer/type")"
|
type="$(cat "$__object/explorer/type")"
|
||||||
|
|
||||||
[ "$state_should" = "exists" -a "$type" = "file" ] && exit 0 # nothing to do
|
[ "$state_should" = "exists" ] && [ "$type" = "file" ] && exit 0 # nothing to do
|
||||||
|
|
||||||
if [ "$state_should" = "pre-exists" ]; then
|
if [ "$state_should" = "pre-exists" ]; then
|
||||||
if [ -f "$__object/parameter/source" ]; then
|
if [ -f "$__object/parameter/source" ]; then
|
||||||
|
@ -41,7 +41,7 @@ fi
|
||||||
|
|
||||||
upload_file=
|
upload_file=
|
||||||
create_file=
|
create_file=
|
||||||
if [ "$state_should" = "present" -o "$state_should" = "exists" ]; then
|
if [ "$state_should" = "present" ] || [ "$state_should" = "exists" ]; then
|
||||||
if [ ! -f "$__object/parameter/source" ]; then
|
if [ ! -f "$__object/parameter/source" ]; then
|
||||||
remote_stat="$(cat "$__object/explorer/stat")"
|
remote_stat="$(cat "$__object/explorer/stat")"
|
||||||
if [ -z "$remote_stat" ]; then
|
if [ -z "$remote_stat" ]; then
|
||||||
|
@ -70,7 +70,7 @@ if [ "$state_should" = "present" -o "$state_should" = "exists" ]; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ "$create_file" -o "$upload_file" ]; then
|
if [ "$create_file" ] || [ "$upload_file" ]; then
|
||||||
# tell gencode-remote that we created or uploaded a file and that it must
|
# tell gencode-remote that we created or uploaded a file and that it must
|
||||||
# set all attributes no matter what the explorer retreived
|
# set all attributes no matter what the explorer retreived
|
||||||
mkdir "$__object/files"
|
mkdir "$__object/files"
|
||||||
|
@ -84,7 +84,7 @@ DONE
|
||||||
if [ "$upload_file" ]; then
|
if [ "$upload_file" ]; then
|
||||||
echo upload >> "$__messages_out"
|
echo upload >> "$__messages_out"
|
||||||
# IPv6 fix
|
# IPv6 fix
|
||||||
if $(echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$')
|
if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$'
|
||||||
then
|
then
|
||||||
my_target_host="[${__target_host}]"
|
my_target_host="[${__target_host}]"
|
||||||
else
|
else
|
||||||
|
|
|
@ -43,21 +43,20 @@ get_current_value() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_group() {
|
set_group() {
|
||||||
echo chgrp \"$1\" \"$destination\"
|
echo chgrp \""$1"\" \""$destination"\"
|
||||||
echo chgrp $1 >> "$__messages_out"
|
echo chgrp "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_owner() {
|
set_owner() {
|
||||||
echo chown \"$1\" \"$destination\"
|
echo chown \""$1"\" \""$destination"\"
|
||||||
echo chown $1 >> "$__messages_out"
|
echo chown "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_mode() {
|
set_mode() {
|
||||||
echo chmod \"$1\" \"$destination\"
|
echo chmod \""$1"\" \""$destination"\"
|
||||||
echo chmod $1 >> "$__messages_out"
|
echo chmod "$1" >> "$__messages_out"
|
||||||
}
|
}
|
||||||
|
|
||||||
set_attributes=
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present|exists|pre-exists)
|
present|exists|pre-exists)
|
||||||
# Note: Mode - needs to happen last as a chown/chgrp can alter mode by
|
# Note: Mode - needs to happen last as a chown/chgrp can alter mode by
|
||||||
|
@ -68,11 +67,11 @@ case "$state_should" in
|
||||||
|
|
||||||
# change 0xxx format to xxx format => same as stat returns
|
# change 0xxx format to xxx format => same as stat returns
|
||||||
if [ "$attribute" = mode ]; then
|
if [ "$attribute" = mode ]; then
|
||||||
value_should="$(echo $value_should | sed 's/^0\(...\)/\1/')"
|
value_should="$(echo "$value_should" | sed 's/^0\(...\)/\1/')"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
value_is="$(get_current_value "$attribute" "$value_should")"
|
value_is="$(get_current_value "$attribute" "$value_should")"
|
||||||
if [ -f "$__object/files/set-attributes" -o "$value_should" != "$value_is" ]; then
|
if [ -f "$__object/files/set-attributes" ] || [ "$value_should" != "$value_is" ]; then
|
||||||
"set_$attribute" "$value_should"
|
"set_$attribute" "$value_should"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -82,7 +81,7 @@ case "$state_should" in
|
||||||
|
|
||||||
absent)
|
absent)
|
||||||
if [ "$type" = "file" ]; then
|
if [ "$type" = "file" ]; then
|
||||||
echo rm -f \"$destination\"
|
echo rm -f \""$destination"\"
|
||||||
echo remove >> "$__messages_out"
|
echo remove >> "$__messages_out"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -25,7 +25,7 @@ chain="$(cat "$__object/parameter/chain")"
|
||||||
priority="$(cat "$__object/parameter/priority")"
|
priority="$(cat "$__object/parameter/priority")"
|
||||||
rule="$(cat "$__object/parameter/rule")"
|
rule="$(cat "$__object/parameter/rule")"
|
||||||
|
|
||||||
if firewall-cmd --permanent --direct --query-rule "$protocol" "$table" "$chain" "$priority" $rule >/dev/null; then
|
if firewall-cmd --permanent --direct --query-rule "$protocol" "$table" "$chain" "$priority" "$rule" >/dev/null; then
|
||||||
echo present
|
echo present
|
||||||
else
|
else
|
||||||
echo absent
|
echo absent
|
||||||
|
|
|
@ -33,13 +33,13 @@ rule="$(cat "$__object/parameter/rule")"
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo firewall-cmd --quiet --permanent --direct --add-rule \"$protocol\" \"$table\" \"$chain\" \"$priority\" $rule
|
echo firewall-cmd --quiet --permanent --direct --add-rule \""$protocol"\" \""$table"\" \""$chain"\" \""$priority"\" "$rule"
|
||||||
echo firewall-cmd --quiet --direct --add-rule \"$protocol\" \"$table\" \"$chain\" \"$priority\" $rule
|
echo firewall-cmd --quiet --direct --add-rule \""$protocol"\" \""$table"\" \""$chain"\" \""$priority"\" "$rule"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
absent)
|
absent)
|
||||||
echo firewall-cmd --quiet --permanent --direct --remove-rule \"$protocol\" \"$table\" \"$chain\" \"$priority\" $rule
|
echo firewall-cmd --quiet --permanent --direct --remove-rule \""$protocol"\" \""$table"\" \""$chain"\" \""$priority"\" "$rule"
|
||||||
echo firewall-cmd --quiet --direct --remove-rule \"$protocol\" \"$table\" \"$chain\" \"$priority\" $rule
|
echo firewall-cmd --quiet --direct --remove-rule \""$protocol"\" \""$table"\" \""$chain"\" \""$priority"\" "$rule"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state $state_should" >&2
|
echo "Unknown state $state_should" >&2
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
destination="/$__object_id/.git"
|
destination="/$__object_id/.git"
|
||||||
|
|
||||||
stat --print "%G" ${destination} 2>/dev/null || exit 0
|
stat --print "%G" "${destination}" 2>/dev/null || exit 0
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
destination="/$__object_id/.git"
|
destination="/$__object_id/.git"
|
||||||
|
|
||||||
stat --print "%U" ${destination} 2>/dev/null || exit 0
|
stat --print "%U" "${destination}" 2>/dev/null || exit 0
|
||||||
|
|
|
@ -35,10 +35,10 @@ owner="$(cat "$__object/parameter/owner")"
|
||||||
group="$(cat "$__object/parameter/group")"
|
group="$(cat "$__object/parameter/group")"
|
||||||
mode="$(cat "$__object/parameter/mode")"
|
mode="$(cat "$__object/parameter/mode")"
|
||||||
|
|
||||||
[ "$state_should" = "$state_is" -a \
|
[ "$state_should" = "$state_is" ] && \
|
||||||
"$owner" = "$owner_is" -a \
|
[ "$owner" = "$owner_is" ] && \
|
||||||
"$group" = "$group_is" -a \
|
[ "$group" = "$group_is" ] && \
|
||||||
-n "$mode" ] && exit 0
|
[ -n "$mode" ] && exit 0
|
||||||
|
|
||||||
case $state_should in
|
case $state_should in
|
||||||
present)
|
present)
|
||||||
|
@ -46,8 +46,8 @@ case $state_should in
|
||||||
if [ "$state_should" != "$state_is" ]; then
|
if [ "$state_should" != "$state_is" ]; then
|
||||||
echo git clone --quiet --branch "$branch" "$source" "$destination"
|
echo git clone --quiet --branch "$branch" "$source" "$destination"
|
||||||
fi
|
fi
|
||||||
if [ \( -n "$owner" -a "$owner_is" != "$owner" \) -o \
|
if ([ -n "$owner" ] && [ "$owner_is" != "$owner" ]) || \
|
||||||
\( -n "$group" -a "$group_is" != "$group" \) ]; then
|
([ -n "$group" ] && [ "$group_is" != "$group" ]); then
|
||||||
echo chown -R "${owner}:${group}" "$destination"
|
echo chown -R "${owner}:${group}" "$destination"
|
||||||
fi
|
fi
|
||||||
if [ -n "$mode" ]; then
|
if [ -n "$mode" ]; then
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
version=$(cat "$__object/parameter/version")
|
version=$(cat "$__object/parameter/version")
|
||||||
|
|
||||||
kernel_name=$(cat "$__global/explorer/kernel_name" | tr '[:upper:]' '[:lower:]')
|
kernel_name=$(tr '[:upper:]' '[:lower:]' "$__global/explorer/kernel_name")
|
||||||
machine=$(cat "$__global/explorer/machine")
|
machine=$(cat "$__global/explorer/machine")
|
||||||
case $machine in
|
case $machine in
|
||||||
x86_64|amd64)
|
x86_64|amd64)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
os=$(cat $__global/explorer/os)
|
os="$(cat "$__global/explorer/os")"
|
||||||
os_version=$(cat $__global/explorer/os_version)
|
os_version="$(cat "$__global/explorer/os_version")"
|
||||||
|
|
||||||
case $os in
|
case $os in
|
||||||
debian|devuan)
|
debian|devuan)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
name=$__object_id
|
name=$__object_id
|
||||||
os="$($__explorer/os)"
|
os="$("${__explorer}"/os)"
|
||||||
|
|
||||||
case "$os" in
|
case "$os" in
|
||||||
"freebsd"|"netbsd")
|
"freebsd"|"netbsd")
|
||||||
|
|
|
@ -30,9 +30,9 @@ state="$(cat "$__object/parameter/state")"
|
||||||
# Use short option names for portability
|
# Use short option names for portability
|
||||||
shorten_property() {
|
shorten_property() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
gid) echo "-g";;
|
gid) printf -- "-g\n";;
|
||||||
password) echo "-p";;
|
password) printf -- "-p\n";;
|
||||||
system) echo "-r";;
|
system) printf -- "-r\n";;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,11 +40,9 @@ shorten_property() {
|
||||||
if [ "$state" = "present" ]; then
|
if [ "$state" = "present" ]; then
|
||||||
case "$os" in
|
case "$os" in
|
||||||
freebsd)
|
freebsd)
|
||||||
supported_add_properties="gid"
|
|
||||||
supported_change_properties="gid"
|
supported_change_properties="gid"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
supported_add_properties="gid password system"
|
|
||||||
supported_change_properties="gid password"
|
supported_change_properties="gid password"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -63,8 +61,8 @@ if [ "$state" = "present" ]; then
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if [ "$new_value" != "$current_value" ]; then
|
if [ "$new_value" != "$current_value" ]; then
|
||||||
set -- "$@" "$(shorten_property $property)" \'$new_value\'
|
set -- "$@" "$(shorten_property "$property")" \'"$new_value"\'
|
||||||
echo change $property $new_value $current_value >> "$__messages_out"
|
echo change "$property" "$new_value" "$current_value" >> "$__messages_out"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -83,9 +81,9 @@ if [ "$state" = "present" ]; then
|
||||||
new_value="$(cat "$__object/parameter/$property")"
|
new_value="$(cat "$__object/parameter/$property")"
|
||||||
if [ -z "$new_value" ]; then
|
if [ -z "$new_value" ]; then
|
||||||
# Boolean parameters have no value
|
# Boolean parameters have no value
|
||||||
set -- "$@" "$(shorten_property $property)"
|
set -- "$@" "$(shorten_property "$property")"
|
||||||
else
|
else
|
||||||
set -- "$@" "$(shorten_property $property)" \'$new_value\'
|
set -- "$@" "$(shorten_property "$property")" \'"$new_value"\'
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
if [ -f "$__object/parameter/name" ]; then
|
if [ -f "$__object/parameter/name" ]; then
|
||||||
name_should="$(cat "$__object/parameter/name")"
|
name_should="$(cat "$__object/parameter/name")"
|
||||||
else
|
else
|
||||||
name_should="$(echo "${__target_host%%.*}")"
|
name_should="${__target_host%%.*}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
os=$(cat "$__global/explorer/os")
|
os=$(cat "$__global/explorer/os")
|
||||||
|
@ -36,12 +36,12 @@ has_hostnamectl=$(cat "$__object/explorer/has_hostnamectl")
|
||||||
#
|
#
|
||||||
case "$os" in
|
case "$os" in
|
||||||
archlinux|debian|suse|ubuntu|devuan|coreos)
|
archlinux|debian|suse|ubuntu|devuan|coreos)
|
||||||
if [ "$name_config" = "$name_should" -a "$name_running" = "$name_should" ]; then
|
if [ "$name_config" = "$name_should" ] && [ "$name_running" = "$name_should" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
scientific|centos|freebsd|openbsd)
|
scientific|centos|freebsd|openbsd)
|
||||||
if [ "$name_sysconfig" = "$name_should" -a "$name_running" = "$name_should" ]; then
|
if [ "$name_sysconfig" = "$name_should" ] && [ "$name_running" = "$name_should" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -25,10 +25,10 @@ if [ -f "$__object/parameter/name" ]; then
|
||||||
else
|
else
|
||||||
case "$os" in
|
case "$os" in
|
||||||
openbsd)
|
openbsd)
|
||||||
name_should="$(echo "${__target_host}")"
|
name_should="${__target_host}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
name_should="$(echo "${__target_host%%.*}")"
|
name_should="${__target_host%%.*}"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -28,7 +28,7 @@ install_script="$__object/files/install_script"
|
||||||
# Link file descriptor #6 with stdout
|
# Link file descriptor #6 with stdout
|
||||||
exec 6>&1
|
exec 6>&1
|
||||||
# Link stdout with $install_script
|
# Link stdout with $install_script
|
||||||
exec > $install_script
|
exec > "$install_script"
|
||||||
|
|
||||||
# Generate script to install bootloader on distro
|
# Generate script to install bootloader on distro
|
||||||
printf '#!/bin/sh -l\n'
|
printf '#!/bin/sh -l\n'
|
||||||
|
|
|
@ -23,12 +23,11 @@ cat "$__type/files/fstab.header" > "$destination"
|
||||||
|
|
||||||
mkdir "$__object/files"
|
mkdir "$__object/files"
|
||||||
# get current UUID's from target_host
|
# get current UUID's from target_host
|
||||||
$__remote_exec $__target_host blkid > "$__object/files/blkid"
|
$__remote_exec "$__target_host" blkid > "$__object/files/blkid"
|
||||||
|
|
||||||
for object in $(find "$__global/object/__install_mount" -type d -name "$__cdist_object_marker"); do
|
for object in $(find "$__global/object/__install_mount" -type d -name "$__cdist_object_marker"); do
|
||||||
device="$(cat "$object/parameter/device")"
|
device="$(cat "$object/parameter/device")"
|
||||||
dir="$(cat "$object/parameter/dir")"
|
dir="$(cat "$object/parameter/dir")"
|
||||||
prefix="$(cat "$object/parameter/prefix")"
|
|
||||||
type="$(cat "$object/parameter/type")"
|
type="$(cat "$object/parameter/type")"
|
||||||
if [ -f "$object/parameter/options" ]; then
|
if [ -f "$object/parameter/options" ]; then
|
||||||
options="$(cat "$object/parameter/options")"
|
options="$(cat "$object/parameter/options")"
|
||||||
|
@ -54,7 +53,7 @@ for object in $(find "$__global/object/__install_mount" -type d -name "$__cdist_
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
if [ -f "$__object/parameter/uuid" ]; then
|
if [ -f "$__object/parameter/uuid" ]; then
|
||||||
uuid="$(grep -w $device "$__object/files/blkid" | awk '{print $2}')"
|
uuid="$(grep -w "$device" "$__object/files/blkid" | awk '{print $2}')"
|
||||||
if [ -n "$uuid" ]; then
|
if [ -n "$uuid" ]; then
|
||||||
echo "# $dir was on $device during installation" >> "$destination"
|
echo "# $dir was on $device during installation" >> "$destination"
|
||||||
device="$uuid"
|
device="$uuid"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
#set -x
|
#set -x
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
echo "[__install_partition_msdos_apply] $@" >&2
|
echo "[__install_partition_msdos_apply]" "$@" >&2
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
debug() {
|
debug() {
|
||||||
|
@ -31,25 +31,25 @@ debug() {
|
||||||
|
|
||||||
# Convert a size specifier 1G 100M or 50% into the corresponding numeric MB.
|
# Convert a size specifier 1G 100M or 50% into the corresponding numeric MB.
|
||||||
size_to_mb() {
|
size_to_mb() {
|
||||||
local size=$1
|
size=$1
|
||||||
local available_size="$2"
|
available_size="$2"
|
||||||
|
|
||||||
local number_suffix="$(echo ${size} | sed -e 's:\.[0-9]\+::' -e 's:\([0-9]\+\)\([KkMmGg%]\)[Bb]\?:\1|\2:')"
|
number_suffix="$(echo "${size}" | sed -e 's:\.[0-9]\+::' -e 's:\([0-9]\+\)\([KkMmGg%]\)[Bb]\?:\1|\2:')"
|
||||||
local number="$(echo ${number_suffix} | cut -d '|' -f1)"
|
number="$(echo "${number_suffix}" | cut -d '|' -f1)"
|
||||||
local suffix="$(echo ${number_suffix} | cut -d '|' -f2)"
|
suffix="$(echo "${number_suffix}" | cut -d '|' -f2)"
|
||||||
|
|
||||||
case "$suffix" in
|
case "$suffix" in
|
||||||
K|k)
|
K|k)
|
||||||
size="$(( $number / 1024 ))"
|
size="$(( number / 1024 ))"
|
||||||
;;
|
;;
|
||||||
M|m)
|
M|m)
|
||||||
size="$number"
|
size="$number"
|
||||||
;;
|
;;
|
||||||
G|g)
|
G|g)
|
||||||
size="$(( $number * 1024 ))"
|
size="$(( number * 1024 ))"
|
||||||
;;
|
;;
|
||||||
%)
|
%)
|
||||||
size="$(( $available_size * $number / 100 ))"
|
size="$(( available_size * number / 100 ))"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
size="-1"
|
size="-1"
|
||||||
|
@ -62,10 +62,10 @@ get_objects() {
|
||||||
for object in $(find "$__global/object/__install_partition_msdos" -type d -name "$__cdist_object_marker"); do
|
for object in $(find "$__global/object/__install_partition_msdos" -type d -name "$__cdist_object_marker"); do
|
||||||
object_device="$(cat "$object/parameter/device")"
|
object_device="$(cat "$object/parameter/device")"
|
||||||
object_minor="$(cat "$object/parameter/minor")"
|
object_minor="$(cat "$object/parameter/minor")"
|
||||||
echo "$object_device $object_minor $object" >> $objects_file
|
echo "$object_device $object_minor $object" >> "$objects_file"
|
||||||
done
|
done
|
||||||
sort -k 1,2 $objects_file | cut -d' ' -f 3
|
sort -k 1,2 "$objects_file" | cut -d' ' -f 3
|
||||||
rm $objects_file
|
rm "$objects_file"
|
||||||
unset objects_file
|
unset objects_file
|
||||||
unset object
|
unset object
|
||||||
unset object_device
|
unset object_device
|
||||||
|
@ -87,7 +87,7 @@ for object in $objects; do
|
||||||
if [ "$current_device" != "$device" ]; then
|
if [ "$current_device" != "$device" ]; then
|
||||||
echo "create_disklabel \"$device\" || die 'Failed to create disklabel for $device'"
|
echo "create_disklabel \"$device\" || die 'Failed to create disklabel for $device'"
|
||||||
current_device="$device"
|
current_device="$device"
|
||||||
device_name=$(echo ${device} | sed -e 's:^/dev/::;s:/:\\/:g')
|
device_name=$(echo "${device}" | sed -e 's:^/dev/::;s:/:\\/:g')
|
||||||
available_device_size=$(( $(awk "/${device_name}\$/ { print \$3; }" "$partitions") / 1024))
|
available_device_size=$(( $(awk "/${device_name}\$/ { print \$3; }" "$partitions") / 1024))
|
||||||
# make sure we don't go past the end of the drive
|
# make sure we don't go past the end of the drive
|
||||||
available_device_size=$((available_device_size - 2))
|
available_device_size=$((available_device_size - 2))
|
||||||
|
@ -108,7 +108,7 @@ for object in $objects; do
|
||||||
|
|
||||||
if [ "${minor}" -lt "5" ]; then
|
if [ "${minor}" -lt "5" ]; then
|
||||||
# Primary partitions
|
# Primary partitions
|
||||||
primary_count=$(( $primary_count + 1 ))
|
primary_count=$(( primary_count + 1 ))
|
||||||
available_size=$available_device_size
|
available_size=$available_device_size
|
||||||
else
|
else
|
||||||
# Logical partitions
|
# Logical partitions
|
||||||
|
@ -121,13 +121,13 @@ for object in $objects; do
|
||||||
available_size=0
|
available_size=0
|
||||||
else
|
else
|
||||||
partition_size=$(size_to_mb "$size" "$available_size")
|
partition_size=$(size_to_mb "$size" "$available_size")
|
||||||
available_size="$(( $available_size - $partition_size ))"
|
available_size="$(( available_size - partition_size ))"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${minor}" -lt "5" ]; then
|
if [ "${minor}" -lt "5" ]; then
|
||||||
# Primary partitions
|
# Primary partitions
|
||||||
available_device_size=$available_size
|
available_device_size=$available_size
|
||||||
if [ "$type" = "extended" -o "$type" = "5" ]; then
|
if [ "$type" = "extended" ] || [ "$type" = "5" ]; then
|
||||||
# Extended partition
|
# Extended partition
|
||||||
available_extended_size=$partition_size
|
available_extended_size=$partition_size
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
options="$(cat "$__object/parameter/options")"
|
# options="$(cat "$__object/parameter/options")"
|
||||||
|
|
||||||
#echo "reboot $options"
|
#echo "reboot $options"
|
||||||
cat << DONE
|
cat << DONE
|
||||||
|
|
|
@ -35,16 +35,16 @@ fi
|
||||||
|
|
||||||
jaildir="$(cat "$__object/parameter/jaildir")"
|
jaildir="$(cat "$__object/parameter/jaildir")"
|
||||||
|
|
||||||
__directory ${jaildir} --parents
|
__directory "${jaildir}" --parents
|
||||||
|
|
||||||
set -- "$@" "$__object_id" "--state" "$state"
|
set -- "$@" "$__object_id" "--state" "$state"
|
||||||
cd "$__object/parameter"
|
cd "$__object/parameter"
|
||||||
for property in $(ls .); do
|
for property in *; do
|
||||||
set -- "$@" "--$property" "$(cat "$property")"
|
set -- "$@" "--$property" "$(cat "$property")"
|
||||||
done
|
done
|
||||||
|
|
||||||
ver="$(cat "$__global/explorer/os_version")"
|
ver="$(cat "$__global/explorer/os_version")"
|
||||||
if [ -n "$(echo "$ver" | grep '^10\.' )" ]; then # Version is 10.x
|
if "$(echo "$ver" | grep -q '^10\.' )"; then # Version is 10.x
|
||||||
__jail_freebsd10 "$@"
|
__jail_freebsd10 "$@"
|
||||||
else
|
else
|
||||||
__jail_freebsd9 "$@"
|
__jail_freebsd9 "$@"
|
||||||
|
|
|
@ -44,7 +44,7 @@ basepresent="$(cat "$__object/explorer/basepresent")"
|
||||||
if [ "$state" = "present" ]; then
|
if [ "$state" = "present" ]; then
|
||||||
if [ "$basepresent" = "NONE" ]; then
|
if [ "$basepresent" = "NONE" ]; then
|
||||||
# IPv6 fix
|
# IPv6 fix
|
||||||
if $(echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$')
|
if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$'
|
||||||
then
|
then
|
||||||
my_target_host="[${__target_host}]"
|
my_target_host="[${__target_host}]"
|
||||||
else
|
else
|
||||||
|
|
|
@ -36,7 +36,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
started="true"
|
started="true"
|
||||||
# If the user wants the jail gone, it implies it shouldn't be started.
|
# If the user wants the jail gone, it implies it shouldn't be started.
|
||||||
[ -f "$__object/parameter/stopped" -o "$state" = "absent" ] && started="false"
|
([ -f "$__object/parameter/stopped" ] || [ "$state" = "absent" ]) && started="false"
|
||||||
|
|
||||||
if [ -f "$__object/parameter/ip" ]; then
|
if [ -f "$__object/parameter/ip" ]; then
|
||||||
ip="$(cat "$__object/parameter/ip")"
|
ip="$(cat "$__object/parameter/ip")"
|
||||||
|
@ -66,7 +66,7 @@ devfsruleset="$(cat "$__object/parameter/devfs-ruleset")"
|
||||||
|
|
||||||
# devfs_ruleset being defined without devfs_enable being true
|
# devfs_ruleset being defined without devfs_enable being true
|
||||||
# is pointless. Treat this as an error.
|
# is pointless. Treat this as an error.
|
||||||
if [ -n "$devfsruleset" -a "$devfsenable" = "false" ]; then
|
if [ -n "$devfsruleset" ] && [ "$devfsenable" = "false" ]; then
|
||||||
exec >&2
|
exec >&2
|
||||||
echo "Can't have --devfs-ruleset defined with --devfs-disable"
|
echo "Can't have --devfs-ruleset defined with --devfs-disable"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -83,13 +83,13 @@ present="$(cat "$__object/explorer/present")"
|
||||||
status="$(cat "$__object/explorer/status")"
|
status="$(cat "$__object/explorer/status")"
|
||||||
|
|
||||||
# Handle ip="addr, addr" format
|
# Handle ip="addr, addr" format
|
||||||
if [ $(expr "${ip}" : ".*, .*") -gt "0" ]; then
|
if [ "$(expr "${ip}" : ".*, .*")" -gt "0" ]; then
|
||||||
SAVE_IFS="$IFS"
|
SAVE_IFS="$IFS"
|
||||||
IFS=", "
|
IFS=", "
|
||||||
for cur_ip in ${ip}; do
|
# for cur_ip in ${ip}; do
|
||||||
# Just get the last IP address for SSH to listen on
|
# Just get the last IP address for SSH to listen on
|
||||||
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1) # In case using "ip netmask" format rather than CIDR
|
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1) # In case using "ip netmask" format rather than CIDR
|
||||||
done
|
# done
|
||||||
IFS="$SAVE_IFS"
|
IFS="$SAVE_IFS"
|
||||||
else
|
else
|
||||||
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1) # In case using "ip netmask" format rather than CIDR
|
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1) # In case using "ip netmask" format rather than CIDR
|
||||||
|
|
|
@ -40,7 +40,7 @@ basepresent="$(cat "$__object/explorer/basepresent")"
|
||||||
if [ "$state" = "present" ]; then
|
if [ "$state" = "present" ]; then
|
||||||
if [ "$basepresent" = "NONE" ]; then
|
if [ "$basepresent" = "NONE" ]; then
|
||||||
# IPv6 fix
|
# IPv6 fix
|
||||||
if $(echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$')
|
if echo "${__target_host}" | grep -q -E '^[0-9a-fA-F:]+$'
|
||||||
then
|
then
|
||||||
my_target_host="[${__target_host}]"
|
my_target_host="[${__target_host}]"
|
||||||
else
|
else
|
||||||
|
|
|
@ -36,7 +36,7 @@ state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
started="true"
|
started="true"
|
||||||
# If the user wants the jail gone, it implies it shouldn't be started.
|
# If the user wants the jail gone, it implies it shouldn't be started.
|
||||||
[ -f "$__object/parameter/stopped" -o "$state" = "absent" ] && started="false"
|
([ -f "$__object/parameter/stopped" ] || [ "$state" = "absent" ]) && started="false"
|
||||||
|
|
||||||
if [ -f "$__object/parameter/ip" ]; then
|
if [ -f "$__object/parameter/ip" ]; then
|
||||||
ip="$(cat "$__object/parameter/ip")"
|
ip="$(cat "$__object/parameter/ip")"
|
||||||
|
@ -70,7 +70,7 @@ devfsruleset="$(cat "$__object/parameter/devfs-ruleset")"
|
||||||
|
|
||||||
# devfs_ruleset being defined without devfs_enable being true
|
# devfs_ruleset being defined without devfs_enable being true
|
||||||
# is pointless. Treat this as an error.
|
# is pointless. Treat this as an error.
|
||||||
if [ -n "$devfsruleset" -a "$devfsenable" = "false" ]; then
|
if [ -n "$devfsruleset" ] && [ "$devfsenable" = "false" ]; then
|
||||||
exec >&2
|
exec >&2
|
||||||
echo "Can't have --devfs-ruleset defined with --devfs-disable"
|
echo "Can't have --devfs-ruleset defined with --devfs-disable"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -86,15 +86,15 @@ present="$(cat "$__object/explorer/present")"
|
||||||
status="$(cat "$__object/explorer/status")"
|
status="$(cat "$__object/explorer/status")"
|
||||||
|
|
||||||
# Handle ip="iface|addr, iface|addr" format
|
# Handle ip="iface|addr, iface|addr" format
|
||||||
if [ $(expr "${ip}" : ".*|.*") -gt "0" ]; then
|
if [ "$(expr "${ip}" : ".*|.*")" -gt "0" ]; then
|
||||||
# If we have multiple IPs defined, $interface doesn't make sense because ip="iface|addr, iface|addr" implies it
|
# If we have multiple IPs defined, $interface doesn't make sense because ip="iface|addr, iface|addr" implies it
|
||||||
interface=""
|
interface=""
|
||||||
SAVE_IFS="$IFS"
|
SAVE_IFS="$IFS"
|
||||||
IFS=", "
|
IFS=", "
|
||||||
for cur_ip in ${ip}; do
|
# for cur_ip in ${ip}; do
|
||||||
# Just get the last IP address for SSH to listen on
|
# Just get the last IP address for SSH to listen on
|
||||||
mgmt_ip=$(echo "${ip}" | sed -E -e 's/^.*\|(.*)\/[0-9]+$/\1/')
|
mgmt_ip=$(echo "${ip}" | sed -E -e 's/^.*\|(.*)\/[0-9]+$/\1/')
|
||||||
done
|
# done
|
||||||
IFS="$SAVE_IFS"
|
IFS="$SAVE_IFS"
|
||||||
else
|
else
|
||||||
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1)
|
mgmt_ip=$(echo "${ip}" | cut '-d ' -f1)
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
if [ "$state_should" = "present" -a ! -f "$__object/parameter/value" ]; then
|
if [ "$state_should" = "present" ] && [ ! -f "$__object/parameter/value" ]; then
|
||||||
echo "Missing required parameter 'value'" >&2
|
echo "Missing required parameter 'value'" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -32,7 +32,7 @@ elif [ -f "$destination" ]; then
|
||||||
case "$type" in
|
case "$type" in
|
||||||
hard)
|
hard)
|
||||||
link_count=$(ls -l "$destination" | awk '{ print $2 }')
|
link_count=$(ls -l "$destination" | awk '{ print $2 }')
|
||||||
if [ $link_count -gt 1 ]; then
|
if [ "$link_count" -gt 1 ]; then
|
||||||
echo hardlink
|
echo hardlink
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -61,7 +61,7 @@ case "$state_should" in
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
# only delete if it is a sym/hard link
|
# only delete if it is a sym/hard link
|
||||||
if [ "$file_type" = "symlink" -o "$file_type" = "hardlink" ]; then
|
if [ "$file_type" = "symlink" ] || [ "$file_type" = "hardlink" ]; then
|
||||||
printf 'rm -f "%s"\n' "$destination"
|
printf 'rm -f "%s"\n' "$destination"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
# Retrieve the status of a package - parsed dpkg output
|
# Retrieve the status of a package - parsed dpkg output
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ "$($__explorer/os)" = "freebsd" ]; then
|
if [ "$("${__explorer}"/os)" = "freebsd" ]; then
|
||||||
command -v pkg
|
command -v pkg
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,8 @@ state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
set -- "$@" "$__object_id" "--state" "$state"
|
set -- "$@" "$__object_id" "--state" "$state"
|
||||||
cd "$__object/parameter"
|
cd "$__object/parameter"
|
||||||
for property in $(ls .); do
|
for property in *; do
|
||||||
if [ "$property" != "type" -a "$property" != "state" ]; then
|
if [ "$property" != "type" ] && [ "$property" != "state" ]; then
|
||||||
set -- "$@" "--$property" "$(cat "$property")"
|
set -- "$@" "--$property" "$(cat "$property")"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
|
@ -38,11 +38,11 @@ fi
|
||||||
pkg_version="$(cat "$__object/explorer/pkg_version")"
|
pkg_version="$(cat "$__object/explorer/pkg_version")"
|
||||||
if [ -z "$pkg_version" ]; then
|
if [ -z "$pkg_version" ]; then
|
||||||
state_is="absent"
|
state_is="absent"
|
||||||
elif [ -z "$version" -a $(echo "$pkg_version" | wc -l) -gt 1 ]; then
|
elif [ -z "$version" ] && [ "$(echo "$pkg_version" | wc -l)" -gt 1 ]; then
|
||||||
echo "Package name is not unique! The following packages are installed:"
|
echo "Package name is not unique! The following packages are installed:"
|
||||||
echo "$pkg_version"
|
echo "$pkg_version"
|
||||||
exit 1
|
exit 1
|
||||||
elif [ -n "$version" -a $(echo "$pkg_version" | cut -d " " -f 1 | sort | uniq | wc -l) -gt 1 ]; then
|
elif [ -n "$version" ] && [ "$(echo "$pkg_version" | cut -d " " -f 1 | sort | uniq | wc -l)" -gt 1 ]; then
|
||||||
echo "Package name is not unique! The following packages are installed:"
|
echo "Package name is not unique! The following packages are installed:"
|
||||||
echo "$pkg_version"
|
echo "$pkg_version"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -42,10 +42,10 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo luarocks install \"$name\"
|
echo luarocks install \""$name"\"
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo luarocks remove \"$name\"
|
echo luarocks remove \""$name"\"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state_should" >&2
|
echo "Unknown state: $state_should" >&2
|
||||||
|
|
|
@ -45,10 +45,10 @@ case "$state_should" in
|
||||||
if [ "$present" = "notpresent" ]; then
|
if [ "$present" = "notpresent" ]; then
|
||||||
echo opkg --verbosity=0 update
|
echo opkg --verbosity=0 update
|
||||||
fi
|
fi
|
||||||
echo opkg --verbosity=0 install \"$name\"
|
echo opkg --verbosity=0 install \""$name"\"
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo opkg --verbosity=0 remove \"$name\"
|
echo opkg --verbosity=0 remove \""$name"\"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state" >&2
|
echo "Unknown state: $state" >&2
|
||||||
|
|
|
@ -45,10 +45,10 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo pacman --needed --noconfirm --noprogressbar -S \"$name\"
|
echo pacman --needed --noconfirm --noprogressbar -S \""$name"\"
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo pacman --noconfirm --noprogressbar -R \"$name\"
|
echo pacman --noconfirm --noprogressbar -R \""$name"\"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state_should" >&2
|
echo "Unknown state: $state_should" >&2
|
||||||
|
|
|
@ -30,7 +30,7 @@ fi
|
||||||
# Don't produce "no pkgs installed" output -- breaks things
|
# Don't produce "no pkgs installed" output -- breaks things
|
||||||
PKG_OUTPUT=$(pkg_info 2>&1)
|
PKG_OUTPUT=$(pkg_info 2>&1)
|
||||||
if [ ! "$PKG_OUTPUT" = "pkg_info: no packages installed" ]; then
|
if [ ! "$PKG_OUTPUT" = "pkg_info: no packages installed" ]; then
|
||||||
echo -n "$(echo "$PKG_OUTPUT" \
|
printf "%s" "$(echo "$PKG_OUTPUT" \
|
||||||
| awk '{print $1}' \
|
| awk '{print $1}' \
|
||||||
| sed 's/^\(.*\)-\([^-]*\)$/name:\1 ver:\2/g' \
|
| sed 's/^\(.*\)-\([^-]*\)$/name:\1 ver:\2/g' \
|
||||||
| grep "name:$name ver:" \
|
| grep "name:$name ver:" \
|
||||||
|
|
|
@ -23,20 +23,12 @@
|
||||||
|
|
||||||
assert () # If condition false,
|
assert () # If condition false,
|
||||||
{ #+ exit from script with error message.
|
{ #+ exit from script with error message.
|
||||||
E_PARAM_ERR=98
|
|
||||||
E_ASSERT_FAILED=99
|
E_ASSERT_FAILED=99
|
||||||
|
|
||||||
if [ -z "$2" ] # Not enough parameters passed.
|
if [ ! "$1" ]
|
||||||
then
|
|
||||||
return $E_PARAM_ERR # No damage done.
|
|
||||||
fi
|
|
||||||
|
|
||||||
lineno=$2
|
|
||||||
|
|
||||||
if [ ! $1 ]
|
|
||||||
then
|
then
|
||||||
echo "Assertion failed: \"$1\""
|
echo "Assertion failed: \"$1\""
|
||||||
echo "File \"$0\", line $lineno, called by $(caller 0)"
|
echo "File \"$0\""
|
||||||
exit $E_ASSERT_FAILED
|
exit $E_ASSERT_FAILED
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -66,7 +58,7 @@ cmd=""
|
||||||
# FIXME: This is ugly.
|
# FIXME: This is ugly.
|
||||||
execcmd(){
|
execcmd(){
|
||||||
# Set the PACKAGESITE if we're ADDing a new package
|
# Set the PACKAGESITE if we're ADDing a new package
|
||||||
if [ "$1" = "add" -a -n "$pkgsite" ]; then
|
if [ "$1" = "add" ] && [ -n "$pkgsite" ]; then
|
||||||
# Use http.../All/ if we know the exact version we want, use .../Latest/ otherwise
|
# Use http.../All/ if we know the exact version we want, use .../Latest/ otherwise
|
||||||
pkgsite="export PACKAGESITE=${pkgsite}"
|
pkgsite="export PACKAGESITE=${pkgsite}"
|
||||||
[ -n "$version" ] && pkgsite="${pkgsite}/All/" || pkgsite="${pkgsite}/Latest/"
|
[ -n "$version" ] && pkgsite="${pkgsite}/All/" || pkgsite="${pkgsite}/Latest/"
|
||||||
|
@ -95,7 +87,7 @@ if [ -n "$curr_version" ]; then # PKG *is* installed
|
||||||
exit 0
|
exit 0
|
||||||
else # Current version is wrong, fix
|
else # Current version is wrong, fix
|
||||||
#updatepkg "$name" "$version"
|
#updatepkg "$name" "$version"
|
||||||
assert "! ${version} = ${curr_version}" $LINENO
|
assert "! ${version} = ${curr_version}"
|
||||||
cmd="${rm_cmd} ${name}-${curr_version}"
|
cmd="${rm_cmd} ${name}-${curr_version}"
|
||||||
execcmd "remove" "${cmd}"
|
execcmd "remove" "${cmd}"
|
||||||
cmd="${add_cmd} -r ${name}-${version}"
|
cmd="${add_cmd} -r ${name}-${version}"
|
||||||
|
|
|
@ -46,7 +46,7 @@ else
|
||||||
name="$__object_id"
|
name="$__object_id"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$version" -a -n "$flavor" ]; then
|
if [ -n "$version" ] && [ -n "$flavor" ]; then
|
||||||
pkgid="$name-$version-$flavor"
|
pkgid="$name-$version-$flavor"
|
||||||
elif [ -n "$version" ]; then
|
elif [ -n "$version" ]; then
|
||||||
pkgid="$name-$version"
|
pkgid="$name-$version"
|
||||||
|
|
|
@ -29,7 +29,7 @@ fi
|
||||||
|
|
||||||
# Don't produce "no pkgs installed" output -- breaks things
|
# Don't produce "no pkgs installed" output -- breaks things
|
||||||
PKG_OUTPUT=$(pkg info 2>&1)
|
PKG_OUTPUT=$(pkg info 2>&1)
|
||||||
echo -n "$(echo "$PKG_OUTPUT" \
|
printf "%s" "$(echo "$PKG_OUTPUT" \
|
||||||
| awk '{print $1}' \
|
| awk '{print $1}' \
|
||||||
| sed 's/^\(.*\)-\([^-]*\)$/name:\1 ver:\2/g' \
|
| sed 's/^\(.*\)-\([^-]*\)$/name:\1 ver:\2/g' \
|
||||||
| grep "name:$name ver:" \
|
| grep "name:$name ver:" \
|
||||||
|
|
|
@ -52,7 +52,7 @@ cmd=""
|
||||||
# Parms: $1 -- mode, "rm", "add", or "upg"
|
# Parms: $1 -- mode, "rm", "add", or "upg"
|
||||||
# $2 -- the command to be echoed
|
# $2 -- the command to be echoed
|
||||||
execcmd(){
|
execcmd(){
|
||||||
local _cmd=""
|
_cmd=""
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
add)
|
add)
|
||||||
|
|
|
@ -39,10 +39,10 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo gem install \"$name\" --no-ri --no-rdoc
|
echo gem install \""$name"\" --no-ri --no-rdoc
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo gem uninstall \"$name\"
|
echo gem uninstall \""$name"\"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state_should" >&2
|
echo "Unknown state: $state_should" >&2
|
||||||
|
|
|
@ -53,8 +53,8 @@ case "$type" in
|
||||||
;;
|
;;
|
||||||
apt)
|
apt)
|
||||||
if [ -f "$apt_dist_upgrade" ]
|
if [ -f "$apt_dist_upgrade" ]
|
||||||
then echo $aptget dist-upgrade
|
then echo "$aptget dist-upgrade"
|
||||||
else echo $aptget upgrade
|
else echo "$aptget upgrade"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$apt_clean" ]
|
if [ -f "$apt_clean" ]
|
||||||
|
|
|
@ -60,10 +60,10 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
echo yum $opts install \"$install_name\"
|
echo yum $opts install \""$install_name"\"
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
echo yum $opts remove \"$name\"
|
echo yum $opts remove \""$name"\"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state_should" >&2
|
echo "Unknown state: $state_should" >&2
|
||||||
|
|
|
@ -61,15 +61,15 @@ case "$state_should" in
|
||||||
present)
|
present)
|
||||||
if [ -z "$version_should" ]; then
|
if [ -z "$version_should" ]; then
|
||||||
[ "$state_is" = "present" ] && exit 0 # if state is present, we dont need to do anything
|
[ "$state_is" = "present" ] && exit 0 # if state is present, we dont need to do anything
|
||||||
echo zypper $globalopts install --type \"$ptype\" --auto-agree-with-licenses \"$name\" ">/dev/null"
|
echo zypper $globalopts install --type \""$ptype"\" --auto-agree-with-licenses \""$name"\" ">/dev/null"
|
||||||
else
|
else
|
||||||
[ "$state_is" = "present" ] && [ "$version_should" = "$version_is" ] && exit 0 # if state is present and version is correct, we dont need to do anything
|
[ "$state_is" = "present" ] && [ "$version_should" = "$version_is" ] && exit 0 # if state is present and version is correct, we dont need to do anything
|
||||||
echo zypper $globalopts install --oldpackage --type \"$ptype\" --auto-agree-with-licenses \"$name\" = \"$version_should\" ">/dev/null"
|
echo zypper $globalopts install --oldpackage --type \""$ptype"\" --auto-agree-with-licenses \""$name"\" = \""$version_should"\" ">/dev/null"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
absent)
|
absent)
|
||||||
[ "$state_is" = "absent" ] && exit 0 # if state is absent, we dont need to do anything
|
[ "$state_is" = "absent" ] && exit 0 # if state is absent, we dont need to do anything
|
||||||
echo zypper $globalopts remove --type \"$ptype\" \"$name\" ">/dev/null"
|
echo zypper $globalopts remove --type \""$ptype"\" \""$name"\" ">/dev/null"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown state: $state_should" >&2
|
echo "Unknown state: $state_should" >&2
|
||||||
|
|
|
@ -59,13 +59,13 @@ if [ "${file}" ]; then
|
||||||
|
|
||||||
if [ "${state}" = "present" ]; then
|
if [ "${state}" = "present" ]; then
|
||||||
|
|
||||||
require="__file/${sec_path}/plain_file_${file}" __key_value ${file}_${key}\
|
require="__file/${sec_path}/plain_file_${file}" __key_value "${file}_${key}"\
|
||||||
--file ${sec_path}/plain_file_${file} --key ${key} --value ${value} --delimiter ' = '
|
--file "${sec_path}/plain_file_${file}" --key "${key}" --value "${value}" --delimiter ' = '
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
elif [ "${state}" = "absent" ]; then
|
elif [ "${state}" = "absent" ]; then
|
||||||
require="__file/${sec_path}/plain_file_${file}" __key_value ${file}_${key}\
|
require="__file/${sec_path}/plain_file_${file}" __key_value "${file}_${key}"\
|
||||||
--state absent
|
--state absent
|
||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
|
@ -87,19 +87,19 @@ eof
|
||||||
|
|
||||||
if [ "${MATCH}" -eq 1 ]; then
|
if [ "${MATCH}" -eq 1 ]; then
|
||||||
if [ "${value}" = "on" ]; then
|
if [ "${value}" = "on" ]; then
|
||||||
require="__file/${sec_path}/${section}" __line ${key}_${value}\
|
require="__file/${sec_path}/${section}" __line "${key}_${value}"\
|
||||||
--file ${sec_path}/${section} --line ${key}
|
--file "${sec_path}/${section}" --line "${key}"
|
||||||
elif [ "${value}" = "off" ]; then
|
elif [ "${value}" = "off" ]; then
|
||||||
require="__file/${sec_path}/${section}" __line ${key}_${value}\
|
require="__file/${sec_path}/${section}" __line "${key}_${value}"\
|
||||||
--file ${sec_path}/${section} --line ${key} --state absent
|
--file "${sec_path}/${section}" --line "${key}" --state absent
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
contains_element "${key}" "${allowed_option_keys}"
|
contains_element "${key}" "${allowed_option_keys}"
|
||||||
|
|
||||||
if [ "${MATCH}" -eq 1 ]; then
|
if [ "${MATCH}" -eq 1 ]; then
|
||||||
require="__file/${sec_path}/${section}" __key_value ${section}_${key}\
|
require="__file/${sec_path}/${section}" __key_value "${section}_${key}"\
|
||||||
--file ${sec_path}/${section} --key ${key} --value ${value} --delimiter ' = '
|
--file "${sec_path}/${section}" --key "${key}" --value "${value}" --delimiter ' = '
|
||||||
else
|
else
|
||||||
echo "Key: ${key} is not valid. Have a look at man pacman.conf" >&2
|
echo "Key: ${key} is not valid. Have a look at man pacman.conf" >&2
|
||||||
fi
|
fi
|
||||||
|
@ -118,12 +118,12 @@ eof
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
require="__file/${sec_path}/repo_${section}" __key_value ${section}_${key}\
|
require="__file/${sec_path}/repo_${section}" __key_value "${section}_${key}"\
|
||||||
--file ${sec_path}/repo_${section} --key ${key} --value ${value} --delimiter ' = '
|
--file "${sec_path}/repo_${section}" --key "${key}" --value "${value}" --delimiter ' = '
|
||||||
|
|
||||||
elif [ "${state}" = "absent" ]; then
|
elif [ "${state}" = "absent" ]; then
|
||||||
|
|
||||||
require="__file/${sec_path}/repo_${section}" __key_value ${section}_${key}\
|
require="__file/${sec_path}/repo_${section}" __key_value "${section}_${key}"\
|
||||||
--state absent
|
--state absent
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|
|
@ -18,16 +18,16 @@
|
||||||
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
# along with cdist. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
|
|
||||||
state=$(cat $__object/parameter/state 2>/dev/null)
|
state="$(cat "$__object/parameter/state" 2>/dev/null)"
|
||||||
|
|
||||||
path="/etc/"
|
# path="/etc/"
|
||||||
|
|
||||||
if [ "${state}" = "present" ]; then
|
if [ "${state}" = "present" ]; then
|
||||||
__file /etc/pacman.conf\
|
__file /etc/pacman.conf\
|
||||||
--owner root --group root --mode 644 --source $__type/files/pacman.conf.cdist
|
--owner root --group root --mode 644 --source "$__type/files/pacman.conf.cdist"
|
||||||
|
|
||||||
__file /etc/pacman.d/options\
|
__file /etc/pacman.d/options\
|
||||||
--owner root --group root --mode 644 --source $__type/files/options
|
--owner root --group root --mode 644 --source "$__type/files/options"
|
||||||
|
|
||||||
__file /etc/pacman.d/repo_empty_placeholder\
|
__file /etc/pacman.d/repo_empty_placeholder\
|
||||||
--owner root --group root --mode 644
|
--owner root --group root --mode 644
|
||||||
|
@ -38,10 +38,10 @@ if [ "${state}" = "present" ]; then
|
||||||
elif [ "${state}" = "absent" ]; then
|
elif [ "${state}" = "absent" ]; then
|
||||||
|
|
||||||
__file /etc/pacman.conf\
|
__file /etc/pacman.conf\
|
||||||
--owner root --group root --mode 644 --source $__type/files/pacman.conf.pacman
|
--owner root --group root --mode 644 --source "$__type/files/pacman.conf.pacman"
|
||||||
|
|
||||||
__file /etc/pacman.d/mirrorlist\
|
__file /etc/pacman.d/mirrorlist\
|
||||||
--owner root --group root --mode 644 --source $__type/files/mirrorlist
|
--owner root --group root --mode 644 --source "$__type/files/mirrorlist"
|
||||||
|
|
||||||
__file /etc/pacman.d/options\
|
__file /etc/pacman.d/options\
|
||||||
--state absent
|
--state absent
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
RC="/etc/rc.conf"
|
RC="/etc/rc.conf"
|
||||||
PFCONF="$(grep '^pf_rules=' ${RC} | cut -d= -f2 | sed 's/"//g')"
|
PFCONF="$(grep '^pf_rules=' ${RC} | cut -d= -f2 | sed 's/"//g')"
|
||||||
echo ${PFCONF:-"/etc/pf.conf"}
|
echo "${PFCONF:-"/etc/pf.conf"}"
|
||||||
|
|
||||||
# Debug
|
# Debug
|
||||||
#set +x
|
#set +x
|
||||||
|
|
|
@ -33,7 +33,7 @@ TMP="$(grep '^pf_rules=' ${RC} | cut -d= -f2 | sed 's/"//g')"
|
||||||
PFCONF="${TMP:-"/etc/pf.conf"}"
|
PFCONF="${TMP:-"/etc/pf.conf"}"
|
||||||
|
|
||||||
if [ -f "${PFCONF}" ]; then # The pf config file exists, find its cksum.
|
if [ -f "${PFCONF}" ]; then # The pf config file exists, find its cksum.
|
||||||
cksum -o 1 ${PFCONF} | cut -d= -f2 | awk '{print $1}'
|
cksum -o 1 "${PFCONF}" | cut -d= -f2 | awk '{print $1}'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Debug
|
# Debug
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
RC="/etc/rc.conf"
|
RC="/etc/rc.conf"
|
||||||
PFCONF="$(grep '^pf_rules=' ${RC} | cut -d= -f2 | sed 's/"//g')"
|
PFCONF="$(grep '^pf_rules=' ${RC} | cut -d= -f2 | sed 's/"//g')"
|
||||||
echo ${PFCONF:-"/etc/pf.conf"}
|
echo "${PFCONF:-"/etc/pf.conf"}"
|
||||||
|
|
||||||
# Debug
|
# Debug
|
||||||
#set +x
|
#set +x
|
||||||
|
|
|
@ -54,7 +54,7 @@ case $uname in
|
||||||
currentSum=\$(cksum -o 1 ${source} | cut -d= -f2 | sed 's/ //g')
|
currentSum=\$(cksum -o 1 ${source} | cut -d= -f2 | sed 's/ //g')
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Sorry, I do not know how to find a cksum on ${UNAME}." >&2
|
echo "Sorry, I do not know how to find a cksum on ${uname}." >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -36,7 +36,7 @@ __postfix
|
||||||
|
|
||||||
# Default to object_id
|
# Default to object_id
|
||||||
service="$(cat "$__object/parameter/service" 2>/dev/null || echo "$__object_id")"
|
service="$(cat "$__object/parameter/service" 2>/dev/null || echo "$__object_id")"
|
||||||
state="$(cat "$__object/parameter/state")"
|
# state="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
# NOTE: keep variables in sync in manifest,explorer,gencode-*
|
# NOTE: keep variables in sync in manifest,explorer,gencode-*
|
||||||
prefix="#cdist:$__object_name"
|
prefix="#cdist:$__object_name"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
export GOBIN=/opt/gocode/bin # where to find go binaries
|
export GOBIN=/opt/gocode/bin # where to find go binaries
|
||||||
|
|
||||||
exporter="$(cat $__object/parameter/exporter)"
|
exporter="$(cat "$__object/parameter/exporter")"
|
||||||
[ -z "$exporter" ] && exporter="$__object_id"
|
[ -z "$exporter" ] && exporter="$__object_id"
|
||||||
|
|
||||||
__user prometheus --system
|
__user prometheus --system
|
||||||
|
@ -18,7 +18,7 @@ case $exporter in
|
||||||
;;
|
;;
|
||||||
blackbox)
|
blackbox)
|
||||||
require="$require __daemontools_service/${exporter}-exporter __user/prometheus" __config_file "/service/${exporter}-exporter/blackbox.yml" \
|
require="$require __daemontools_service/${exporter}-exporter __user/prometheus" __config_file "/service/${exporter}-exporter/blackbox.yml" \
|
||||||
--source $__type/files/blackbox.yml \
|
--source "$__type/files/blackbox.yml" \
|
||||||
--group prometheus --mode 640 \
|
--group prometheus --mode 640 \
|
||||||
--onchange "svc -h /service/${exporter}-exporter"
|
--onchange "svc -h /service/${exporter}-exporter"
|
||||||
require="$require __golang_from_vendor" __go_get github.com/prometheus/blackbox_exporter
|
require="$require __golang_from_vendor" __go_get github.com/prometheus/blackbox_exporter
|
||||||
|
@ -39,9 +39,9 @@ case $exporter in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
require="$require __daemontools" __daemontools_service ${exporter}-exporter --run "$run"
|
require="$require __daemontools" __daemontools_service "${exporter}-exporter" --run "$run"
|
||||||
if [ -f "$__object/parameter/add-consul-service" ]; then
|
if [ -f "$__object/parameter/add-consul-service" ]; then
|
||||||
__consul_service ${exporter}-exporter --port $port --check-http "http://localhost:$port/metrics" --check-interval 10s
|
__consul_service "${exporter}-exporter" --port "$port" --check-http "http://localhost:$port/metrics" --check-interval 10s
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#__daemontools --install-init-script
|
#__daemontools --install-init-script
|
||||||
|
|
|
@ -13,7 +13,7 @@ storage_path="$(cat "$__object/parameter/storage-path")"
|
||||||
rule_files="$(cat "$__object/parameter/rule-files")"
|
rule_files="$(cat "$__object/parameter/rule-files")"
|
||||||
|
|
||||||
# explorer in kB => convert; by default we go with 1/2 RAM
|
# explorer in kB => convert; by default we go with 1/2 RAM
|
||||||
[ "$target_heap_size" = "auto" ] && target_heap_size=$(($(cat $__global/explorer/memory)*1024/2))
|
[ "$target_heap_size" = "auto" ] && target_heap_size=$(( "$(cat "$__global/explorer/memory")" * 1024 / 2 ))
|
||||||
|
|
||||||
##### INSTALL THE PACKAGE ###################################################
|
##### INSTALL THE PACKAGE ###################################################
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ __key_value prometheus_args --file /etc/default/prometheus \
|
||||||
|
|
||||||
require="$require __directory/$storage_path $require_pkg" \
|
require="$require __directory/$storage_path $require_pkg" \
|
||||||
__config_file $CONF \
|
__config_file $CONF \
|
||||||
--source $config \
|
--source "$config" \
|
||||||
--group prometheus --mode 640 \
|
--group prometheus --mode 640 \
|
||||||
--onchange "promtool check config $CONF && service prometheus reload"
|
--onchange "promtool check config $CONF && service prometheus reload"
|
||||||
|
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
destination="/$__object_id"
|
destination="/$__object_id"
|
||||||
|
|
||||||
stat --print "%G" ${destination} 2>/dev/null || exit 0
|
stat --print "%G" "${destination}" 2>/dev/null || exit 0
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
destination="/$__object_id"
|
destination="/$__object_id"
|
||||||
|
|
||||||
stat --print "%U" ${destination} 2>/dev/null || exit 0
|
stat --print "%U" "${destination}" 2>/dev/null || exit 0
|
||||||
|
|
|
@ -29,10 +29,10 @@ owner="$(cat "$__object/parameter/owner")"
|
||||||
group="$(cat "$__object/parameter/group")"
|
group="$(cat "$__object/parameter/group")"
|
||||||
mode="$(cat "$__object/parameter/mode")"
|
mode="$(cat "$__object/parameter/mode")"
|
||||||
|
|
||||||
[ "$state_should" = "$state_is" -a \
|
[ "$state_should" = "$state_is" ] && \
|
||||||
"$owner" = "$owner_is" -a \
|
[ "$owner" = "$owner_is" ] && \
|
||||||
"$group" = "$group_is" -a \
|
[ "$group" = "$group_is" ] && \
|
||||||
-n "$mode" ] && exit 0
|
[ -n "$mode" ] && exit 0
|
||||||
|
|
||||||
destination="/$__object_id"
|
destination="/$__object_id"
|
||||||
venvparams="$(cat "$__object/parameter/venvparams")"
|
venvparams="$(cat "$__object/parameter/venvparams")"
|
||||||
|
@ -47,10 +47,10 @@ fi
|
||||||
case $state_should in
|
case $state_should in
|
||||||
present)
|
present)
|
||||||
if [ "$state_should" != "$state_is" ]; then
|
if [ "$state_should" != "$state_is" ]; then
|
||||||
echo $pyvenv $venvparams "$destination"
|
echo "$pyvenv" "$venvparams" "$destination"
|
||||||
fi
|
fi
|
||||||
if [ \( -n "$owner" -a "$owner_is" != "$owner" \) -o \
|
if ([ -n "$owner" ] && [ "$owner_is" != "$owner" ]) || \
|
||||||
\( -n "$group" -a "$group_is" != "$group" \) ]; then
|
([ -n "$group" ] && [ "$group_is" != "$group" ]); then
|
||||||
echo chown -R "${owner}:${group}" "$destination"
|
echo chown -R "${owner}:${group}" "$destination"
|
||||||
fi
|
fi
|
||||||
if [ -n "$mode" ]; then
|
if [ -n "$mode" ]; then
|
||||||
|
|
|
@ -18,4 +18,4 @@ format="$(cat "$__object/parameter/format")"
|
||||||
size="$(cat "$__object/parameter/size")"
|
size="$(cat "$__object/parameter/size")"
|
||||||
diskimage="/$__object_id"
|
diskimage="/$__object_id"
|
||||||
|
|
||||||
echo qemu-img create -f \"$format\" \"$diskimage\" \"$size\"
|
echo qemu-img create -f \""$format"\" \""$diskimage"\" \""$size"\"
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# Default settings
|
# Default settings
|
||||||
#
|
#
|
||||||
|
|
||||||
format="$(cat "$__object/parameter/format")"
|
# format="$(cat "$__object/parameter/format")"
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
diskimage="/$__object_id"
|
diskimage="/$__object_id"
|
||||||
|
|
|
@ -31,7 +31,7 @@ set --
|
||||||
if [ -f "$__object/parameter/rsync-opts" ]; then
|
if [ -f "$__object/parameter/rsync-opts" ]; then
|
||||||
while read opts; do
|
while read opts; do
|
||||||
set -- "$@" "--$opts"
|
set -- "$@" "--$opts"
|
||||||
done < $__object/parameter/rsync-opts
|
done < "$__object/parameter/rsync-opts"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo rsync -a \
|
echo rsync -a \
|
||||||
|
|
|
@ -28,7 +28,7 @@ if [ "$user" = "root" ]; then
|
||||||
echo absent
|
echo absent
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if su - $user -c "[ -d \"\$HOME/.rvm\" ]" ; then
|
if su - "$user" -c "[ -d \"\$HOME/.rvm\" ]" ; then
|
||||||
echo "present"
|
echo "present"
|
||||||
else
|
else
|
||||||
echo "absent"
|
echo "absent"
|
||||||
|
|
|
@ -20,8 +20,6 @@
|
||||||
|
|
||||||
gem="$__object_id"
|
gem="$__object_id"
|
||||||
gemset="$(cat "$__object/parameter/gemset")"
|
gemset="$(cat "$__object/parameter/gemset")"
|
||||||
ruby="$(echo "$gemset" | cut -d '@' -f 1)"
|
|
||||||
gemsetname="$(echo "$gemset" | cut -d '@' -f 2)"
|
|
||||||
state_is="$(cat "$__object/explorer/state")"
|
state_is="$(cat "$__object/explorer/state")"
|
||||||
user="$(cat "$__object/parameter/user")"
|
user="$(cat "$__object/parameter/user")"
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
|
|
@ -28,8 +28,8 @@ if [ ! -e "~$user/.rvm/scripts/rvm" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if su - "$user" -c 'source ~/.rvm/scripts/rvm; rvm list strings | grep -q "^$ruby\$"'; then
|
if su - "$user" -c "source ~/.rvm/scripts/rvm; rvm list strings | grep -q \"^$ruby\$\""; then
|
||||||
if su - "$user" -c 'source ~/.rvm/scripts/rvm; rvm use "$ruby" > /dev/null; rvm gemset list strings | cut -f 1 -d " " | grep -q "^$gemsetname\$"'; then
|
if su - "$user" -c "source ~/.rvm/scripts/rvm; rvm use \"$ruby\" > /dev/null; rvm gemset list strings | cut -f 1 -d " " | grep -q \"^$gemsetname\$\""; then
|
||||||
echo "present"
|
echo "present"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
ruby="$__object_id"
|
ruby="$__object_id"
|
||||||
state_is="$(cat "$__object/explorer/state")"
|
state_is="$(cat "$__object/explorer/state")"
|
||||||
user="$(cat "$__object/parameter/user")"
|
user="$(cat "$__object/parameter/user")"
|
||||||
default="$(cat "$__object/parameter/default" 2>/dev/null || true)"
|
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
|
||||||
[ "$state_is" = "$state_should" ] && exit 0
|
[ "$state_is" = "$state_should" ] && exit 0
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
# extract the keytype and base64 encoded key ignoring any options and comment
|
# extract the keytype and base64 encoded key ignoring any options and comment
|
||||||
type_and_key="$(cat "$__object/parameter/key" | tr ' ' '\n' | awk '/^(ssh|ecdsa)-[^ ]+/ { printf $1" "; getline; printf $1 }')"
|
type_and_key="$(tr ' ' '\n' < "$__object/parameter/key" | awk '/^(ssh|ecdsa)-[^ ]+/ { printf $1" "; getline; printf $1 }')"
|
||||||
# If type_and_key is empty, which is the case with an invalid key, do not grep $file because it results
|
# If type_and_key is empty, which is the case with an invalid key, do not grep $file because it results
|
||||||
# in greping everything in file and all entries from file are removed.
|
# in greping everything in file and all entries from file are removed.
|
||||||
if [ -n "${type_and_key}" ]
|
if [ -n "${type_and_key}" ]
|
||||||
then
|
then
|
||||||
file="$(cat $__object/parameter/file)"
|
file="$(cat "$__object/parameter/file")"
|
||||||
|
|
||||||
# get any entries that match the type and key
|
# get any entries that match the type and key
|
||||||
grep ".*$type_and_key\([ \n]\|$\)" "$file" || true
|
grep ".*$type_and_key\([ \n]\|$\)" "$file" || true
|
||||||
|
|
|
@ -59,7 +59,7 @@ mkdir "$__object/files"
|
||||||
(
|
(
|
||||||
if [ -f "$__object/parameter/option" ]; then
|
if [ -f "$__object/parameter/option" ]; then
|
||||||
# comma seperated list of options
|
# comma seperated list of options
|
||||||
options="$(cat "$__object/parameter/option" | tr '\n' ',')"
|
options="$(tr '\n' ',' "$__object/parameter/option")"
|
||||||
printf '%s ' "${options%*,}"
|
printf '%s ' "${options%*,}"
|
||||||
fi
|
fi
|
||||||
if [ -f "$__object/parameter/comment" ]; then
|
if [ -f "$__object/parameter/comment" ]; then
|
||||||
|
@ -88,7 +88,7 @@ fi
|
||||||
entry="$(cat "$__object/files/should")"
|
entry="$(cat "$__object/files/should")"
|
||||||
state_should="$(cat "$__object/parameter/state")"
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
num_existing_entries=$(grep -c -F -x "$entry" "$__object/explorer/entry" || true)
|
num_existing_entries=$(grep -c -F -x "$entry" "$__object/explorer/entry" || true)
|
||||||
if [ $num_existing_entries -eq 1 ]; then
|
if [ "$num_existing_entries" -eq 1 ]; then
|
||||||
state_is="present"
|
state_is="present"
|
||||||
else
|
else
|
||||||
# Posix grep does not define the -m option, so we can not remove a single
|
# Posix grep does not define the -m option, so we can not remove a single
|
||||||
|
|
|
@ -23,7 +23,7 @@ owner="$(cat "$__object/parameter/owner" 2>/dev/null || echo "$__object_id")"
|
||||||
state="$(cat "$__object/parameter/state" 2>/dev/null)"
|
state="$(cat "$__object/parameter/state" 2>/dev/null)"
|
||||||
file="$(cat "$__object/explorer/file")"
|
file="$(cat "$__object/explorer/file")"
|
||||||
|
|
||||||
if [ ! -f "$__object/parameter/noparent" -o ! -f "$__object/parameter/nofile" ]; then
|
if [ ! -f "$__object/parameter/noparent" ] || [ ! -f "$__object/parameter/nofile" ]; then
|
||||||
group="$(cut -d':' -f 1 "$__object/explorer/group")"
|
group="$(cut -d':' -f 1 "$__object/explorer/group")"
|
||||||
if [ -z "$group" ]; then
|
if [ -z "$group" ]; then
|
||||||
echo "Failed to get owners group from explorer." >&2
|
echo "Failed to get owners group from explorer." >&2
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
|
|
||||||
destination="$__object_id"
|
destination="$__object_id"
|
||||||
source="$(cat "$__object/parameter/source")"
|
source="$(cat "$__object/parameter/source")"
|
||||||
cksum="$(cat "$__object/parameter/cksum")"
|
|
||||||
stage_dir="$(cat "$__object/parameter/stage-dir")"
|
stage_dir="$(cat "$__object/parameter/stage-dir")"
|
||||||
state="$(cat "$__object/parameter/state")"
|
state="$(cat "$__object/parameter/state")"
|
||||||
fetch_command="$(cat "$__object/parameter/fetch-command")"
|
fetch_command="$(cat "$__object/parameter/fetch-command")"
|
||||||
|
@ -74,7 +73,7 @@ fetch_and_prepare_file() {
|
||||||
cat << DONE
|
cat << DONE
|
||||||
verify_cksum() {
|
verify_cksum() {
|
||||||
cksum_is="\$(cksum "$stage_file" | cut -d' ' -f1,2)"
|
cksum_is="\$(cksum "$stage_file" | cut -d' ' -f1,2)"
|
||||||
cksum_should="$(cat "$__object/parameter/cksum" | cut -d' ' -f1,2)"
|
cksum_should="$(cut -d' ' -f1,2 "$__object/parameter/cksum")"
|
||||||
if [ "\$cksum_is" = "\$cksum_should" ]; then
|
if [ "\$cksum_is" = "\$cksum_should" ]; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
|
|
|
@ -19,11 +19,11 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
destination="$__object_id"
|
destination="$__object_id"
|
||||||
source="$(cat "$__object/parameter/source")"
|
# source="$(cat "$__object/parameter/source")"
|
||||||
cksum="$(cat "$__object/parameter/cksum")"
|
# cksum="$(cat "$__object/parameter/cksum")"
|
||||||
stage_dir="$(cat "$__object/parameter/stage-dir")"
|
stage_dir="$(cat "$__object/parameter/stage-dir")"
|
||||||
state="$(cat "$__object/parameter/state")"
|
# state="$(cat "$__object/parameter/state")"
|
||||||
fetch_command="$(cat "$__object/parameter/fetch-command")"
|
# fetch_command="$(cat "$__object/parameter/fetch-command")"
|
||||||
stage_file="${stage_dir}/${destination}"
|
stage_file="${stage_dir}/${destination}"
|
||||||
|
|
||||||
set -- "/${destination}"
|
set -- "/${destination}"
|
||||||
|
|
|
@ -59,11 +59,11 @@ case "$state_should" in
|
||||||
;;
|
;;
|
||||||
|
|
||||||
gentoo)
|
gentoo)
|
||||||
echo rc-update add \"$name\" \"$target_runlevel\"
|
echo "rc-update add \"$name\" \"$target_runlevel\""
|
||||||
;;
|
;;
|
||||||
|
|
||||||
amazon|scientific|centos|fedora|owl|redhat|suse)
|
amazon|scientific|centos|fedora|owl|redhat|suse)
|
||||||
echo chkconfig \"$name\" on
|
echo "chkconfig \"$name\" on"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
openwrt)
|
openwrt)
|
||||||
|
@ -98,15 +98,15 @@ case "$state_should" in
|
||||||
else
|
else
|
||||||
case "$os" in
|
case "$os" in
|
||||||
debian|ubuntu|devuan)
|
debian|ubuntu|devuan)
|
||||||
echo update-rc.d -f \"$name\" remove
|
echo "update-rc.d -f \"$name\" remove"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
gentoo)
|
gentoo)
|
||||||
echo rc-update del \"$name\" \"$target_runlevel\"
|
echo "rc-update del \"$name\" \"$target_runlevel\""
|
||||||
;;
|
;;
|
||||||
|
|
||||||
centos|fedora|owl|redhat|suse)
|
centos|fedora|owl|redhat|suse)
|
||||||
echo chkconfig \"$name\" off
|
echo "chkconfig \"$name\" off"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
openwrt)
|
openwrt)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
name=$__object_id
|
name=$__object_id
|
||||||
os="$($__explorer/os)"
|
os="$("$__explorer"/os)"
|
||||||
# Default to using shadow passwords
|
# Default to using shadow passwords
|
||||||
database="shadow"
|
database="shadow"
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ shorten_property() {
|
||||||
if [ "$state" = "present" ]; then
|
if [ "$state" = "present" ]; then
|
||||||
cd "$__object/parameter"
|
cd "$__object/parameter"
|
||||||
if grep -q "^${name}:" "$__object/explorer/passwd"; then
|
if grep -q "^${name}:" "$__object/explorer/passwd"; then
|
||||||
for property in $(ls .); do
|
for property in *; do
|
||||||
new_value="$(cat "$property")"
|
new_value="$(cat "$property")"
|
||||||
unset current_value
|
unset current_value
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ if [ "$state" = "present" ]; then
|
||||||
|
|
||||||
case "$property" in
|
case "$property" in
|
||||||
gid)
|
gid)
|
||||||
if $(echo "$new_value" | grep -q '^[0-9][0-9]*$'); then
|
if echo "$new_value" | grep -q '^[0-9][0-9]*$'; then
|
||||||
field=4
|
field=4
|
||||||
else
|
else
|
||||||
# We were passed a group name. Compare the gid in
|
# We were passed a group name. Compare the gid in
|
||||||
|
@ -97,7 +97,7 @@ if [ "$state" = "present" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$new_value" != "$current_value" ]; then
|
if [ "$new_value" != "$current_value" ]; then
|
||||||
set -- "$@" "$(shorten_property $property)" \'$new_value\'
|
set -- "$@" "$(shorten_property "$property")" \'"$new_value"\'
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -113,14 +113,14 @@ if [ "$state" = "present" ]; then
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo add >> "$__messages_out"
|
echo add >> "$__messages_out"
|
||||||
for property in $(ls .); do
|
for property in *; do
|
||||||
[ "$property" = "state" ] && continue
|
[ "$property" = "state" ] && continue
|
||||||
[ "$property" = "remove-home" ] && continue
|
[ "$property" = "remove-home" ] && continue
|
||||||
new_value="$(cat "$property")"
|
new_value="$(cat "$property")"
|
||||||
if [ -z "$new_value" ];then # Boolean values have no value
|
if [ -z "$new_value" ];then # Boolean values have no value
|
||||||
set -- "$@" "$(shorten_property $property)"
|
set -- "$@" "$(shorten_property "$property")"
|
||||||
else
|
else
|
||||||
set -- "$@" "$(shorten_property $property)" \'$new_value\'
|
set -- "$@" "$(shorten_property "$property")" \'"$new_value"\'
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -21,4 +21,4 @@
|
||||||
# Retrieve all repo id nummbers - parsed zypper output
|
# Retrieve all repo id nummbers - parsed zypper output
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
echo $(zypper lr | cut -d'|' -f 1 | grep -E '^[0-9]')
|
zypper lr | cut -d'|' -f 1 | grep -E '^[0-9]'
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue