From 221ced5c51204f60511980ca7f9079eeeb7450c0 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Sat, 23 Apr 2022 10:49:33 +0200 Subject: [PATCH 1/6] add Dockerfile for building with HSM support --- docker/Dockerfile.step-ca.hsm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 docker/Dockerfile.step-ca.hsm diff --git a/docker/Dockerfile.step-ca.hsm b/docker/Dockerfile.step-ca.hsm new file mode 100644 index 00000000..29876659 --- /dev/null +++ b/docker/Dockerfile.step-ca.hsm @@ -0,0 +1,33 @@ +FROM golang:alpine AS builder + +WORKDIR /src +COPY . . + +RUN apk add --no-cache curl git make +RUN apk add --no-cache gcc musl-dev pkgconf pcsc-lite-dev +RUN make V=1 GOFLAGS="" build + +FROM smallstep/step-cli:latest + +COPY --from=builder /src/bin/step-ca /usr/local/bin/step-ca +COPY --from=builder /src/bin/step-awskms-init /usr/local/bin/step-awskms-init +COPY --from=builder /src/bin/step-cloudkms-init /usr/local/bin/step-cloudkms-init +COPY --from=builder /src/bin/step-pkcs11-init /usr/local/bin/step-pkcs11-init +COPY --from=builder /src/bin/step-yubikey-init /usr/local/bin/step-yubikey-init + +USER root +RUN apk add --no-cache libcap && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/step-ca +RUN apk add --no-cache pcsc-lite-libs +USER step + +ENV CONFIGPATH="/home/step/config/ca.json" +ENV PWDPATH="/home/step/secrets/password" + +VOLUME ["/home/step"] +STOPSIGNAL SIGTERM +HEALTHCHECK CMD step ca health 2>/dev/null | grep "^ok" >/dev/null + +COPY docker/entrypoint.sh /entrypoint.sh + +ENTRYPOINT ["/bin/bash", "/entrypoint.sh"] +CMD exec /usr/local/bin/step-ca --password-file $PWDPATH $CONFIGPATH From 6ee48ca63198d059d3e6fb17b6bd755d6ad29c69 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Sun, 24 Apr 2022 10:59:26 +0200 Subject: [PATCH 2/6] add pcsc-lite --- docker/Dockerfile.step-ca.hsm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.step-ca.hsm b/docker/Dockerfile.step-ca.hsm index 29876659..4b870d18 100644 --- a/docker/Dockerfile.step-ca.hsm +++ b/docker/Dockerfile.step-ca.hsm @@ -17,7 +17,7 @@ COPY --from=builder /src/bin/step-yubikey-init /usr/local/bin/step-yubikey-init USER root RUN apk add --no-cache libcap && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/step-ca -RUN apk add --no-cache pcsc-lite-libs +RUN apk add --no-cache pcsc-lite pcsc-lite-libs USER step ENV CONFIGPATH="/home/step/config/ca.json" From 66ba6048a4ac7e9b8ff345e39c34126a9a12fdd4 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Sun, 24 Apr 2022 11:08:51 +0200 Subject: [PATCH 3/6] start pcscd if installed --- docker/entrypoint.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 1f48c028..49d6b10c 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -53,6 +53,10 @@ function step_ca_init () { mv $STEPPATH/password $PWDPATH } +if [ -f /usr/sbin/pcscd ]; then + /usr/sbin/pcscd +fi + if [ ! -f "${STEPPATH}/config/ca.json" ]; then init_if_possible fi From df8eca2c19a0cb6d47db0fa7b32eeb4aec0e7f27 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Mon, 25 Apr 2022 14:14:23 +0200 Subject: [PATCH 4/6] space --- docker/Dockerfile.step-ca.hsm | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/Dockerfile.step-ca.hsm b/docker/Dockerfile.step-ca.hsm index 4b870d18..ac59c909 100644 --- a/docker/Dockerfile.step-ca.hsm +++ b/docker/Dockerfile.step-ca.hsm @@ -7,6 +7,7 @@ RUN apk add --no-cache curl git make RUN apk add --no-cache gcc musl-dev pkgconf pcsc-lite-dev RUN make V=1 GOFLAGS="" build + FROM smallstep/step-cli:latest COPY --from=builder /src/bin/step-ca /usr/local/bin/step-ca From c1425422ddbdd3925c3ab6ce19c68b9ed0f0bcf0 Mon Sep 17 00:00:00 2001 From: Jakob Schlyter Date: Mon, 25 Apr 2022 14:25:31 +0200 Subject: [PATCH 5/6] include support for GCP and AWS KMS by default --- docker/Dockerfile.step-ca | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile.step-ca b/docker/Dockerfile.step-ca index 9363b6ae..46677a91 100644 --- a/docker/Dockerfile.step-ca +++ b/docker/Dockerfile.step-ca @@ -3,15 +3,15 @@ FROM golang:alpine AS builder WORKDIR /src COPY . . -RUN apk add --no-cache \ - curl \ - git \ - make && \ - make V=1 bin/step-ca +RUN apk add --no-cache curl git make +RUN make V=1 bin/step-ca bin/step-awskms-init bin/step-cloudkms-init + FROM smallstep/step-cli:latest COPY --from=builder /src/bin/step-ca /usr/local/bin/step-ca +COPY --from=builder /src/bin/step-awskms-init /usr/local/bin/step-awskms-init +COPY --from=builder /src/bin/step-cloudkms-init /usr/local/bin/step-cloudkms-init USER root RUN apk add --no-cache libcap && setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/step-ca From 88a1bf17cf0dc3e69938eb28f03a02ffeecdf3e7 Mon Sep 17 00:00:00 2001 From: max furman Date: Wed, 27 Apr 2022 11:40:43 -0700 Subject: [PATCH 6/6] Update to pull request template --- .github/PULL_REQUEST_TEMPLATE | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE index 266e9124..5d38f102 100644 --- a/.github/PULL_REQUEST_TEMPLATE +++ b/.github/PULL_REQUEST_TEMPLATE @@ -1,4 +1,20 @@ -### Description -Please describe your pull request. + +#### Name of feature: + +#### Pain or issue this feature alleviates: + +#### Why is this important to the project (if not answered above): + +#### Is there documentation on how to use this feature? If so, where? + +#### In what environments or workflows is this feature supported? + +#### In what environments or workflows is this feature explicitly NOT supported (if any)? + +#### Supporting links/other PRs/issues: 💔Thank you!