Skip to content

Commit de192ea

Browse files
authored
Merge pull request #453 from github/kyfast-create-current-encryption-key-3.7.0+
Create the encrypted column current encryption key backup on 3.7.0+
2 parents e2f57c8 + c670c4e commit de192ea

File tree

2 files changed

+25
-44
lines changed

2 files changed

+25
-44
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,6 @@ backup-secret "kredz.varz HMAC key" "kredz-varz-hmac" "secrets.kredz.varz-hmac-s
8383
# this is for forwards compatibility with GHES 3.8.0 onwards
8484
if [ "$(version $GHE_REMOTE_VERSION)" -ge "$(version 3.7.0)" ]; then
8585
backup-secret "encrypted column encryption keying material" "encrypted-column-encryption-keying-material" "secrets.github.encrypted-column-keying-material"
86-
fi
87-
88-
if [ "$(version $GHE_REMOTE_VERSION)" -ge "$(version 3.8.0)" ]; then
8986
cat "$GHE_SNAPSHOT_DIR/encrypted-column-encryption-keying-material" | sed 's:.*;::' > "$GHE_SNAPSHOT_DIR/encrypted-column-current-encryption-key"
9087
fi
9188

test/test-ghe-backup.sh

Lines changed: 25 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -555,17 +555,6 @@ begin_test "ghe-backup takes backup of kredz-varz settings"
555555
)
556556
end_test
557557

558-
begin_test "ghe-backup does not take backup of encrypted column encryption keying material for versions below 3.7.0"
559-
(
560-
GHE_REMOTE_VERSION=2.1.10 ghe-backup -v | grep -q "encrypted column encryption keying material not set" && exit 1
561-
[ ! -f "$GHE_DATA_DIR/current/encrypted-column-keying-material" ]
562-
563-
GHE_REMOTE_VERSION=3.6.1 ghe-backup -v | grep -q "encrypted column encryption keying material not set" && exit 1
564-
[ ! -f "$GHE_DATA_DIR/current/encrypted-column-keying-material" ]
565-
566-
)
567-
end_test
568-
569558
begin_test "ghe-backup takes backup of encrypted column encryption keying material and create encrypted column current encryption key for versions 3.7.0+"
570559
(
571560
set -e
@@ -586,6 +575,7 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
586575

587576
required_files=(
588577
"encrypted-column-encryption-keying-material"
578+
"encrypted-column-current-encryption-key"
589579
)
590580

591581
for file in "${required_files[@]}"; do
@@ -598,35 +588,6 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
598588

599589
ghe-backup
600590

601-
required_files=(
602-
"encrypted-column-encryption-keying-material"
603-
)
604-
605-
for file in "${required_files[@]}"; do
606-
[ "$(cat "$GHE_DATA_DIR/current/$file")" = "foo" ]
607-
done
608-
609-
)
610-
end_test
611-
612-
begin_test "ghe-backup takes backup of encrypted column encryption keying material and encrypted column current encryption key for versions 3.8.0+"
613-
(
614-
set -e
615-
616-
required_secrets=(
617-
"secrets.github.encrypted-column-keying-material"
618-
)
619-
620-
for secret in "${required_secrets[@]}"; do
621-
ghe-ssh "$GHE_HOSTNAME" -- ghe-config "$secret" "foo"
622-
done
623-
624-
# GHES version 3.8.0
625-
GHE_REMOTE_VERSION=3.8.0
626-
export GHE_REMOTE_VERSION
627-
628-
ghe-backup
629-
630591
required_files=(
631592
"encrypted-column-encryption-keying-material"
632593
"encrypted-column-current-encryption-key"
@@ -666,7 +627,30 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
666627
ghe-ssh "$GHE_HOSTNAME" -- /bin/bash
667628
done
668629

669-
# GHES version 3.8.0
630+
# GHES version 3.7.0
631+
GHE_REMOTE_VERSION=3.7.0
632+
export GHE_REMOTE_VERSION
633+
634+
ghe-backup
635+
636+
required_files=(
637+
"encrypted-column-encryption-keying-material"
638+
)
639+
640+
for file in "${required_files[@]}"; do
641+
[ "$(cat "$GHE_DATA_DIR/current/$file")" = "foo;bar" ]
642+
done
643+
644+
required_files_current_encryption_key=(
645+
"encrypted-column-current-encryption-key"
646+
)
647+
648+
for file in "${required_files_current_encryption_key[@]}"; do
649+
[ "$(cat "$GHE_DATA_DIR/current/$file")" = "bar" ]
650+
done
651+
652+
653+
# GHES version 3.8.0
670654
GHE_REMOTE_VERSION=3.8.0
671655
export GHE_REMOTE_VERSION
672656

0 commit comments

Comments
 (0)