Use Edgegap with Google Container Registry
You need to have on hand
To get this information, go to GCP Console
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.
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"
}
Add the app on Edgegap
API Example
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