|
| 1 | +#!/usr/bin/env bash |
| 2 | +#/ Usage: ghe-restore-secret-scanning-encryption-keys <host> |
| 3 | +#/ Restore the secret scanning encryption keys from a snapshot to the given <host>. |
| 4 | +#/ This script will be run automatically by `ghe-restore` |
| 5 | +set -e |
| 6 | + |
| 7 | +# Bring in the backup configuration |
| 8 | +# shellcheck source=share/github-backup-utils/ghe-backup-config |
| 9 | +. "$(dirname "${BASH_SOURCE[0]}")/ghe-backup-config" |
| 10 | + |
| 11 | +# Show usage and bail with no arguments |
| 12 | +[ -z "$*" ] && print_usage |
| 13 | + |
| 14 | +bm_start "$(basename $0)" |
| 15 | + |
| 16 | +# Grab host arg |
| 17 | +GHE_HOSTNAME="$1" |
| 18 | + |
| 19 | +# Perform a host-check and establish GHE_REMOTE_XXX variables. |
| 20 | +ghe_remote_version_required "$GHE_HOSTNAME" |
| 21 | + |
| 22 | +# The snapshot to restore should be set by the ghe-restore command but this lets |
| 23 | +# us run this script directly. |
| 24 | +: ${GHE_RESTORE_SNAPSHOT:=current} |
| 25 | + |
| 26 | +# Path to snapshot dir we're restoring from |
| 27 | +: ${GHE_RESTORE_SNAPSHOT_PATH:="$GHE_DATA_DIR/current"} |
| 28 | + |
| 29 | +# Restore secret scanning encrypted secrets storage keys if present |
| 30 | +log_info "Restoring secret scanning encrypted secrets storage keys" |
| 31 | +restore-secret "secret scanning encrypted secrets current storage key" "secret-scanning-encrypted-secrets-current-storage-key" "secrets.secret-scanning.encrypted-secrets-current-storage-key" |
| 32 | +restore-secret "secret scanning encrypted secrets delimited storage keys" "secret-scanning-encrypted-secrets-delimited-storage-keys" "secrets.secret-scanning.encrypted-secrets-delimited-storage-keys" |
| 33 | + |
| 34 | +# Restore secret scanning encrypted secrets transit keys if present |
| 35 | +log_info "Restoring secret scanning encrypted secrets transit keys" |
| 36 | +restore-secret "secret scanning encrypted secrets current shared transit key" "secret-scanning-encrypted-secrets-current-shared-transit-key" "secrets.secret-scanning.encrypted-secrets-current-shared-transit-key" |
| 37 | +restore-secret "secret scanning encrypted secrets delimited shared transit keys" "secret-scanning-encrypted-secrets-delimited-shared-transit-keys" "secrets.secret-scanning.encrypted-secrets-delimited-shared-transit-keys" |
| 38 | + |
| 39 | +bm_end "$(basename $0)" |
0 commit comments