Registry Credentials¶
This example demonstrates how to manage container registry credentials in Verda.
Registry Credentials¶
import os
from verda import VerdaClient
from verda.containers import (
AWSECRCredentials,
CustomRegistryCredentials,
DockerHubCredentials,
GCRCredentials,
GithubCredentials,
)
# Get client secret and id from environment variables
CLIENT_ID = os.environ.get('VERDA_CLIENT_ID')
CLIENT_SECRET = os.environ.get('VERDA_CLIENT_SECRET')
# Initialize Verda client
verda = VerdaClient(CLIENT_ID, CLIENT_SECRET)
# Example 1: DockerHub Credentials
dockerhub_creds = DockerHubCredentials(
name='my-dockerhub-creds',
username='your-dockerhub-username',
access_token='your-dockerhub-access-token',
)
verda.containers.add_registry_credentials(dockerhub_creds)
print('Created DockerHub credentials')
# Example 2: GitHub Container Registry Credentials
github_creds = GithubCredentials(
name='my-github-creds',
username='your-github-username',
access_token='your-github-token',
)
verda.containers.add_registry_credentials(github_creds)
print('Created GitHub credentials')
# Example 3: Google Container Registry (GCR) Credentials
# For GCR, you need to provide a service account key JSON string
gcr_service_account_key = """{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "private-key-id",
"private_key": "-----BEGIN PRIVATE KEY-----\\nYOUR_PRIVATE_KEY_HERE\\n-----END PRIVATE KEY-----\\n",
"client_email": "your-service-account@your-project.iam.gserviceaccount.com",
"client_id": "client-id",
"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/your-service-account%40your-project.iam.gserviceaccount.com"
}"""
gcr_creds = GCRCredentials(name='my-gcr-creds', service_account_key=gcr_service_account_key)
verda.containers.add_registry_credentials(gcr_creds)
print('Created GCR credentials')
# Example 4: AWS ECR Credentials
aws_creds = AWSECRCredentials(
name='my-aws-ecr-creds',
access_key_id='AKIAEXAMPLE123456',
secret_access_key='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
region='eu-north-1',
ecr_repo='887841266746.dkr.ecr.eu-north-1.amazonaws.com',
)
verda.containers.add_registry_credentials(aws_creds)
print('Created AWS ECR credentials')
# Example 5: Custom Registry Credentials
custom_docker_config = """{
"auths": {
"your-custom-registry.com": {
"auth": "base64-encoded-username-password"
}
}
}"""
custom_creds = CustomRegistryCredentials(
name='my-custom-registry-creds', docker_config_json=custom_docker_config
)
verda.containers.add_registry_credentials(custom_creds)
print('Created Custom registry credentials')
# Delete all registry credentials
verda.containers.delete_registry_credentials('my-dockerhub-creds')
verda.containers.delete_registry_credentials('my-github-creds')
verda.containers.delete_registry_credentials('my-gcr-creds')
verda.containers.delete_registry_credentials('my-aws-ecr-creds')
verda.containers.delete_registry_credentials('my-custom-registry-creds')