File tree Expand file tree Collapse file tree 4 files changed +80
-0
lines changed
share/github-backup-utils Expand file tree Collapse file tree 4 files changed +80
-0
lines changed Original file line number Diff line number Diff line change 88
88
if [ " $( version $GHE_REMOTE_VERSION ) " -ge " $( version 3.8.0) " ]; then
89
89
backup-secret " encrypted column current encryption key" " encrypted-column-current-encryption-key" " secrets.github.encrypted-column-current-encryption-key"
90
90
fi
91
+ backup-secret " encrypted column encryption keying material" " encrypted-column-encryption-keying-material" " secrets.github.encrypted-column-keying-material"
92
+ backup-secret " encrypted column current encryption key" " encrypted-column-current-encryption-key" " secrets.github.encrypted-column-current-encryption-key"
93
+ backup-secret " secret scanning encrypted secrets current storage key" " secret-scanning-encrypted-secrets-current-storage-key" " secrets.secret-scanning.encrypted-secrets-current-storage-key"
94
+ backup-secret " secret scanning encrypted secrets delimited storage keys" " secret-scanning-encrypted-secrets-delimited-storage-keys" " secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
95
+ 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"
96
+ 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"
91
97
92
98
# Backup argon secrets for multiuser from ghes version 3.8 onwards
93
99
if [[ " $( version $GHE_REMOTE_VERSION ) " -ge " $( version 3.8.0) " && " $( version $GHE_REMOTE_VERSION ) " -lt " $( version 3.8.2) " ]]; then
Original file line number Diff line number Diff line change @@ -56,6 +56,18 @@ restore-secret "kredz.credz HMAC key" "kredz-credz-hmac" "secrets.kredz.credz-hm
56
56
# Restore kredz.varz HMAC key if present.
57
57
restore-secret " kredz.varz HMAC key" " kredz-varz-hmac" " secrets.kredz.varz-hmac-secret"
58
58
59
+ # Restore encrypted column encryption keying material if present
60
+ restore-secret " encrypted column encryption keying material" " encrypted-column-encryption-keying-material" " secrets.github.encrypted-column-keying-material"
61
+
62
+ # Restore encrypted column current encryption key if present
63
+ restore-secret " encrypted column current encryption key" " encrypted-column-current-encryption-key" " secrets.github.encrypted-column-current-encryption-key"
64
+
65
+ # Restore secret scanning encrypted secrets encryption keys if present
66
+ restore-secret " secret scanning encrypted secrets current storage key" " secret-scanning-encrypted-secrets-current-storage-key" " secrets.secret-scanning.encrypted-secrets-current-storage-key"
67
+ restore-secret " secret scanning encrypted secrets delimited storage keys" " secret-scanning-encrypted-secrets-delimited-storage-keys" " secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
68
+ 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"
69
+ 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"
70
+
59
71
# Restore SAML keys if present.
60
72
if [ -f " $GHE_RESTORE_SNAPSHOT_PATH /saml-keys.tar" ]; then
61
73
log_info " Restoring SAML keys ..."
Original file line number Diff line number Diff line change @@ -663,6 +663,36 @@ begin_test "ghe-backup takes backup of encrypted column current encryption key f
663
663
)
664
664
end_test
665
665
666
+ begin_test " ghe-backup takes backup of secret scanning encrypted secrets encryption keys"
667
+ (
668
+ set -e
669
+
670
+ required_secrets=(
671
+ " secrets.secret-scanning.encrypted-secrets-current-storage-key"
672
+ " secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
673
+ " secrets.secret-scanning.encrypted-secrets-current-shared-transit-key"
674
+ " secrets.secret-scanning.encrypted-secrets-delimited-shared-transit-keys"
675
+ )
676
+
677
+ for secret in " ${required_secrets[@]} " ; do
678
+ ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " " foo"
679
+ done
680
+
681
+ ghe-backup
682
+
683
+ required_files=(
684
+ " secret-scanning-encrypted-secrets-current-storage-key"
685
+ " secret-scanning-encrypted-secrets-delimited-storage-keys"
686
+ " secret-scanning-encrypted-secrets-current-shared-transit-key"
687
+ " secret-scanning-encrypted-secrets-delimited-shared-transit-keys"
688
+ )
689
+
690
+ for file in " ${required_files[@]} " ; do
691
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
692
+ done
693
+ )
694
+ end_test
695
+
666
696
begin_test " ghe-backup takes backup of Actions settings"
667
697
(
668
698
set -e
Original file line number Diff line number Diff line change @@ -389,6 +389,38 @@ begin_test "ghe-restore with encrypted column current encryption key for version
389
389
)
390
390
end_test
391
391
392
+ begin_test " ghe-restore with secret scanning encrypted secrets encryption keys"
393
+ (
394
+ set -e
395
+ rm -rf " $GHE_REMOTE_ROOT_DIR "
396
+ setup_remote_metadata
397
+
398
+ required_files=(
399
+ " secret-scanning-encrypted-secrets-current-storage-key"
400
+ " secret-scanning-encrypted-secrets-delimited-storage-keys"
401
+ " secret-scanning-encrypted-secrets-current-shared-transit-key"
402
+ " secret-scanning-encrypted-secrets-delimited-shared-transit-keys"
403
+ )
404
+
405
+ for file in " ${required_files[@]} " ; do
406
+ echo " foo" > " $GHE_DATA_DIR /current/$file "
407
+ done
408
+
409
+ ghe-restore -v -f localhost
410
+
411
+ required_secrets=(
412
+ " secrets.secret-scanning.encrypted-secrets-current-storage-key"
413
+ " secrets.secret-scanning.encrypted-secrets-delimited-storage-keys"
414
+ " secrets.secret-scanning.encrypted-secrets-current-shared-transit-key"
415
+ " secrets.secret-scanning.encrypted-secrets-delimited-shared-transit-keys"
416
+ )
417
+
418
+ for secret in " ${required_secrets[@]} " ; do
419
+ [ " $( ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " ) " = " foo" ]
420
+ done
421
+ )
422
+ end_test
423
+
392
424
# Setup Actions data for the subsequent tests
393
425
setup_actions_test_data " $GHE_DATA_DIR /1"
394
426
You can’t perform that action at this time.
0 commit comments