Skip to content

Commit 5550269

Browse files
authored
Merge pull request #535 from github/enterprise-3.10-backport-528-suppress-secret-scanning-encrypted-secrets-warning
Backport 528 for 3.10: Only backup secret scanning secrets on GHES versions 3.8.0+
2 parents 91fb835 + a658a3d commit 5550269

File tree

2 files changed

+39
-6
lines changed

2 files changed

+39
-6
lines changed

share/github-backup-utils/ghe-backup-settings

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,13 @@ if [ "$(version $GHE_REMOTE_VERSION)" -ge "$(version 3.7.0)" ]; then
8686
cat "$GHE_SNAPSHOT_DIR/encrypted-column-encryption-keying-material" | sed 's:.*;::' > "$GHE_SNAPSHOT_DIR/encrypted-column-current-encryption-key"
8787
fi
8888

89-
backup-secret "secret scanning encrypted secrets current storage key" "secret-scanning-encrypted-secrets-current-storage-key" "secrets.secret-scanning.encrypted-secrets-current-storage-key"
90-
backup-secret "secret scanning encrypted secrets delimited storage keys" "secret-scanning-encrypted-secrets-delimited-storage-keys" "secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
91-
backup-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"
92-
backup-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"
89+
# secret scanning encrypted secrets keys were added in GHES 3.8.0
90+
if [ "$(version $GHE_REMOTE_VERSION)" -ge "$(version 3.8.0)" ]; then
91+
backup-secret "secret scanning encrypted secrets current storage key" "secret-scanning-encrypted-secrets-current-storage-key" "secrets.secret-scanning.encrypted-secrets-current-storage-key"
92+
backup-secret "secret scanning encrypted secrets delimited storage keys" "secret-scanning-encrypted-secrets-delimited-storage-keys" "secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
93+
backup-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"
94+
backup-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"
95+
fi
9396

9497
# Backup argon secrets for multiuser from ghes version 3.8 onwards
9598
if [[ "$(version $GHE_REMOTE_VERSION)" -ge "$(version 3.8.0)" && "$(version $GHE_REMOTE_VERSION)" -lt "$(version 3.8.2)" ]]; then

test/test-ghe-backup.sh

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,7 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
772772
)
773773
end_test
774774

775-
begin_test "ghe-backup takes backup of secret scanning encrypted secrets encryption keys"
775+
begin_test "ghe-backup does not take backups of secret scanning encrypted secrets encryption keys on versions below 3.8.0"
776776
(
777777
set -e
778778

@@ -787,7 +787,37 @@ begin_test "ghe-backup takes backup of secret scanning encrypted secrets encrypt
787787
ghe-ssh "$GHE_HOSTNAME" -- ghe-config "$secret" "foo"
788788
done
789789

790-
ghe-backup
790+
GHE_REMOTE_VERSION=3.7.0 ghe-backup -v | grep -q "secret scanning encrypted secrets" && exit 1
791+
792+
required_files=(
793+
"secret-scanning-encrypted-secrets-current-storage-key"
794+
"secret-scanning-encrypted-secrets-delimited-storage-keys"
795+
"secret-scanning-encrypted-secrets-current-shared-transit-key"
796+
"secret-scanning-encrypted-secrets-delimited-shared-transit-keys"
797+
)
798+
799+
for file in "${required_files[@]}"; do
800+
[ "$(cat "$GHE_DATA_DIR/current/$file")" = "" ]
801+
done
802+
)
803+
end_test
804+
805+
begin_test "ghe-backup takes backup of secret scanning encrypted secrets encryption keys on versions 3.8.0+"
806+
(
807+
set -e
808+
809+
required_secrets=(
810+
"secrets.secret-scanning.encrypted-secrets-current-storage-key"
811+
"secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
812+
"secrets.secret-scanning.encrypted-secrets-current-shared-transit-key"
813+
"secrets.secret-scanning.encrypted-secrets-delimited-shared-transit-keys"
814+
)
815+
816+
for secret in "${required_secrets[@]}"; do
817+
ghe-ssh "$GHE_HOSTNAME" -- ghe-config "$secret" "foo"
818+
done
819+
820+
GHE_REMOTE_VERSION=3.8.0 ghe-backup
791821

792822
required_files=(
793823
"secret-scanning-encrypted-secrets-current-storage-key"

0 commit comments

Comments
 (0)