fix(ci): support base64 ssh deploy key
This commit is contained in:
parent
f125b1f603
commit
772f47a5fe
2
.github/workflows/pipeline.yml
vendored
2
.github/workflows/pipeline.yml
vendored
@ -223,6 +223,7 @@ jobs:
|
||||
kv/data/github-actions/xworkmate-bridge INTERNAL_SERVICE_TOKEN | INTERNAL_SERVICE_TOKEN ;
|
||||
kv/data/github-actions/xworkmate-bridge WORKSPACE_REPO_TOKEN | WORKSPACE_REPO_TOKEN ;
|
||||
kv/data/github-actions/xworkmate-bridge SINGLE_NODE_VPS_SSH_PRIVATE_KEY | SINGLE_NODE_VPS_SSH_PRIVATE_KEY ;
|
||||
kv/data/github-actions/xworkmate-bridge SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64 | SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64 ;
|
||||
kv/data/github-actions/xworkmate-bridge SSH_KNOWN_HOSTS | SSH_KNOWN_HOSTS
|
||||
|
||||
- name: Export deploy secrets
|
||||
@ -282,6 +283,7 @@ jobs:
|
||||
working-directory: xworkmate-bridge
|
||||
env:
|
||||
SINGLE_NODE_VPS_SSH_PRIVATE_KEY: ${{ steps.vault.outputs.SINGLE_NODE_VPS_SSH_PRIVATE_KEY }}
|
||||
SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64: ${{ steps.vault.outputs.SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64 }}
|
||||
SSH_KNOWN_HOSTS: ${{ steps.vault.outputs.SSH_KNOWN_HOSTS }}
|
||||
run: bash ./scripts/github-actions/prepare-ssh.sh "${{ steps.deploy_meta.outputs.target_host }}" "${SSH_KNOWN_HOSTS}"
|
||||
|
||||
|
||||
@ -4,12 +4,19 @@ set -euo pipefail
|
||||
TARGET_HOST="${1:?target host is required}"
|
||||
SSH_KNOWN_HOSTS_PAYLOAD="${2:-}"
|
||||
|
||||
test -n "${SINGLE_NODE_VPS_SSH_PRIVATE_KEY:-}"
|
||||
if [[ -z "${SINGLE_NODE_VPS_SSH_PRIVATE_KEY:-}" && -z "${SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64:-}" ]]; then
|
||||
echo "::error::SINGLE_NODE_VPS_SSH_PRIVATE_KEY or SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64 is required"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${HOME}/.ssh"
|
||||
chmod 700 "${HOME}/.ssh"
|
||||
|
||||
python3 .github/scripts/normalize-private-key.py normalize > "${HOME}/.ssh/id_rsa"
|
||||
if [[ -n "${SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64:-}" ]]; then
|
||||
printf '%s' "${SINGLE_NODE_VPS_SSH_PRIVATE_KEY_B64}" | base64 -d > "${HOME}/.ssh/id_rsa"
|
||||
else
|
||||
python3 .github/scripts/normalize-private-key.py normalize > "${HOME}/.ssh/id_rsa"
|
||||
fi
|
||||
chmod 600 "${HOME}/.ssh/id_rsa"
|
||||
ssh-keygen -y -f "${HOME}/.ssh/id_rsa" >/dev/null
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user