From 85aadd88ad79eea69d6515c9b62633fd64e0b058 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Thu, 2 Nov 2023 11:22:54 -0700 Subject: [PATCH 01/18] use mongo-community-server 6.0.6-ubi8 source image Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/Dockerfile_Mongo | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile_Mongo b/docker/Dockerfile_Mongo index d5f45a9..9bc75e6 100644 --- a/docker/Dockerfile_Mongo +++ b/docker/Dockerfile_Mongo @@ -1,5 +1,5 @@ # This image provides a mongo installation from which to run backups -FROM registry.access.redhat.com/rhscl/mongodb-36-rhel7 +FROM mongodb/mongodb-community-server:6.0.6-ubi8 # Change timezone to PST for convenience ENV TZ=PST8PDT @@ -32,7 +32,7 @@ RUN echo $TZ > /etc/timezone # ======================================================================================================== # Important - Reset to the base image's user account. -USER 26 +USER 998 # Set the default CMD. -CMD sh /backup.sh \ No newline at end of file +CMD sh /backup.sh From 211da3f52e2a303bc677f84fb7d59411b9af3e04 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Thu, 2 Nov 2023 11:23:11 -0700 Subject: [PATCH 02/18] fix config and permissions Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/Dockerfile_Mongo | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docker/Dockerfile_Mongo b/docker/Dockerfile_Mongo index 9bc75e6..19ee0e6 100644 --- a/docker/Dockerfile_Mongo +++ b/docker/Dockerfile_Mongo @@ -20,9 +20,14 @@ ARG SOURCE_REPO=webdevops ARG GOCROND_VERSION=23.2.0 ADD https://github.com/$SOURCE_REPO/go-crond/releases/download/$GOCROND_VERSION/go-crond.linux.amd64 /usr/bin/go-crond +COPY mongod.conf /etc/mongod.conf + USER root RUN chmod +x /usr/bin/go-crond +RUN ln -s /usr/bin/mongosh /usr/bin/mongo +RUN chown 1005420000:1005420000 /data/db +RUN chown 1005420000:1005420000 /var/lib/mongo # ======================================================================================================== # ======================================================================================================== From 4f5c7926c26567acb7a0a0b932ca66abe8612c2f Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Thu, 2 Nov 2023 11:23:22 -0700 Subject: [PATCH 03/18] add config Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/mongod.conf | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 docker/mongod.conf diff --git a/docker/mongod.conf b/docker/mongod.conf new file mode 100644 index 0000000..2c1580a --- /dev/null +++ b/docker/mongod.conf @@ -0,0 +1,43 @@ +# mongod.conf + +# for documentation of all options, see: +# http://docs.mongodb.org/manual/reference/configuration-options/ + +# where to write logging data. +systemLog: + destination: file + logAppend: true + path: /tmp/mongod.log + +# Where and how to store data. +storage: + dbPath: /var/lib/mongo + journal: + enabled: true +# engine: +# wiredTiger: + +# how the process runs +processManagement: + timeZoneInfo: /usr/share/zoneinfo + +# network interfaces +net: + port: 27017 + bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. + + +security: + authorization: enabled + +#operationProfiling: + +#replication: + +#sharding: + +## Enterprise-Only Options + +#auditLog: + +#snmp: From 11ac51917339dd908a63835e83e3dc78be4f9019 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Thu, 2 Nov 2023 11:23:36 -0700 Subject: [PATCH 04/18] try updating mongo plugin Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.mongo.plugin | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 402e0c2..27d0b1c 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -84,10 +84,10 @@ function onStartServer(){ # Start a local MongoDb instance MONGODB_DATABASE=$(getDatabaseName "${_databaseSpec}") \ - MONGODB_USER=$(getUsername "${_databaseSpec}") \ + MONGO_INITDB_ROOT_USERNAME=$(getUsername "${_databaseSpec}") \ MONGODB_PASSWORD=$(getPassword "${_databaseSpec}") \ - MONGODB_ADMIN_PASSWORD=$(getPassword "${_databaseSpec}") \ - run-mongod >/dev/null 2>&1 & + MONGO_INITDB_ROOT_PASSWORD=$(getPassword "${_databaseSpec}") \ + mongod --config /etc/mongod.conf >/dev/null 2>&1 & ) } @@ -248,4 +248,4 @@ function onGetDbSize(){ return ${rtnCd} ) } -# ================================================================================================================= \ No newline at end of file +# ================================================================================================================= From 4afe01c97283a691f1ef92df96b9eda6fc1fe3bd Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Tue, 14 Nov 2023 12:49:43 -0800 Subject: [PATCH 05/18] replace with mongosh Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.container.utils | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/backup.container.utils b/docker/backup.container.utils index 135228e..2d44960 100644 --- a/docker/backup.container.utils +++ b/docker/backup.container.utils @@ -14,7 +14,7 @@ function isPostgres(){ function isMongo(){ ( - if isInstalled "mongo"; then + if isInstalled "mongosh"; then return 0 else return 1 @@ -79,4 +79,4 @@ function isForContainerType(){ fi ) } -# ====================================================================================== \ No newline at end of file +# ====================================================================================== From ca8a22624e6eb5fef2f568c92989e84b99f373f9 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Tue, 14 Nov 2023 12:50:37 -0800 Subject: [PATCH 06/18] temporary dev dockerfile Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/Dockerfile_Mongo | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile_Mongo b/docker/Dockerfile_Mongo index 19ee0e6..da634e4 100644 --- a/docker/Dockerfile_Mongo +++ b/docker/Dockerfile_Mongo @@ -20,14 +20,18 @@ ARG SOURCE_REPO=webdevops ARG GOCROND_VERSION=23.2.0 ADD https://github.com/$SOURCE_REPO/go-crond/releases/download/$GOCROND_VERSION/go-crond.linux.amd64 /usr/bin/go-crond -COPY mongod.conf /etc/mongod.conf +# COPY backup.conf /conf/backup.conf +# COPY mongod.conf /etc/mongod.conf +# RUN mv /etc/mongod.conf.orig /etc/mongod.conf +# RUN mkdir -p /var/lib/mongo/data USER root RUN chmod +x /usr/bin/go-crond -RUN ln -s /usr/bin/mongosh /usr/bin/mongo +COPY vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz /backups/daily/2023-11-02/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz RUN chown 1005420000:1005420000 /data/db -RUN chown 1005420000:1005420000 /var/lib/mongo +# RUN chown 1005420000:1005420000 /var/lib/mongo +# RUN chown 1005420000:1005420000 /var/log/mongodb # ======================================================================================================== # ======================================================================================================== @@ -37,7 +41,7 @@ RUN echo $TZ > /etc/timezone # ======================================================================================================== # Important - Reset to the base image's user account. -USER 998 +USER 999 # Set the default CMD. -CMD sh /backup.sh +CMD bash /backup.sh From 8a57d3ac21ff56bcf64c0795f03e09e215742a39 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Tue, 14 Nov 2023 12:51:13 -0800 Subject: [PATCH 07/18] replace with mongosh Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.mongo.plugin | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 27d0b1c..4b36856 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -163,7 +163,7 @@ function onPingDbServer(){ _dbAddressArg=${_hostname}${_port:+:${_port}}${_database:+/${_database}} _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - if mongo ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval='quit()' >/dev/null 2>&1; then + if mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval='quit()' >/dev/null 2>&1; then return 0 else return 1 @@ -193,7 +193,7 @@ function onVerifyBackup(){ _dbAddressArg=${_hostname}${_port:+:${_port}}${_database:+/${_database}} _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - collections=$(mongo ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval 'var dbs = [];dbs = db.getCollectionNames();for (i in dbs){ print(db.dbs[i]);}';) + collections=$(mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval 'var dbs = [];dbs = db.getCollectionNames();for (i in dbs){ print(db.dbs[i]);}';) rtnCd=${?} # Get the size of the restored database @@ -241,7 +241,7 @@ function onGetDbSize(){ _dbAddressArg=${_hostname}${_port:+:${_port}}${_database:+/${_database}} _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - size=$(mongo ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval 'printjson(db.stats().fsTotalSize)') + size=$(mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval 'printjson(db.stats().fsTotalSize)') rtnCd=${?} echo ${size} From 191114b62a8de65f4aecf5c6bfccd748834465c4 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Tue, 14 Nov 2023 12:51:33 -0800 Subject: [PATCH 08/18] update for 6 Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.mongo.plugin | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 4b36856..58c32fd 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -3,7 +3,7 @@ # Mongo Backup and Restore Functions: # - Dynamically loaded as a plug-in # ----------------------------------------------------------------------------------------------------------------- -export serverDataDirectory="/var/lib/mongodb/data" +export serverDataDirectory="/data/db" function onBackupDatabase(){ ( @@ -106,11 +106,11 @@ function onStopServer(){ _port=$(getPort ${_databaseSpec}) _portArg=${_port:+"--port ${_port}"} - _username=admin + _username="$(getUsername "${_databaseSpec}")" _password=$(getPassword ${_databaseSpec}) _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - mongo admin ${_authDbArg} ${_portArg} -u "${_username}" -p "${_password}" --quiet --eval "db.shutdownServer()" + mongosh --authenticationDatabase admin ${_portArg} -u "${_username}" -p "${_password}" --eval "db.shutdownServer()" # Wait for server to stop ... local startTime=${SECONDS} From 86d2816507ff0c70e515ecf66324a5d12b72d043 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Tue, 14 Nov 2023 12:51:48 -0800 Subject: [PATCH 09/18] add onDatabaseInit Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.mongo.plugin | 55 ++++++++++++++++++++++++++++++++++---- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 58c32fd..950c146 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -69,6 +69,52 @@ function onRestoreDatabase(){ ) } +function onDatabaseInit() { + local OPTIND + local unset flags + while getopts : FLAG; do + case $FLAG in + ? ) flags+="-${OPTARG} ";; + esac + done + shift $((OPTIND-1)) + + # Retrieve database details + local _databaseSpec=${1} + local _database=$(getDatabaseName "${_databaseSpec}") + local _username=$(getUsername "${_databaseSpec}") + local _password=$(getPassword "${_databaseSpec}") + + # Check if the database already exists + if mongosh --quiet --eval "db.getMongo().getDBNames().indexOf('$_database') >= 0"; then + echoYellow "Database '$_database' already exists, skipping initialization." + return 0 + fi + + # Initialize the database by creating the user with the roles + mongosh "$_database" --eval " + db.createUser({ + user: '$_username', + pwd: '$_password', + roles: [ + { role: 'dbOwner', db: '$_database' }, + { role: 'readWrite', db: '$_database' }, + { role: 'clusterAdmin', db: 'admin' } + ] + }); + " + + # Check the exit status of the createUser command + if [ $? -eq 0 ]; then + echoGreen "Database '$_database' initialized successfully." + return 0 + else + echoRed "Failed to initialize database '$_database'." + return 1 + fi +} + + function onStartServer(){ ( local OPTIND @@ -83,11 +129,10 @@ function onStartServer(){ _databaseSpec=${1} # Start a local MongoDb instance - MONGODB_DATABASE=$(getDatabaseName "${_databaseSpec}") \ - MONGO_INITDB_ROOT_USERNAME=$(getUsername "${_databaseSpec}") \ - MONGODB_PASSWORD=$(getPassword "${_databaseSpec}") \ - MONGO_INITDB_ROOT_PASSWORD=$(getPassword "${_databaseSpec}") \ - mongod --config /etc/mongod.conf >/dev/null 2>&1 & + mongod > /dev/null 2>&1 & + + # Initialize database if necessary + onDatabaseInit "${_databaseSpec}" ) } From 54903b13f1182c757e836edf83abc01d81837afd Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Tue, 14 Nov 2023 12:57:29 -0800 Subject: [PATCH 10/18] temp backup, to speed up dev/testing Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- ...-headless-vcauthn_2023-11-02_10-54-08.sql.gz | Bin 0 -> 92255 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docker/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz diff --git a/docker/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz b/docker/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz new file mode 100644 index 0000000000000000000000000000000000000000..ab9fab5f11122d773a134d1a264be421f03851a9 GIT binary patch literal 92255 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 literal 0 HcmV?d00001 From 40091b937d34a0169fe2a5bcda97feb0aedaf9a3 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Fri, 17 Nov 2023 12:01:04 -0800 Subject: [PATCH 11/18] latest testing code --- docker/backup.mongo.plugin | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 950c146..a9fbf30 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -129,7 +129,7 @@ function onStartServer(){ _databaseSpec=${1} # Start a local MongoDb instance - mongod > /dev/null 2>&1 & + mongod --bind_ip 127.0.0.1 > /dev/null 2>&1 & # Initialize database if necessary onDatabaseInit "${_databaseSpec}" @@ -150,12 +150,9 @@ function onStopServer(){ _databaseSpec=${1} _port=$(getPort ${_databaseSpec}) - _portArg=${_port:+"--port ${_port}"} - _username="$(getUsername "${_databaseSpec}")" - _password=$(getPassword ${_databaseSpec}) + _database=$(getDatabaseName "${_databaseSpec}") - _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - mongosh --authenticationDatabase admin ${_portArg} -u "${_username}" -p "${_password}" --eval "db.shutdownServer()" + mongosh 127.0.0.1/admin --eval "db.shutdownServer()" # Wait for server to stop ... local startTime=${SECONDS} @@ -208,10 +205,20 @@ function onPingDbServer(){ _dbAddressArg=${_hostname}${_port:+:${_port}}${_database:+/${_database}} _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - if mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval='quit()' >/dev/null 2>&1; then - return 0 - else + + mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --eval='db.runCommand("ping").ok' + echo $? + + mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --eval='db.runCommand("ping").ok' >/dev/null 2>&1 + local mongoshExitCode=$? + echoMagenta ${mongoshExitCode} + + if (( ${mongoshExitCode} != 0 )); then + echo "I think its dead. returning 1" return 1 + else + echo "I think its still alive, returning 0" + return 0 fi ) } From ad80b57950bb4b6c5302b077166fde6cd150e1a5 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:35:02 -0800 Subject: [PATCH 12/18] cleanup temporary dev work Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.mongo.plugin | 6 --- docker/mongod.conf | 43 ------------------ ...eadless-vcauthn_2023-11-02_10-54-08.sql.gz | Bin 92255 -> 0 bytes 3 files changed, 49 deletions(-) delete mode 100644 docker/mongod.conf delete mode 100644 docker/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index a9fbf30..748f60c 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -206,18 +206,12 @@ function onPingDbServer(){ _dbAddressArg=${_hostname}${_port:+:${_port}}${_database:+/${_database}} _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --eval='db.runCommand("ping").ok' - echo $? - mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --eval='db.runCommand("ping").ok' >/dev/null 2>&1 local mongoshExitCode=$? - echoMagenta ${mongoshExitCode} if (( ${mongoshExitCode} != 0 )); then - echo "I think its dead. returning 1" return 1 else - echo "I think its still alive, returning 0" return 0 fi ) diff --git a/docker/mongod.conf b/docker/mongod.conf deleted file mode 100644 index 2c1580a..0000000 --- a/docker/mongod.conf +++ /dev/null @@ -1,43 +0,0 @@ -# mongod.conf - -# for documentation of all options, see: -# http://docs.mongodb.org/manual/reference/configuration-options/ - -# where to write logging data. -systemLog: - destination: file - logAppend: true - path: /tmp/mongod.log - -# Where and how to store data. -storage: - dbPath: /var/lib/mongo - journal: - enabled: true -# engine: -# wiredTiger: - -# how the process runs -processManagement: - timeZoneInfo: /usr/share/zoneinfo - -# network interfaces -net: - port: 27017 - bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. - - -security: - authorization: enabled - -#operationProfiling: - -#replication: - -#sharding: - -## Enterprise-Only Options - -#auditLog: - -#snmp: diff --git a/docker/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz b/docker/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz deleted file mode 100644 index ab9fab5f11122d773a134d1a264be421f03851a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92255 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 From 3f86a165bd9e66bcaa8f660ff2b39523d0b3ca11 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:35:39 -0800 Subject: [PATCH 13/18] Cleanup commented out code and update permissions Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/Dockerfile_Mongo | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docker/Dockerfile_Mongo b/docker/Dockerfile_Mongo index da634e4..2a85ac2 100644 --- a/docker/Dockerfile_Mongo +++ b/docker/Dockerfile_Mongo @@ -1,6 +1,9 @@ # This image provides a mongo installation from which to run backups FROM mongodb/mongodb-community-server:6.0.6-ubi8 +ARG uid=998 +ARG user=mongod + # Change timezone to PST for convenience ENV TZ=PST8PDT @@ -20,18 +23,13 @@ ARG SOURCE_REPO=webdevops ARG GOCROND_VERSION=23.2.0 ADD https://github.com/$SOURCE_REPO/go-crond/releases/download/$GOCROND_VERSION/go-crond.linux.amd64 /usr/bin/go-crond -# COPY backup.conf /conf/backup.conf - -# COPY mongod.conf /etc/mongod.conf -# RUN mv /etc/mongod.conf.orig /etc/mongod.conf -# RUN mkdir -p /var/lib/mongo/data USER root RUN chmod +x /usr/bin/go-crond -COPY vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz /backups/daily/2023-11-02/vc-authn-oidc-mongodb-headless-vcauthn_2023-11-02_10-54-08.sql.gz -RUN chown 1005420000:1005420000 /data/db -# RUN chown 1005420000:1005420000 /var/lib/mongo -# RUN chown 1005420000:1005420000 /var/log/mongodb +RUN chown -R $user:root /data/db && \ + chmod -R ug+rw /data/db + +RUN usermod -a -G 0 $user # ======================================================================================================== # ======================================================================================================== @@ -41,7 +39,7 @@ RUN echo $TZ > /etc/timezone # ======================================================================================================== # Important - Reset to the base image's user account. -USER 999 +USER 998 # Set the default CMD. CMD bash /backup.sh From c648f6f10932a0eff7d28196c6ed73b69b4ddbbb Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 12:39:08 -0800 Subject: [PATCH 14/18] update getElapsedTimeFromDuration with nanosecond precision Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.misc.utils | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docker/backup.misc.utils b/docker/backup.misc.utils index 6d42080..d636cd8 100644 --- a/docker/backup.misc.utils +++ b/docker/backup.misc.utils @@ -38,10 +38,16 @@ function getElapsedTime(){ } function getElapsedTimeFromDuration(){ - ( - local duration=${1} - local elapsedTime="$(($duration/3600))h:$(($duration%3600/60))m:$(($duration%60))s" + local duration_ns=${1} + + local hours=$((duration_ns / 3600000000000)) + local minutes=$(( (duration_ns % 3600000000000) / 60000000000 )) + local seconds=$(( (duration_ns % 60000000000) / 1000000000 )) + local milliseconds=$(( (duration_ns % 1000000000) / 1000000 )) + local microseconds=$(( (duration_ns % 1000000) / 1000 )) + local nanoseconds=$(( duration_ns % 1000 )) + + local elapsedTime="${hours}h:${minutes}m:${seconds}s:${milliseconds}ms:${microseconds}µs:${nanoseconds}ns" echo ${elapsedTime} - ) } -# ====================================================================================== \ No newline at end of file +# ====================================================================================== From f91ba8871ee3868d08ff9b4e932afa3174cae05f Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 12:39:56 -0800 Subject: [PATCH 15/18] update duration to use date and nanosecond precision Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.settings | 3 ++- docker/backup.utils | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/docker/backup.settings b/docker/backup.settings index 9ba6c41..47ad203 100644 --- a/docker/backup.settings +++ b/docker/backup.settings @@ -51,4 +51,5 @@ export CONTAINER_TYPE="$(getContainerType)" # Other: export DATABASE_SERVER_TIMEOUT=${DATABASE_SERVER_TIMEOUT:-120} -# ====================================================================================== \ No newline at end of file +export DATABASE_SERVER_TIMEOUT_NS=$((DATABASE_SERVER_TIMEOUT * 1000000000)) +# ====================================================================================== diff --git a/docker/backup.utils b/docker/backup.utils index 756e98a..239d343 100644 --- a/docker/backup.utils +++ b/docker/backup.utils @@ -68,11 +68,11 @@ function restoreDatabase(){ echo -e "\n" fi - local startTime=${SECONDS} + local startTime=$(date +%s%N) onRestoreDatabase ${flags} "${_databaseSpec}" "${_fileName}" "${_adminPassword}" _rtnCd=${?} - local endTime=${SECONDS} + local endTime=$(date +%s%N) if (( ${_rtnCd} == 0 )); then echoGreen "\nRestore complete - Elapsed time: $(getElapsedTime ${startTime} ${endTime})\n" else @@ -92,11 +92,11 @@ function runBackups(){ for database in ${databases}; do if isForContainerType ${database}; then - local startTime=${SECONDS} + local startTime=$(date +%s%N) filename=$(generateFilename "${backupDir}" "${database}") backupDatabase "${database}" "${filename}" rtnCd=${?} - local endTime=${SECONDS} + local endTime=$(date +%s%N) local elapsedTime="\n\nElapsed time: $(getElapsedTime ${startTime} ${endTime}) - Status Code: ${rtnCd}" if (( ${rtnCd} == 0 )); then @@ -124,13 +124,13 @@ function startServer(){ onStartServer ${@} # Wait for server to start ... - local startTime=${SECONDS} + local startTime=$(date +%s%N) rtnCd=0 printf "waiting for server to start" while ! pingDbServer ${@}; do printf "." - local duration=$(($SECONDS - $startTime)) - if (( ${duration} >= ${DATABASE_SERVER_TIMEOUT} )); then + local duration_ns=$(($(date +%s%N) - $startTime)) + if (( ${duration_ns} >= ${DATABASE_SERVER_TIMEOUT_NS} )); then echoRed "\nThe server failed to start within $(getElapsedTimeFromDuration ${duration}).\n" rtnCd=1 break @@ -231,7 +231,7 @@ function verifyBackup(){ # Make sure things have been cleaned up before we start ... cleanUp - local startTime=${SECONDS} + local startTime=$(date +%s%N) startServer -l "${_databaseSpec}" rtnCd=${?} @@ -265,7 +265,7 @@ function verifyBackup(){ stopServer "${_databaseSpec}" cleanUp - local endTime=${SECONDS} + local endTime=$(date +%s%N) local elapsedTime="\n\nElapsed time: $(getElapsedTime ${startTime} ${endTime}) - Status Code: ${rtnCd}" if (( ${rtnCd} == 0 )); then From 85b4c9d7c456a214b4312b0f5534485204acf71c Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 12:40:18 -0800 Subject: [PATCH 16/18] cleanup output, update for nanosecond duration Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.mongo.plugin | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 748f60c..00fc265 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -92,7 +92,7 @@ function onDatabaseInit() { fi # Initialize the database by creating the user with the roles - mongosh "$_database" --eval " + mongosh "$_database" --quiet --eval " db.createUser({ user: '$_username', pwd: '$_password', @@ -152,15 +152,16 @@ function onStopServer(){ _port=$(getPort ${_databaseSpec}) _database=$(getDatabaseName "${_databaseSpec}") - mongosh 127.0.0.1/admin --eval "db.shutdownServer()" + mongosh 127.0.0.1/admin --quiet --eval "db.shutdownServer()" > /dev/null 2>&1 # Wait for server to stop ... - local startTime=${SECONDS} + local startTime=$(date +%s%N) + printf "waiting for server to stop" - while onPingDbServer ${@}; do + while onPingDbServer -l ${@}; do printf "." - local duration=$(($SECONDS - $startTime)) - if (( ${duration} >= ${DATABASE_SERVER_TIMEOUT} )); then + local duration_ns=$(($(date +%s%N) - $startTime)) + if (( ${duration_ns} >= ${DATABASE_SERVER_TIMEOUT_NS} )); then echoRed "\nThe server failed to stop within $(getElapsedTimeFromDuration ${duration})." echoRed "Killing the mongod process ...\n" pkill -INT mongod @@ -206,7 +207,7 @@ function onPingDbServer(){ _dbAddressArg=${_hostname}${_port:+:${_port}}${_database:+/${_database}} _authDbArg=${MONGODB_AUTHENTICATION_DATABASE:+"--authenticationDatabase ${MONGODB_AUTHENTICATION_DATABASE}"} - mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --eval='db.runCommand("ping").ok' >/dev/null 2>&1 + mongosh ${_dbAddressArg} ${_authDbArg} -u "${_username}" -p "${_password}" --quiet --eval='db.runCommand("ping").ok' > /dev/null 2>&1 local mongoshExitCode=$? if (( ${mongoshExitCode} != 0 )); then From 09705f00633dafbfd423b12db57f7cf49892a153 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 13:24:40 -0800 Subject: [PATCH 17/18] address comments Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/Dockerfile_Mongo | 2 +- docker/backup.mongo.plugin | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile_Mongo b/docker/Dockerfile_Mongo index 2a85ac2..6995e43 100644 --- a/docker/Dockerfile_Mongo +++ b/docker/Dockerfile_Mongo @@ -39,7 +39,7 @@ RUN echo $TZ > /etc/timezone # ======================================================================================================== # Important - Reset to the base image's user account. -USER 998 +USER $uid # Set the default CMD. CMD bash /backup.sh diff --git a/docker/backup.mongo.plugin b/docker/backup.mongo.plugin index 00fc265..3483721 100644 --- a/docker/backup.mongo.plugin +++ b/docker/backup.mongo.plugin @@ -128,8 +128,10 @@ function onStartServer(){ _databaseSpec=${1} + _hostname=$(getHostname ${flags} ${_databaseSpec}) + # Start a local MongoDb instance - mongod --bind_ip 127.0.0.1 > /dev/null 2>&1 & + mongod --bind_ip $_hostname > /dev/null 2>&1 & # Initialize database if necessary onDatabaseInit "${_databaseSpec}" @@ -149,10 +151,9 @@ function onStopServer(){ _databaseSpec=${1} - _port=$(getPort ${_databaseSpec}) - _database=$(getDatabaseName "${_databaseSpec}") + _hostname=$(getHostname ${flags} ${_databaseSpec}) - mongosh 127.0.0.1/admin --quiet --eval "db.shutdownServer()" > /dev/null 2>&1 + mongosh ${_hostname}/admin --quiet --eval "db.shutdownServer()" > /dev/null 2>&1 # Wait for server to stop ... local startTime=$(date +%s%N) From 2586094858f8a7f7307d4249a68f489fc963df09 Mon Sep 17 00:00:00 2001 From: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> Date: Mon, 20 Nov 2023 13:38:41 -0800 Subject: [PATCH 18/18] address comments Signed-off-by: Ivan Polchenko <2119240+i5okie@users.noreply.github.com> --- docker/backup.utils | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/backup.utils b/docker/backup.utils index 239d343..4c562c1 100644 --- a/docker/backup.utils +++ b/docker/backup.utils @@ -262,7 +262,7 @@ function verifyBackup(){ fi # Stop the database server and clean up ... - stopServer "${_databaseSpec}" + stopServer -l "${_databaseSpec}" cleanUp local endTime=$(date +%s%N)