File tree Expand file tree Collapse file tree 4 files changed +110
-1
lines changed
share/github-backup-utils Expand file tree Collapse file tree 4 files changed +110
-1
lines changed Original file line number Diff line number Diff line change @@ -78,6 +78,8 @@ backup-secret "management console password" "manage-password" "secrets.manage"
78
78
backup-secret " password pepper" " password-pepper" " secrets.github.user-password-secrets"
79
79
backup-secret " kredz.credz HMAC key" " kredz-credz-hmac" " secrets.kredz.credz-hmac-secret"
80
80
backup-secret " kredz.varz HMAC key" " kredz-varz-hmac" " secrets.kredz.varz-hmac-secret"
81
+ backup-secret " encrypted column encryption keying material" " encrypted-column-encryption-keying-material" " secrets.github.encrypted-column-keying-material"
82
+ backup-secret " encrypted column current encryption key" " encrypted-column-current-encryption-key" " secrets.github.encrypted-column-current-encryption-key"
81
83
82
84
# Backup argon secrets for multiuser from ghes version 3.8 onwards
83
85
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,12 @@ 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
+
59
65
# Restore SAML keys if present.
60
66
if [ -f " $GHE_RESTORE_SNAPSHOT_PATH /saml-keys.tar" ]; then
61
67
log_info " Restoring SAML keys ..."
Original file line number Diff line number Diff line change @@ -555,6 +555,56 @@ begin_test "ghe-backup takes backup of kredz-varz settings"
555
555
)
556
556
end_test
557
557
558
+ begin_test " ghe-backup takes backup of encrypted column encryption keying material"
559
+ (
560
+ set -e
561
+
562
+ required_secrets=(
563
+ " secrets.github.encrypted-column-keying-material"
564
+ )
565
+
566
+ for secret in " ${required_secrets[@]} " ; do
567
+ ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " " foo"
568
+ done
569
+
570
+ ghe-backup
571
+
572
+ required_files=(
573
+ " encrypted-column-encryption-keying-material"
574
+ )
575
+
576
+ for file in " ${required_files[@]} " ; do
577
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
578
+ done
579
+
580
+ )
581
+ end_test
582
+
583
+ begin_test " ghe-backup takes backup of encrypted column current encryption key"
584
+ (
585
+ set -e
586
+
587
+ required_secrets=(
588
+ " secrets.github.encrypted-column-current-encryption-key"
589
+ )
590
+
591
+ for secret in " ${required_secrets[@]} " ; do
592
+ ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " " foo"
593
+ done
594
+
595
+ ghe-backup
596
+
597
+ required_files=(
598
+ " encrypted-column-current-encryption-key"
599
+ )
600
+
601
+ for file in " ${required_files[@]} " ; do
602
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
603
+ done
604
+
605
+ )
606
+ end_test
607
+
558
608
begin_test " ghe-backup takes backup of Actions settings"
559
609
(
560
610
set -e
Original file line number Diff line number Diff line change @@ -355,7 +355,58 @@ begin_test "ghe-restore with kredz-varz settings"
355
355
required_secrets=(
356
356
" secrets.kredz.varz-hmac-secret"
357
357
)
358
-
358
+
359
+ for secret in " ${required_secrets[@]} " ; do
360
+ [ " $( ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " ) " = " foo" ]
361
+ done
362
+ )
363
+ end_test
364
+
365
+
366
+ begin_test " ghe-restore with encrypted column encryption keying material"
367
+ (
368
+ set -e
369
+ rm -rf " $GHE_REMOTE_ROOT_DIR "
370
+ setup_remote_metadata
371
+
372
+ required_files=(
373
+ " encrypted-column-encryption-keying-material"
374
+ )
375
+
376
+ for file in " ${required_files[@]} " ; do
377
+ echo " foo" > " $GHE_DATA_DIR /current/$file "
378
+ done
379
+
380
+ ghe-restore -v -f localhost
381
+ required_secrets=(
382
+ " secrets.github.encrypted-column-keying-material"
383
+ )
384
+
385
+ for secret in " ${required_secrets[@]} " ; do
386
+ [ " $( ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " ) " = " foo" ]
387
+ done
388
+ )
389
+ end_test
390
+
391
+ begin_test " ghe-restore with encrypted column current encryption key"
392
+ (
393
+ set -e
394
+ rm -rf " $GHE_REMOTE_ROOT_DIR "
395
+ setup_remote_metadata
396
+
397
+ required_files=(
398
+ " encrypted-column-current-encryption-key"
399
+ )
400
+
401
+ for file in " ${required_files[@]} " ; do
402
+ echo " foo" > " $GHE_DATA_DIR /current/$file "
403
+ done
404
+
405
+ ghe-restore -v -f localhost
406
+ required_secrets=(
407
+ " secrets.github.encrypted-column-current-encryption-key"
408
+ )
409
+
359
410
for secret in " ${required_secrets[@]} " ; do
360
411
[ " $( ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " ) " = " foo" ]
361
412
done
You can’t perform that action at this time.
0 commit comments