diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f238a42 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM golang:1.4.1 +RUN mkdir /kube-bench +WORKDIR /kube-bench +RUN wget https://raw.githubusercontent.com/aquasecurity/kubernetes-bench-security/master/cfg/config.yaml && \ + wget https://raw.githubusercontent.com/aquasecurity/kubernetes-bench-security/master/cfg/federated.yaml && \ + wget https://raw.githubusercontent.com/aquasecurity/kubernetes-bench-security/master/cfg/master.yaml && \ + wget https://raw.githubusercontent.com/aquasecurity/kubernetes-bench-security/master/cfg/node.yaml +RUN go get github.com/aquasecurity/kubernetes-bench-security +RUN cp /go/bin/kubernetes-bench-security /kube-bench/ && chmod +x /kube-bench/kubernetes-bench-security + +FROM alpine:latest +RUN mkdir -p /kube-bench/cfg +COPY --from=0 /kube-bench/kubernetes-bench-security /kube-bench/kube-bench +COPY --from=0 /kube-bench/config.yaml /kube-bench/cfg/config.yaml +COPY --from=0 /kube-bench/federated.yaml /kube-bench/cfg/federated.yaml +COPY --from=0 /kube-bench/master.yaml /kube-bench/cfg/master.yaml +COPY --from=0 /kube-bench/node.yaml /kube-bench/cfg/node.yaml +ADD entrypoint.sh /entrypoint.sh +ENTRYPOINT /entrypoint.sh diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..8d88e10 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,11 @@ +#!/bin/sh +if [ -d /host ]; then + mkdir -p /host/cfg/ + yes | cp -rf ./kube-bench/cfg/* /host/cfg/ + yes | cp -rf ./kube-bench/kube-bench /host/ + echo "=== You can now run ./kube-bench from your host ===" +else + echo "Error: please mount a host directory as /host volume" + echo "docker run --rm -v `pwd`:/host aquasec/kube-bench" + exit +fi