Skip to content

Commit df19ad7

Browse files
Update OpenAPI Description (#61930)
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
1 parent 9cfd100 commit df19ad7

40 files changed

Lines changed: 223152 additions & 134894 deletions

content/admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/migrating-github-actions-external-storage.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ category:
1010
- Enable GitHub features for your enterprise
1111
---
1212

13-
## About migrating {% data variables.product.prodname_actions %} external storage
14-
15-
You can migrate {% data variables.product.prodname_actions %} external storage to a new bucket, account, or region on the same provider when consolidating cloud accounts, meeting residency requirements, or reorganizing storage tenancy.
16-
17-
The migration works because {% data variables.product.prodname_actions %} identifies stored objects by their key (path) within a bucket or container, not by the bucket or account name. As long as you preserve the internal key layout and update your configuration to point at the new location, existing workflow logs and artifacts remain accessible without interruption.
13+
## About migrating {% data variables.product.prodname_actions %} external storage
14+
15+
You can migrate {% data variables.product.prodname_actions %} external storage to a new bucket, account, or region on the same provider when consolidating cloud accounts, meeting residency requirements, or reorganizing storage tenancy.
16+
17+
The migration works because {% data variables.product.prodname_actions %} identifies stored objects by their key (path) within a bucket or container, not by the bucket or account name. As long as you preserve the internal key layout and update your configuration to point at the new location, existing workflow logs and artifacts remain accessible without interruption.
1818

1919
## Considerations
2020

@@ -43,12 +43,12 @@ Before you begin, review the following constraints. Each one shapes the migratio
4343

4444
Before performing the migration against production, rehearse the full procedure on a staging instance. Provision a staging {% data variables.product.prodname_ghe_server %} instance from a recent production backup, point it at a throwaway destination that mirrors the intended production destination, and run every step of this article end to end. For more information, see [AUTOTITLE](/admin/installation/setting-up-a-github-enterprise-server-instance/setting-up-a-staging-instance) and [AUTOTITLE](/admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/using-a-staging-environment).
4545

46-
A staging rehearsal validates that:
47-
48-
* Provider-side permissions, network access, and policies on the destination are correct.
49-
* The copy tool you have chosen completes successfully against representative data volumes.
50-
* The expected object count and total size match between source and destination.
51-
* Existing workflow run logs and artifacts are retrievable through the UI after cutover.
46+
A staging rehearsal validates that:
47+
48+
* Provider-side permissions, network access, and policies on the destination are correct.
49+
* The copy tool you have chosen completes successfully against representative data volumes.
50+
* The expected object count and total size match between source and destination.
51+
* Existing workflow run logs and artifacts are retrievable through the UI after cutover.
5252

5353
> [!WARNING]
5454
> Your staging instance must use different storage from your production instance. If you do not change the storage configuration, the staging instance may write into your production storage and cause data loss. For more information, see [AUTOTITLE](/admin/managing-github-actions-for-your-enterprise/advanced-configuration-and-troubleshooting/using-a-staging-environment#configuring-storage).
@@ -135,23 +135,23 @@ Work through the following steps in order. {% data variables.product.prodname_ac
135135

136136
If validation fails or you encounter issues after cutover, roll back by pointing {% data variables.location.product_location %} back at the source storage location. The source storage is your known-good copy. Do not copy data from the destination back into the source as part of rollback, because data written to the destination during a failed cutover may be partial or inconsistent, and writing it back into the source risks corrupting your only good copy.
137137

138-
> [!WARNING]
139-
> Rolling back will discard any data written or deleted after the cutover. If validation fails, roll back immediately rather than attempting extended troubleshooting. The longer you wait, the more data is at risk.
140-
141-
If validation fails or you encounter issues:
142-
143-
1. Enable maintenance mode immediately.
144-
1. In the {% data variables.enterprise.management_console %}, restore the original storage configuration values and click **Test storage settings**, then **Save settings**.
145-
1. Disable maintenance mode and re-run the validation steps with the original storage.
146-
147-
After a successful rollback, investigate the failure and plan a new migration attempt.
138+
> [!WARNING]
139+
> Rolling back will discard any data written or deleted after the cutover. If validation fails, roll back immediately rather than attempting extended troubleshooting. The longer you wait, the more data is at risk.
140+
141+
If validation fails or you encounter issues:
142+
143+
1. Enable maintenance mode immediately.
144+
1. In the {% data variables.enterprise.management_console %}, restore the original storage configuration values and click **Test storage settings**, then **Save settings**.
145+
1. Disable maintenance mode and re-run the validation steps with the original storage.
146+
147+
After a successful rollback, investigate the failure and plan a new migration attempt.
148148

149149
## {% data variables.product.prodname_registry %} considerations
150150

151151
You can apply the same migration approach to {% data variables.product.prodname_registry %} external storage, with the following important differences. Read this section in full before migrating storage on an instance that has {% data variables.product.prodname_registry %} enabled.
152152

153153
* **OpenID Connect is not available for {% data variables.product.prodname_registry %}.** {% data variables.product.prodname_registry %} only supports credentials-based authentication for external storage. The authentication-method constraint in this article still applies: keep the authentication method unchanged during migration.
154-
* **{% data variables.product.prodname_registry %} is more sensitive to timing mismatches.** When packages are published during the migration window, the system creates both new storage objects and database records. To prevent inconsistency, keep maintenance mode enabled continuously from the start of the final delta sync through successful validation of the new configuration.
154+
* **{% data variables.product.prodname_registry %} is more sensitive to timing mismatches.** When packages are published during the migration window, the system creates both new storage objects and database records. To prevent inconsistency, keep maintenance mode enabled continuously from the start of the final delta sync through successful validation of the new configuration.
155155
* **Update both configurations together if the same provider serves both products.** If you have configured {% data variables.product.prodname_actions %} and {% data variables.product.prodname_registry %} to use the same provider type and you are migrating both, plan the cutover as a single maintenance window and update both configurations before disabling maintenance mode.
156156
* **For cross-provider migrations of {% data variables.product.prodname_registry %} storage, contact {% data variables.contact.contact_ent_support %}.** Cross-provider moves are not covered here.
157157

src/github-apps/data/fpt-2022-11-28/fine-grained-pat-permissions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4699,7 +4699,7 @@
46994699
"verb": "get",
47004700
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
47014701
"additional-permissions": false,
4702-
"access": "read"
4702+
"access": "write"
47034703
},
47044704
{
47054705
"category": "interactions",

src/github-apps/data/fpt-2022-11-28/server-to-server-permissions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6054,7 +6054,7 @@
60546054
"subcategory": "repos",
60556055
"verb": "get",
60566056
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
6057-
"access": "read",
6057+
"access": "write",
60586058
"user-to-server": true,
60596059
"server-to-server": true,
60606060
"additional-permissions": false

src/github-apps/data/fpt-2026-03-10/fine-grained-pat-permissions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4699,7 +4699,7 @@
46994699
"verb": "get",
47004700
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
47014701
"additional-permissions": false,
4702-
"access": "read"
4702+
"access": "write"
47034703
},
47044704
{
47054705
"category": "interactions",

src/github-apps/data/fpt-2026-03-10/server-to-server-permissions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6054,7 +6054,7 @@
60546054
"subcategory": "repos",
60556055
"verb": "get",
60566056
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
6057-
"access": "read",
6057+
"access": "write",
60586058
"user-to-server": true,
60596059
"server-to-server": true,
60606060
"additional-permissions": false

src/github-apps/data/ghec-2022-11-28/fine-grained-pat-permissions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5200,7 +5200,7 @@
52005200
"verb": "get",
52015201
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
52025202
"additional-permissions": false,
5203-
"access": "read"
5203+
"access": "write"
52045204
},
52055205
{
52065206
"category": "interactions",

src/github-apps/data/ghec-2022-11-28/server-to-server-permissions.json

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,17 @@
472472
"user-to-server": true,
473473
"server-to-server": true,
474474
"additional-permissions": false
475+
},
476+
{
477+
"category": "enterprise-admin",
478+
"slug": "revoke-credential-authorizations-for-a-user-in-an-enterprise",
479+
"subcategory": "credential-authorizations",
480+
"verb": "post",
481+
"requestPath": "/enterprises/{enterprise}/credential-authorizations/{username}/revoke",
482+
"access": "write",
483+
"user-to-server": true,
484+
"server-to-server": true,
485+
"additional-permissions": false
475486
}
476487
]
477488
},
@@ -7332,7 +7343,7 @@
73327343
"subcategory": "repos",
73337344
"verb": "get",
73347345
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
7335-
"access": "read",
7346+
"access": "write",
73367347
"user-to-server": true,
73377348
"server-to-server": true,
73387349
"additional-permissions": false

src/github-apps/data/ghec-2022-11-28/server-to-server-rest.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3092,6 +3092,12 @@
30923092
"verb": "post",
30933093
"requestPath": "/enterprises/{enterprise}/credential-authorizations/revoke-all"
30943094
},
3095+
{
3096+
"slug": "revoke-credential-authorizations-for-a-user-in-an-enterprise",
3097+
"subcategory": "credential-authorizations",
3098+
"verb": "post",
3099+
"requestPath": "/enterprises/{enterprise}/credential-authorizations/{username}/revoke"
3100+
},
30953101
{
30963102
"slug": "get-all-enterprise-roles-for-an-enterprise",
30973103
"subcategory": "enterprise-roles",

src/github-apps/data/ghec-2022-11-28/user-to-server-rest.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3340,6 +3340,12 @@
33403340
"verb": "post",
33413341
"requestPath": "/enterprises/{enterprise}/credential-authorizations/revoke-all"
33423342
},
3343+
{
3344+
"slug": "revoke-credential-authorizations-for-a-user-in-an-enterprise",
3345+
"subcategory": "credential-authorizations",
3346+
"verb": "post",
3347+
"requestPath": "/enterprises/{enterprise}/credential-authorizations/{username}/revoke"
3348+
},
33433349
{
33443350
"slug": "get-all-enterprise-roles-for-an-enterprise",
33453351
"subcategory": "enterprise-roles",

src/github-apps/data/ghec-2026-03-10/fine-grained-pat-permissions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5200,7 +5200,7 @@
52005200
"verb": "get",
52015201
"requestPath": "/repos/{owner}/{repo}/interaction-limits/pulls/bypass-list",
52025202
"additional-permissions": false,
5203-
"access": "read"
5203+
"access": "write"
52045204
},
52055205
{
52065206
"category": "interactions",

0 commit comments

Comments
 (0)