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.
33 lines
711 B
JSON
33 lines
711 B
JSON
{
|
|
"name": "appsmith_utils",
|
|
"version": "1.0.0",
|
|
"description": "appsmith utils tool",
|
|
"main": "bin/index.js",
|
|
"author": "",
|
|
"license": "Apache-2.0",
|
|
"private": true,
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/appsmithorg/appsmith.git",
|
|
"directory": "deploy/docker"
|
|
},
|
|
"dependencies": {
|
|
"cli-progress": "^3.11.2",
|
|
"dotenv": "10.0.0",
|
|
"jest": "^29.1.2",
|
|
"luxon": "^3.2.1",
|
|
"minimist": "^1.2.6",
|
|
"mongodb": "^4.13.0",
|
|
"mongodb-connection-string-url": "^2.6.0",
|
|
"nodemailer": "6.7.5",
|
|
"readline-sync": "1.4.10",
|
|
"shelljs": "0.8.5"
|
|
},
|
|
"bin": {
|
|
"appsmithctl": "./bin/index.js"
|
|
},
|
|
"scripts": {
|
|
"test": "jest"
|
|
}
|
|
}
|