Criar repositórios padrão

Nesta página, descrevemos como criar repositórios padrão do Artifact Registry.

Os repositórios padrão são para seus artefatos particulares. Você faz upload e download de artefatos diretamente desses repositórios.

Cada repositório pode conter artefatos para um único formato compatível.

Antes de começar

  1. Ative o Artifact Registry, incluindo a ativação da API Artifact Registry e a instalação do Google Cloud CLI.
  2. (Opcional) Configure padrões para comandos gcloud.
  3. Se você precisar de chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografar o conteúdo do repositório, crie e ative uma chave no Cloud KMS para o repositório.

Funções exigidas

Para receber as permissões necessárias para criar repositórios, peça ao administrador para conceder a você o papel do IAM de Administrador do Artifact Registry (roles/artifactregistry.admin) no projeto Trusted Cloud by S3NS . Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Criar um repositório padrão

Ao criar um repositório, é preciso configurar as seguintes opções, que não podem ser alteradas depois da criação:

  • Formato do artefato.
  • Modo de repositório.

O Artifact Registry aplica restrições de política da organização que exigem a CMEK para criptografar recursos ou limitar quais chaves do Cloud KMS podem ser usadas para proteção por CMEK.

Criar um repositório usando o console Trusted Cloud

  1. Abra a página Repositórios no console do Trusted Cloud .

    Abrir a página Repositórios

  2. Clique em Criar repositório.

  3. Especifique o nome do repositório. Para cada local de repositório em um projeto, os nomes dos repositórios precisam ser exclusivos.

  4. Selecione o formato do repositório.

  5. Se vários modos de repositório estiverem disponíveis, selecione Padrão.

  6. Escolha o local do repositório. Para informações sobre tipos de local e locais compatíveis, consulte Locais de repositório.

  7. Adicione uma descrição para o repositório. As descrições ajudam a identificar a finalidade do repositório e o tipo de artefatos que ele contém.

    Não inclua dados sensíveis, já que as descrições do repositório não são criptografadas.

  8. Se quiser usar rótulos para organizar os repositórios, clique em Adicionar rótulo e insira o par de chave-valor. É possível adicionar, editar ou remover rótulos depois de criar o repositório.

  9. Na seção Criptografia, escolha o mecanismo de criptografia do repositório.

    • Google Cloud-powered encryption key: criptografe o conteúdo do repositório com uma Google Cloud-powered encryption key.
    • Chave gerenciada pelo cliente: criptografe o conteúdo do repositório com uma chave controlada por você por meio do Cloud Key Management Service. Para instruções de configuração de chaves, consulte Como configurar CMEK para repositórios.

    • Para repositórios do Docker, a configuração Tags de imagem imutáveis configura o repositório para usar tags de imagem que sempre apontam para o mesmo resumo de imagem. Um usuário com o papel de administrador do Artifact Registry pode mudar essa configuração depois que o repositório for criado.

      • Essa configuração fica desativada por padrão. As tags de imagem são mutáveis, o que significa que o resumo de imagem para o qual a tag aponta pode mudar.
      • Se essa configuração estiver ativada, as tags de imagem serão imutáveis. Uma tag sempre precisa apontar para o mesmo resumo de imagem. Para saber mais sobre tags de imagem mutáveis e imutáveis, consulte Versões de imagem de contêiner.
  10. Clique em Criar.

O Artifact Registry cria o repositório e o adiciona à lista de repositórios.

Depois de criar o repositório:

  • Conceda acesso ao repositório.
  • Configure o Docker e outros clientes de terceiros para autenticar em repositórios.

Criar um repositório usando a Google Cloud CLI

Execute o comando para criar um repositório.

Apt

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=apt \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Substitua:

  • REPOSITORY: o nome do repositório. Para cada local de repositório em um projeto, os nomes dos repositórios precisam ser exclusivos.
  • LOCATION: o local regional do repositório. É possível omitir essa flag se você definir um padrão. Para ver uma lista de locais compatíveis, execute o comando:
    gcloud artifacts locations list
  • DESCRIPTION: uma descrição do repositório. Não inclua dados sensíveis, já que as descrições do repositório não são criptografadas.
  • KMS-KEY: o caminho completo para a chave de criptografia do Cloud KMS, se você estiver usando uma chave de criptografia gerenciada pelo cliente para criptografar o conteúdo do repositório. O caminho está no formato:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Substitua:

    • KMS-PROJECT: o projeto em que sua chave está armazenada.
    • KMS-LOCATION: a localização da chave;
    • KEY-RING: o nome do keyring;
    • KEY: o nome da chave;
  • --async: retorna imediatamente, sem aguardar a conclusão da operação em andamento.

Docker

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=docker \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --immutable-tags \
      --async \
      --disable-vulnerability-scanning

Substitua:

  • REPOSITORY: o nome do repositório. Para cada local de repositório em um projeto, os nomes dos repositórios precisam ser exclusivos.

    • LOCATION: o local regional do repositório. É possível omitir essa flag se você definir um local padrão. Para ver uma lista de locais compatíveis, execute o comando:

      gcloud artifacts locations list
    • DESCRIPTION: uma descrição do repositório. Não inclua dados sensíveis, já que as descrições do repositório não são criptografadas.
    • KMS-KEY: o caminho completo para a chave de criptografia do Cloud KMS, se você estiver usando uma chave de criptografia gerenciada pelo cliente para criptografar o conteúdo do repositório. O caminho está no formato:

      projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

      Substitua:

      • KMS-PROJECT: o projeto em que sua chave está armazenada.
      • KMS-LOCATION: a localização da chave;
      • KEY-RING: o nome do keyring;
      • KEY: o nome da chave;
    • --immutable-tags é uma flag opcional que configura seu repositório para usar tags que sempre apontam para o mesmo resumo de imagem.

      Por padrão, quando a flag --immutable-tags não é transmitida, uma tag pode ser movida para outro resumo de imagem. Para saber mais sobre tags de imagem imutáveis e mutáveis, consulte Versões de imagem de contêiner.

    • --async retorna imediatamente, sem aguardar a conclusão da operação em andamento.

Yum

  gcloud artifacts repositories create REPOSITORY \
      --repository-format=yum \
      --location=LOCATION \
      --description="DESCRIPTION" \
      --kms-key=KMS-KEY \
      --async
  

Substitua:

  • REPOSITORY: o nome do repositório. Para cada local de repositório em um projeto, os nomes dos repositórios precisam ser exclusivos.
  • LOCATION: o local regional do repositório. É possível omitir essa flag se você definir um padrão. Para ver uma lista de locais compatíveis, execute o comando:
    gcloud artifacts locations list
  • DESCRIPTION: uma descrição do repositório. Não inclua dados sensíveis, já que as descrições do repositório não são criptografadas.
  • KMS-KEY: o caminho completo para a chave de criptografia do Cloud KMS, se você estiver usando uma chave de criptografia gerenciada pelo cliente para criptografar o conteúdo do repositório. O caminho está no formato:
        projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY

    Substitua:

    • KMS-PROJECT: o projeto em que sua chave está armazenada.
    • KMS-LOCATION: a localização da chave;
    • KEY-RING: o nome do keyring;
    • KEY: o nome da chave;
  • --async: retorna imediatamente, sem aguardar a conclusão da operação em andamento.

O Artifact Registry cria o repositório. Execute o comando a seguir para ver uma descrição do repositório:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Depois de criar o repositório:

  • Conceda acesso ao repositório.
  • Configure o Docker e outros clientes de terceiros para autenticar em repositórios.

Criar um repositório usando o Terraform

Use o recurso google_artifact_registry_repository para criar repositórios. A versão 5.0.0 ou mais recente do terraform-provider-google é obrigatória.

Se você não usa o Terraform para Trusted Cloud by S3NS, consulte a página Primeiros passos: Trusted Cloud by S3NS no site da HashiCorp.

O exemplo a seguir define o provedor e um repositório com o nome do recurso Terraform my-repo.

Apt

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" }

Substitua:

  • PROJECT-ID é o ID do projeto Trusted Cloud .
  • LOCATION é o local do repositório.
  • REPOSITORY é o nome do repositório.
  • DESCRIPTION é a descrição opcional do repositório. Não inclua dados sensíveis, já que as descrições de repositórios não são criptografadas.
  • KEY é o nome da chave do Cloud Key Management Service, se você estiver usando chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografia. Omita esse argumento para usar a configuração padrão, as chaves de criptografia gerenciadas pelo Google.

Docker

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" }

Substitua:

  • PROJECT-ID é o ID do projeto Trusted Cloud .
  • LOCATION é o local do repositório.
  • REPOSITORY é o nome do repositório.
  • DESCRIPTION é a descrição opcional do repositório. Não inclua dados sensíveis, já que as descrições de repositórios não são criptografadas.
  • KEY é o nome da chave do Cloud Key Management Service, se você estiver usando chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografia. Omita esse argumento para usar a configuração padrão, as chaves de criptografia gerenciadas pelo Google.

Yum

  provider "google" {
      project = "PROJECT-ID"
  }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" }

Substitua:

  • PROJECT-ID é o ID do projeto Trusted Cloud .
  • LOCATION é o local do repositório.
  • REPOSITORY é o nome do repositório.
  • DESCRIPTION é a descrição opcional do repositório. Não inclua dados sensíveis, já que as descrições de repositórios não são criptografadas.
  • KEY é o nome da chave do Cloud Key Management Service, se você estiver usando chaves de criptografia gerenciadas pelo cliente (CMEK) para criptografia. Omita esse argumento para usar a configuração padrão, as chaves de criptografia gerenciadas pelo Google.

O Artifact Registry cria o repositório. Execute o comando a seguir para ver uma descrição do repositório:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Depois de criar o repositório:

  • Conceda acesso ao repositório.
  • Configure o Docker e outros clientes de terceiros para autenticar em repositórios.

Editar descrições de repositório

É possível mudar a descrição do repositório no console Trusted Cloud ou na CLI gcloud.

Console

  1. Abra a página Repositórios no console do Trusted Cloud .

    Abrir a página Repositórios

  2. Na lista de repositórios, selecione o repositório e clique em Editar repositório.

  3. Edite a descrição do repositório e clique em Salvar.

gcloud

Para atualizar a descrição do repositório, execute o comando:

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT \
    --location=LOCATION \
    --description="DESCRIPTION"

Substitua:

  • REPOSITORY: o nome do repositório. Se você tiver configurado um repositório padrão, poderá omitir essa flag para usar o padrão.
  • PROJECT: o ID do projeto do Trusted Cloud by S3NS. Se essa flag for omitida, o projeto atual ou padrão será usado.
  • LOCATION é o local regional do repositório. Use esta flag para ver repositórios em um local específico. Se você tiver configurado um local padrão, poderá omitir essa flag para usar o padrão.
  • DESCRIPTION: uma descrição para o repositório.

A seguir