Skip to content

Commit

Permalink
Codespaces: more renaming of secrets to development environment secre…
Browse files Browse the repository at this point in the history
…ts (#47833)
  • Loading branch information
hubwriter authored Dec 15, 2023
1 parent c97965b commit 0e87509
Show file tree
Hide file tree
Showing 17 changed files with 40 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,17 +117,17 @@ If you want to use Git hooks for your codespace, then you should set up hooks us

## Recommended secrets

The names of user-defined secrets may be displayed on the advanced options page when you create a codespace. This will happen if recommended secrets have been specified in the dev container configuration you have selected.
The names of user-defined secrets may be displayed on the advanced options page when you create a codespace. This will happen if recommended secrets have been specified in the dev container configuration you have selected. For more information, see "[AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/configuring-dev-containers/specifying-recommended-secrets-for-a-repository)."

<img src="/assets/images/help/codespaces/recommended-secrets.png" style="max-height:50rem" alt='Screenshot of the "Create codespace" page with four recommended secrets highlighted with a dark orange outline.' />

Entering values for these secrets, when you're prompted to do so, is recommended because it's likely your project will need values for these secrets. However, supplying values is not required for you to create a codespace. You can set these secrets within the codespace if you prefer.
Entering values for these development environment secrets, when you're prompted to do so, is recommended because it's likely your project will need values for these secrets. However, supplying values is not required for you to create a codespace. You can set these secrets within the codespace if you prefer.

If you enter a value for a recommended secret, the secret will available in the new codespace. When you click **Create codespace**, the secret is also added to your personal settings for {% data variables.product.prodname_codespaces %}, so you will not need to enter a value for the secret in future when you create a codespace for this repository.

If the name of a secret is shown with a checkbox that is unavailable for selection, and no input box, this is because you already have a secret of this name configured in your personal settings for {% data variables.product.prodname_codespaces %}, and you have associated it with this repository. If you've created a secret of this name but have not associated it with this repository, the checkbox will be available to select and by doing so you can update your settings to add the association.

If you want to change the value of a preselected secret you can do so from your personal settings for {% data variables.product.prodname_codespaces %} at [github.com/settings/codespaces](https://github.com/settings/codespaces). For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces)."
If you want to change the value of a preselected secret you can do so from your personal settings for {% data variables.product.prodname_codespaces %} at [github.com/settings/codespaces](https://github.com/settings/codespaces). For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)."

{% endwebui %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ When a codespace is published, you have access to a greater range of options to

- Change the machine type of your codespace to make sure you're using resources appropriate for the work you're doing (see "[AUTOTITLE](/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)").
- Allow {% data variables.product.prodname_dotcom %} to automatically use GPG to sign commits you make in your codespace (see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces)").
- Share secrets with your codespace (see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces)").
- Share secrets with your codespace (see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)").

### Publishing from {% data variables.product.prodname_dotcom_the_website %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ There are three ways that you can set persistent custom environment variables fo

- You can edit the `devcontainer.json` configuration file for the repository
- You can use a custom Dockerfile
- You can use secrets
- You can use development environment secrets

#### Edit the `devcontainer.json` configuration file for the repository

Expand All @@ -46,7 +46,7 @@ Edit the `devcontainer.json` configuration file for the repository, and use the
}
```

Only use this method for values that you are happy to commit to your repository as plaintext. For sensitive values such as access tokens, use secrets.
Only use this method for values that you are happy to commit to your repository as plaintext. For sensitive values such as access tokens, use development environment secrets.

The environment variable will be set within your editor's remote server process, and will be available for sub-processes of that remote server process, such as terminals and debugging sessions. However, the variable will not be available more broadly inside the container. This method is useful if you don't need the environment variable to be set for other background processes that run at startup, and if you are using a premade image and don't have or want a custom Dockerfile.

Expand All @@ -60,9 +60,9 @@ This method is useful if you already have a Dockerfile and want to set a variabl

This setting will take effect when you rebuild your container or create a new codespace after pushing this change to the repository. For more information about applying configuration changes to a codespace, see "[AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)."

#### Use secrets
#### Use development environment secrets

You can use secrets for {% data variables.product.prodname_github_codespaces %} to set custom variables for codespaces created for the repository. For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces)."
You can use development environment secrets for {% data variables.product.prodname_github_codespaces %} to set custom variables for codespaces created for the repository. For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)."

You should use this method for environment variable values that you do not want to commit to the repository as plaintext.

Expand Down
4 changes: 2 additions & 2 deletions content/codespaces/guides.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,12 @@ includeGuides:
- /codespaces/setting-your-user-preferences/setting-your-default-editor-for-github-codespaces
- /codespaces/setting-your-user-preferences/setting-your-default-region-for-github-codespaces
- /codespaces/setting-your-user-preferences/setting-your-timeout-period-for-github-codespaces
- /codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces
- /codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces
- /codespaces/managing-your-codespaces/managing-repository-access-for-your-codespaces
- /codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces
- /codespaces/managing-codespaces-for-your-organization/enabling-or-disabling-github-codespaces-for-your-organization
- /codespaces/managing-codespaces-for-your-organization/managing-the-cost-of-github-codespaces-in-your-organization
- /codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces
- /codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization
- /codespaces/managing-codespaces-for-your-organization/restricting-access-to-machine-types
- /codespaces/managing-codespaces-for-your-organization/restricting-the-base-image-for-codespaces
- /codespaces/managing-codespaces-for-your-organization/restricting-the-idle-timeout-period
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ children:
- /choosing-who-owns-and-pays-for-codespaces-in-your-organization
- /listing-the-codespaces-in-your-organization
- /managing-the-cost-of-github-codespaces-in-your-organization
- /managing-secrets-for-your-repository-and-organization-for-github-codespaces
- /managing-development-environment-secrets-for-your-repository-or-organization
- /managing-repository-access-for-your-organizations-codespaces
- /reviewing-your-organizations-audit-logs-for-github-codespaces
- /restricting-access-to-machine-types
Expand All @@ -24,4 +24,3 @@ children:
- /restricting-the-retention-period-for-codespaces
product: '{% data reusables.gated-features.codespaces-org %}'
---

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Managing secrets for your repository and organization for GitHub Codespaces
title: Managing development environment secrets for your repository or organization
shortTitle: Manage secrets
intro: 'Secrets allow you to store sensitive information in your organization or repository for use with {% data variables.product.prodname_github_codespaces %}.'
permissions: 'To manage secrets for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.'
intro: 'Development environment secrets allow you to store sensitive information in your organization or repository for use with {% data variables.product.prodname_github_codespaces %}.'
permissions: 'To manage development environment secrets for {% data variables.product.prodname_github_codespaces %} for an organization, you must be an organization owner.'
versions:
fpt: '*'
ghec: '*'
Expand All @@ -11,18 +11,19 @@ topics:
- Secret store
- Security
redirect_from:
- /codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces
- /codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-codespaces
- /codespaces/managing-codespaces-for-your-organization/managing-encrypted-secrets-for-your-repository-and-organization-for-github-codespaces
product: 'Secrets are available in all public repositories, in private repositories owned by personal accounts, and in private repositories owned by organizations on {% data variables.product.prodname_team %} or {% data variables.product.prodname_enterprise %} plans. For more information, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)."'
product: 'Development environment secrets are available in all public repositories, in private repositories owned by personal accounts, and in private repositories owned by organizations on {% data variables.product.prodname_team %} or {% data variables.product.prodname_enterprise %} plans. For more information, see "[AUTOTITLE](/get-started/learning-about-github/githubs-plans)."'
---

## About secrets

Development environment secrets are {% ifversion fpt or ghec %}encrypted {% endif %}environment variables that you create in the {% data variables.product.prodname_github_codespaces %} settings for an organization, a repository, or a personal account. For information on creating user-specific secrets, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces)."
Development environment secrets are {% ifversion fpt or ghec %}encrypted {% endif %}environment variables that you create in the {% data variables.product.prodname_github_codespaces %} settings for an organization, a repository, or a personal account. This article explains how to manage organization secrets and repository secrets. For information on creating user-specific secrets, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)."

The secrets that you create are available to use in {% data variables.product.prodname_github_codespaces %}. {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to encrypt secrets before they reach {% data variables.product.prodname_dotcom %} and only decrypts them when you use them in a codespace.
The development environment secrets that you create are available to use in {% data variables.product.prodname_github_codespaces %}. {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %} uses a [libsodium sealed box](https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes) to encrypt secrets before they reach {% data variables.product.prodname_dotcom %} and only decrypts them when you use them in a codespace.

{% endif %}Organization-level secrets let you share secrets between multiple repositories, which reduces the need to create duplicate secrets. You can use access policies to control which repositories can use organization secrets.
{% endif %}Organization secrets let you share secrets between multiple repositories, which reduces the need to create duplicate secrets. You can use access policies to control which repositories can use organization secrets.

{% data reusables.codespaces.secrets-on-start %}

Expand Down Expand Up @@ -87,4 +88,4 @@ You can check which access policies are applied to a development environment sec

## Further reading

- "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces)"
- "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)"
3 changes: 1 addition & 2 deletions content/codespaces/managing-your-codespaces/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,8 @@ topics:
redirect_from:
- /codespaces/working-with-your-codespace
children:
- /managing-secrets-for-your-codespaces
- /managing-your-account-specific-secrets-for-github-codespaces
- /managing-repository-access-for-your-codespaces
- /reviewing-your-security-logs-for-github-codespaces
- /managing-gpg-verification-for-github-codespaces
---

Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
---
title: Managing secrets for your codespaces
title: Managing your account-specific secrets for GitHub Codespaces
shortTitle: Codespaces secrets
intro: 'You can store sensitive information, like tokens, that you want to access in your codespaces via environment variables.'
versions:
fpt: '*'
ghec: '*'
redirect_from:
- /codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces
- /github/developing-online-with-codespaces/managing-encrypted-secrets-for-codespaces
- /codespaces/working-with-your-codespace/managing-encrypted-secrets-for-codespaces
- /codespaces/managing-your-codespaces/managing-encrypted-secrets-for-your-codespaces
Expand Down Expand Up @@ -96,7 +97,7 @@ Development environment secrets cannot be used:

## Further reading

- "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces)"
- "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization)"
- "[AUTOTITLE](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository#recommended-secrets)"
- "[AUTOTITLE](/codespaces/setting-your-user-preferences)"
- "[AUTOTITLE](/codespaces/customizing-your-codespace)"
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ You will need to create a new personal account and then use this account to crea
{% endif %}
1. Copy the token string. You will assign this to a {% data variables.product.prodname_codespaces %} repository secret.
1. Sign back into the account that has admin access to the repository.
1. In the repository for which you want to create {% data variables.product.prodname_github_codespaces %} prebuilds, create a new {% data variables.product.prodname_codespaces %} repository secret called `CODESPACES_PREBUILD_TOKEN`, giving it the value of the token you created and copied. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository)."
1. In the repository for which you want to create {% data variables.product.prodname_github_codespaces %} prebuilds, create a new {% data variables.product.prodname_codespaces %} repository secret called `CODESPACES_PREBUILD_TOKEN`, giving it the value of the token you created and copied. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization#adding-secrets-for-a-repository)."

The {% data variables.product.pat_generic %} will be used for all subsequent prebuilds created for your repository. Unlike other {% data variables.product.prodname_codespaces %} repository secrets, the `CODESPACES_PREBUILD_TOKEN` secret is only used for prebuilding and will not be available for use in codespaces created from your repository.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ For information about editing and deleting prebuild configurations, see "[AUTOTI

## Configuring environment variables

To allow the prebuild process to access environment variables required to create your development environment, you can set these either as {% data variables.product.prodname_codespaces %} repository secrets or as {% data variables.product.prodname_codespaces %} organization secrets. Secrets that you create in this way will be accessible by anyone who creates a codespace from this repository. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-a-repository)" and "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces#adding-secrets-for-an-organization)."
To allow the prebuild process to access environment variables required to create your development environment, you can set these either as {% data variables.product.prodname_codespaces %} repository secrets or as {% data variables.product.prodname_codespaces %} organization secrets. Secrets that you create in this way will be accessible by anyone who creates a codespace from this repository. For more information, see "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization#adding-secrets-for-a-repository)."

Prebuilds cannot use any user-level secrets while building your environment, because these are not available until after the codespace has been created.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ You can define secrets to allow {% data variables.product.prodname_github_codesp
- `<*>_CONTAINER_REGISTRY_USER`
- `<*>_CONTAINER_REGISTRY_PASSWORD`

You can store secrets at the user, repository, or organization-level, allowing you to share them securely between different codespaces. When you create a set of secrets for a private image registry, you need to replace the "<*>" in the name with a consistent identifier. For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-secrets-for-your-codespaces)" and "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-secrets-for-your-repository-and-organization-for-github-codespaces)."
You can store secrets at the user, repository, or organization-level, allowing you to share them securely between different codespaces. When you create a set of secrets for a private image registry, you need to replace the "<*>" in the name with a consistent identifier. For more information, see "[AUTOTITLE](/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)" and "[AUTOTITLE](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization)."

If you are setting the secrets at the user or organization level, make sure to assign those secrets to the repository you'll be creating the codespace in by choosing an access policy from the dropdown list.

Expand Down
Loading

0 comments on commit 0e87509

Please sign in to comment.