PromucFlow_constructor/deploy/docker/utils
Shrikant Sharat Kandula 87cffb6a05
fix: Fix replicaset check to not require ClusterMonitor role (#19997)
In the `entrypoint.sh` script, we check if the MongoDB in use, has
replicaSet initiated or not. This is usually done with a `rs.initiate()`
on the cluster.

We need the replicaSet to be enabled on MongoDB, since the backend
server relies on MongoDB `changeStream`s, which is a feature, only
available if replicaSet is enabled.

However, to use the `changeStream` APIs, having the `read` or
`readWrite` role on MongoDB is enough. But the check we do in
`entrypoint.sh`, runs `rs.status()` to see if `replicaSet` is initiated.
This `rs.status()` call, unfortunately, requires the `ClusterMonitor`
role, unlike the `changeStream` API.

To tackle this, we created the `appsmithctl check_replica_set` command.
This command would attempt to use the `changeStream` API, and report
success or failure. But this failed on certain configurations, where
MongoDB was running as a single-node-cluster, on localhost, or a
local/internal network. This was an edge case.

That edge case is solved by this PR. With this, we can use `appsmithctl
check-replica-set` in the `entrypoint.sh` again.
2023-02-07 05:38:37 +05:30
..
bin fix: Fix replicaset check to not require ClusterMonitor role (#19997) 2023-02-07 05:38:37 +05:30
.gitignore Add appsmithctl command to migrate instance to new server (#9508) 2021-12-17 10:39:20 +05:30
package-lock.json fix: Fix replicaset check to not require ClusterMonitor role (#19997) 2023-02-07 05:38:37 +05:30
package.json fix: Fix replicaset check to not require ClusterMonitor role (#19997) 2023-02-07 05:38:37 +05:30