apiVersion: tekton.dev/v1 kind: Task metadata: name: buildah labels: app.kubernetes.io/version: "0.1" annotations: tekton.dev/categories: Image Build tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/tags: image-build tekton.dev/displayName: "Build a docker image with buildah." tekton.dev/platforms: "linux/amd64" container.apparmor.security.beta.kubernetes.io/step-build-and-push: unconfined spec: description: >- This task will build a docker image using buildah and push the result to an image registry. workspaces: - name: source mountPath: /source readOnly: true - name: dockerconfig description: Includes credentials for the docker image registry. optional: true mountPath: /home/build/.docker params: - name: OUTPUT type: string description: Argument to output flag for `buildctl build` # Examples: # type=image,name=harbor.mydomain.example/private/foo:3.45,push=true,compression=zstd,compression-level=22 # type=image,"name=harbor.mydomain.example/private/foo:latest,harbor.mydomain.example/private/foo:3.45",push=true,compression=zstd,compression-level=22,oci-mediatypes=true - name: CONTEXT type: string description: Path to the docker context. default: "." - name: DOCKERFILE type: string description: Path to the Dockerfile relative to the context. default: "Dockerfile" - name: BUILDER_IMAGE type: string description: Docker image containing Buildah. default: "quay.io/buildah/stable:v1" - name: EXTRA_ARGS type: array description: Arguments passed to the build command. default: [] - name: REGISTRIES_CONF type: string description: Contents of registries.conf. default: "" results: - name: IMAGE_DIGEST description: Digest of the docker image. - name: IMAGE_URL description: Full URL to the docker image. type: array volumes: - name: config-containers emptyDir: {} - name: metadata-out emptyDir: {} steps: - name: write-config image: $(params.BUILDER_IMAGE) workingDir: "$(workspaces.source.path)" script: | #!/usr/bin/env sh set -euo pipefail echo "" # ls -l /home/build/.local/share/containers echo "" tee /home/build/.config/containers/registries.conf < /home/build/.config/containers/entrypoint.sh <