Skip to content

Commit 3c2e094

Browse files
timeyoutakeit2percentsilkSarah Edwards
authored
Adding a new guide for DR compliance (github#20080)
Co-authored-by: Allison Weins <3174849+2percentsilk@users.noreply.github.com> Co-authored-by: Sarah Edwards <skedwards88@github.com>
1 parent c3f382f commit 3c2e094

2 files changed

Lines changed: 55 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: Disaster recovery for Codespaces
3+
intro: 'This article describes guidance for a disaster recovery scenario, when a whole region experiences an outage due to major natural disaster or widespread service interruption.'
4+
versions:
5+
free-pro-team: '*'
6+
topics:
7+
- Codespaces
8+
---
9+
10+
We work hard to make sure that {% data variables.product.prodname_codespaces %} is always available to you. However, forces beyond our control sometimes impact the service in ways that can cause unplanned service disruptions.
11+
12+
Although disaster recovery scenarios are rare occurrences, we recommend that you prepare for the possibility that there is an outage of an entire region. If an entire region experiences a service disruption, the locally redundant copies of your data would be temporarily unavailable.
13+
14+
The following guidance provides options on how to handle service disruption to the entire region where your codespace is deployed.
15+
16+
{% note %}
17+
18+
**Note:** You can reduce the potential impact of service-wide outages by pushing to remote repositories frequently.
19+
20+
{% endnote %}
21+
22+
## Option 1: Wait for recovery
23+
24+
In this case, no action on your part is required. Know that we are working diligently to restore service availability.
25+
26+
Check our [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/).
27+
28+
## Option 2: Clone the repository locally or edit in the browser
29+
30+
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).
31+
32+
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.
33+
34+
## Option 3: Use Remote-Containers and Docker for a local containerized environment
35+
36+
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.
37+
38+
{% note %}
39+
40+
**Note:** Be sure your local setup meets the [minimum requirements](https://code.visualstudio.com/docs/remote/containers#_system-requirements) before attempting this option.
41+
42+
{% endnote %}
43+
44+
## Coming soon: Create a new codespace in another region
45+
46+
{% note %}
47+
48+
**Note:** This option is not yet available in {% data variables.product.prodname_codespaces %}
49+
50+
{% endnote %}
51+
52+
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 %}.
53+
54+
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).

‎content/codespaces/codespaces-reference/index.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ children:
88
- /troubleshooting-your-codespace
99
- /allowing-your-codespace-to-access-a-private-image-registry
1010
- /using-the-command-palette-in-codespaces
11+
- /disaster-recovery-for-codespaces
1112
---
1213
{% data reusables.codespaces.release-stage %}

0 commit comments

Comments
 (0)