Skip to main content

Managing secrets for your codespaces

You can store sensitive information, like tokens, that you want to access in your codespaces via environment variables.

About secrets for GitHub Codespaces

You can add secrets to your personal account that you want to use in your codespaces. For example, you may want to store and access the following sensitive information as secrets.

You can choose which repositories should have access to each secret. Then, you can use the secret in any codespace you create for a repository that has access to the secret. To share a secret with a codespace created from a template, you will need to publish the codespace to a repository on GitHub, then give that repository access to the secret.

Nachdem du ein Geheimnis erstellt hast, ist es verfügbar, wenn du einen neuen Codespace erstellst oder den Codespace neu startest. Wenn du für GitHub.com ein Geheimnis erstellt hast, das du in einem derzeit ausgeführten Codespace ausführen möchtest, beende den Codespace, und starte ihn neu. Informationen zum Beenden des Codespace findest du unter Verwenden der Visual Studio Code-Befehlspalette in GitHub Codespaces.

Naming secrets

Für Geheimnisnamen gelten folgende Regeln:

  • Geheimnisnamen dürfen nur alphanumerische Zeichen ([a-z], [A-Z], [0-9]) oder Unterstriche (_) enthalten. Leerzeichen sind nicht zulässig.

  • Geheimnisnamen dürfen nicht mit dem Präfix GITHUB_ beginnen.

  • Geheimnisnamen dürfen nicht mit einer Ziffer beginnen.

  • Bei Geheimnisnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.

  • Geheimnisnamen müssen auf der Ebene eindeutig sein, auf der sie erstellt werden. For example, a secret created at the repository level must have a unique name in that repository.

    Wenn ein Geheimnis mit demselben Namen auf mehreren Ebenen vorhanden ist, erhält das Geheimnis auf der niedrigsten Ebene Vorrang. Wenn beispielsweise ein Geheimnis auf Organisationsebene denselben Namen wie ein Geheimnis auf Repositoryebene aufweist, erhält das Geheimnis auf Repositoryebene Vorrang.

Limits for secrets

You can store up to 100 secrets for GitHub Codespaces.

Secrets are limited to 48 KB in size.

Adding a secret

  1. Klicke auf einer beliebigen Seite in der oberen rechten Ecke auf dein Profilfoto und anschließend auf Einstellungen.

    Screenshot des Kontomenüs von GitHub mit Benutzeroptionen zum Anzeigen und Bearbeiten von Profil, Inhalten und Einstellungen. Das Menüelement „Einstellungen“ ist in dunklem Orange eingerahmt.

  2. Klicke im Abschnitt „Code, Planung und Automatisierung“ der Seitenleiste auf Codespaces.

  3. To the right of "Codespaces secrets", click New secret.

  4. Under "Name", type a name for your secret.

  5. Gib unter „Wert“ den Wert deines Geheimnisses ein.

  6. Wähle das Dropdownmenü „Repositoryzugriff“ aus, und klicke dann auf ein Repository, in dem du Zugriff auf das Geheimnis haben möchtest. Wiederhole dies für jedes Repository, in dem du Zugriff auf das Geheimnis haben möchtest.

    Screenshot: Dropdownmenü „Repositoryzugriff“. Zwei Repositorys sind im Dropdownmenü aufgeführt.

  7. Click Add secret.

Editing a secret

You can update the value of an existing secret, and you can change which repositories can access a secret.

  1. Klicke auf einer beliebigen Seite in der oberen rechten Ecke auf dein Profilfoto und anschließend auf Einstellungen.

    Screenshot des Kontomenüs von GitHub mit Benutzeroptionen zum Anzeigen und Bearbeiten von Profil, Inhalten und Einstellungen. Das Menüelement „Einstellungen“ ist in dunklem Orange eingerahmt.

  2. Klicke im Abschnitt „Code, Planung und Automatisierung“ der Seitenleiste auf Codespaces.

  3. Under "Codespaces secrets", to the right of the secret you want to edit, click Update.

  4. Under "Value", click the link "enter a new value."

    Screenshot of the "Codespaces / Update secret" page. The "enter a new value" link in highlighted with a dark orange outline.

  5. Gib unter „Wert“ den Wert deines Geheimnisses ein.

  6. Wähle das Dropdownmenü „Repositoryzugriff“ aus, und klicke dann auf ein Repository, in dem du Zugriff auf das Geheimnis haben möchtest. Wiederhole dies für jedes Repository, in dem du Zugriff auf das Geheimnis haben möchtest.

    Screenshot: Dropdownmenü „Repositoryzugriff“. Zwei Repositorys sind im Dropdownmenü aufgeführt.

  7. Optionally, to remove the secret's access to a repository, deselect the repository.

    Screenshot showing a list of two repositories. Each has a selected checkbox.

  8. Click Save changes.

Deleting a secret

  1. Klicke auf einer beliebigen Seite in der oberen rechten Ecke auf dein Profilfoto und anschließend auf Einstellungen.

    Screenshot des Kontomenüs von GitHub mit Benutzeroptionen zum Anzeigen und Bearbeiten von Profil, Inhalten und Einstellungen. Das Menüelement „Einstellungen“ ist in dunklem Orange eingerahmt.

  2. Klicke im Abschnitt „Code, Planung und Automatisierung“ der Seitenleiste auf Codespaces.

  3. Under "Codespaces secrets", to the right of the secret you want to delete, click Delete.

  4. Read the warning, then click OK.

Using secrets

A secret is exported as an environment variable into the user's terminal session.

Screenshot of the Terminal in VS Code. The command "echo $EXAMPLE_API_KEY" has returned "aBCdeFG1234567."

You can use secrets in a codespace after the codespace is built and is running. For example, a secret can be used:

  • When launching an application from the integrated terminal or ssh session.
  • Within a dev container lifecycle script that is run after the codespace is running. For more information about dev container lifecycle scripts, see the documentation on the Development Containers website: Specification.

Codespace secrets cannot be used:

  • During codespace build time (that is, within a Dockerfile or custom entry point).
  • Within a dev container feature. For more information, see the features property in the dev containers specification on the Development Containers website.

Further reading