diff --git a/services/cojedzie-next/environment b/services/cojedzie-next/environment index 0b1f011..35b8bb2 100644 --- a/services/cojedzie-next/environment +++ b/services/cojedzie-next/environment @@ -1,3 +1,3 @@ MERCURE_URL=http://mercure/.well-known/mercure MERCURE_PUBLIC_URL=https://{{ cojedzie_domain }}/.well-known/mercure -MERCURE_JWT_SECRET="{{ cojedzie_mercure_publisher_jwt_key }}" +MERCURE_JWT_SECRET={{ cojedzie_mercure_jwt_key }} diff --git a/services/cojedzie-next/stack.yml b/services/cojedzie-next/stack.yml index ce03294..06954fb 100644 --- a/services/cojedzie-next/stack.yml +++ b/services/cojedzie-next/stack.yml @@ -67,12 +67,11 @@ services: environment: SERVER_NAME: ':80' USE_FORWARDED_HEADERS: 1 - MERCURE_PUBLISHER_JWT_KEY: '{{ cojedzie_mercure_publisher_jwt_key }}' - MERCURE_SUBSCRIBER_JWT_KEY: '{{ cojedzie_mercure_subscriber_jwt_key }}' + MERCURE_PUBLISHER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}' + MERCURE_SUBSCRIBER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}' volumes: - mercure_data:/data - mercure_config:/config - command: /usr/bin/caddy run -config /etc/caddy/Caddyfile.dev deploy: mode: replicated replicas: 1 diff --git a/services/cojedzie-next/vars/main.yml b/services/cojedzie-next/vars/main.yml index d8a1cb3..2303210 100644 --- a/services/cojedzie-next/vars/main.yml +++ b/services/cojedzie-next/vars/main.yml @@ -2,15 +2,7 @@ cojedzie_domain: next.cojedzie.pl cojedzie_update_cron: 0 0 4 * * * cojedzie_gtm: "" -cojedzie_mercure_subscriber_jwt_key: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 30383839613764393562623137373934333530636564313633303062323661376333653136383066 - 6635653934313233346662653632356365343731396139330a663035636537646465353537646162 - 30356136613430316564346665653263383164333833383531353532316239316433306636303165 - 3931313836313133390a316562333130366435633335613066373232363439623932656532373032 - 62646432343334346165653466633634356635323038306435343932386233323164633134373964 - 6232656562626566663964643634366532393136383261333931 -cojedzie_mercure_publisher_jwt_key: !vault | +cojedzie_mercure_jwt_key: !vault | $ANSIBLE_VAULT;1.1;AES256 63343966303066626336623630636330363437646133393865303933613337336362343638363862 6438346633663334626136353033663536633937623239660a303032306564323462626638616534 diff --git a/services/cojedzie/environment b/services/cojedzie/environment new file mode 100644 index 0000000..35b8bb2 --- /dev/null +++ b/services/cojedzie/environment @@ -0,0 +1,3 @@ +MERCURE_URL=http://mercure/.well-known/mercure +MERCURE_PUBLIC_URL=https://{{ cojedzie_domain }}/.well-known/mercure +MERCURE_JWT_SECRET={{ cojedzie_mercure_jwt_key }} diff --git a/services/cojedzie/stack.yml b/services/cojedzie/stack.yml index a75ebe5..fcc2511 100644 --- a/services/cojedzie/stack.yml +++ b/services/cojedzie/stack.yml @@ -10,12 +10,14 @@ services: - db_data:/var/db environment: - TRUSTED_PROXIES=10.0.0.0/8 + env_file: + - ./environment deploy: mode: replicated replicas: 1 labels: - traefik.enable=true - - traefik.http.routers.{{ service }}-api.rule=(Host(`{{ service }}.{{ main_domain }}`) || Host(`cojedzie.pl`)) && PathPrefix(`/api/`) + - traefik.http.routers.{{ service }}-api.rule=(Host(`{{ service }}.{{ main_domain }}`) || Host(`{{ cojedzie_domain }}`)) && PathPrefix(`/api/`) - traefik.http.routers.{{ service }}-api.priority=100 - traefik.http.routers.{{ service }}-api.tls=true - traefik.http.routers.{{ service }}-api.tls.certresolver=lets-encrypt @@ -28,6 +30,8 @@ services: - default volumes: - db_data:/var/db + env_file: + - ./environment deploy: mode: replicated replicas: 0 @@ -37,12 +41,46 @@ services: restart_policy: condition: none - worker: - image: cojedzie/worker:latest + cron: + image: cojedzie/cron:latest + env_file: + - ./environment volumes: - db_data:/var/db depends_on: - api + + worker: + image: cojedzie/worker:latest + env_file: + - ./environment + volumes: + - db_data:/var/db + depends_on: + - api + + mercure: + image: dunglas/mercure + networks: + - "{{ ingress_network }}" + - default + environment: + SERVER_NAME: ':80' + USE_FORWARDED_HEADERS: 1 + MERCURE_PUBLISHER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}' + MERCURE_SUBSCRIBER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}' + volumes: + - mercure_data:/data + - mercure_config:/config + deploy: + mode: replicated + replicas: 1 + labels: + - traefik.enable=true + - traefik.http.routers.{{ service }}-mercure.rule=(Host(`{{ service }}.{{ main_domain }}`) || Host(`{{ cojedzie_domain }}`)) && PathPrefix(`/.well-known/mercure`) + - traefik.http.routers.{{ service }}-mercure.tls=true + - traefik.http.routers.{{ service }}-mercure.tls.certresolver=lets-encrypt + - traefik.http.services.{{ service }}-mercure.loadbalancer.server.port=80 front: image: cojedzie/front:latest @@ -58,10 +96,12 @@ services: replicas: 1 labels: - traefik.enable=true - - traefik.http.routers.{{ service }}-front.rule=Host(`{{ service }}.{{ main_domain }}`) || Host(`cojedzie.pl`) + - traefik.http.routers.{{ service }}-front.rule=Host(`{{ service }}.{{ main_domain }}`) || Host(`{{ cojedzie_domain }}`) - traefik.http.routers.{{ service }}-front.tls=true - traefik.http.routers.{{ service }}-front.tls.certresolver=lets-encrypt - traefik.http.services.{{ service }}-front.loadbalancer.server.port=3000 volumes: db_data: ~ + mercure_data: ~ + mercure_config: ~ diff --git a/services/cojedzie/tasks/config.yaml b/services/cojedzie/tasks/config.yaml new file mode 100644 index 0000000..f2a679a --- /dev/null +++ b/services/cojedzie/tasks/config.yaml @@ -0,0 +1,7 @@ +--- +- name: 'Generate env_file for "{{ service }}"' + template: + src: "{{ service_path }}/environment" + dest: "{{ remote_service_path }}/environment" + tags: + - config diff --git a/services/cojedzie/vars/main.yml b/services/cojedzie/vars/main.yml index cc7e1d2..a11c42e 100644 --- a/services/cojedzie/vars/main.yml +++ b/services/cojedzie/vars/main.yml @@ -1,3 +1,12 @@ --- +cojedzie_domain: cojedzie.pl cojedzie_update_cron: 0 0 4 * * * cojedzie_gtm: "" +cojedzie_mercure_jwt_key: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 30383839613764393562623137373934333530636564313633303062323661376333653136383066 + 6635653934313233346662653632356365343731396139330a663035636537646465353537646162 + 30356136613430316564346665653263383164333833383531353532316239316433306636303165 + 3931313836313133390a316562333130366435633335613066373232363439623932656532373032 + 62646432343334346165653466633634356635323038306435343932386233323164633134373964 + 6232656562626566663964643634366532393136383261333931