Commit 265bd984 authored by Josh McSavaney's avatar Josh McSavaney

Always validate K3S_URL.

Also move K3S_URL validation to its own function. Signed-off-by: 's avatarJosh McSavaney <mcsaucy@csh.rit.edu>
parent 4eb88a2f
...@@ -141,6 +141,19 @@ escape_dq() { ...@@ -141,6 +141,19 @@ escape_dq() {
printf '%s' "$@" | sed -e 's/"/\\"/g' printf '%s' "$@" | sed -e 's/"/\\"/g'
} }
# --- ensures $K3S_URL is empty or begins with https://, exiting fatally otherwise ---
verify_k3s_url() {
case "${K3S_URL}" in
"")
;;
https://*)
;;
*)
fatal "Only https:// URLs are supported for K3S_URL (have ${K3S_URL})"
;;
esac
}
# --- define needed environment variables --- # --- define needed environment variables ---
setup_env() { setup_env() {
# --- use command args if passed or create default --- # --- use command args if passed or create default ---
...@@ -153,14 +166,6 @@ setup_env() { ...@@ -153,14 +166,6 @@ setup_env() {
if [ -z "${K3S_TOKEN}" ] && [ -z "${K3S_CLUSTER_SECRET}" ]; then if [ -z "${K3S_TOKEN}" ] && [ -z "${K3S_CLUSTER_SECRET}" ]; then
fatal "Defaulted k3s exec command to 'agent' because K3S_URL is defined, but K3S_TOKEN or K3S_CLUSTER_SECRET is not defined." fatal "Defaulted k3s exec command to 'agent' because K3S_URL is defined, but K3S_TOKEN or K3S_CLUSTER_SECRET is not defined."
fi fi
case "${K3S_URL}" in
https://*)
;;
*)
fatal "Only https:// URLs are supported for K3S_URL (have ${K3S_URL})"
;;
esac
CMD_K3S=agent CMD_K3S=agent
fi fi
;; ;;
...@@ -170,6 +175,9 @@ setup_env() { ...@@ -170,6 +175,9 @@ setup_env() {
shift shift
;; ;;
esac esac
verify_k3s_url
CMD_K3S_EXEC="${CMD_K3S}$(quote_indent "$@")" CMD_K3S_EXEC="${CMD_K3S}$(quote_indent "$@")"
# --- use systemd name if defined or create default --- # --- use systemd name if defined or create default ---
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment