Créer des dépôts distants

Cette page explique comment créer des dépôts Artifact Registry distants.

Les dépôts distants stockent les artefacts des sources en amont suivantes :

  • Dépôts Artifact Registry standards.
  • Sources externes, par exemple :
    • CentOS
    • Debian
    • Docker Hub
    • GitHub Container Registry (ghcr.io)
    • Maven Central
    • Index de packages Python (PyPI)

Un dépôt distant sert de proxy pour la source en amont, ce qui vous permet de mieux contrôler vos dépendances. La première fois que vous demandez une version d'un package, Artifact Registry télécharge et met en cache le package dans le dépôt distant. La prochaine fois que vous demanderez la même version du package, Artifact Registry fournira la copie mise en cache.

Si vous demandez un artefact à partir d'une source en amont qui n'existe pas ou qui ne contient pas la version que vous avez spécifiée, la requête échouera.

Les autres modes de dépôt sont les suivants :

  • Standard : mode de dépôt par défaut. Vous importez ou publiez des artefacts tels que des packages privés directement dans des dépôts standards. Bien que vous puissiez télécharger directement à partir de dépôts standards individuels, l'accès à des groupes de dépôts avec un dépôt virtuel simplifie la configuration des outils.
  • Virtuel : dépôt qui sert de point d'accès unique pour plusieurs dépôts en amont, y compris les dépôts standards et distants.

Pour en savoir plus sur le fonctionnement des dépôts distants, consultez la présentation des dépôts distants.

Avant de commencer

  1. Activez Artifact Registry, ce qui inclut l'activation de l'API Artifact Registry et l'installation de Google Cloud CLI.
  2. Facultatif : configurez des valeurs par défaut pour les commandes gcloud CLI.
  3. Si vous avez besoin de clés de chiffrement gérées par le client (CMEK) pour chiffrer le contenu du dépôt, créez et activez une clé dans Cloud KMS pour le dépôt.
  4. Si vous souhaitez vous authentifier auprès d'un dépôt en amont, activez l'API Secret Manager.

    gcloud services enable secretmanager.googleapis.com \
        --project=PROJECT_ID
    
  5. Si Artifact Registry se trouve dans un périmètre de service VPC Service Controls, activez l'API Access Context Manager si elle ne l'est pas déjà.

    gcloud services enable accesscontextmanager.googleapis.com \
        --project=PROJECT_ID
    
  6. Si vous souhaitez définir un dépôt Artifact Registry comme dépôt en amont et qu'il se trouve dans un projet différent de votre dépôt distant, vous devez accorder au compte de service du projet de dépôt distant l'accès au projet de dépôt en amont avant de créer le dépôt distant.

    Attribuer le rôle d'agent de service

    Les dépôts distants utilisent l'agent de service Artifact Registry pour s'authentifier auprès des dépôts en amont Artifact Registry. Vous devez accorder à l'agent de service de dépôt distant un accès en lecture au dépôt en amont.

    Pour attribuer le rôle d'agent de service Artifact Registry à l'agent de service du dépôt distant sur le dépôt en amont, exécutez la commande suivante :

    
      gcloud projects add-iam-policy-binding UPSTREAM_REPOSITORY \
          --member serviceAccount:service-REMOTE_PROJECT_NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com \
          --location=REGION \
          --project=UPSTREAM_PROJECT_ID \
          --role roles/artifactregistry.serviceAgent
      

    Remplacez les éléments suivants :

    • UPSTREAM_REPOSITORY est l'ID du dépôt en amont. Les dépôts en amont Artifact Registry doivent être des dépôts en mode standard.
    • REMOTE_PROJECT_NUMBER est le numéro de projet du projet Google Cloud pour votre dépôt distant.
    • REMOTE_PROJECT_ID est l'ID du projet Google Cloud pour votre dépôt distant.
    • REGION est la région dans laquelle vous souhaitez créer votre dépôt distant.
    • UPSTREAM_PROJECT_ID est l'ID du projet Google Cloud avec le dépôt en amont.

Rôles requis

Pour obtenir les autorisations nécessaires pour gérer les dépôts, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Créer des dépôts distants et accorder l'accès à des dépôts individuels : Administrateur Artifact Registry (roles/artifactregistry.admin) sur le projet
  • Enregistrez les identifiants de votre dépôt en amont dans une version de secret : Administrateur Secret Manager (roles/secretmanager.admin) sur le projet
  • Accorder l'accès aux sources en amont en dehors d'un périmètre de service VPC Service Controls : Éditeur Access Context Manager (roles/accesscontextmanager.policyEditor) sur le projet, le dossier ou l'organisation où la règle d'accès est appliquée

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un dépôt distant

Lorsque vous créez un dépôt distant, vous devez configurer les paramètres suivants, qui ne peuvent pas être modifiés une fois le dépôt créé :

  • Format de l'artefact.
  • Le mode du dépôt est défini sur "distant".
  • Source en amont du dépôt distant.
  • Emplacement du dépôt.
  • Chiffrement avec des Google-owned and Google-managed encryption keys ou des clés de chiffrement gérées par le client. Artifact Registry utiliseGoogle-owned and Google-managed encryption keys par défaut.

Artifact Registry applique des contraintes liées aux règles d'administration qui exigent l'utilisation de CMEK pour chiffrer les ressources ou qui limitent les clés Cloud KMS pouvant être utilisées pour la protection CMEK.

Console

  1. Ouvrez la page Dépôts dans la console Google Cloud .

    Ouvrir la page "Dépôts"

  2. Cliquez sur Créer un dépôt.

  3. Spécifiez le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.

  4. Dans la section Format, sélectionnez le format du dépôt.

  5. Dans la section Mode Dépôt, sélectionnez Distant.

  6. Dans la section Source du dépôt distant, sélectionnez l'une des méthodes suivantes pour saisir l'URL de votre dépôt en amont :

    • Sélectionnez la source en amont prédéfinie listée pour votre type de format.
    • Sélectionnez Personnaliser pour spécifier l'URL complète d'un dépôt public ou privé pour les formats compatibles.
    • Sélectionnez Dépôt Artifact Registry pour sélectionner un dépôt Artifact Registry standard.
  7. Si vous avez sélectionné Personnalisé, saisissez l'URL complète du dépôt dans le champ Dépôt personnalisé. L'URL ne peut pas être modifiée une fois le dépôt créé.

    Pour obtenir des exemples d'URL en amont courantes, consultez Upstreams personnalisés.

  8. Si vous avez sélectionné Dépôt Artifact Registry :

    1. Dans le champ Dépôt Artifact Registry, saisissez le nom complet du dépôt que vous souhaitez utiliser comme dépôt en amont ou cliquez sur Parcourir pour afficher la liste des dépôts auxquels vous avez accès. Seuls les dépôts du même format que votre dépôt distant sont listés.
    2. Cliquez sur le nom du dépôt que vous souhaitez utiliser comme dépôt en amont.
    3. Cliquez sur Sélectionner.
  9. Si vous avez sélectionné l'un des flux en amont prédéfinis ou saisi une URL complète à l'aide du bouton Personnaliser, choisissez l'une des options suivantes dans Mode d'authentification du dépôt distant :

    • Authentifié : saisissez votre nom d'utilisateur et votre secret pour vous authentifier auprès de votre dépôt en amont.
    • Non authentifié : pour ignorer l'authentification auprès du dépôt en amont.
  10. Si vous avez sélectionné Authentifié, saisissez les informations suivantes :

    • Dans le champ Nom d'utilisateur, saisissez votre nom d'utilisateur pour le dépôt en amont.
    • Dans le champ Secret, saisissez la version du secret dans laquelle vous avez enregistré votre mot de passe pour le dépôt en amont.

    Vous pouvez modifier ces valeurs après avoir créé le dépôt. Pour en savoir plus sur l'authentification auprès des dépôts distants en amont, consultez Configurer l'authentification auprès des dépôts distants en amont.

  11. Dans la section Type d'emplacement, sélectionnez l'emplacement du dépôt :

    1. Choisissez le type d'emplacement : régional ou multirégional. La liste des emplacements change pour refléter votre sélection.

    2. Dans la liste Région ou Multirégional, sélectionnez un emplacement.

    Pour en savoir plus sur les types d'emplacement et les emplacements compatibles, consultez la section Emplacements des dépôts.

  12. Ajoutez une description pour le dépôt. Les descriptions aident à identifier l'objectif du dépôt et le type d'artefacts qu'il contient.

    N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.

  13. Si vous souhaitez utiliser des libellés pour organiser vos dépôts, cliquez sur Ajouter un libellé et saisissez la paire clé-valeur du libellé. Vous pouvez ajouter, modifier ou supprimer des libellés après avoir créé le dépôt.

  14. Dans la section Chiffrement, choisissez le mécanisme de chiffrement du dépôt.

    • Google-managed encryption key : chiffre le contenu du dépôt avec un Google-owned and Google-managed encryption key.
    • Clé gérée par le client : chiffre le contenu du dépôt à l'aide d'une clé que vous contrôlez via Cloud Key Management Service. Pour obtenir des instructions sur la configuration de la clé, consultez la page Configurer des CMEK pour les dépôts.
  15. Si vous souhaitez utiliser des règles de nettoyage pour supprimer les artefacts inutilisés, dans la section Règles de nettoyage :

    1. Sélectionnez Simulation pour tester votre règle avant de l'appliquer.
    2. Cliquez sur Ajouter une règle pour ajouter une règle de conservation ou de suppression à votre dépôt.
    3. Attribuez un nom descriptif à votre règle de nettoyage dans le champ Nom.
    4. Dans la section Type de règles, sélectionnez l'une des options suivantes :

      • Suppression conditionnelle : supprime les artefacts en fonction des conditions que vous définissez.
      • Conservation conditionnelle : conserve les artefacts en fonction des conditions que vous définissez.
      • Conserver les versions les plus récentes : conserve un certain nombre de versions les plus récentes par package.

      Pour en savoir plus sur les règles de nettoyage, consultez Configurer des règles de nettoyage.

  16. Dans la section Artifact Analysis, choisissez les paramètres d'analyse des failles :

    • Activé : autorise l'analyse dans ce dépôt. L'API Container Scanning doit être activée dans votre projet.

      La facturation commence immédiatement après l'activation de l'API Container Scanning. Une fois que vous avez activé l'API Container Scanning pour un projet, l'analyse des failles est activée pour tous les dépôts nouveaux et existants. Lorsque vous transférez une image vers Artifact Registry, Artifact Analysis l'analyse automatiquement.

    • Désactivé : empêche l'analyse dans ce dépôt. Si l'API Container Scanning est activée dans votre projet, l'analyse se poursuit dans les autres dépôts. Ce dépôt sera exclu.

      Pour en savoir plus sur les options d'analyse des failles, consultez Activer et désactiver l'analyse automatique.

  17. Cliquez sur Créer.

Artifact Registry crée le dépôt et l'ajoute à la liste des dépôts.

CLI gcloud

Pour créer un dépôt, exécutez la commande correspondant au format de dépôt approprié :

Docker

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=docker \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-docker-repo=UPSTREAM

Indicateurs facultatifs pour l'authentification auprès du dépôt en amont :

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Remplacez les éléments suivants :

  • REMOTE-REPOSITORY-NAME par le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID par l'ID du projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION avec l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.
  • DESCRIPTION avec une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • REMOTE-REPOSITORY-DESCRIPTION avec une description de la configuration du dépôt externe pour ce dépôt distant.
  • USERNAME (facultatif) si vous utilisez l'authentification, avec votre nom d'utilisateur pour l'authentification auprès du dépôt en amont.
  • SECRET_VERSION (facultatif) si vous utilisez l'authentification, avec la version secrète contenant le mot de passe de votre dépôt en amont.
  • UPSTREAM par le nom prédéfini en amont, le chemin d'accès au dépôt Artifact Registry ou l'URL définie par l'utilisateur du dépôt en amont.

    Pour les dépôts en amont Artifact Registry, mettez en forme le chemin d'accès au dépôt comme suit : projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Pour en savoir plus sur les flux en amont prédéfinis disponibles et les flux en amont définis par l'utilisateur compatibles, consultez Formats acceptés.

  • --disable-vulnerability-scanning : option facultative qui configure votre dépôt pour désactiver l'analyse automatique des failles.

  • --allow-vulnerability-scanning : option facultative qui configure votre dépôt pour autoriser l'analyse automatique des failles. Pour en savoir plus, consultez Activer ou désactiver l'analyse automatique.

Par exemple, la commande suivante crée un dépôt distant nommé my-repo dans la région us-east1 du projet Google Cloud my-project et peut s'authentifier auprès du dépôt en amont à l'aide du nom d'utilisateur my-username et de la version secrète projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=docker \
    --location=us-east1 \
    --description="Remote Docker repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Docker Hub" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-docker-repo=DOCKER-HUB

Pour en savoir plus sur l'authentification auprès des dépôts en amont Docker Hub, consultez Configurer l'authentification des dépôts distants auprès de Docker Hub.

Maven

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=maven \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-mvn-repo=UPSTREAM

Indicateurs facultatifs pour l'authentification auprès du dépôt en amont :

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Remplacez les éléments suivants :

  • REMOTE-REPOSITORY-NAME par le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID par l'ID du projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION avec l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.
  • DESCRIPTION avec une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • REMOTE-REPOSITORY-DESCRIPTION avec une description de la configuration du dépôt externe pour ce dépôt distant.
  • USERNAME (facultatif) si vous utilisez l'authentification, avec votre nom d'utilisateur pour l'authentification auprès du dépôt en amont.
  • SECRET_VERSION (facultatif) si vous utilisez l'authentification, avec la version secrète contenant le mot de passe de votre dépôt en amont.
  • UPSTREAM par le nom prédéfini en amont, le chemin d'accès au dépôt Artifact Registry ou l'URL définie par l'utilisateur du dépôt en amont.

    Pour les dépôts en amont Artifact Registry, mettez en forme le chemin d'accès au dépôt comme suit : projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Pour en savoir plus sur les flux en amont prédéfinis disponibles et les flux en amont définis par l'utilisateur compatibles, consultez Formats acceptés.

  • --disable-vulnerability-scanning : option facultative qui configure votre dépôt pour désactiver l'analyse automatique des failles.

  • --allow-vulnerability-scanning : option facultative qui configure votre dépôt pour autoriser l'analyse automatique des failles. Pour en savoir plus, consultez Activer ou désactiver l'analyse automatique.

Par exemple, la commande suivante crée un dépôt distant nommé my-repo dans la région us-east1 du projet Google Cloud my-project et peut s'authentifier auprès du dépôt en amont à l'aide du nom d'utilisateur my-username et de la version secrète projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=maven \
    --location=us-east1 \
    --description="Remote Maven repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Maven Central" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-mvn-repo=MAVEN-CENTRAL

npm

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=npm \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-npm-repo=UPSTREAM

Indicateurs facultatifs pour l'authentification auprès du dépôt en amont :

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Remplacez les éléments suivants :

  • REMOTE-REPOSITORY-NAME par le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID par l'ID du projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION avec l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.
  • DESCRIPTION avec une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • REMOTE-REPOSITORY-DESCRIPTION avec une description de la configuration du dépôt externe pour ce dépôt distant.
  • USERNAME (facultatif) si vous utilisez l'authentification, avec votre nom d'utilisateur pour l'authentification auprès du dépôt en amont.
  • SECRET_VERSION (facultatif) si vous utilisez l'authentification, avec la version secrète contenant le mot de passe de votre dépôt en amont.
  • UPSTREAM par le nom prédéfini en amont, le chemin d'accès au dépôt Artifact Registry ou l'URL définie par l'utilisateur du dépôt en amont.

    Pour les dépôts en amont Artifact Registry, mettez en forme le chemin d'accès au dépôt comme suit : projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Pour en savoir plus sur les flux en amont prédéfinis disponibles et les flux en amont définis par l'utilisateur compatibles, consultez Formats acceptés.

  • --disable-vulnerability-scanning : option facultative qui configure votre dépôt pour désactiver l'analyse automatique des failles.

  • --allow-vulnerability-scanning : option facultative qui configure votre dépôt pour autoriser l'analyse automatique des failles. Pour en savoir plus, consultez Activer ou désactiver l'analyse automatique.

Par exemple, la commande suivante crée un dépôt distant nommé my-repo dans la région us-east1 du projet Google Cloud my-project et peut s'authentifier auprès du dépôt en amont à l'aide du nom d'utilisateur my-username et de la version secrète projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=npm \
    --location=us-east1 \
    --description="Remote npm repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Public npm registry" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-npm-repo=NPMJS

Python

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=python \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-python-repo=UPSTREAM

Indicateurs facultatifs pour l'authentification auprès du dépôt en amont :

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Remplacez les éléments suivants :

  • REMOTE-REPOSITORY-NAME par le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID par l'ID du projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION avec l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.
  • DESCRIPTION avec une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • REMOTE-REPOSITORY-DESCRIPTION avec une description de la configuration du dépôt externe pour ce dépôt distant.
  • USERNAME (facultatif) si vous utilisez l'authentification, avec votre nom d'utilisateur pour l'authentification auprès du dépôt en amont.
  • SECRET_VERSION (facultatif) si vous utilisez l'authentification, avec la version secrète contenant le mot de passe de votre dépôt en amont.
  • UPSTREAM par le nom prédéfini en amont, le chemin d'accès au dépôt Artifact Registry ou l'URL définie par l'utilisateur du dépôt en amont.

    Pour les dépôts en amont Artifact Registry, mettez en forme le chemin d'accès au dépôt comme suit : projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Pour en savoir plus sur les flux en amont prédéfinis disponibles et les flux en amont définis par l'utilisateur compatibles, consultez Formats acceptés.

  • --disable-vulnerability-scanning : option facultative qui configure votre dépôt pour désactiver l'analyse automatique des failles.

  • --allow-vulnerability-scanning : option facultative qui configure votre dépôt pour autoriser l'analyse automatique des failles. Pour en savoir plus, consultez Activer ou désactiver l'analyse automatique.

Par exemple, la commande suivante crée un dépôt distant nommé my-repo dans la région us-east1 du projet Google Cloud my-project et peut s'authentifier auprès du dépôt en amont à l'aide du nom d'utilisateur my-username et de la version secrète projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=python \
    --location=us-east1 \
    --description="Remote Python repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="PyPI" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-python-repo=PYPI

Apt (preview)

gcloud artifacts repositories create REMOTE_REPOSITORY_NAME \
    --project=PROJECT_ID \
    --repository-format=apt \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE_REPOSITORY_DESCRIPTION" \
    --remote-apt-repo=APT_REPOSITORY_BASE \
    --remote-apt-repo-path="APT_REPOSITORY_PATH"

Remplacez les éléments suivants :

  • REMOTE_REPOSITORY_NAME par le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID par l'ID du projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION avec l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.
  • DESCRIPTION avec une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • REMOTE_REPOSITORY_DESCRIPTION avec une description facultative de la configuration du dépôt externe pour ce dépôt distant.
  • APT_REPOSITORY_BASE avec l'un des noms de base de dépôt compatibles listés dans les sources en amont compatibles avec les packages OS pour les dépôts Apt à distance.
  • APT_REPOSITORY_PATH avec le reste de l'URL du dépôt en amont que vous souhaitez mettre en cache dans votre dépôt distant après la base du dépôt.

Par exemple, la commande suivante crée un dépôt distant nommé my-repo pour mettre en cache le dépôt Debian buster dans la région us-east1 du projet Google Cloud my-project. L'URL complète du dépôt en amont est http://deb.debian.org/debian/dists/buster.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=apt \
    --location=us-east1 \
    --description="Apt remote repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Debian buster distribution" \
    --remote-apt-repo=DEBIAN \
    --remote-apt-repo-path="debian/dists/buster"

Yum (preview)

gcloud artifacts repositories create REMOTE_REPOSITORY_NAME \
    --project=PROJECT_ID \
    --repository-format=yum \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE_REPOSITORY_DESCRIPTION" \
    --remote-yum-repo=YUM_REPOSITORY_BASE \
    --remote-yum-repo-path="YUM_REPOSITORY_PATH"

Remplacez les éléments suivants :

  • REMOTE_REPOSITORY_NAME par le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID par l'ID du projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION avec l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.
  • DESCRIPTION avec une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • REMOTE_REPOSITORY_DESCRIPTION avec une description facultative de la configuration du dépôt externe pour ce dépôt distant.
  • Remplacez YUM_REPOSITORY_BASE par l'un des noms de base de dépôt compatibles listés dans Upstreams compatibles avec les packages OS pour les dépôts distants Yum.
  • YUM_REPOSITORY_PATH avec le reste de l'URL du dépôt en amont que vous souhaitez mettre en cache dans votre dépôt distant après la base du dépôt.

Par exemple, la commande suivante crée un dépôt distant pour les packages Yum nommé my-repo dans la région us-east1 du projet Google Cloud pour le dépôt en amont 9-stream/BaseOs/x86_64/os.my-project L'URL complète du dépôt est https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=yum \
    --location=us-east1 \
    --description="Yum remote repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="CentOS 8 x86" \
    --remote-yum-repo=CENTOS_STREAM \
    --remote-yum-repo-path="9-stream/BaseOs/x86_64/os"

Go

Les dépôts distants Go Artifact Registry ne sont compatibles qu'avec le https://proxy.golang public en amont.

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=go \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --remote-go-repo=https://proxy.golang.org

Remplacez les éléments suivants :

  • REMOTE-REPOSITORY-NAME est le nom du dépôt. Pour chaque emplacement de dépôt d'un projet, les noms de dépôt doivent être uniques.
  • PROJECT_ID est l'ID de projet. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION est l'emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commande gcloud artifacts locations list.

  • DESCRIPTION est une description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions de dépôt ne sont pas chiffrées.

  • REMOTE-REPOSITORY-DESCRIPTION est une description de la configuration du dépôt externe pour ce dépôt distant.

Par exemple, la commande suivante crée un dépôt distant nommé my-repo dans la région us-east1 du projet Google Cloud my-project.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=go \
    --location=us-east1 \
    --description="Remote Go repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Go proxy" \
    --remote-go-repo=https://proxy.golang.org

Artifact Registry crée votre dépôt. Exécutez la commande suivante pour afficher une description du dépôt :

gcloud artifacts repositories describe REMOTE_REPOSITORY_NAME \
    --location=LOCATION

Terraform

Utilisez la ressource google_artifact_registry_repository pour créer des dépôts. La version 5.0.0 ou ultérieure de terraform-provider-google est requise.

Si vous débutez avec Terraform pour Google Cloud, consultez la page Premiers pas avec Google Cloud sur le site Web de HashiCorp.

L'exemple suivant définit le fournisseur et un dépôt distant avec le nom de ressource Terraform my-repo.

Docker

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "docker"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    docker_repository {
      public_repository = "DOCKER_HUB"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

  • PROJECT-IDest l'ID du projet Google Cloud .
  • LOCATION est l'emplacement du dépôt.
  • REPOSITORY_ID est l'ID du dépôt.
  • DESCRIPTION est la description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • KEY est le nom de la clé Cloud Key Management Service si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.
  • CONFIG_DESCRIPTION est la description facultative de la source distante.
  • DRY_RUN_STATUS détermine si les règles de nettoyage suppriment les artefacts ou enregistrent uniquement ceux qui seraient supprimés si des règles de nettoyage étaient définies dans le dépôt. Omettez ce champ si vous ne souhaitez pas ajouter de règles de nettoyage au dépôt. * true : définit les règles à exécuter en mode de simulation. Aucun artefact n'est supprimé en mode de simulation. * false : applique les règles de nettoyage. Les artefacts sont supprimés ou conservés en fonction des règles. Pour en savoir plus sur les règles de nettoyage, consultez Configurer des règles de nettoyage.
    • POLICY_NAME est le nom de la règle de nettoyage.
    • TAG_STATE correspond à l'état du tag auquel appliquer la règle. Les valeurs sont tagged, untagged et any. any s'applique aux artefacts tagués et non tagués. Si les tags immuables sont activés pour un dépôt, les artefacts tagués ne peuvent pas être supprimés.
    • TAG_PREFIX et TAG_PREFIX_N sont des préfixes de tag auxquels appliquer la règle.
    • PKG_PREFIX et PKG_PREFIX_N sont des préfixes de package auxquels appliquer la règle.
    • TIME_SINCE_UPLOAD correspond au temps écoulé depuis qu'une version d'artefact a été importée dans le dépôt, spécifié sous forme de durée. Vous pouvez spécifier des durées en secondes, minutes, heures ou jours en ajoutant respectivement s, m, h ou d.
    • KEEP_COUNT correspond au nombre de versions par package d'un artefact à conserver dans votre dépôt.

Maven

Si vous ne spécifiez pas de stratégie de version, Artifact Registry crée par défaut un dépôt Maven qui stocke les versions instantané et release des packages.

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "maven"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    maven_repository {
      public_repository = "MAVEN_CENTRAL"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

  • PROJECT-IDest l'ID du projet Google Cloud .
  • LOCATION est l'emplacement du dépôt.
  • REPOSITORY_ID est l'ID du dépôt.
  • DESCRIPTION est la description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • KEY est le nom de la clé Cloud Key Management Service si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.
  • CONFIG_DESCRIPTION est la description facultative de la source distante.
  • DRY_RUN_STATUS détermine si les règles de nettoyage suppriment les artefacts ou enregistrent uniquement ceux qui seraient supprimés si des règles de nettoyage étaient définies dans le dépôt. Omettez ce champ si vous ne souhaitez pas ajouter de règles de nettoyage au dépôt. * true : définit les règles à exécuter en mode de simulation. Aucun artefact n'est supprimé en mode de simulation. * false : applique les règles de nettoyage. Les artefacts sont supprimés ou conservés en fonction des règles. Pour en savoir plus sur les règles de nettoyage, consultez Configurer des règles de nettoyage.
    • POLICY_NAME est le nom de la règle de nettoyage.
    • TAG_STATE correspond à l'état du tag auquel appliquer la règle. Les valeurs sont tagged, untagged et any. any s'applique aux artefacts tagués et non tagués. Si les tags immuables sont activés pour un dépôt, les artefacts tagués ne peuvent pas être supprimés.
    • TAG_PREFIX et TAG_PREFIX_N sont des préfixes de tag auxquels appliquer la règle.
    • PKG_PREFIX et PKG_PREFIX_N sont des préfixes de package auxquels appliquer la règle.
    • TIME_SINCE_UPLOAD correspond au temps écoulé depuis qu'une version d'artefact a été importée dans le dépôt, spécifié sous forme de durée. Vous pouvez spécifier des durées en secondes, minutes, heures ou jours en ajoutant respectivement s, m, h ou d.
    • KEEP_COUNT correspond au nombre de versions par package d'un artefact à conserver dans votre dépôt.

Pour stocker des versions d'instantanés et des versions dans différents dépôts, spécifiez une règle de version pour le dépôt à l'aide d'un bloc maven_config. Ce bloc accepte les paramètres suivants :

  • version_policy définit la stratégie de version avec l'une des valeurs suivantes :
    • VERSION_POLICY_UNSPECIFIED : stocker les packages d'instantané et de version Il s'agit du paramètre par défaut.
    • RELEASE (VERSION) : packages de version uniquement.
    • SNAPSHOT : stocke uniquement les packages d'instantanés.
  • allow_snapshot_overwrites configure un dépôt avec une règle de version SNAPSHOT pour accepter les instantanés non uniques qui écrasent les versions existantes dans le dépôt.

L'exemple suivant définit un dépôt Maven avec une règle de version de publication.

provider "google" {
project = "my-project"
}

resource "google_artifact_registry_repository" "my-repo" {
provider = google-beta

location = "LOCATION"
repository_id = "my-repo"
description = "Maven repository"
format = "MAVEN"
mode = "REMOTE_REPOSITORY"
maven_config {
  version_policy = "RELEASE"
}
}

npm

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "npm"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    npm_repository {
      public_repository = "NPMJS"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

  • PROJECT-IDest l'ID du projet Google Cloud .
  • LOCATION est l'emplacement du dépôt.
  • REPOSITORY_ID est l'ID du dépôt.
  • DESCRIPTION est la description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • KEY est le nom de la clé Cloud Key Management Service si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.
  • CONFIG_DESCRIPTION est la description facultative de la source distante.
  • DRY_RUN_STATUS détermine si les règles de nettoyage suppriment les artefacts ou enregistrent uniquement ceux qui seraient supprimés si des règles de nettoyage étaient définies dans le dépôt. Omettez ce champ si vous ne souhaitez pas ajouter de règles de nettoyage au dépôt. * true : définit les règles à exécuter en mode de simulation. Aucun artefact n'est supprimé en mode de simulation. * false : applique les règles de nettoyage. Les artefacts sont supprimés ou conservés en fonction des règles. Pour en savoir plus sur les règles de nettoyage, consultez Configurer des règles de nettoyage.
    • POLICY_NAME est le nom de la règle de nettoyage.
    • TAG_STATE correspond à l'état du tag auquel appliquer la règle. Les valeurs sont tagged, untagged et any. any s'applique aux artefacts tagués et non tagués. Si les tags immuables sont activés pour un dépôt, les artefacts tagués ne peuvent pas être supprimés.
    • TAG_PREFIX et TAG_PREFIX_N sont des préfixes de tag auxquels appliquer la règle.
    • PKG_PREFIX et PKG_PREFIX_N sont des préfixes de package auxquels appliquer la règle.
    • TIME_SINCE_UPLOAD correspond au temps écoulé depuis qu'une version d'artefact a été importée dans le dépôt, spécifié sous forme de durée. Vous pouvez spécifier des durées en secondes, minutes, heures ou jours en ajoutant respectivement s, m, h ou d.
    • KEEP_COUNT correspond au nombre de versions par package d'un artefact à conserver dans votre dépôt.

Python

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "python"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    python_repository {
      public_repository = "PYPI"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

  • PROJECT-IDest l'ID du projet Google Cloud .
  • LOCATION est l'emplacement du dépôt.
  • REPOSITORY_ID est l'ID du dépôt.
  • DESCRIPTION est la description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • KEY est le nom de la clé Cloud Key Management Service si vous utilisez des clés de chiffrement gérées par le client (CMEK) pour le chiffrement. Omettez cet argument pour utiliser le paramètre par défaut, à savoir les clés de chiffrement gérées par Google.
  • CONFIG_DESCRIPTION est la description facultative de la source distante.
  • DRY_RUN_STATUS détermine si les règles de nettoyage suppriment les artefacts ou enregistrent uniquement ceux qui seraient supprimés si des règles de nettoyage étaient définies dans le dépôt. Omettez ce champ si vous ne souhaitez pas ajouter de règles de nettoyage au dépôt. * true : définit les règles à exécuter en mode de simulation. Aucun artefact n'est supprimé en mode de simulation. * false : applique les règles de nettoyage. Les artefacts sont supprimés ou conservés en fonction des règles. Pour en savoir plus sur les règles de nettoyage, consultez Configurer des règles de nettoyage.
    • POLICY_NAME est le nom de la règle de nettoyage.
    • TAG_STATE correspond à l'état du tag auquel appliquer la règle. Les valeurs sont tagged, untagged et any. any s'applique aux artefacts tagués et non tagués. Si les tags immuables sont activés pour un dépôt, les artefacts tagués ne peuvent pas être supprimés.
    • TAG_PREFIX et TAG_PREFIX_N sont des préfixes de tag auxquels appliquer la règle.
    • PKG_PREFIX et PKG_PREFIX_N sont des préfixes de package auxquels appliquer la règle.
    • TIME_SINCE_UPLOAD correspond au temps écoulé depuis qu'une version d'artefact a été importée dans le dépôt, spécifié sous forme de durée. Vous pouvez spécifier des durées en secondes, minutes, heures ou jours en ajoutant respectivement s, m, h ou d.
    • KEEP_COUNT correspond au nombre de versions par package d'un artefact à conserver dans votre dépôt.

Apt (preview)

  provider "google" {
  project = "PROJECT_ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "APT"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    apt_repository {
      public_repository {
        repository_base = "REPOSITORY_BASE"
        repository_path = "REPOSITORY_PATH"
      }
    }
  }
}

  • PROJECT-ID est l'ID du projet Google Cloud .
  • LOCATION est l'emplacement du dépôt.
  • REPOSITORY_ID est l'ID du dépôt.
  • DESCRIPTION est la description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • CONFIG_DESCRIPTION est la description facultative de la source distante.
  • REPOSITORY_BASE est la base de dépôt public prédéfinie pour Apt. Les valeurs possibles sont DEBIAN et UBUNTU.
  • REPOSITORY_PATH est le dépôt spécifique de la base. Par exemple, debian/dists/buster.

Yum (preview)

  provider "google" {
  project = "PROJECT_ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "YUM"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    yum_repository {
      public_repository {
        repository_base = "REPOSITORY_BASE"
        repository_path = "REPOSITORY_PATH"
      }
    }
  }
}

  • PROJECT-ID est l'ID du projet Google Cloud .
  • LOCATION est l'emplacement du dépôt.
  • REPOSITORY_ID est l'ID du dépôt.
  • DESCRIPTION est la description facultative du dépôt. N'incluez pas de données sensibles, car les descriptions des dépôts ne sont pas chiffrées.
  • CONFIG_DESCRIPTION est la description facultative de la source distante.
  • REPOSITORY_BASE est la base de dépôt public prédéfinie pour Yum. Les valeurs possibles sont CENTOS, CENTOS_DEBUG, CENTOS_VAULT, CENTOS_STREAM, ROCKY et EPEL.
  • REPOSITORY_PATH est le dépôt spécifique de la base. Par exemple, "centos/8-stream/BaseOS/x86_64/os.

Artifact Registry crée votre dépôt. Exécutez la commande suivante pour afficher une description du dépôt :

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Une fois le dépôt créé :

Modifier les descriptions des dépôts

Vous pouvez modifier la description du dépôt depuis la console Google Cloud ou la gcloud CLI.

Console

  1. Ouvrez la page Dépôts dans la console Google Cloud .

    Ouvrir la page "Dépôts"

  2. Dans la liste des dépôts, sélectionnez le dépôt, puis cliquez sur Modifier le dépôt.

  3. Modifiez la description du dépôt, puis cliquez sur Enregistrer.

gcloud

Pour mettre à jour la description du dépôt, exécutez la commande suivante :

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

Remplacez les éléments suivants :

  • REPOSITORY : nom du dépôt. Si vous avez configuré un dépôt par défaut, vous pouvez omettre cet indicateur pour utiliser le dépôt par défaut.
  • PROJECT : ID du projet Google Cloud. Si cette option est ignorée, le projet en cours ou par défaut est utilisé.
  • LOCATION est l'emplacement régional ou multirégional du dépôt. Utilisez cette option pour afficher les dépôts dans un emplacement spécifique. Si vous avez configuré un emplacement par défaut, vous pouvez omettre cette option pour utiliser la valeur par défaut.
  • DESCRIPTION : description du dépôt.

Accès aux sources en amont dans un périmètre de service

Les services d'un périmètre de service VPC Service Controls ont un accès limité aux ressources situées en dehors du périmètre.

Vous pouvez autoriser ou refuser l'accès aux sources en amont dans unGoogle Cloud projet et un emplacement spécifiés.

Par défaut, Artifact Registry refuse l'accès aux sources en amont si vous ne l'avez pas explicitement accordé.

Pour Artifact Registry, le rôle requis est Administrateur Artifact Registry (roles/artifactregistry.admin).

Afficher les paramètres des sources en amont

Pour afficher la configuration d'une combinaison spécifique de projet et de localisation, exécutez la commande suivante :

gcloud artifacts vpcsc-config describe \
    --project=PROJECT_ID \
    --location=LOCATION

Par exemple, utilisez la commande suivante pour afficher les paramètres des dépôts distants dans us-east1 du projet my-project :

gcloud artifacts vpcsc-config describe \
    --project=my-project \
    --location=us-east1

Autoriser l'accès aux sources en amont

Pour autoriser l'accès aux sources en amont dans un emplacement spécifié, exécutez la commande suivante :

gcloud artifacts vpcsc-config allow \
    --project=PROJECT_ID \
    --location=LOCATION

Par exemple, utilisez la commande suivante pour autoriser tous les dépôts distants dans us-east1 du projet my-project à accéder à leurs sources en amont en dehors du périmètre :

gcloud artifacts vpcsc-config allow \
    --project=my-project \
    --location=us-east1

Refuser l'accès aux sources en amont

Lorsque vous refusez l'accès aux sources en amont, les artefacts mis en cache existants dans les dépôts distants restent disponibles.

Pour refuser l'accès aux sources en amont dans un emplacement spécifié, exécutez la commande suivante :

gcloud artifacts vpcsc-config deny \
    --project=PROJECT_ID \
    --location=LOCATION

Par exemple, utilisez la commande suivante pour bloquer l'accès aux sources en amont en dehors du périmètre pour tous les dépôts distants dans us-west1 du projet my-project :

gcloud artifacts vpcsc-config deny \
    --project=my-project \
    --location=us-west1

Étapes suivantes