From 1cd8c1865e4e1a30849e586fd6f25178d9b0efda Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 13 Jun 2019 11:48:35 -0700 Subject: [PATCH] Generate random passwords and keep them out of the environment/program args --- metrics/scripts/enable.sh | 18 ++++- .../datasources/datasource.yml | 16 ---- metrics/scripts/start.sh | 75 ++++++++++++++++--- metrics/scripts/status.sh | 20 ++++- metrics/scripts/stop.sh | 13 ++-- 5 files changed, 103 insertions(+), 39 deletions(-) delete mode 100644 metrics/scripts/grafana-provisioning/datasources/datasource.yml diff --git a/metrics/scripts/enable.sh b/metrics/scripts/enable.sh index b18691e33c..084bde3433 100644 --- a/metrics/scripts/enable.sh +++ b/metrics/scripts/enable.sh @@ -1,6 +1,22 @@ # |source| this file to enable metrics in the current shell -export SOLANA_METRICS_CONFIG="host=http://localhost:8086,db=testnet,u=write,p=write" +echoSolanaMetricsConfig() { + declare metrics_config_sh + metrics_config_sh="$(dirname "${BASH_SOURCE[0]}")"/lib/config.sh + if [[ ! -f "$metrics_config_sh" ]]; then + echo "Run start.sh first" >&2 + return 1 + fi + ( + # shellcheck source=/dev/null + source "$metrics_config_sh" + echo "host=http://localhost:8086,db=testnet,u=$INFLUXDB_WRITE_USER,p=$INFLUXDB_WRITE_PASSWORD" + ) +} + +SOLANA_METRICS_CONFIG=$(echoSolanaMetricsConfig) +export SOLANA_METRICS_CONFIG +unset -f echoSolanaMetricsConfig __configure_metrics_sh="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../.. || true; pwd)"/scripts/configure-metrics.sh if [[ -f $__configure_metrics_sh ]]; then diff --git a/metrics/scripts/grafana-provisioning/datasources/datasource.yml b/metrics/scripts/grafana-provisioning/datasources/datasource.yml deleted file mode 100644 index 102725a666..0000000000 --- a/metrics/scripts/grafana-provisioning/datasources/datasource.yml +++ /dev/null @@ -1,16 +0,0 @@ -# config file version -apiVersion: 1 - -datasources: -- name: local-influxdb - type: influxdb - isDefault: true - access: proxy - database: testnet - user: admin - password: admin - basicAuth: true - basicAuthUser: admin - basicAuthPassword: admin - url: http://influxdb:8086 - editable: true diff --git a/metrics/scripts/start.sh b/metrics/scripts/start.sh index 5cfb8a979e..b3175bcb71 100755 --- a/metrics/scripts/start.sh +++ b/metrics/scripts/start.sh @@ -9,10 +9,51 @@ cd "$(dirname "$0")" # Stop if already running ./stop.sh -set -x +randomPassword() { + declare p= + for _ in $(seq 0 16); do + p+="$((RANDOM % 10))" + done + echo $p +} -./adjust-dashboard-for-channel.py \ - grafana-provisioning/dashboards/testnet-monitor.json local +mkdir -p lib +if [[ ! -f lib/config.sh ]]; then + cat > lib/config.sh < lib/grafana-provisioning/datasources/datasource.yml < "$PWD"/lib/influx-env-file < "$PWD"/lib/grafana-env-file <