# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.edgegap.com/docs.edgegap.com-fr/docs/tools-and-integrations/container/external-registries/gcp-gcr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
