Skip to content

Commit aba0ad9

Browse files
authored
Merge pull request #402 from infosiftr/optional-tls-generation
Adjust DOCKER_TLS_CERTDIR behavior to allow providing server certs without CA
2 parents f7c1eb2 + 6b3d48a commit aba0ad9

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

20.10/dind/dockerd-entrypoint.sh

Lines changed: 6 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

23.0/dind/dockerd-entrypoint.sh

Lines changed: 6 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dockerd-entrypoint.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,17 @@ _tls_san() {
2121
_tls_generate_certs() {
2222
local dir="$1"; shift
2323

24+
# if server/{ca,key,cert}.pem && !ca/key.pem, do NOTHING except verify (user likely managing CA themselves)
2425
# if ca/key.pem || !ca/cert.pem, generate CA public if necessary
2526
# if ca/key.pem, generate server public
2627
# if ca/key.pem, generate client public
2728
# (regenerating public certs every startup to account for SAN/IP changes and/or expiration)
2829

30+
if [ -s "$dir/server/ca.pem" ] && [ -s "$dir/server/cert.pem" ] && [ -s "$dir/server/key.pem" ] && [ ! "$dir/ca/key.pem" ]; then
31+
openssl verify -CAfile "$dir/server/ca.pem" "$dir/server/cert.pem"
32+
return 0
33+
fi
34+
2935
# https://github.com/FiloSottile/mkcert/issues/174
3036
local certValidDays='825'
3137

@@ -110,9 +116,6 @@ if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
110116
# add our default arguments
111117
if [ -n "${DOCKER_TLS_CERTDIR:-}" ]; then
112118
_tls_generate_certs "$DOCKER_TLS_CERTDIR"
113-
[ -s "$DOCKER_TLS_CERTDIR/server/ca.pem" ]
114-
[ -s "$DOCKER_TLS_CERTDIR/server/cert.pem" ]
115-
[ -s "$DOCKER_TLS_CERTDIR/server/key.pem" ]
116119
# generate certs and use TLS if requested/possible (default in 19.03+)
117120
set -- dockerd \
118121
--host="$dockerSocket" \

0 commit comments

Comments
 (0)