# Como especificar segredos recomendados para um repositório

Você pode adicionar uma definição à configuração de contêiner de desenvolvimento que solicitará que as pessoas definam segredos específicos de ambiente de desenvolvimento ao criar um codespace.

## Sobre os segredos recomendados

Se um projeto precisar de segredos específicos do usuário para ser configurado, você poderá solicitar que as pessoas façam isso ao criar um codespace. Faça isso adicionando uma configuração a um arquivo de configuração de contêiner de desenvolvimento para o repositório.

Depois que você especificar os segredos recomendados, se as pessoas ainda não tiverem criado esses segredos nas configurações pessoais do Codespaces, elas precisarão fazer isso quando usarem o método de opções avançadas de criação de um codespace. Faça isso no GitHub clicando no botão **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg> Code**, clicando na guia **Codespaces**, selecionando <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Codespace repository configuration" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg> e clicando em **New with options**.

![Captura de tela da lista suspensa de opções na guia "Codespaces", com a opção "Novo com opções" realçada.](/assets/images/help/codespaces/default-machine-type.png)

Os segredos recomendados são listados na parte inferior da página.

<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.' />

> \[!NOTE]
> Os nomes dos segredos recomendados só são listados nesta página quando a configuração do contêiner no branch selecionado especifica esses segredos.

Cada segredo recomendado é exibido de uma destas três maneiras:

* Se a pessoa não definiu o segredo recomendado nas configurações do Codespaces, uma caixa de entrada é exibida, permitindo que ela crie o segredo agora. Uma descrição e um link para mais informações são exibidos se você os configurou. A inserção de um valor é opcional.
* Se a pessoa já criou o segredo recomendado, mas não o associou a esse repositório, ela pode selecionar uma caixa de seleção para adicionar essa associação. Esse procedimento é opcional.
* Se a pessoa já criou o segredo recomendado e o associou a esse repositório, uma caixa de seleção previamente selecionada é exibida.

### Quando especificar segredos recomendados para um projeto

Você deve usar os segredos recomendados para o ambiente de desenvolvimento, que precisam ser fornecidos pelo usuário que cria o codespace, em vez do proprietário do repositório ou da organização. Por exemplo, se você tiver um projeto público e os usuários precisarem fornecer uma chave de API pessoal para executar o aplicativo no seu projeto, você poderá especificar um segredo recomendado para que os usuários sejam solicitados a fornecer a chave como o valor do segredo quando usarem a página de opções avançadas para criar um codespace.

Como alternativa, para os segredos de ambiente de desenvolvimento que o proprietário do repositório ou da organização pode fornecer, como chaves de API compartilhadas com uma equipe, você pode definir os segredos no nível do repositório ou da organização. Para saber mais, confira [Gerenciando segredos de ambiente de desenvolvimento para seu repositório ou organização](/pt/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization).

## Como especificar segredos recomendados na configuração do contêiner de desenvolvimento

1. Configure os codespaces criados para seu repositório adicionando configurações a um arquivo `devcontainer.json`. Se o repositório ainda não contiver um arquivo `devcontainer.json`, adicione um agora. Confira [Adicionando uma configuração de contêiner de desenvolvimento ao repositório](/pt/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration).

2. Edite o arquivo `devcontainer.json`, adicionando a propriedade `secrets` no nível superior do arquivo, dentro do objeto JSON delimitador. Por exemplo:

   ```json copy
   "secrets": {
     "NAME_OF_SECRET_1": {
       "description": "This is the description of the secret.",
       "documentationUrl": "https://example.com/link/to/info"
     },
     "NAME_OF_SECRET_2": { }
   }
   ```

3. Adicione uma propriedade dentro de `secrets` para cada segredo que você deseja recomendar. Por exemplo, altere `NAME_OF_SECRET_1` e `NAME_OF_SECRET_2`, no exemplo de código anterior, para os nomes dos segredos que as pessoas devem criar nas respectivas configurações pessoais do Codespaces.

4. Opcionalmente, forneça uma descrição para cada segredo e uma URL para mais informações sobre esse segredo.

   Você pode omitir `description` e `documentationUrl`, conforme mostrado pela `NAME_OF_SECRET_2` no exemplo de código anterior.

5. Especifique segredos adicionais, conforme necessário.

6. Salve o arquivo e faça commit as alterações no branch necessário do repositório.

## Leitura adicional

* [Como criar um codespace para um repositório](/pt/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui#creating-a-codespace-for-a-repository)