> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/docs.edgegap.com-fr/docs/tools-and-integrations/container/external-registries/gcp-gcr.md).

# GCP GCR

### Utiliser Edgegap avec Google Container Registry

### Vous devez avoir à portée de main

* [x] La région GCP de votre GCR
* [x] Le nom de votre projet GCP
* [x] Votre clé JSON pour l'utilisateur IAM

### Pour obtenir ces informations, allez dans la console GCP

1. Allez dans votre projet
2. Allez dans Container Registry
3. Copiez le nom complet du dépôt

### Séparer le nom complet du dépôt

Étant donné ce dépôt complet : **gcr.io/project-name/example**

Votre **Dépôt** sera : **gcr.io**

et votre **Image** sera : **project-name/example**

### Générez votre fichier de clé JSON

Suivre [**Étapes GCP**](https://cloud.google.com/container-registry/docs/advanced-authentication#json-key) pour générer ce fichier.

{% hint style="warning" %}
Veuillez vérifier que votre `compte de service Google` a les autorisations appropriées pour gérer votre registre de conteneurs
{% endhint %}

Vous obtiendrez un fichier qui contient quelque chose de similaire

```json
{
  "type": "service_account",
  "project_id": "project-name",
  "private_key_id": "12345abcdef12345",
  "private_key": "-----BEGIN PRIVATE KEY-----\n[...]\n-----END PRIVATE KEY-----\n",
  "client_email": "example@project-name.iam.gserviceaccount.com",
  "client_id": "1234567890",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/example%40project-name.iam.gserviceaccount.com"
}
```

### Ajoutez l'application sur Edgegap

#### **Exemple d'API**

{% hint style="info" %}
Le nom d'utilisateur sera toujours **\_json\_key**
{% endhint %}

```json
{
    [...]
    "docker_repository": "gcr.io",
    "docker_image": "project-name/repository-name",
    "docker_tag": "v1",
    "private_username": "_json_key",
    "private_token": "<Le contenu du fichier de clé JSON en tant que chaîne JSON>",
    [...]
}
```

Le jeton privé ressemblera à quelque chose comme ceci

```json
{
    [...]
    "private_token": "{\"type\": \"service_account\", \"project_id\": \"project-name\", \"private_key_id\": \"12345abcdef12345\", \"private_key\": \"-----BEGIN PRIVATE KEY-----\\n[...]\\n-----END PRIVATE KEY-----\\n\", \"client_email\": \"example@project-name.iam.gserviceaccount.com\", \"client_id\": \"1234567890\", \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\", \"token_uri\": \"https://oauth2.googleapis.com/token\", \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\", \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example%40project-name.iam.gserviceaccount.com\"}",
    [...]
}
```

#### **Depuis le tableau de bord**

Depuis notre tableau de bord, le **jeton du registre privé** sera le contenu de votre **Fichier de clé JSON**

**Vous pouvez copier le contenu directement sans le transformer en chaîne**

<figure><img src="/files/78ed7d179138394f43e87c4ca6ba202d22bb5fdf" alt=""><figcaption></figcaption></figure>
