Skip to content

registry

The registry section configures where imglife stores and retrieves build records. This is not the OCI registry where Docker images are stored — that’s configured via environment variables.

registry:
url: https://gitlab.example.com
project_id: 42

For GitLab.com, the OCI registry URL differs from the API URL:

registry:
url: https://registry.gitlab.com # OCI registry (images)
api_url: https://gitlab.com # API (Package Registry, config fetch)
project_id: 42
registry:
provider: gitea
url: https://gitea.example.com
owner: myorg
repo: base-images # required for imglife check auto-derive
# AWS S3
registry:
provider: s3
bucket: imglife-builds
region: eu-west-1
# Self-hosted (Garage, MinIO, Cloudflare R2, GCS)
registry:
provider: s3
url: http://garage.internal:3900 # endpoint override
bucket: imglife
region: garage
prefix: builds
FieldTypeRequiredDefaultDescription
providerstringnogitlabBackend: gitlab, gitea, or s3
urlstringgitlab/giteaInstance URL or S3 endpoint override
api_urlstringnosame as urlSeparate API URL (GitLab.com only)
project_idintegergitlabGitLab project numeric ID
ownerstringgiteaGitea user or organisation
repostringgiteaGitea repository name
bucketstrings3S3 bucket name
regionstringno (s3)us-east-1AWS region or custom string
prefixstringno (s3)Key prefix inside the bucket
insecure_registries[]stringnoOCI registries to contact over plain HTTP
config_refstringnomainGit ref for imglife.yaml auto-fetch by check
ProviderEnvironment variableRequired scopes
gitlabGITLAB_TOKENapi, read_packages, write_packages, read_registry, write_registry
giteaGITEA_TOKENpackage scope
s3AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEYs3:GetObject, s3:PutObject, s3:DeleteObject, s3:ListBucket

For local development with a plain-HTTP registry:

registry:
url: http://registry.local:5000
project_id: 1
insecure_registries:
- registry.local:5000

imglife automatically treats hosts with an http:// URL as insecure. The insecure_registries list is for additional hosts beyond the main URL.

When applicative projects run imglife check, imglife can automatically fetch the base-images imglife.yaml from the registry to compare versions. The config_ref field controls which git ref to use:

registry:
url: https://gitlab.example.com
project_id: 42
config_ref: main # default

For Gitea, repo is also required:

registry:
provider: gitea
url: https://gitea.example.com
owner: myorg
repo: base-images
config_ref: main