diff --git a/services/admin-panels/Makefile b/services/admin-panels/Makefile index adfc9493..2c341c48 100644 --- a/services/admin-panels/Makefile +++ b/services/admin-panels/Makefile @@ -13,42 +13,42 @@ include ${REPO_BASE_DIR}/scripts/common.Makefile # Helpers -------------------------------------------------- define custom-jinja - @${REPO_BASE_DIR}/.venv/bin/j2 --format=json $(1) $(2) -o $(3) + @${REPO_BASE_DIR}/.venv/bin/j2 --format=json $(1) $(2) -o $(3) \ + --filters $(REPO_BASE_DIR)/scripts/j2cli_global_filters.py endef .PHONY: .data.json .data.json: @$(_tree) -J ${PWD}/data | jq ".[0]" > .data.json - .PHONY: docker-compose.yml -docker-compose.yml: docker-compose.yml.j2 .venv .data.json +docker-compose.yml: docker-compose.yml.j2 .venv .data.json .env jupyter_server_config.py $(call custom-jinja, $<, .data.json, tmp.yml) @${REPO_BASE_DIR}/scripts/docker-stack-config.bash tmp.yml > $@ @rm tmp.yml .PHONY: up -up: .init .env jupyter_server_config.py ${TEMP_COMPOSE} ## Deploys jaeger stack +up: .init ${TEMP_COMPOSE} prune-docker-stack-configs ## Deploys jaeger stack @docker stack deploy --with-registry-auth --prune --compose-file ${TEMP_COMPOSE} ${STACK_NAME} .PHONY: up-letsencrypt-http -up-letsencrypt-http: .init .env jupyter_server_config.py ${TEMP_COMPOSE}-letsencrypt-http ## Deploys jaeger stack using let's encrypt http challenge +up-letsencrypt-http: .init ${TEMP_COMPOSE}-letsencrypt-http prune-docker-stack-configs ## Deploys jaeger stack using let's encrypt http challenge @docker stack deploy --with-registry-auth --prune --compose-file ${TEMP_COMPOSE}-letsencrypt-http ${STACK_NAME} .PHONY: up-letsencrypt-dns -up-letsencrypt-dns: .init .env jupyter_server_config.py ${TEMP_COMPOSE}-letsencrypt-dns ## Deploys jaeger stack using let's encrypt dns challenge +up-letsencrypt-dns: .init ${TEMP_COMPOSE}-letsencrypt-dns prune-docker-stack-configs ## Deploys jaeger stack using let's encrypt dns challenge @docker stack deploy --with-registry-auth --prune --compose-file ${TEMP_COMPOSE}-letsencrypt-dns ${STACK_NAME} .PHONY: up-dalco ## Deploys jaeger stack for Dalco Cluster -up-dalco: .init .env jupyter_server_config.py ${TEMP_COMPOSE}-dalco +up-dalco: .init ${TEMP_COMPOSE}-dalco prune-docker-stack-configs @docker stack deploy --with-registry-auth --prune --compose-file ${TEMP_COMPOSE}-dalco ${STACK_NAME} .PHONY: up-aws -up-aws: .init .env jupyter_server_config.py ${TEMP_COMPOSE}-aws ## Deploys jaeger stack in aws +up-aws: .init ${TEMP_COMPOSE}-aws prune-docker-stack-configs ## Deploys jaeger stack in aws @docker stack deploy --with-registry-auth --prune --compose-file ${TEMP_COMPOSE}-aws ${STACK_NAME} .PHONY: up-master -up-master: .init .env jupyter_server_config.py ${TEMP_COMPOSE}-master +up-master: .init ${TEMP_COMPOSE}-master prune-docker-stack-configs @docker stack deploy --with-registry-auth --prune --compose-file ${TEMP_COMPOSE}-master ${STACK_NAME} .PHONY: up-local @@ -85,7 +85,6 @@ ${TEMP_COMPOSE}-aws: docker-compose.yml docker-compose.aws.yml .env ${TEMP_COMPOSE}: docker-compose.yml .env @${REPO_BASE_DIR}/scripts/docker-stack-config.bash -e .env $< > $@ - .PHONY: jupyter_server_config.py jupyter_server_config.py: jupyter_server_config.py.template @set -o allexport; \ diff --git a/services/admin-panels/docker-compose.yml.j2 b/services/admin-panels/docker-compose.yml.j2 index e8c7a67f..df39170a 100644 --- a/services/admin-panels/docker-compose.yml.j2 +++ b/services/admin-panels/docker-compose.yml.j2 @@ -1,9 +1,11 @@ version: "3.7" configs: adminpanel-jupyter-server-config: + name: ${STACK_NAME}_adminpanel-jupyter-server-config_{{ "./jupyter_server_config.py" | sha256file | substring(0,10) }} file: ./jupyter_server_config.py {% for item in contents %} {{ item.name }}: + name: {% raw %}${STACK_NAME}{% endraw %}_{{item.name}}_{{ ("./data/" ~ item.name) | sha256file | substring(0,10) }} file: ./data/{{ item.name }}{% endfor %} services: adminpanels: diff --git a/services/admin-panels/template.env b/services/admin-panels/template.env index 0cb21a85..1336609b 100644 --- a/services/admin-panels/template.env +++ b/services/admin-panels/template.env @@ -1,4 +1,6 @@ # This contains all relevant secrets so that the admin panels may use them to access the services +STACK_NAME=${STACK_NAME} + MONITORING_DOMAIN=${MONITORING_DOMAIN} ADMINPANELS_DOMAIN=${ADMINPANELS_DOMAIN} DEPLOYMENT_FQDNS=${DEPLOYMENT_FQDNS}