17 lines
444 B
Bash
Executable file
17 lines
444 B
Bash
Executable file
#!/bin/bash
|
|
set -euo pipefail
|
|
IFS=$'\n\t'
|
|
|
|
eval "$(jq -r '@sh "PUBKEY=\(.pubkey) HOST=\(.host) CAHOST=\(.cahost) CASCRIPT=\(.cascript) CAKEY=\(.cakey)"')"
|
|
|
|
# TODO: Can this be done more eye-pleasingly?
|
|
set +e
|
|
CERT=$(ssh -o ConnectTimeout=3 -o ConnectionAttempts=1 root@$CAHOST '"'"$CASCRIPT"'" "'"$CAKEY"'" host "'"$PUBKEY"'" "'"$HOST"'".dmz')
|
|
retval=$?
|
|
set -e
|
|
|
|
if [ retval -neq 0 ]; then
|
|
CERT=""
|
|
fi
|
|
|
|
jq -n --arg cert "$CERT" '{"cert":$cert}'
|