@@ -12,9 +12,12 @@ export MONGODB_ROOT_PASSWORD=...
12
12
13
13
COMMENT
14
14
15
- # set -eou pipefail
15
+ if [[ -n $DEBUG ]]; then
16
+ set -o xtrace
17
+ fi
16
18
17
19
ASSETS_PATH=${ASSETS_PATH:-/ usr/ share/ extras/ }
20
+ MTLS_CERT_PATH=${MTLS_CERT_PATH:-/ etc/ ssl/ mongodb/ ca.pem}
18
21
19
22
MONGODB_DATABASES=(
20
23
" archive"
@@ -34,12 +37,12 @@ MONGODB_DATABASES=(
34
37
)
35
38
36
39
disableMongoTelemetry () {
37
- mongosh --nodb --eval " disableTelemetry()"
40
+ mongosh --nodb --eval " disableTelemetry()" || true
38
41
}
39
42
40
43
waitForMongoDB () {
41
44
while true ; do
42
- status=$( mongosh ${MONGODB_ROOT_URI} --eval " db.adminCommand('ping')" 2>&1 )
45
+ status=$( mongosh ${MONGODB_ROOT_URI} ${MONGO_URI_EXTRA_PARAMS} --eval " db.adminCommand('ping')" 2>&1 )
43
46
44
47
echo -e " MongoDB status:\n$status "
45
48
if $( echo $status | grep ' ok: 1' -q) ; then
@@ -56,12 +59,23 @@ parseMongoURI() {
56
59
local parameters=" $( echo $1 | grep ' ?' | cut -d ' ?' -f2) " ; if [[ -n $parameters ]]; then parameters=" ?${parameters} " ; fi
57
60
local url=" $( echo ${1/ $proto / } ) "
58
61
local userpass=" $( echo $url | grep @ | cut -d@ -f1) "
59
- local hostport=" $( echo $url | sed s/$userpass // | sed " s/\/\?$parameters //" | sed -re " s/\/\?|@//g" | sed ' s/\/$//' ) "
62
+ if [[ -z $userpass ]]; then
63
+ local hostport=" $( echo $url | sed " s/\/\?$parameters //" | sed -re " s/\/\?|@//g" | sed ' s/\/$//' ) "
64
+ MONGO_URI=" $proto$hostport /${MONGODB_DATABASE} $parameters "
65
+ else
66
+ local hostport=" $( echo $url | sed s/$userpass // | sed " s/\/\?$parameters //" | sed -re " s/\/\?|@//g" | sed ' s/\/$//' ) "
67
+ MONGODB_PASSWORD=" $( echo $userpass | grep : | cut -d: -f2) "
68
+ MONGODB_USER=" $( echo $userpass | grep : | cut -d: -f1) "
69
+ MONGO_URI=" $proto$userpass @$hostport /${MONGODB_DATABASE} $parameters "
70
+ fi
71
+
72
+
73
+ if [[ -z $MONGODB_ROOT_OPTIONS ]]; then
74
+ MONGODB_ROOT_URI=" $proto ${MONGODB_ROOT_USER} :${MONGODB_ROOT_PASSWORD} @$hostport /admin$parameters "
75
+ else
76
+ MONGODB_ROOT_URI=" $proto ${MONGODB_ROOT_USER} :${MONGODB_ROOT_PASSWORD} @$hostport /admin?${MONGODB_ROOT_OPTIONS} "
77
+ fi
60
78
61
- MONGODB_PASSWORD=" $( echo $userpass | grep : | cut -d: -f2) "
62
- MONGODB_USER=" $( echo $userpass | grep : | cut -d: -f1) "
63
- MONGO_URI=" $proto$userpass @$hostport /${MONGODB_DATABASE} $parameters "
64
- MONGODB_ROOT_URI=" $proto ${MONGODB_ROOT_USER} :${MONGODB_ROOT_PASSWORD} @$hostport /admin$parameters "
65
79
}
66
80
67
81
getMongoVersion () {
@@ -82,6 +96,14 @@ setPacks() {
82
96
83
97
parseMongoURI $MONGO_URI
84
98
99
+ if [[ -s ${MTLS_CERT_PATH} ]]; then
100
+ MONGO_URI_EXTRA_PARAMS=" --tls --tlsCertificateKeyFile ${MTLS_CERT_PATH} --tlsAllowInvalidHostnames --tlsAllowInvalidCertificates"
101
+ MONGOIMPORT_EXTRA_PARAMS=" --ssl --sslPEMKeyFile ${MTLS_CERT_PATH} --sslAllowInvalidHostnames --sslAllowInvalidCertificates"
102
+ else
103
+ MONGO_URI_EXTRA_PARAMS=" "
104
+ MONGOIMPORT_EXTRA_PARAMS=" "
105
+ fi
106
+
85
107
disableMongoTelemetry
86
108
87
109
waitForMongoDB
@@ -90,20 +112,20 @@ getMongoVersion
90
112
91
113
for MONGODB_DATABASE in ${MONGODB_DATABASES[@]} ; do
92
114
waitForMongoDB
93
- mongosh ${MONGODB_ROOT_URI} --eval " db.getSiblingDB(\" ${MONGODB_DATABASE} \" ).createUser({user: \" ${MONGODB_USER} \" , pwd: \" ${MONGODB_PASSWORD} \" , roles: [\" readWrite\" ]})" 2>&1 || true
115
+ mongosh ${MONGODB_ROOT_URI} ${MONGO_URI_EXTRA_PARAMS} --eval " db.getSiblingDB(\" ${MONGODB_DATABASE} \" ).createUser({user: \" ${MONGODB_USER} \" , pwd: \" ${MONGODB_PASSWORD} \" , roles: [\" readWrite\" ]})" 2>&1 || true
94
116
waitForMongoDB
95
- mongosh ${MONGODB_ROOT_URI} --eval " db.getSiblingDB(\" ${MONGODB_DATABASE} \" ).changeUserPassword(\" ${MONGODB_USER} \" ,\" ${MONGODB_PASSWORD} \" )" 2>&1 || true
117
+ mongosh ${MONGODB_ROOT_URI} ${MONGO_URI_EXTRA_PARAMS} --eval " db.getSiblingDB(\" ${MONGODB_DATABASE} \" ).changeUserPassword(\" ${MONGODB_USER} \" ,\" ${MONGODB_PASSWORD} \" )" 2>&1 || true
96
118
done
97
119
98
- mongosh ${MONGODB_ROOT_URI} --eval " db.getSiblingDB(\" codefresh\" ).grantRolesToUser( \" ${MONGODB_USER} \" , [ { role: \" readWrite\" , db: \" pipeline-manager\" } ] )" 2>&1 || true
99
- mongosh ${MONGODB_ROOT_URI} --eval " db.getSiblingDB(\" codefresh\" ).grantRolesToUser( \" ${MONGODB_USER} \" , [ { role: \" readWrite\" , db: \" platform-analytics-postgres\" } ] )" 2>&1 || true
100
- mongosh ${MONGODB_ROOT_URI} --eval " db.getSiblingDB(\" codefresh\" ).changeUserPassword(\" ${MONGODB_USER} \" ,\" ${MONGODB_PASSWORD} \" )" 2>&1 || true
120
+ mongosh ${MONGODB_ROOT_URI} ${MONGO_URI_EXTRA_PARAMS} --eval " db.getSiblingDB(\" codefresh\" ).grantRolesToUser( \" ${MONGODB_USER} \" , [ { role: \" readWrite\" , db: \" pipeline-manager\" } ] )" 2>&1 || true
121
+ mongosh ${MONGODB_ROOT_URI} ${MONGO_URI_EXTRA_PARAMS} --eval " db.getSiblingDB(\" codefresh\" ).grantRolesToUser( \" ${MONGODB_USER} \" , [ { role: \" readWrite\" , db: \" platform-analytics-postgres\" } ] )" 2>&1 || true
122
+ mongosh ${MONGODB_ROOT_URI} ${MONGO_URI_EXTRA_PARAMS} --eval " db.getSiblingDB(\" codefresh\" ).changeUserPassword(\" ${MONGODB_USER} \" ,\" ${MONGODB_PASSWORD} \" )" 2>&1 || true
101
123
102
124
if [[ $DEVELOPMENT_CHART == " true" ]]; then
103
125
setSystemAdmin
104
126
setPacks
105
127
fi
106
128
107
- mongoimport --uri ${MONGO_URI} --collection idps --type json --legacy --file ${ASSETS_PATH} idps.json
108
- mongoimport --uri ${MONGO_URI} --collection accounts --type json --legacy --file ${ASSETS_PATH} accounts.json
109
- mongoimport --uri ${MONGO_URI} --collection users --type json --legacy --file ${ASSETS_PATH} users.json
129
+ mongoimport --uri ${MONGO_URI} ${MONGOIMPORT_EXTRA_PARAMS} --collection idps --type json --legacy --file ${ASSETS_PATH} idps.json
130
+ mongoimport --uri ${MONGO_URI} ${MONGOIMPORT_EXTRA_PARAMS} --collection accounts --type json --legacy --file ${ASSETS_PATH} accounts.json
131
+ mongoimport --uri ${MONGO_URI} ${MONGOIMPORT_EXTRA_PARAMS} --collection users --type json --legacy --file ${ASSETS_PATH} users.json
0 commit comments