From 2e4faf81f44654c6c7aac2f90efc0ab9ad66aff5 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Fri, 25 Apr 2025 16:16:11 -0700 Subject: [PATCH] corrected script --- docker/prod/mongo/init/init.js | 56 +++++++++------------------------- 1 file changed, 14 insertions(+), 42 deletions(-) diff --git a/docker/prod/mongo/init/init.js b/docker/prod/mongo/init/init.js index 74c9a830f..81d501bc7 100644 --- a/docker/prod/mongo/init/init.js +++ b/docker/prod/mongo/init/init.js @@ -1,59 +1,31 @@ -function sleep(ms) { - return new Promise((resolve) => setTimeout(resolve, ms)); -} - -async function initReplicaSet() { +function waitForPrimary() { while (true) { try { rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "localhost:27017" }], }); - print("Replica set initiated."); break; } catch (e) { print("Replica set initiation failed, retrying in 2s..."); - await sleep(2000); + sleep(2000); } } - - // Wait until the node becomes primary - while (true) { - try { - const status = rs.status(); - if (status.myState === 1) { - print("Node is now PRIMARY."); - break; - } - } catch (e) { - print("⏳ Waiting for PRIMARY state..."); - } - await sleep(1000); - } } -async function createAppUser() { - const username = process.env.USERNAME_ENV_VAR; - const password = process.env.PASSWORD_ENV_VAR; +waitForPrimary(); - if (!username || !password) { - throw new Error("USERNAME_ENV_VAR or PASSWORD_ENV_VAR not set."); - } +// Switch to uptime_db +db = db.getSiblingDB("uptime_db"); - const dbName = "uptime_db"; - const userDb = db.getSiblingDB(dbName); +// Create app user +var username = _getEnv("USERNAME_ENV_VAR"); +var password = _getEnv("PASSWORD_ENV_VAR"); - try { - userDb.createUser({ - user: username, - pwd: password, - roles: [{ role: "readWrite", db: dbName }], - }); - print(`✅ User '${username}' created successfully.`); - } catch (e) { - print(`⚠️ Failed to create user '${username}': ${e.message}`); - } -} +db.createUser({ + user: username, + pwd: password, + roles: [{ role: "readWrite", db: "uptime_db" }], +}); -await initReplicaSet(); -await createAppUser(); +print("User '" + username + "' created successfully");