One or more build steps Image with Java and Maven included that is used for this build step Arguments given to the builder container that will trigger Maven to compile, create, and push a container image via the jib-maven-plugin The directory  /workspace  is shared and mounted for every build step. It’s also interesting to take a brief look under the hood to learn how the Knative build Operator  performs the build. Figure 25-3 shows how a custom Build resource is transformed into plain Kubernetes resources. A Build becomes a Pod with the build steps translated into a chain of  Init Containers  that are called one after another. The first init containers are implicitly created. In our example, there is one for the initializing credentials used for interact‐ ing with external repositories and a second init container for checking out the source from GitHub. The remaining init container are just the given steps with the declared builder images. When all init containers are finished, the primary container is just a no-operation that does nothing, so that the Pod stops after the initialization steps. Example 25-3 contains only a single build step, but your typical build consists of mul‐ tiple steps. The BuildTemplate custom resource can be used to reuse the same steps for similar builds. Build templates Figure 25-3. Knative build using init containers 232  |  Chapter 25: Image Builder