51 lines
893 B
Bash
Executable File
51 lines
893 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Loads file contents into a nomad variable.
|
|
#
|
|
# Usage: file_to_nomad_var.sh <filename> <variablename> <var_key>
|
|
#
|
|
# filename can be - for stdin.
|
|
#
|
|
# read the var back out with:
|
|
# - nomad var get <variablename>
|
|
#
|
|
# From https://github.com/gerrowadat/nomad-homelab/blob/main/utilities/file_to_nomad_var.sh
|
|
|
|
function print_usage() {
|
|
echo "Usage: ${0} <file or -> <nomad var> <var key>"
|
|
}
|
|
|
|
filename=$1
|
|
nomad_var=$2
|
|
var_key=$3
|
|
|
|
if [ "${filename}" != "-" ];
|
|
then
|
|
if [ ! -f "${filename}" ]
|
|
then
|
|
echo "${filename} does not exist"
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
var_contents=$(cat ${filename})
|
|
|
|
if [[ "${nomad_var}" == "" || "${var_key}" == "" ]];
|
|
then
|
|
print_usage
|
|
exit
|
|
fi
|
|
|
|
echo "Copying ${filename} to ${nomad_var}:${var_key}..."
|
|
|
|
nomad var put -force -in hcl - <<EOF
|
|
path = "${nomad_var}"
|
|
|
|
items {
|
|
${var_key} = <<OMGUNIQUETOKEN
|
|
${var_contents}
|
|
OMGUNIQUETOKEN
|
|
}
|
|
EOF
|
|
|