diff --git a/build/builder-contract.md b/build/builder-contract.md index 10247837b..9b07f5399 100644 --- a/build/builder-contract.md +++ b/build/builder-contract.md @@ -1,6 +1,6 @@ # Builders -This document serves to define what we call `Builder` images, and the +This document defines `Builder` images and the conventions to which they are expected to adhere. ## What is a Builder? @@ -8,7 +8,8 @@ conventions to which they are expected to adhere. A `Builder` image is a special classification for images that run as a part of the Build CRD's `steps:`. -For example, in the following Build: +For example, in the following Build the images, `gcr.io/cloud-builders/gcloud` +and `gcr.io/cloud-builders/docker` are "Builders".: ```yaml spec: @@ -19,14 +20,11 @@ spec: ... ``` -The images `gcr.io/cloud-builders/gcloud` and `gcr.io/cloud-builders/docker` are -"Builders". - ### Typical Builders A Builder is typically a purpose-built container whose entrypoint is a tool that -performs some action and exits with a zero status on success. These are often -command-line tools, e.g. `git`, `docker`, `mvn`, ... +performs some action and exits with a zero status on success. These entrypoints +are often command-line tools, for example, `git`, `docker`, `mvn`, and so on. Typical builders set their `command:` (aka `ENTRYPOINT`) to be the command they wrap and expect to take `args:` to direct their behavior. @@ -52,7 +50,7 @@ steps: ### Specialized Builders -It is also possible for advanced users to create very purpose-built builders. +It is also possible for advanced users to create purpose-built builders. One example of this are the ["FTL" builders]( https://github.com/GoogleCloudPlatform/runtimes-common/tree/master/ftl#ftl).