File tree Expand file tree Collapse file tree 4 files changed +55
-0
lines changed
share/github-backup-utils Expand file tree Collapse file tree 4 files changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -76,6 +76,7 @@ backup-secret() {
76
76
77
77
backup-secret " management console password" " manage-password" " secrets.manage"
78
78
backup-secret " password pepper" " password-pepper" " secrets.github.user-password-secrets"
79
+ backup-secret " encrypted column encryption keying material" " encrypted-column-encryption-keying-material" " secrets.github.encrypted-column-keying-material"
79
80
backup-secret " kredz.credz HMAC key" " kredz-credz-hmac" " secrets.kredz.credz-hmac-secret"
80
81
backup-secret " kredz.varz HMAC key" " kredz-varz-hmac" " secrets.kredz.varz-hmac-secret"
81
82
Original file line number Diff line number Diff line change @@ -47,6 +47,9 @@ restore-secret "management console password" "manage-password" "secrets.manage"
47
47
# Restore management console argon2 secret if present.
48
48
restore-secret " management console argon2 secret" " manage-argon-secret" " secrets.manage-auth.argon-secret"
49
49
50
+ # Restore encrypted column encryption keying material if present
51
+ restore-secret " encrypted column encryption keying material" " encrypted-column-encryption-keying-material" " secrets.github.encrypted-column-keying-material"
52
+
50
53
# Restore kredz.credz HMAC key if present.
51
54
restore-secret " kredz.credz HMAC key" " kredz-credz-hmac" " secrets.kredz.credz-hmac-secret"
52
55
Original file line number Diff line number Diff line change @@ -470,6 +470,32 @@ begin_test "ghe-backup upgrades transaction backup to full if LSN chain break"
470
470
)
471
471
end_test
472
472
473
+ begin_test " ghe-backup takes backup of encrypted column encryption keying material"
474
+ (
475
+ set -e
476
+
477
+ required_secrets=(
478
+ " secrets.github.encrypted-column-keying-material"
479
+ )
480
+
481
+ for secret in " ${required_secrets[@]} " ; do
482
+ ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " " foo"
483
+ done
484
+
485
+ ghe-backup
486
+
487
+ required_files=(
488
+ " encrypted-column-encryption-keying-material"
489
+ )
490
+
491
+ for file in " ${required_files[@]} " ; do
492
+ [ " $( cat " $GHE_DATA_DIR /current/$file " ) " = " foo" ]
493
+ done
494
+
495
+ )
496
+ end_test
497
+
498
+
473
499
begin_test " ghe-backup takes backup of Kredz settings"
474
500
(
475
501
set -e
Original file line number Diff line number Diff line change @@ -281,6 +281,31 @@ begin_test "ghe-restore with no pages backup"
281
281
)
282
282
end_test
283
283
284
+ begin_test " ghe-restore with encrypted column encryption keying material"
285
+ (
286
+ set -e
287
+ rm -rf " $GHE_REMOTE_ROOT_DIR "
288
+ setup_remote_metadata
289
+
290
+ required_files=(
291
+ " encrypted-column-encryption-keying-material"
292
+ )
293
+
294
+ for file in " ${required_files[@]} " ; do
295
+ echo " foo" > " $GHE_DATA_DIR /current/$file "
296
+ done
297
+
298
+ ghe-restore -v -f localhost
299
+ required_secrets=(
300
+ " secrets.github.encrypted-column-keying-material"
301
+ )
302
+
303
+ for secret in " ${required_secrets[@]} " ; do
304
+ [ " $( ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " ) " = " foo" ]
305
+ done
306
+ )
307
+ end_test
308
+
284
309
begin_test " ghe-restore does not restore encrypted column encryption keying material for versions below 3.7.0"
285
310
(
286
311
GHE_REMOTE_VERSION=2.1.10 ghe-restore -v -f localhost | grep -q " encrypted column encryption keying material not set" && exit 1
You can’t perform that action at this time.
0 commit comments