-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
K8SPSMDB-780: Unsafe improvements #1504
Changes from 11 commits
3377f1e
7ee44f2
83a7ba4
0504898
096cb60
330245a
84f504c
b166c22
743a11e
5875749
5cac03b
6badccf
3bd2f42
660460a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,5 +1,6 @@ | ||||||||||||||||||||||||||||||||||||||||||||||
#!/bin/bash | ||||||||||||||||||||||||||||||||||||||||||||||
set -Eeuo pipefail | ||||||||||||||||||||||||||||||||||||||||||||||
set -o xtrace | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if [ "${1:0:1}" = '-' ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
set -- mongod "$@" | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -68,9 +69,9 @@ _mongod_hack_have_arg() { | |||||||||||||||||||||||||||||||||||||||||||||
local arg | ||||||||||||||||||||||||||||||||||||||||||||||
for arg; do | ||||||||||||||||||||||||||||||||||||||||||||||
case "$arg" in | ||||||||||||||||||||||||||||||||||||||||||||||
"$checkArg" | "$checkArg"=*) | ||||||||||||||||||||||||||||||||||||||||||||||
return 0 | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$checkArg" | "$checkArg"=*) | ||||||||||||||||||||||||||||||||||||||||||||||
return 0 | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||||||||||||||||
done | ||||||||||||||||||||||||||||||||||||||||||||||
return 1 | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -83,14 +84,14 @@ _mongod_hack_get_arg_val() { | |||||||||||||||||||||||||||||||||||||||||||||
local arg="$1" | ||||||||||||||||||||||||||||||||||||||||||||||
shift | ||||||||||||||||||||||||||||||||||||||||||||||
case "$arg" in | ||||||||||||||||||||||||||||||||||||||||||||||
"$checkArg") | ||||||||||||||||||||||||||||||||||||||||||||||
echo "$1" | ||||||||||||||||||||||||||||||||||||||||||||||
return 0 | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$checkArg"=*) | ||||||||||||||||||||||||||||||||||||||||||||||
echo "${arg#"$checkArg"=}" | ||||||||||||||||||||||||||||||||||||||||||||||
return 0 | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$checkArg") | ||||||||||||||||||||||||||||||||||||||||||||||
echo "$1" | ||||||||||||||||||||||||||||||||||||||||||||||
return 0 | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$checkArg"=*) | ||||||||||||||||||||||||||||||||||||||||||||||
echo "${arg#"$checkArg"=}" | ||||||||||||||||||||||||||||||||||||||||||||||
return 0 | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+87
to
+94
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [shfmt] reported by reviewdog 🐶
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||||||||||||||||
done | ||||||||||||||||||||||||||||||||||||||||||||||
return 1 | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -131,14 +132,14 @@ _mongod_hack_ensure_no_arg_val() { | |||||||||||||||||||||||||||||||||||||||||||||
local arg="$1" | ||||||||||||||||||||||||||||||||||||||||||||||
shift | ||||||||||||||||||||||||||||||||||||||||||||||
case "$arg" in | ||||||||||||||||||||||||||||||||||||||||||||||
"$ensureNoArg") | ||||||||||||||||||||||||||||||||||||||||||||||
shift # also skip the value | ||||||||||||||||||||||||||||||||||||||||||||||
continue | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$ensureNoArg"=*) | ||||||||||||||||||||||||||||||||||||||||||||||
# value is already included | ||||||||||||||||||||||||||||||||||||||||||||||
continue | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$ensureNoArg") | ||||||||||||||||||||||||||||||||||||||||||||||
shift # also skip the value | ||||||||||||||||||||||||||||||||||||||||||||||
continue | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
"$ensureNoArg"=*) | ||||||||||||||||||||||||||||||||||||||||||||||
# value is already included | ||||||||||||||||||||||||||||||||||||||||||||||
continue | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+135
to
+142
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [shfmt] reported by reviewdog 🐶
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||||||||||||||||
mongodHackedArgs+=("$arg") | ||||||||||||||||||||||||||||||||||||||||||||||
done | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -282,10 +283,10 @@ if [ "$originalArgOne" = 'mongod' ]; then | |||||||||||||||||||||||||||||||||||||||||||||
# if we've got any /docker-entrypoint-initdb.d/* files to parse later, we should initdb | ||||||||||||||||||||||||||||||||||||||||||||||
for f in /docker-entrypoint-initdb.d/*; do | ||||||||||||||||||||||||||||||||||||||||||||||
case "$f" in | ||||||||||||||||||||||||||||||||||||||||||||||
*.sh | *.js) # this should match the set of files we check for below | ||||||||||||||||||||||||||||||||||||||||||||||
shouldPerformInitdb="$f" | ||||||||||||||||||||||||||||||||||||||||||||||
break | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
*.sh | *.js) # this should match the set of files we check for below | ||||||||||||||||||||||||||||||||||||||||||||||
shouldPerformInitdb="$f" | ||||||||||||||||||||||||||||||||||||||||||||||
break | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+286
to
+289
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [shfmt] reported by reviewdog 🐶
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||||||||||||||||
done | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -321,20 +322,6 @@ if [ "$originalArgOne" = 'mongod' ]; then | |||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_no_arg_val --replSet "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
# "BadValue: need sslPEMKeyFile when SSL is enabled" vs "BadValue: need to enable SSL via the sslMode flag when using SSL configuration parameters" | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode='disabled' | ||||||||||||||||||||||||||||||||||||||||||||||
if _mongod_hack_have_arg '--tlsCertificateKeyFile' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode='preferTLS' | ||||||||||||||||||||||||||||||||||||||||||||||
elif _mongod_hack_have_arg '--sslPEMKeyFile' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode='preferSSL' | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
# 4.2 switched all configuration/flag names from "SSL" to "TLS" | ||||||||||||||||||||||||||||||||||||||||||||||
if [ "$tlsMode" = 'preferTLS' ] || mongod --help 2>&1 | grep -q -- ' --tlsMode '; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --tlsMode "$tlsMode" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslMode "$tlsMode" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if stat "/proc/$$/fd/1" >/dev/null && [ -w "/proc/$$/fd/1" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
# https://github.com/mongodb/mongo/blob/38c0eb538d0fd390c6cb9ce9ae9894153f6e8ef5/src/mongo/db/initialize_server_global_state.cpp#L237-L251 | ||||||||||||||||||||||||||||||||||||||||||||||
# https://github.com/docker-library/mongo/issues/164#issuecomment-293965668 | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -396,17 +383,17 @@ if [ "$originalArgOne" = 'mongod' ]; then | |||||||||||||||||||||||||||||||||||||||||||||
echo | ||||||||||||||||||||||||||||||||||||||||||||||
for f in /docker-entrypoint-initdb.d/*; do | ||||||||||||||||||||||||||||||||||||||||||||||
case "$f" in | ||||||||||||||||||||||||||||||||||||||||||||||
*.sh) | ||||||||||||||||||||||||||||||||||||||||||||||
echo "$0: running $f" | ||||||||||||||||||||||||||||||||||||||||||||||
# shellcheck source=/dev/null | ||||||||||||||||||||||||||||||||||||||||||||||
. "$f" | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
*.js) | ||||||||||||||||||||||||||||||||||||||||||||||
echo "$0: running $f" | ||||||||||||||||||||||||||||||||||||||||||||||
"${mongo[@]}" "$MONGO_INITDB_DATABASE" "$f" | ||||||||||||||||||||||||||||||||||||||||||||||
echo | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
*) echo "$0: ignoring $f" ;; | ||||||||||||||||||||||||||||||||||||||||||||||
*.sh) | ||||||||||||||||||||||||||||||||||||||||||||||
echo "$0: running $f" | ||||||||||||||||||||||||||||||||||||||||||||||
# shellcheck source=/dev/null | ||||||||||||||||||||||||||||||||||||||||||||||
. "$f" | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
*.js) | ||||||||||||||||||||||||||||||||||||||||||||||
echo "$0: running $f" | ||||||||||||||||||||||||||||||||||||||||||||||
"${mongo[@]}" "$MONGO_INITDB_DATABASE" "$f" | ||||||||||||||||||||||||||||||||||||||||||||||
echo | ||||||||||||||||||||||||||||||||||||||||||||||
;; | ||||||||||||||||||||||||||||||||||||||||||||||
*) echo "$0: ignoring $f" ;; | ||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+386
to
+396
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [shfmt] reported by reviewdog 🐶
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||
esac | ||||||||||||||||||||||||||||||||||||||||||||||
echo | ||||||||||||||||||||||||||||||||||||||||||||||
done | ||||||||||||||||||||||||||||||||||||||||||||||
|
@@ -422,76 +409,64 @@ fi | |||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if [[ $originalArgOne == mongo* ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||
mongodHackedArgs=("$@") | ||||||||||||||||||||||||||||||||||||||||||||||
MONGO_SSL_DIR=${MONGO_SSL_DIR:-/etc/mongodb-ssl} | ||||||||||||||||||||||||||||||||||||||||||||||
CA=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
CA=/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_DIR}/ca.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
CA="${MONGO_SSL_DIR}/ca.crt" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
LDAP_SSL_DIR=${LDAP_SSL_DIR:-/etc/openldap/certs} | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${LDAP_SSL_DIR}/ca.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
echo "TLS_CACERT ${LDAP_SSL_DIR}/ca.crt" >/etc/openldap/ldap.conf | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_DIR}/tls.key" ] && [ -f "${MONGO_SSL_DIR}/tls.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
cat "${MONGO_SSL_DIR}/tls.key" "${MONGO_SSL_DIR}/tls.crt" >/tmp/tls.pem | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslPEMKeyFile /tmp/tls.pem "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${CA}" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslCAFile "${CA}" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
tlsMode="" | ||||||||||||||||||||||||||||||||||||||||||||||
# if --tlsMode arg is present, get it | ||||||||||||||||||||||||||||||||||||||||||||||
if _mongod_hack_have_arg --tlsMode "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode="$(_mongod_hack_get_arg_val --tlsMode "${mongodHackedArgs[@]}")" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
MONGO_SSL_INTERNAL_DIR=${MONGO_SSL_INTERNAL_DIR:-/etc/mongodb-ssl-internal} | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_INTERNAL_DIR}/tls.key" ] && [ -f "${MONGO_SSL_INTERNAL_DIR}/tls.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
cat "${MONGO_SSL_INTERNAL_DIR}/tls.key" "${MONGO_SSL_INTERNAL_DIR}/tls.crt" >/tmp/tls-internal.pem | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslClusterFile /tmp/tls-internal.pem "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_INTERNAL_DIR}/ca.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslClusterCAFile "${MONGO_SSL_INTERNAL_DIR}/ca.crt" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if [[ -z ${tlsMode} ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||
# if neither --tlsMode arg or net.tls.mode is present, set it to preferTLS | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode="preferTLS" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
# don't add --tlsMode if allowUnsafeConfigurations is true | ||||||||||||||||||||||||||||||||||||||||||||||
# don't add --tlsMode if TLS is disabled | ||||||||||||||||||||||||||||||||||||||||||||||
if clusterAuthMode="$(_mongod_hack_get_arg_val --clusterAuthMode "${mongodHackedArgs[@]}")"; then | ||||||||||||||||||||||||||||||||||||||||||||||
if [[ ${clusterAuthMode} != "keyFile" ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode="preferSSL" | ||||||||||||||||||||||||||||||||||||||||||||||
# if --config arg is present, try to get tlsMode from it | ||||||||||||||||||||||||||||||||||||||||||||||
if _parse_config "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode=$(jq -r '.net.tls.mode // "preferSSL"' "${jsonConfigFile}") | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslMode "${tlsMode}" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --tlsMode "${tlsMode}" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
else | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_no_arg --sslAllowInvalidCertificates "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if [ "$MONGODB_VERSION" != 'v4.0' ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg_save_val --sslMode --tlsMode "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if _mongod_hack_have_arg '--tlsMode' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode="none" | ||||||||||||||||||||||||||||||||||||||||||||||
if _mongod_hack_have_arg 'allowSSL' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode='allowTLS' | ||||||||||||||||||||||||||||||||||||||||||||||
elif _mongod_hack_have_arg 'preferSSL' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode='preferTLS' | ||||||||||||||||||||||||||||||||||||||||||||||
elif _mongod_hack_have_arg 'requireSSL' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
tlsMode='requireTLS' | ||||||||||||||||||||||||||||||||||||||||||||||
if [[ ${tlsMode} != "disabled" ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||
MONGO_SSL_DIR=${MONGO_SSL_DIR:-/etc/mongodb-ssl} | ||||||||||||||||||||||||||||||||||||||||||||||
CA=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
CA=/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_DIR}/ca.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
CA="${MONGO_SSL_DIR}/ca.crt" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_DIR}/tls.key" ] && [ -f "${MONGO_SSL_DIR}/tls.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
cat "${MONGO_SSL_DIR}/tls.key" "${MONGO_SSL_DIR}/tls.crt" >/tmp/tls.pem | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslPEMKeyFile /tmp/tls.pem "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${CA}" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslCAFile "${CA}" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if [ "$tlsMode" != "none" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_no_arg_val --tlsMode "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --tlsMode "$tlsMode" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
MONGO_SSL_INTERNAL_DIR=${MONGO_SSL_INTERNAL_DIR:-/etc/mongodb-ssl-internal} | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_INTERNAL_DIR}/tls.key" ] && [ -f "${MONGO_SSL_INTERNAL_DIR}/tls.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
cat "${MONGO_SSL_INTERNAL_DIR}/tls.key" "${MONGO_SSL_INTERNAL_DIR}/tls.crt" >/tmp/tls-internal.pem | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslClusterFile /tmp/tls-internal.pem "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${MONGO_SSL_INTERNAL_DIR}/ca.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --sslClusterCAFile "${MONGO_SSL_INTERNAL_DIR}/ca.crt" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg_save_val --sslPEMKeyFile --tlsCertificateKeyFile "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
if ! _mongod_hack_have_arg '--tlsMode' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
if _mongod_hack_have_arg '--tlsCertificateKeyFile' "${mongodHackedArgs[@]}"; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_ensure_arg_val --tlsMode "preferTLS" "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
LDAP_SSL_DIR=${LDAP_SSL_DIR:-/etc/openldap/certs} | ||||||||||||||||||||||||||||||||||||||||||||||
if [ -f "${LDAP_SSL_DIR}/ca.crt" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
echo "TLS_CACERT ${LDAP_SSL_DIR}/ca.crt" >/etc/openldap/ldap.conf | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
fi | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
if [ "$MONGODB_VERSION" != 'v4.0' ]; then | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg '--sslAllowInvalidCertificates' '--tlsAllowInvalidCertificates' "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg '--sslAllowInvalidHostnames' '--tlsAllowInvalidHostnames' "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg '--sslAllowConnectionsWithoutCertificates' '--tlsAllowConnectionsWithoutCertificates' "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg '--sslFIPSMode' '--tlsFIPSMode' "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg '--sslMode' '--tlsMode' "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg_save_val --sslPEMKeyPassword --tlsCertificateKeyFilePassword "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
_mongod_hack_rename_arg_save_val --sslClusterFile --tlsClusterFile "${mongodHackedArgs[@]}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[shfmt] reported by reviewdog 🐶