42 lines
1.0 KiB
Bash
42 lines
1.0 KiB
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
REPO_ROOT="$(cd "$(dirname "$0")/../../.." && pwd)"
|
|
cd "${REPO_ROOT}"
|
|
|
|
DEST_FILE="${1:-secrets/SSH_KEY}"
|
|
DEST_DIR="$(dirname "${DEST_FILE}")"
|
|
ENCODED_FILE="${DEST_FILE}.b64"
|
|
|
|
. ci/scripts/common/runtime_env.sh
|
|
|
|
env_name="${CI_TARGET_ENV:-$(resolve_runtime_env_name)}"
|
|
runtime_file="$(resolve_runtime_env_file "${env_name}")"
|
|
cleanup_runtime_file=0
|
|
case "${runtime_file}" in
|
|
./.runtime.*.merged.*)
|
|
cleanup_runtime_file=1
|
|
;;
|
|
esac
|
|
|
|
cleanup() {
|
|
rm -f "${ENCODED_FILE}"
|
|
if [ "${cleanup_runtime_file}" -eq 1 ]; then
|
|
rm -f "${runtime_file}"
|
|
fi
|
|
}
|
|
trap cleanup EXIT INT TERM
|
|
|
|
normalize_env_file "${runtime_file}"
|
|
load_env_file "${runtime_file}"
|
|
|
|
DEPLOY_SSH_KEY_PATH="${DEPLOY_SSH_KEY_PATH:-ops/deploy/ssh_key}"
|
|
|
|
mkdir -p "${DEST_DIR}"
|
|
./ci/vlt kv_to_file kv "${DEPLOY_SSH_KEY_PATH}" private_b64 "${ENCODED_FILE}" 600
|
|
base64 -d "${ENCODED_FILE}" > "${DEST_FILE}"
|
|
chmod 600 "${DEST_FILE}"
|
|
ssh-keygen -y -f "${DEST_FILE}" >/dev/null
|
|
|
|
printf '[fetch-deploy-ssh-key] env=%s path=%s\n' "${env_name}" "${DEPLOY_SSH_KEY_PATH}" >&2
|