18 lines
444 B
Bash
18 lines
444 B
Bash
|
#!/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"'" host "'"$CAKEY"'" "'"$PUBKEY"'" "'"$HOST"'".dmz')
|
||
|
retval=$?
|
||
|
set -e
|
||
|
|
||
|
if [ retval -neq 0 ]; then
|
||
|
CERT=""
|
||
|
fi
|
||
|
|
||
|
jq -n --arg cert "$CERT" '{"cert":$cert}'
|