diff --git a/services/simcore/Makefile b/services/simcore/Makefile index a519f0ce..1ec6beb3 100644 --- a/services/simcore/Makefile +++ b/services/simcore/Makefile @@ -15,7 +15,7 @@ $(SIMCORE_REPO_DIR): $(error $@ repo not found. Please clone this repo manually) .PHONY: stack_with_prefix.yml -stack_with_prefix.yml: $(SIMCORE_REPO_DIR) $(REPO_CONFIG_LOCATION) +stack_with_prefix.yml: $(SIMCORE_REPO_DIR) $(REPO_CONFIG_LOCATION) ## generate stack file with prefix # generating $@ @$(REPO_BASE_DIR)/scripts/deployments/prepare_simcore_stack.bash @mv $(REPO_BASE_DIR)/scripts/deployments/stack_with_prefix.yml $@ diff --git a/services/simcore/docker-compose.deploy.master.yml b/services/simcore/docker-compose.deploy.master.yml index 40a5114f..7294507c 100644 --- a/services/simcore/docker-compose.deploy.master.yml +++ b/services/simcore/docker-compose.deploy.master.yml @@ -35,6 +35,7 @@ services: - "--entryPoints.http.transport.respondingTimeouts.writeTimeout=21600s" #6h, for https://github.com/traefik/traefik/issues/10805 - "--entryPoints.http.transport.respondingTimeouts.readTimeout=21600s" #6h, for https://github.com/traefik/traefik/issues/10805 - "--entryPoints.postgres.address=:5432" + - "--entryPoints.redis.address=:${REDIS_EXTERNAL_PORT}" - "--entryPoints.simcore_api.address=:10081" - "--entryPoints.simcore_api.forwardedHeaders.insecure" - "--entryPoints.simcore_api.transport.respondingTimeouts.idleTimeout=21600s" #6h, for https://github.com/traefik/traefik/issues/10805 @@ -59,17 +60,24 @@ services: memory: 2048M cpus: '2.000' labels: - # oSparc postgres + # postgres - traefik.tcp.routers.${SWARM_STACK_NAME}_postgresRoute.entrypoints=postgres - traefik.tcp.routers.${SWARM_STACK_NAME}_postgresRoute.tls=false - traefik.tcp.routers.${SWARM_STACK_NAME}_postgresRoute.service=${SWARM_STACK_NAME}_postgresRoute - traefik.tcp.services.${SWARM_STACK_NAME}_postgresRoute.loadbalancer.server.port=5432 - - "traefik.tcp.routers.${SWARM_STACK_NAME}_postgresRoute.rule=ClientIP(`195.176.8.0/24`) || ClientIP(`10.0.0.0/8`) || ClientIP(`172.16.0.0/12`) || ClientIP(`192.168.0.0/16`)" + - "traefik.tcp.routers.${SWARM_STACK_NAME}_postgresRoute.rule=ClientIP(`10.0.0.0/8`) || ClientIP(`172.16.0.0/12`) || ClientIP(`192.168.0.0/16`)" + # redis + - traefik.tcp.routers.${SWARM_STACK_NAME}_redisRoute.entrypoints=redis + - traefik.tcp.routers.${SWARM_STACK_NAME}_redisRoute.tls=false + - traefik.tcp.routers.${SWARM_STACK_NAME}_redisRoute.service=${SWARM_STACK_NAME}_redisRoute + - traefik.tcp.services.${SWARM_STACK_NAME}_redisRoute.loadbalancer.server.port=${REDIS_EXTERNAL_PORT} + - "traefik.tcp.routers.${SWARM_STACK_NAME}_redisRoute.rule=HostSNI(`*`)" + clusters-keeper: deploy: replicas: 0 + payments: - # test prior to a big bang release Sept 2023. Can be deleted after (YH, 09 2023) deploy: replicas: 1 @@ -80,3 +88,28 @@ services: wb-api-server: deploy: replicas: 3 + + redis: + networks: + - public + deploy: + labels: + - traefik.enable=true + - io.simcore.zone=${TRAEFIK_SIMCORE_ZONE} + - traefik.swarm.network=${SWARM_STACK_NAME}_default + - "traefik.tcp.routers.${SWARM_STACK_NAME}_redis.rule=ClientIP(`10.0.0.0/8`) || ClientIP(`172.16.0.0/12`) || ClientIP(`192.168.0.0/16`)" + - traefik.tcp.routers.${SWARM_STACK_NAME}_redis.entrypoints=redis + - traefik.tcp.routers.${SWARM_STACK_NAME}_redis.tls=false + - traefik.tcp.routers.${SWARM_STACK_NAME}_redis.service=${SWARM_STACK_NAME}_redis + - traefik.tcp.services.${SWARM_STACK_NAME}_redis.loadbalancer.server.port=${REDIS_PORT} + + rabbit: + # rabbit is already exposed via ops traefik + # adding one more route to this configuration + deploy: + labels: + - "traefik.tcp.routers.${SWARM_STACK_NAME}_rabbitmq.rule=ClientIP(`10.0.0.0/8`) || ClientIP(`172.16.0.0/12`) || ClientIP(`192.168.0.0/16`)" + - traefik.tcp.routers.${SWARM_STACK_NAME}_rabbitmq.entrypoints=rabbitmq + - traefik.tcp.routers.${SWARM_STACK_NAME}_rabbitmq.tls=false + - traefik.tcp.routers.${SWARM_STACK_NAME}_rabbitmq.service=${SWARM_STACK_NAME}_rabbitmq + - traefik.tcp.services.${SWARM_STACK_NAME}_rabbitmq.loadbalancer.server.port=${RABBIT_PORT} diff --git a/services/traefik/docker-compose.master.yml b/services/traefik/docker-compose.master.yml index a4a3aecd..f47f5e7b 100644 --- a/services/traefik/docker-compose.master.yml +++ b/services/traefik/docker-compose.master.yml @@ -23,6 +23,8 @@ services: - "--entryPoints.https.transport.respondingTimeouts.writeTimeout=21600s" #6h, for https://github.com/traefik/traefik/issues/10805 - "--entryPoints.https.transport.respondingTimeouts.readTimeout=21600s" #6h, for https://github.com/traefik/traefik/issues/10805 - "--entryPoints.postgres.address=:5432" + - "--entryPoints.rabbitmq.address=:${RABBIT_EXTERNAL_PORT}" + - "--entryPoints.redis.address=:${REDIS_EXTERNAL_PORT}" - "--entryPoints.smtp.address=:25" - "--providers.swarm.endpoint=unix:///var/run/docker.sock" - "--providers.swarm.exposedByDefault=false" @@ -35,6 +37,13 @@ services: - "--entryPoints.https.forwardedHeaders.insecure" - "--providers.file.directory=/etc/traefik/" - "--providers.file.watch=true" + ports: + - target: ${RABBIT_EXTERNAL_PORT} + published: ${RABBIT_EXTERNAL_PORT} + mode: host + - target: ${REDIS_EXTERNAL_PORT} + published: ${REDIS_EXTERNAL_PORT} + mode: host env_file: - .env deploy: diff --git a/services/traefik/template.env b/services/traefik/template.env index 0a76adb8..5fa3ed4c 100644 --- a/services/traefik/template.env +++ b/services/traefik/template.env @@ -43,3 +43,6 @@ WEBSERVER_PORT=${WEBSERVER_PORT} TRAEFIK_DOMAINS_REDIRECT_FROM=${TRAEFIK_DOMAINS_REDIRECT_FROM} TRAEFIK_DOMAINS_REDIRECT_TO=${TRAEFIK_DOMAINS_REDIRECT_TO} TRAEFIK_DOMAINS_REDIRECT_IS_PERMANENT=${TRAEFIK_DOMAINS_REDIRECT_IS_PERMANENT} + +REDIS_EXTERNAL_PORT=${REDIS_EXTERNAL_PORT} +RABBIT_EXTERNAL_PORT=${RABBIT_EXTERNAL_PORT}