72 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/usr/bin/env bash
 | ||
|  | set -e | ||
|  | 
 | ||
|  | cd "$(dirname "$0")" | ||
|  | 
 | ||
|  | CHANNEL=$1 | ||
|  | if [[ -z $CHANNEL ]]; then | ||
|  |   echo "usage: $0 [channel]" | ||
|  |   exit 1 | ||
|  | fi | ||
|  | 
 | ||
|  | case $CHANNEL in | ||
|  | edge) | ||
|  |   DASHBOARD=testnet-monitor-edge | ||
|  |   ;; | ||
|  | beta) | ||
|  |   DASHBOARD=testnet-monitor-beta | ||
|  |   ;; | ||
|  | stable) | ||
|  |   DASHBOARD=testnet-monitor | ||
|  |   ;; | ||
|  | *) | ||
|  |   echo "Error: Invalid CHANNEL=$CHANNEL" | ||
|  |   exit 1 | ||
|  |   ;; | ||
|  | esac | ||
|  | 
 | ||
|  | 
 | ||
|  | if [[ -z $GRAFANA_API_TOKEN ]]; then | ||
|  |   echo Error: GRAFANA_API_TOKEN not defined | ||
|  |   exit 1 | ||
|  | fi | ||
|  | 
 | ||
|  | DASHBOARD_JSON=./testnet-monitor.json | ||
|  | if [[ ! -r $DASHBOARD_JSON ]]; then | ||
|  |   echo Error: $DASHBOARD_JSON not found | ||
|  | fi | ||
|  | 
 | ||
|  | ( | ||
|  |   set -x | ||
|  |   ./adjust-dashboard-for-channel.py "$DASHBOARD_JSON" "$CHANNEL" | ||
|  | ) | ||
|  | 
 | ||
|  | rm -rf venv | ||
|  | python3 -m venv venv | ||
|  | # shellcheck source=/dev/null | ||
|  | source venv/bin/activate | ||
|  | 
 | ||
|  | echo --- Fetch/build grafcli | ||
|  | ( | ||
|  |   set -x | ||
|  |   git clone git@github.com:mvines/grafcli.git -b experimental-v5 venv/grafcli | ||
|  |   cd venv/grafcli | ||
|  |   python3 setup.py install | ||
|  | ) | ||
|  | 
 | ||
|  | echo --- Take a backup of existing dashboard if possible | ||
|  | ( | ||
|  |   set -x +e | ||
|  |   grafcli export remote/metrics/$DASHBOARD $DASHBOARD_JSON.org | ||
|  |   grafcli rm remote/metrics/$DASHBOARD | ||
|  |   : | ||
|  | ) | ||
|  | 
 | ||
|  | echo --- Publish $DASHBOARD_JSON to $DASHBOARD | ||
|  | ( | ||
|  |   set -x | ||
|  |   grafcli import $DASHBOARD_JSON remote/metrics | ||
|  | ) | ||
|  | 
 | ||
|  | exit 0 |