@@ -84,6 +84,23 @@ update.grafana.pwd: .env ## Change grafana pwd
8484 grafanacontainerid=$$(docker ps | grep grafana | awk '{print $$1;}' ) ; \
8585 docker exec -ti $$ grafanacontainerid grafana-cli admin reset-admin-password $$ TRAEFIK_PASSWORD
8686
87+ .PHONY : ensure-grafana-online
88+ ensure-grafana-online :
89+ @set -o allexport; \
90+ source $(REPO_CONFIG_LOCATION ) ; \
91+ set +o allexport; \
92+ url=$$ {TF_VAR_grafana_url}; \
93+ echo " Waiting for grafana at $$ url to become reachable." ; \
94+ while true ; do \
95+ status_code=$$(curl -k -o /dev/null -s -w "%{http_code}" $$url ) ; \
96+ if [ " $$ status_code" -ge 200 ] && [ " $$ status_code" -lt 400 ]; then \
97+ echo " Grafana is online" ; \
98+ break ; \
99+ else \
100+ echo " Grafana still unreachable, waiting 5s for grafana to become reachable..." ; \
101+ sleep 5; \
102+ fi ; \
103+ done;
87104
88105.PHONY : grafana-export
89106grafana-export : .venv# # Export the remote grafana dashboards and datasources TO YOUR LOCAL MACHINE
@@ -93,11 +110,16 @@ grafana-export: .venv## Export the remote grafana dashboards and datasources TO
93110 python3 export.py;
94111
95112.PHONY : grafana-import
96- grafana-import : grafana/assets .venv # # Imports AND OVERWRITES the remote grafana dashboards and datasources FROM YOUR LOCAL MACHINE
97- @cd grafana/scripts; \
98- source ${REPO_BASE_DIR} /.venv/bin/activate; \
99- pip install -r requirements.txt > /dev/null 2>&1 ; \
100- python3 import.py
113+ grafana-import : grafana/assets ensure-grafana-online # # Imports AND OVERWRITES the remote grafana dashboards and datasources FROM YOUR LOCAL MACHINE
114+ @set -o allexport; \
115+ source $(REPO_CONFIG_LOCATION ) ; \
116+ set +o allexport; \
117+ pushd ${REPO_BASE_DIR} /services/monitoring/grafana/terraform && \
118+ terraform init && \
119+ terraform destroy -auto-approve && \
120+ terraform apply -auto-approve; \
121+ popd > /dev/null
122+
101123
102124.PHONY : config.grafana.dashboards
103125config.grafana.dashboards : grafana/templates-provisioning/dashboards/simcore/Metrics-dashboard.json.j2 .venv # Configure dashboards for aws or dalco clusters
0 commit comments