mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00

* Add more tools to the toolbox container * Add mongodb monitoring agent * Add a bigchaindb/mongodb-monitoring-agent container that includes the monitoring agent. * It makes use of an api key provided by MongoDB Cloud Manager. This is included in the configuration/config-map.yaml file. * Changes to mongodb StatefulSet configuration Changes to bump up mongodb version to v3.4.3. Add configuration settings for mongodb instance name in ConfigMap. Split the mongodb service to a new configuration file. * Modify bigchaindb deployment config * Bugfix to remove keyring field for the first node. * Split the mongodb service to a new configuration file. * Add mongodb backup agent * Add a bigchaindb/mongodb-backup-agent container that includes the backup agent. * It makes use of an api key provided by MongoDB Cloud Manager. This is included in the configuration/config-map.yaml file. * Changes to nginx deployment config * Allow 'all' by default for now. This is included in the configuration/config-map.yaml file. * Dynamically resolve DNS addresses of our backend services; cache DNS resolution for 20s. * Configure DNS based on user provided resolver. This helps in user deciding to provide 8.8.8.8 or a custom DNS for name resolution. For k8s deployments, we use the hardcoded k8s DNS IP of 10.0.0.10. * Changes to nginx-3scale deployment config * Use the common ConfigMap in configuration/config-map.yaml file. * Removing prefix `v` from the docker tag for mongodb-monitoring-agent and mongodb containers * Bumping up version for nginx-3scale container * Add small helper scripts for docker build and push of mongodb monitoring and backup agents * Documentation for setting up the first node with monitoring and backup agents
48 lines
1.7 KiB
Bash
Executable File
48 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
mongo_frontend_port=`printenv MONGODB_FRONTEND_PORT`
|
|
mongo_backend_host=`printenv MONGODB_BACKEND_HOST`
|
|
mongo_backend_port=`printenv MONGODB_BACKEND_PORT`
|
|
bdb_frontend_port=`printenv BIGCHAINDB_FRONTEND_PORT`
|
|
bdb_backend_host=`printenv BIGCHAINDB_BACKEND_HOST`
|
|
bdb_backend_port=`printenv BIGCHAINDB_BACKEND_PORT`
|
|
mongo_whitelist=`printenv MONGODB_WHITELIST`
|
|
dns_server=`printenv DNS_SERVER`
|
|
|
|
# sanity checks
|
|
if [[ -z "${mongo_frontend_port}" || \
|
|
-z "${mongo_backend_host}" || \
|
|
-z "${mongo_backend_port}" || \
|
|
-z "${bdb_frontend_port}" || \
|
|
-z "${bdb_backend_host}" || \
|
|
-z "${bdb_backend_port}" || \
|
|
-z "${dns_server}" ]] ; then
|
|
echo "Invalid environment settings detected. Exiting!"
|
|
exit 1
|
|
fi
|
|
|
|
NGINX_CONF_FILE=/etc/nginx/nginx.conf
|
|
|
|
# configure the nginx.conf file with env variables
|
|
sed -i "s|MONGODB_FRONTEND_PORT|${mongo_frontend_port}|g" $NGINX_CONF_FILE
|
|
sed -i "s|MONGODB_BACKEND_HOST|${mongo_backend_host}|g" $NGINX_CONF_FILE
|
|
sed -i "s|MONGODB_BACKEND_PORT|${mongo_backend_port}|g" $NGINX_CONF_FILE
|
|
sed -i "s|BIGCHAINDB_FRONTEND_PORT|${bdb_frontend_port}|g" $NGINX_CONF_FILE
|
|
sed -i "s|BIGCHAINDB_BACKEND_HOST|${bdb_backend_host}|g" $NGINX_CONF_FILE
|
|
sed -i "s|BIGCHAINDB_BACKEND_PORT|${bdb_backend_port}|g" $NGINX_CONF_FILE
|
|
sed -i "s|DNS_SERVER|${dns_server}|g" $NGINX_CONF_FILE
|
|
|
|
# populate the whitelist in the conf file as per MONGODB_WHITELIST env var
|
|
hosts=$(echo ${mongo_whitelist} | tr ":" "\n")
|
|
for host in $hosts; do
|
|
sed -i "s|MONGODB_WHITELIST|allow ${host};\n MONGODB_WHITELIST|g" $NGINX_CONF_FILE
|
|
done
|
|
|
|
# remove the MONGODB_WHITELIST marker string from template
|
|
sed -i "s|MONGODB_WHITELIST||g" $NGINX_CONF_FILE
|
|
|
|
# start nginx
|
|
echo "INFO: starting nginx..."
|
|
exec nginx -c /etc/nginx/nginx.conf
|