summaryrefslogtreecommitdiffstats
path: root/modules.d/conf-tgz/hooks/fetch-config-tgz.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/conf-tgz/hooks/fetch-config-tgz.sh')
-rwxr-xr-xmodules.d/conf-tgz/hooks/fetch-config-tgz.sh29
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