File tree Expand file tree Collapse file tree 8 files changed +80
-10
lines changed
share/github-backup-utils Expand file tree Collapse file tree 8 files changed +80
-10
lines changed Original file line number Diff line number Diff line change
1
+ # Backup-Utils owned by lifecycle AOR
2
+ * @ github/ghes-lifecycle
3
+ # Actions related backups and restores
4
+ # /share/github-backup-utils/*-actions @github/ghes-lifecycle @github/<TBD>
5
+ # Git related backups and restores
6
+ # /share/github-backup-utils/*-repositories @github/ghes-lifecycle @github/<TBD>
7
+ # /share/github-backup-utils/*-git-hooks @github/ghes-lifecycle @github/<TBD>
Original file line number Diff line number Diff line change 15
15
# Full git history is needed to get a proper list of changed files within `super-linter`
16
16
fetch-depth : 0
17
17
- name : Lint Code Base
18
- uses : github /super-linter@v5
18
+ uses : super-linter /super-linter@v5
19
19
env :
20
20
VALIDATE_ALL_CODEBASE : false
21
+ BASH_SEVERITY : error
21
22
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
Original file line number Diff line number Diff line change 1
1
name : Test and build
2
2
3
- on : [pull_request]
3
+ on : [pull_request, workflow_dispatch ]
4
4
5
5
jobs :
6
6
build :
Original file line number Diff line number Diff line change
1
+ ---
2
+ version : 1
3
+ ownership :
4
+ - name : ghes-backup-utilities
5
+ long_name : GHES Backup Utilities
6
+ description : GitHub Enterprise Disaster Recover Solution
7
+ kind : logical
8
+ repo : https://github.com/github/backup-utils-private
9
+ qos : best_effort
10
+ team_slack : ghes-lifecycle-aor
11
+ team : github/ghes-lifecycle
12
+ maintainer : whitneyimura
13
+ exec_sponsor : jakuboleksy
14
+ tier : 3
15
+ product_manager : davidjarzebowski
16
+ sev1 :
17
+ slack : ghes-on-call
18
+ alert_slack : ghes-backup-utils
19
+ pagerduty : https://github.pagerduty.com/escalation_policies#PBQWK20
20
+ tta : 30 minutes
21
+ sev2 :
22
+ issue : https://github.com/github/ghes/issues/new
23
+ tta : 1 business day
24
+ sev3 :
25
+ issue : https://github.com/github/ghes/issues
26
+ tta : 1 week
27
+ support_squad :
28
+ slack : support-squad-infrastructure
29
+ issue : https://github.com/github/support-squad-infrastructure/issues
Original file line number Diff line number Diff line change 62
62
63
63
if ! export_tool_available ; then
64
64
log_error " ghe-export-mssql is not available" 1>&2
65
- exit
65
+ exit 1
66
66
fi
67
67
68
68
add_minute () {
Original file line number Diff line number Diff line change @@ -86,10 +86,13 @@ if [ "$(version $GHE_REMOTE_VERSION)" -ge "$(version 3.7.0)" ]; then
86
86
cat " $GHE_SNAPSHOT_DIR /encrypted-column-encryption-keying-material" | sed ' s:.*;::' > " $GHE_SNAPSHOT_DIR /encrypted-column-current-encryption-key"
87
87
fi
88
88
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
93
96
94
97
if [ " $( version $GHE_REMOTE_VERSION ) " -ge " $( version 3.11.0) " ]; then
95
98
backup-secret " secret scanning encrypted content keys" " secret-scanning-user-content-delimited-encryption-root-keys" " secrets.secret-scanning.secret-scanning-user-content-delimited-encryption-root-keys"
Original file line number Diff line number Diff line change 57
57
58
58
if ! import_tool_available; then
59
59
ghe_verbose " ghe-import-mssql is not available"
60
- exit
60
+ exit 1
61
61
fi
62
62
63
63
# Perform a host-check and establish the remote version in GHE_REMOTE_VERSION.
Original file line number Diff line number Diff line change @@ -772,7 +772,7 @@ begin_test "ghe-backup takes backup of encrypted column encryption keying materi
772
772
)
773
773
end_test
774
774
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 "
776
776
(
777
777
set -e
778
778
@@ -787,7 +787,37 @@ begin_test "ghe-backup takes backup of secret scanning encrypted secrets encrypt
787
787
ghe-ssh " $GHE_HOSTNAME " -- ghe-config " $secret " " foo"
788
788
done
789
789
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
791
821
792
822
required_files=(
793
823
" secret-scanning-encrypted-secrets-current-storage-key"
You can’t perform that action at this time.
0 commit comments