Skip to main content

GCP GCR

Use Arbitrium with with Google Container Registry#

You need to have on hand#

  • The GCP Region of your GCR
  • Your GCP Project Name
  • Your JSON Key for the IAM User

To get this information, go to GCP Console#

  1. Go to your Project
  2. Go to Container Registry
  3. Copy the Full Repository Name

Split the Full Repository Name#

Given this Full Repository: gcr.io/project-name/example

Your Repository will be: gcr.io

and your Image will be: project-name/example

Generate your JSON Key File#

Follow GCP Steps to generate this file.

caution

Please Verify that your Google Service Account has the right permissions to manage your container registry

You will end with a file that contains something similar

{
"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"
}

We are ready to add the app to Arbitrium#

API Example#

info

The username will always be _json_key

{
[...]
"docker_repository": "gcr.io",
"docker_image": "project-name/repository-name",
"docker_tag": "v1",
"private_username": "_json_key",
"private_token": "<The Content of JSON key file as JSON String>",
[...]
}

The Private Token will look something like this

{
[...]
"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\"}",
[...]
}

From Dashboard#

From our Dashboard, The Private registry token will be the content of your JSON key file

You can copy the content directly without Stringify it#

img