Skip to main content
Version: v5.7.0

Image build provider and image provider binding

Included from Basic tier

An image build provider is one catalog record for a build backend — where an image build runs (BuildKit, Packer, EC2 Image Builder, Azure Image Builder; GCP Cloud Build reserved). Actions reference it as image-build://<code> and dispatch resolves the reference into the backend's environment contract plus a short-lived credential. Custody is reference-first: the record stores a secret-vault:// address, or holds an inline credential encrypted at rest; reads serve credential_set. A record is usable only under the estate subtrees it is bound to. Served by the v2 ImageBuildProviderService: ListImageBuildProviders, GetImageBuildProvider, CreateImageBuildProvider, UpdateImageBuildProvider, DeleteImageBuildProvider, TestImageBuildProvider, BindImageBuildProvider and UnbindImageBuildProvider (admin-only; every write is audited).

ImageBuildProvider​

ImageBuildProvider is one registered build backend. The credential is never a field: reads carry credential_set and credential_ref only.

FieldTypeMeaning
bound_pathsarray of stringThe estate subtrees the provider is bound to, sorted; empty means the provider is usable nowhere until bound.
codestringThe estate code actions reference as image-build://<code>.
created_attimestampWhen the record was created.
credential_kindstringWhat the reference holds, per kind: client_cert (BuildKit mTLS), service_principal_cert / service_principal (Azure), assume_role / access_key (AWS), service_account_key / workload_identity (GCP). Validated against the kind at write.
credential_refstringThe secret-vault:// reference the credential lives at — an address, never a value. Empty when the credential is held encrypted at rest on the record.
credential_setbooleanWhether a credential is held — a pinned reference or an inline value encrypted at rest (the value is write-only).
defaultsmap of stringKind-specific defaults (registry, gallery, distribution, project…), injected into the step as IMAGE_BUILD_DEFAULT_<KEY>.
descriptionstringFree-text description.
display_namestringHuman-readable display name.
enabledbooleanDisabled providers refuse at dispatch by name.
endpointstringBackend address where one applies (a BuildKit daemon address: tcp://, unix://, docker-container://); empty for the cloud kinds, where the region decides.
idstringThe record's identity.
kindstringbuildkit, packer, aws_image_builder, azure_image_builder or the reserved gcp_cloud_build. The kind picks the dispatch contract and the pack verbs that accept the reference.
last_test_attimestampWhen the probe last ran; unset until the first test.
last_test_errorstringWhy the last probe failed; empty on success. Never credential material.
last_test_successbooleanWhether the last probe succeeded.
regionstringCloud region for the cloud kinds.
ssl_ca_certstringA CA trust anchor for the endpoint: a PEM block inline or a certificate file path on the server host; empty uses the system roots.
ssl_verifybooleanWhether the endpoint's TLS certificate is verified (default true).
updated_attimestampWhen the record was last updated.

ImageProviderBinding​

ImageProviderBinding is one record → estate-subtree mapping, shared by build providers and image registries.

FieldTypeMeaning
created_attimestampWhen the binding was declared.
familystringbuild or registry.
idstringThe binding's identity.
provider_codestringThe bound record's code.
provider_idstringThe bound record's identity.
scope_pathstring/ (estate-wide) or a node path such as /projects/web or /projects/web/environments/dev/assets/api.

ImageBuildProviderDefaults​

ImageBuildProviderDefaults wraps the defaults map on an update so "not supplied" and "cleared" are distinct.

FieldTypeMeaning
valuesmap of stringThe replacement defaults map.

Write fields​

CreateImageBuildProviderRequest and UpdateImageBuildProviderRequest carry the record's fields plus:

FieldTypeMeaning
bind_pathstringOn create: the first binding, declared in the same call — / or a node path.
credentialstringThe credential value, write-only: held encrypted at rest on the record (clearing any reference) and never echoed. Exactly one of credential or credential_ref carries it, except for credential_kind workload_identity, which holds no secret.
scope_pathstringOn bind and unbind: the subtree the binding covers.

TestImageBuildProviderResponse carries success and failure_reason (empty on success; never credential material).

  • opschain docs image-builds — the component page: registering, binding, the resolution order and the dispatch contract.
  • opschain docs resources/image_registry — the registry record.
  • opschain docs cli/admin-image-build-providers — the CLI manual.