This page explains the SLSA V1.0 Build Type definition for the Google Builder.
External parameters
The following table displays the types of external parameters that may be used in a Workflow PipelineRun and Workflow TaskRun definition. Unless otherwise noted, all parameters are required.
Field | Type | Details |
---|---|---|
runSpec |
object |
The complete PipelineRun spec. |
buildConfigSource |
object |
The complete buildConfigSource spec. |
PipelineRun spec
Field | Type | Details |
---|---|---|
pipelineRef/taskRef |
object |
Where pipelineSpec/taskSpec was read from. This field is only populated if the pipelineSpec was referenced from a remote source. Default: |
pipelineSpec/taskSpec |
object |
In-lined Pipeline/Task Spec, not fetched from a remote source using pipelineRef/taskRef. [Optional]. |
params |
[object] |
Map of parameter names and values supplied to Pipeline. Values can be string, array or object type. Default: Note: In case of triggered workflow, this field will also contain some parameters provided by the Cloud Build triggering system besides params configured by the user in the workflow definition. |
workspaces |
[object] |
Workspaces holds a set of workspace bindings that must match names with those declared in the pipeline. Default: |
timeouts/timeout |
object |
Time after which the pipeline times out. Timeouts can be defined for Pipeline, Tasks and Finally. They are related by the formula Timeouts.pipeline Timeouts.tasks + Timeouts.finally. |
buildConfigSource spec
Field | Type | Details |
---|---|---|
ref |
object |
Can be one of the following:
|
repository |
string |
The git repository URI, or the image repository URI |
path |
string |
The path in the git repository, or the resource name in the image bundle. |
Internal parameters
The internal parameters are provided by the builder for the build process.
Field | Type | Details |
---|---|---|
tekton-pipelines-feature-flags | object | Tekton configuration feature flags used for the build. These are
configured by the builder and are useful for reproducibility. |
systemParameters | object | A list of name and value pairs for default system substitutions provided by GCB. |
Resolved dependencies
The resolvedDependencies
field must contain entries
identifying the resolved reference corresponding to
externalParameters.configRef
. This is the reference to the Pipeline, in case
of a PipelineRun specification, or the reference to the Task, in case of a
TaskRun specification.
The resolved dependencies may contain additional artifacts that are inputs for
the build, using the name
field to indicate the type of the artifact:
- For remote Pipelines, use
name: pipeline
. - For remote Tasks, use
name: pipelineTask
. - For a resolved reference to a Step or a sidecar container image, the
name
field is optional. In the case of thedigest
field, even if the image is referenced by tag, the image digest must be included. - For other input artifacts used for the build, like source code, use
name: inputs/result
. Type hinting is used for the results of the Task.
The following example contains information about all the types of resolved dependencies:
"resolvedDependencies": [
{
"name": "pipeline",
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
},
{
"name": "pipelineTask",
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
},
{
"uri": "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/git-init",
"digest": {
"sha256": "28ff94e63e4058afc3f15b4c11c08cf3b54fa91faa646a4bbac90380cd7158df"},
},
{
"name": "inputs/result",
"uri": "git+https://github.com/octocat/hello-world.git",
"digest": {"sha1": "7fd1a60b01f91b314f59955a4e4d4e80d8edf11d"},
}
]
RunDetails
Field | Details |
---|---|
builder | Contains an id subfield that identifies the build platform that
executed the operation and populated this provenance. This also contains
the SLSA level. The expected id value is one of the following:
|
metadata | Additional metadata about this particular execution of the build.
The invocationId displays the URL of the build, such as
https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/pipelineRuns/BUILD_ID .
The startedOn and finishedOn fields
contain the time stamps for when the build started and completed.
|
byproducts | A results object.Contains the TaskRunResults produced by the PipelineRun. The content is encoded in Base64. |