diff options
Diffstat (limited to 'modules.d/conf-tgz/hooks/fetch-config-tgz.sh')
-rwxr-xr-x | modules.d/conf-tgz/hooks/fetch-config-tgz.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/modules.d/conf-tgz/hooks/fetch-config-tgz.sh b/modules.d/conf-tgz/hooks/fetch-config-tgz.sh new file mode 100755 index 00000000..1c8ace61 --- /dev/null +++ b/modules.d/conf-tgz/hooks/fetch-config-tgz.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# -*- coding: utf-8 -*- + +type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh + + + slx_server="$(getarg slxsrv=)" + slx_server_base="$(getarg slxbase=)" + + if [ -z "$SLX_NO_CONFIG_TGZ" ]; then + # build config.tgz url + conftgz_url="http://${slx_server#@}/${slx_server_base}/config.tgz" + + # check if system's uuid was set + if [ -s "/run/system-uuid" ]; then + uuid="$(cat /run/system-uuid)" + if [ -n "$uuid" ]; then + conftgz_url="${conftgz_url}?uuid=${uuid}" + fi + fi + info "Download config.tgz from '$conftgz_url'..." + slx-tools download_retry -s "${conftgz_url}" > "/etc/config.tgz" + + if [[ ! -s "/etc/config.tgz" ]]; then + warn \ + "Downloading 'config.tgz' from '${slx_server}' failed with: $return_code" + # TODO handle error + fi + fi |