diff --git a/assets/images/help/codespaces/codespaces-region-selector-radio-buttons.png b/assets/images/help/codespaces/codespaces-region-selector-radio-buttons.png new file mode 100644 index 0000000000..17178c192b Binary files /dev/null and b/assets/images/help/codespaces/codespaces-region-selector-radio-buttons.png differ diff --git a/content/codespaces/codespaces-reference/disaster-recovery-for-codespaces.md b/content/codespaces/codespaces-reference/disaster-recovery-for-codespaces.md index 8c8a895e85..b8a0accdb8 100644 --- a/content/codespaces/codespaces-reference/disaster-recovery-for-codespaces.md +++ b/content/codespaces/codespaces-reference/disaster-recovery-for-codespaces.md @@ -19,19 +19,37 @@ The following guidance provides options on how to handle service disruption to t {% endnote %} -## Option 1: Wait for recovery +## Option 1: Create a new codespace in another region + +In the case of a regional outage, we suggest you recreate your codespace in an unaffected region to continue working. This new codespace will have all of the changes as of your last push to {% data variables.product.prodname_dotcom %}. + +{% data reusables.user_settings.access_settings %} +{% data reusables.user_settings.codespaces-tab %} + +1. Under "Region", select the "Set manually" option and choose an unaffected region in the dropdown. + ![Radio buttons to manage region selection](/assets/images/help/codespaces/codespaces-region-selector-radio-buttons.png) + +2. Navigate back to your project's repository, use the {% octicon "download" aria-label="The download icon" %} **Code** drop-down menu and select **Open with Codespaces**. + ![Open with Codespaces button](/assets/images/help/codespaces/open-with-codespaces-button.png) + +3. Click {% octicon "plus" aria-label="The plus icon" %} **New codespace** to create a new codespace in the specified region and continue working. + ![New codespace button](/assets/images/help/codespaces/new-codespace-button.png) + +You can optimize recovery time by configuring a `devcontainer.json` in the project's repository, which allows you to define the tools, runtimes, frameworks, editor settings, extensions, and other configuration necessary to restore the development environment automatically. For more information, see "[Configuring Codespaces for your project](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project)." + +## Option 2: Wait for recovery In this case, no action on your part is required. Know that we are working diligently to restore service availability. Check our [{% data variables.product.prodname_discussions %} page](https://github.com/github/feedback/discussions/categories/codespaces-feedback) for any updates on service interruptions. Soon, you'll be able to see the current service status on the [Status Dashboard](https://www.githubstatus.com/). -## Option 2: Clone the repository locally or edit in the browser +## Option 3: Clone the repository locally or edit in the browser While {% data variables.product.prodname_codespaces %} provides the benefit of a pre-configured developer environmnent, your source code should always be accessible through the repository hosted on {% data variables.product.prodname_dotcom_the_website %}. In the event of a {% data variables.product.prodname_codespaces %} outage, you can still clone the repository locally or edit files in the {% data variables.product.company_short %} browser editor. For more information, see [Editing files in your repository](/github/managing-files-in-a-repository/managing-files-on-github/editing-files-in-your-repository). While this option does not configure a development environment for you, it will allow you to make changes to your source code as needed while you wait for the service disruption to resolve. -## Option 3: Use Remote-Containers and Docker for a local containerized environment +## Option 4: Use Remote-Containers and Docker for a local containerized environment If your repository has a `devcontainer.json`, consider using the [Remote-Containers extension](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume) in Visual Studio Code to build and attach to a local development container for your repository. The setup time for this option will vary depending on your local specifications and the complexity of your dev container setup. @@ -40,15 +58,3 @@ If your repository has a `devcontainer.json`, consider using the [Remote-Contain **Note:** Be sure your local setup meets the [minimum requirements](https://code.visualstudio.com/docs/remote/containers#_system-requirements) before attempting this option. {% endnote %} - -## Coming soon: Create a new codespace in another region - -{% note %} - -**Note:** This option is not yet available in {% data variables.product.prodname_codespaces %} - -{% endnote %} - -You'll soon be able to specify the region when you create a codespace. When this option becomes available, we suggest you recreate your codespace in an unaffected region to continue working in the case of a regional outage. This new codespace will have all of the changes as of your last push to {% data variables.product.prodname_dotcom %}. - -You can optimize recovery time in by configuring a `devcontainer.json` in the project's repository, which allows you to define the tools, runtimes, frameworks, editor settings, extensions, and other configuration necessary to restore the development environment automatically. See [Configuring Codespace for your project](/codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project).