Skip to content

Commit

Permalink
Run tekton containers as nonroot 🐰
Browse files Browse the repository at this point in the history
This changes a slew of containers that Tekton runs to use non-root base images.

Signed-off-by: Vincent Demeester <[email protected]>
  • Loading branch information
vdemeester authored and tekton-robot committed May 19, 2020
1 parent f8a61ef commit 078f081
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
9 changes: 8 additions & 1 deletion .ko.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
defaultBaseImage: gcr.io/distroless/static:nonroot
baseImageOverrides:
# These base images run as root, which is needed for how they handle SSH credentials.
# They are produced from ./images/Dockerfile
github.com/tektoncd/pipeline/cmd/creds-init: gcr.io/tekton-nightly/github.com/tektoncd/pipeline/build-base:latest
github.com/tektoncd/pipeline/cmd/git-init: gcr.io/tekton-nightly/github.com/tektoncd/pipeline/build-base:latest
github.com/tektoncd/pipeline/cmd/entrypoint: busybox # image must have `cp` in $PATH
# GCS fetcher needs root due to workspace permissions
github.com/tektoncd/pipeline/vendor/github.com/GoogleCloudPlatform/cloud-builders/gcs-fetcher/cmd/gcs-fetcher: gcr.io/distroless/static:latest

# Our entrypoint image does not need root, it simply needs to be able to 'cp' the binary into a shared location.
github.com/tektoncd/pipeline/cmd/entrypoint: gcr.io/distroless/base:debug-nonroot
baseBuildOverrides:
github.com/tektoncd/pipeline/cmd/controller:
flags:
Expand Down
4 changes: 3 additions & 1 deletion config/controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,10 @@ spec:

# These images are pulled from Dockerhub, by digest, as of April 15, 2020.
"-nop-image", "tianon/true@sha256:009cce421096698832595ce039aa13fa44327d96beedb84282a69d3dbcf5a81b",
"-shell-image", "busybox@sha256:a2490cec4484ee6c1068ba3a05f89934010c85242f736280b35343483b2264b6",
"-gsutil-image", "google/cloud-sdk@sha256:6e8676464c7581b2dc824956b112a61c95e4144642bec035e6db38e3384cae2e",
# The shell image must be root in order to create directories and copy files to PVCs.
# As of April 17, 2020
"-shell-image", "gcr.io/distroless/base:debug@sha256:dac57423f6d9210198e1ac25de9f6d48753196a112aa2deb22f54e984cfd462d",
]
volumeMounts:
- name: config-logging
Expand Down

0 comments on commit 078f081

Please sign in to comment.