Treza Enclaves support deploying images from private container registries that require authentication. Credentials are encrypted and stored securely in AWS Secrets Manager — they are never logged, exposed in the UI, or stored in plaintext.
Name your enclave — Give it a name and optional description.
Select Private Registry as the deployment source.
Enter your registry credentials — Provide the registry URL, username, and password/token.
Enter your image URI — The full image reference including the registry hostname.
Configure your enclave — Set the provider region and any other settings.
Deploy — Treza encrypts your credentials, stores them in AWS Secrets Manager, and uses them at deploy time to pull the image. Credentials are not persisted beyond the deployment lifecycle.
Supported Registries
Any private OCI-compliant registry that accepts username/password or token-based authentication is supported, including:
Registry
Registry URL
Auth Notes
Docker Hub (private repos)
registry-1.docker.io
Docker Hub username + access token
GitHub Container Registry
ghcr.io
GitHub username + personal access token (PAT) with read:packages scope
Amazon ECR (private)
<account>.dkr.ecr.<region>.amazonaws.com
AWS access key + secret, or use IAM role (recommended)
Google Artifact Registry
<region>-docker.pkg.dev
Service account JSON or access token
Azure Container Registry
<registry>.azurecr.io
ACR username + password, or service principal
Self-hosted (Harbor, Nexus, etc.)
Custom hostname
Username + password
Credentials & Security
How credentials are stored
Credentials are encrypted at rest using AWS KMS and stored in AWS Secrets Manager under a secret scoped to your enclave.
The secret is referenced by ARN in the enclave record — the plaintext credentials are never written to the database.
At deploy time, the Treza infrastructure fetches the secret from Secrets Manager to authenticate the image pull, then the credential reference is released.
Credential lifecycle
Phase
What happens
Enclave creation
Credentials encrypted and stored in Secrets Manager
Deployment
Credentials fetched from Secrets Manager to pull the image
Post-deployment
Secret remains in Secrets Manager for re-deployment use
Enclave termination
Secret is deleted from Secrets Manager
Recommended: use access tokens, not passwords
Where possible, use short-lived access tokens or tokens with minimal scope rather than account passwords:
Infrastructure provisioning and image pull in progress
DEPLOYED
Enclave is live and running
FAILED
Deployment failed — check the Infrastructure log tab for auth or pull errors
Using the CLI
For interactive prompts, omit the flags:
Security note: Avoid passing --registry-password directly in your shell history. Use the interactive prompt instead, or pipe the value from a secrets manager:
Verify the registry URL, username, and password/token are correct.
Confirm the token has sufficient permissions to pull the image (not just list repositories).
For Docker Hub, ensure the access token was created with at least Read access.
For GHCR, ensure the PAT has the read:packages scope and the package is accessible to the account.
Deployment failed: image not found (after successful auth)
The credentials are valid but the image reference is incorrect. Double-check:
The registry hostname matches the credentials (e.g., ghcr.io not docker.io)
The namespace/org name matches exactly (case-sensitive)
The tag exists in the registry
Credentials expired after deployment
Access tokens can expire. To update credentials for an existing enclave, terminate the current enclave and create a new one with refreshed credentials. Credential rotation support for live enclaves is on the roadmap.