From 8170ea07e233f4e6295bb56979a31343bd2b9e81 Mon Sep 17 00:00:00 2001 From: Lyuben Penkovski <lyuben.penkovski@vereign.com> Date: Wed, 13 Apr 2022 16:57:22 +0300 Subject: [PATCH] Use MongoDB as a single node replica set We need Mongo working as a RS because of the change streams functionality which we use for policy synchronization. --- docker-compose.yml | 7 +++++++ env/policy.env | 2 +- mongo/docker-entrypoint-initdb.d/mongo-init.js | 5 +++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 46ba636..96e4c28 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -70,9 +70,16 @@ services: environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: root + MONGO_REPLICA_SET_NAME: rs0 ports: - "27017:27017" volumes: - ./mongo/docker-entrypoint-initdb.d/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro - ./volumes/mongodb:/data/db + healthcheck: + test: test $$(echo "rs.initiate().ok || rs.status().ok" | mongo -u $${MONGO_INITDB_ROOT_USERNAME} -p $${MONGO_INITDB_ROOT_PASSWORD} --quiet) -eq 1 + interval: 10s + start_period: 30s + restart: on-failure + command: "--bind_ip_all --replSet rs0" diff --git a/env/policy.env b/env/policy.env index 60ce191..6c43372 100644 --- a/env/policy.env +++ b/env/policy.env @@ -9,7 +9,7 @@ REDIS_USER="" REDIS_PASS="" REDIS_DB=1 REDIS_EXPIRATION="1h" -MONGO_ADDR="mongodb://mongo:27017/policy?authSource=admin" +MONGO_ADDR="mongodb://mongo:27017/policy?replicaSet=rs0&authSource=admin" MONGO_USER="root" MONGO_PASS="root" MONGO_DBNAME="policy" diff --git a/mongo/docker-entrypoint-initdb.d/mongo-init.js b/mongo/docker-entrypoint-initdb.d/mongo-init.js index d47d4a5..522da03 100644 --- a/mongo/docker-entrypoint-initdb.d/mongo-init.js +++ b/mongo/docker-entrypoint-initdb.d/mongo-init.js @@ -15,8 +15,9 @@ db.policies.insertMany( 1 == 1 } - taskID := "deadbeef" - }, + taskID := "0123456789abcdef" + ` + } ] ); -- GitLab