Create a container registry
Configure a container registry for pulling images into a project's sandboxes. Requires project admin (registries hold push/pull credentials).
The full image path is built as endpoint/namespace/image:tag. For example:
| Registry | endpoint | namespace | Full image path |
|---|---|---|---|
| Docker Hub | docker.io | myuser | docker.io/myuser/image:tag |
| GitHub CR | ghcr.io | my-org | ghcr.io/my-org/image:tag |
| Google AR | us-docker.pkg.dev | project/repo | us-docker.pkg.dev/project/repo/image:tag |
| AWS ECR | 123456.dkr.ecr.us-east-1.amazonaws.com | (empty) | 123456.dkr.ecr.../image:tag |
All registries require authentication. Choose personal_access_token (default) for GitHub/GitLab, basic for username/password registries, or bearer for token-only registries.
Configure a container registry for pulling images into a project's sandboxes. Requires project admin (registries hold push/pull credentials).
The full image path is built as endpoint/namespace/image:tag. For example:
| Registry | endpoint | namespace | Full image path |
|---|---|---|---|
| Docker Hub | docker.io | myuser | docker.io/myuser/image:tag |
| GitHub CR | ghcr.io | my-org | ghcr.io/my-org/image:tag |
| Google AR | us-docker.pkg.dev | project/repo | us-docker.pkg.dev/project/repo/image:tag |
| AWS ECR | 123456.dkr.ecr.us-east-1.amazonaws.com | (empty) | 123456.dkr.ecr.../image:tag |
All registries require authentication. Choose personal_access_token (default) for GitHub/GitLab, basic for username/password registries, or bearer for token-only registries.
Authorization
apiKey API key starting with tektona_. Create one at app-dev.tektona.ai under API Keys.
In: header
Path Parameters
Organization name
^[a-z0-9][a-z0-9-]*[a-z0-9]$2 <= length <= 64Project name
^[a-z0-9][a-z0-9-]*[a-z0-9]$2 <= length <= 64Query Parameters
Test connection without saving
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Authentication type
"personal_access_token""basic" | "personal_access_token" | "bearer"Human-readable registry name
1 <= length <= 100Registry hostname (e.g. ghcr.io, docker.io)
1 <= length <= 255URL-safe registry identifier
^[a-z0-9][a-z0-9-]*[a-z0-9]$2 <= length <= 64Path prefix within the registry (e.g. my-org for ghcr.io)
length <= 255Password (required for basic)
length <= 255Token (required for personal_access_token and bearer)
length <= 4096Username (required for basic and personal_access_token)
length <= 255Response Body
application/json
application/problem+json
curl -X POST "https://api-dev.tektona.ai/v1/orgs/string/projects/string/registries" \ -H "Content-Type: application/json" \ -d '{ "auth_type": "basic", "display_name": "string", "endpoint": "string", "name": "string" }'{ "$schema": "https://api-dev.tektona.ai/schemas/RegistryResponse.json", "auth_type": "basic", "created_at": "string", "display_name": "My GitHub Registry", "endpoint": "ghcr.io", "has_credentials": true, "id": "string", "name": "my-ghcr", "namespace": "my-org", "owner": { "project": { "display_name": "string", "name": "string" }, "type": "project" }, "updated_at": "string"}{ "$schema": "https://api-dev.tektona.ai/schemas/ErrorModel.json", "detail": "Property foo is required but is missing.", "errors": [ { "location": "string", "message": "string", "value": null } ], "instance": "https://example.com/error-log/abc123", "status": 400, "title": "Bad Request", "type": "https://example.com/errors/example"}