Skip to main content

Build

API Group: environments.blanketops.dev

Version: v1alpha1

Scope: Namespaced


Description

Build represents the deterministic transformation of governed source into a container image artifact.

It defines artifact destination, execution strategy, source configuration, identity binding, and execution policy.

Build objects are responsible for producing a verifiable image artifact


Spec

FieldTypeRequiredDescription
contractobjectYesBuild execution contract

spec.contract

FieldTypeRequiredDescription
imagestringYesTarget container image reference
strategyobjectYesExecution strategy definition
sourceobjectYesSource repository configuration
serviceAccountobjectYesExecution identity binding
policyobjectNoTrigger and retry policy configuration

spec.contract.strategy

FieldTypeRequiredDescription
kindstringYesStrategy type (e.g. ClusterBuildStrategy)
namestringYesName of strategy resource

spec.contract.source

FieldTypeRequiredDescription
urlstringYesGit repository URL
revisionstringYesBranch, tag, or commit reference
contextDirstringYesBuild context directory
cloneSecretstringNoSecret for repository authentication

spec.contract.serviceAccount

FieldTypeRequiredDescription
namestringYesKubernetes ServiceAccount name
secretstringNoSecret containing registry credentials

spec.contract.policy

FieldTypeRequiredDescription
triggers[]objectNoAllowed trigger types
retryobjectNoRetry configuration

spec.contract.policy.triggers[]

FieldTypeRequiredDescription
typestringYesAllowed event type (e.g. push, pull_request)

spec.contract.policy.retry

FieldTypeRequiredDescription
onFailurebooleanNoRetry on failure
maxAttemptsintegerNoMaximum retry attempts

Status

FieldTypeDescription
phasestringCurrent lifecycle phase
artifactDigeststringProduced image digest
startTimestringExecution start timestamp
completionTimestringExecution completion timestamp
conditions[]ConditionStandard Kubernetes condition array

status.phase Values

ValueMeaning
PendingBuild registered but not yet started
RunningBuild execution in progress
SucceededArtifact successfully produced
FailedBuild execution failed

Example

apiVersion: environments.blanketops.dev/v1alpha1
kind: Build
metadata:
name: for-kaniko-app
namespace: dev
spec:
contract:
image: docker.io/example/for-kaniko-app:master
strategy:
kind: ClusterBuildStrategy
name: kaniko
source:
url: git@github.com:example-org/for-kaniko-app.git
revision: master
contextDir: .
cloneSecret: git-ssh-credentials
serviceAccount:
name: build-bot
secret: registry-credentials
policy:
triggers:
- type: push
- type: pull_request

Invariants

  • image must be a valid container image reference.
  • strategy.kind must correspond to a registered build strategy.
  • source.revision must be resolvable.
  • serviceAccount.name must exist in the namespace.
  • artifactDigest is immutable once set.
  • Build does not modify Deployment or Route resources.