From ce4a82a3998255feea98b8a9f3cac3caab82f8d5 Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Sun, 11 Jun 2023 22:44:01 +0200 Subject: [PATCH] cojedzie: Bump version to 2023.1.0 --- services/cojedzie-next/stack.yml | 100 ------------------ services/cojedzie-next/tasks/config.yaml | 13 --- services/cojedzie-next/vars/main.yml | 23 ---- services/cojedzie/environment | 5 - services/cojedzie/stack.yml | 57 +++++----- services/cojedzie/tasks/config.yaml | 12 ++- .../tasks/pre-deploy.yaml | 0 .../templates/api.env | 0 .../templates/front.env | 0 .../templates/sentry.env | 0 services/cojedzie/vars/main.yml | 28 +++-- vars/services.yml | 20 +++- 12 files changed, 77 insertions(+), 181 deletions(-) delete mode 100644 services/cojedzie-next/stack.yml delete mode 100644 services/cojedzie-next/tasks/config.yaml delete mode 100644 services/cojedzie-next/vars/main.yml delete mode 100644 services/cojedzie/environment rename services/{cojedzie-next => cojedzie}/tasks/pre-deploy.yaml (100%) rename services/{cojedzie-next => cojedzie}/templates/api.env (100%) rename services/{cojedzie-next => cojedzie}/templates/front.env (100%) rename services/{cojedzie-next => cojedzie}/templates/sentry.env (100%) diff --git a/services/cojedzie-next/stack.yml b/services/cojedzie-next/stack.yml deleted file mode 100644 index a646045..0000000 --- a/services/cojedzie-next/stack.yml +++ /dev/null @@ -1,100 +0,0 @@ -version: "{{ compose_version }}" - -services: - api: - image: {{ cojedzie_image_base }}/api:{{ cojedzie_version }} - networks: - - "{{ ingress_network }}" - - default - volumes: - - db_data:/var/db - environment: - - TRUSTED_PROXIES=10.0.0.0/8 - env_file: - - ./api.env - - ./sentry.env - deploy: - mode: replicated - replicas: 1 - update_config: - parallelism: 1 - order: start-first - labels: - - traefik.enable=true - - traefik.http.routers.{{ service }}-api.rule=({{ traefik_routing_rule }}) && (PathPrefix(`/api/`) || PathPrefix(`/bundles/`)) - - traefik.http.routers.{{ service }}-api.priority=100 - - traefik.http.routers.{{ service }}-api.tls=true - - traefik.http.routers.{{ service }}-api.tls.certresolver=lets-encrypt - - traefik.http.services.{{ service }}-api.loadbalancer.server.port=8080 - - cron: - image: {{ cojedzie_image_base }}/cron:{{ cojedzie_version }} - env_file: - - ./api.env - - ./sentry.env - volumes: - - db_data:/var/db - depends_on: - - api - - worker: - image: {{ cojedzie_image_base }}/worker:{{ cojedzie_version }} - env_file: - - ./api.env - - ./sentry.env - volumes: - - db_data:/var/db - depends_on: - - api - - mercure: - image: dunglas/mercure:{{ cojedzie_mercure_version|default('latest') }} - 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=({{ traefik_routing_rule }}) && 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_image_base }}/front:{{ cojedzie_version }} - networks: - - "{{ ingress_network }}" - - default - depends_on: - - api - env_file: - - ./front.env - - ./sentry.env - deploy: - mode: replicated - replicas: 1 - update_config: - parallelism: 1 - order: start-first - labels: - - traefik.enable=true - - traefik.http.routers.{{ service }}-front.rule={{ traefik_routing_rule }} - - traefik.http.routers.{{ service }}-front.tls=true - - traefik.http.routers.{{ service }}-front.tls.certresolver=lets-encrypt - - traefik.http.routers.{{ service }}-front.middlewares=gzip@file - - traefik.http.services.{{ service }}-front.loadbalancer.server.port=3000 - -volumes: - db_data: ~ - mercure_data: ~ - mercure_config: ~ diff --git a/services/cojedzie-next/tasks/config.yaml b/services/cojedzie-next/tasks/config.yaml deleted file mode 100644 index 7480a7d..0000000 --- a/services/cojedzie-next/tasks/config.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: 'Generate env files for "{{ service }}"' - template: - src: "{{ service_path }}/templates/{{ file }}" - dest: "{{ remote_service_path }}/{{ file }}" - tags: - - config - loop_control: - loop_var: file - with_items: - - api.env - - front.env - - sentry.env diff --git a/services/cojedzie-next/vars/main.yml b/services/cojedzie-next/vars/main.yml deleted file mode 100644 index a5acc2a..0000000 --- a/services/cojedzie-next/vars/main.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -cojedzie_domain: next.cojedzie.pl -cojedzie_update_cron: 0 0 4 * * * -cojedzie_gtm: "" -cojedzie_mercure_jwt_key: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 63343966303066626336623630636330363437646133393865303933613337336362343638363862 - 6438346633663334626136353033663536633937623239660a303032306564323462626638616534 - 39373765623739623134336332326537613338353936376434353263616630393062613365613638 - 3739383365353837310a613931333264386365663730646163383639383563313066643438326465 - 30633666343736323539326133626664356462356466323366633738613436636535353963663536 - 3837383838613130646365633232613530303863393866613830 -cojedzie_maptiler: 1gwEkcI3lbNcEb0MOoOu -cojedzie_image_base: registry.kadet.net/cojedzie -cojedzie_version: next -sentry_dsn_api: https://fd114053dd724e0eb16011ac0da16ba1@o4505224124891136.ingest.sentry.io/4505224126332928 -sentry_dsn_front: https://2815d4e0251240fcb9cd8c81c31e86fe@o4505224124891136.ingest.sentry.io/4505224128233472 -sentry_sample_rate_api: 0.005 -sentry_sample_rate_front: 0.05 -sentry_session_replay_rate: 0.01 -sentry_error_replay_rate: 0.25 -sentry_environment: next -traefik_routing_rule: "Host(`{{ cojedzie_domain }}`) || Host(`{{ service }}.{{ main_domain }}`)" diff --git a/services/cojedzie/environment b/services/cojedzie/environment deleted file mode 100644 index b3fbcd7..0000000 --- a/services/cojedzie/environment +++ /dev/null @@ -1,5 +0,0 @@ -MERCURE_URL=http://mercure/.well-known/mercure -MERCURE_PUBLIC_URL=https://{{ cojedzie_domain }}/.well-known/mercure -MERCURE_JWT_SECRET={{ cojedzie_mercure_jwt_key }} - -DATABASE_URL=mysql://{{ cojedzie_database.user }}:{{ cojedzie_database.password }}@{{ database_mysql_host }}/{{ cojedzie_database.name }}?serverVersion=mariadb-10.7.1 diff --git a/services/cojedzie/stack.yml b/services/cojedzie/stack.yml index 390340f..a646045 100644 --- a/services/cojedzie/stack.yml +++ b/services/cojedzie/stack.yml @@ -1,17 +1,18 @@ -version: '{{ compose_version }}' +version: "{{ compose_version }}" services: api: - image: cojedzie/api:{{ cojedzie_version }} - networks: + image: {{ cojedzie_image_base }}/api:{{ cojedzie_version }} + networks: - "{{ ingress_network }}" - default - volumes: + volumes: - db_data:/var/db environment: - TRUSTED_PROXIES=10.0.0.0/8 env_file: - - ./environment + - ./api.env + - ./sentry.env deploy: mode: replicated replicas: 1 @@ -20,40 +21,42 @@ services: order: start-first labels: - traefik.enable=true - - traefik.http.routers.{{ service }}-api.rule=(Host(`{{ service }}.{{ main_domain }}`) || Host(`{{ cojedzie_domain }}`)) && (PathPrefix(`/api/`) || PathPrefix(`/bundles/`)) + - traefik.http.routers.{{ service }}-api.rule=({{ traefik_routing_rule }}) && (PathPrefix(`/api/`) || PathPrefix(`/bundles/`)) - traefik.http.routers.{{ service }}-api.priority=100 - traefik.http.routers.{{ service }}-api.tls=true - traefik.http.routers.{{ service }}-api.tls.certresolver=lets-encrypt - traefik.http.services.{{ service }}-api.loadbalancer.server.port=8080 - + cron: - image: cojedzie/cron:{{ cojedzie_version }} + image: {{ cojedzie_image_base }}/cron:{{ cojedzie_version }} env_file: - - ./environment - volumes: + - ./api.env + - ./sentry.env + volumes: - db_data:/var/db depends_on: - api - + worker: - image: cojedzie/worker:{{ cojedzie_version }} + image: {{ cojedzie_image_base }}/worker:{{ cojedzie_version }} env_file: - - ./environment - volumes: + - ./api.env + - ./sentry.env + volumes: - db_data:/var/db depends_on: - api mercure: - image: dunglas/mercure - networks: + image: dunglas/mercure:{{ cojedzie_mercure_version|default('latest') }} + networks: - "{{ ingress_network }}" - default environment: - SERVER_NAME: ':80' + SERVER_NAME: ":80" USE_FORWARDED_HEADERS: 1 - MERCURE_PUBLISHER_JWT_KEY: '{{ cojedzie_mercure_jwt_key }}' - MERCURE_SUBSCRIBER_JWT_KEY: '{{ cojedzie_mercure_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 @@ -62,21 +65,21 @@ services: 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.rule=({{ traefik_routing_rule }}) && 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:{{ cojedzie_version }} - networks: + image: {{ cojedzie_image_base }}/front:{{ cojedzie_version }} + networks: - "{{ ingress_network }}" - default depends_on: - api - environment: - - COJEDZIE_GTM={{ cojedzie_gtm }} - - COJEDZIE_MAPTILER_KEY={{ cojedzie_maptiler }} + env_file: + - ./front.env + - ./sentry.env deploy: mode: replicated replicas: 1 @@ -85,10 +88,10 @@ services: order: start-first labels: - traefik.enable=true - - traefik.http.routers.{{ service }}-front.rule=Host(`{{ service }}.{{ main_domain }}`) || Host(`{{ cojedzie_domain }}`) + - traefik.http.routers.{{ service }}-front.rule={{ traefik_routing_rule }} - traefik.http.routers.{{ service }}-front.tls=true - - traefik.http.routers.{{ service }}-front.middlewares=gzip@file - traefik.http.routers.{{ service }}-front.tls.certresolver=lets-encrypt + - traefik.http.routers.{{ service }}-front.middlewares=gzip@file - traefik.http.services.{{ service }}-front.loadbalancer.server.port=3000 volumes: diff --git a/services/cojedzie/tasks/config.yaml b/services/cojedzie/tasks/config.yaml index f2a679a..7480a7d 100644 --- a/services/cojedzie/tasks/config.yaml +++ b/services/cojedzie/tasks/config.yaml @@ -1,7 +1,13 @@ --- -- name: 'Generate env_file for "{{ service }}"' +- name: 'Generate env files for "{{ service }}"' template: - src: "{{ service_path }}/environment" - dest: "{{ remote_service_path }}/environment" + src: "{{ service_path }}/templates/{{ file }}" + dest: "{{ remote_service_path }}/{{ file }}" tags: - config + loop_control: + loop_var: file + with_items: + - api.env + - front.env + - sentry.env diff --git a/services/cojedzie-next/tasks/pre-deploy.yaml b/services/cojedzie/tasks/pre-deploy.yaml similarity index 100% rename from services/cojedzie-next/tasks/pre-deploy.yaml rename to services/cojedzie/tasks/pre-deploy.yaml diff --git a/services/cojedzie-next/templates/api.env b/services/cojedzie/templates/api.env similarity index 100% rename from services/cojedzie-next/templates/api.env rename to services/cojedzie/templates/api.env diff --git a/services/cojedzie-next/templates/front.env b/services/cojedzie/templates/front.env similarity index 100% rename from services/cojedzie-next/templates/front.env rename to services/cojedzie/templates/front.env diff --git a/services/cojedzie-next/templates/sentry.env b/services/cojedzie/templates/sentry.env similarity index 100% rename from services/cojedzie-next/templates/sentry.env rename to services/cojedzie/templates/sentry.env diff --git a/services/cojedzie/vars/main.yml b/services/cojedzie/vars/main.yml index b8884c7..7994ac9 100644 --- a/services/cojedzie/vars/main.yml +++ b/services/cojedzie/vars/main.yml @@ -1,13 +1,23 @@ --- cojedzie_domain: cojedzie.pl -cojedzie_update_cron: 0 0 4 * * * +cojedzie_update_cron: 0 0 4 * * * cojedzie_gtm: "" cojedzie_mercure_jwt_key: !vault | - $ANSIBLE_VAULT;1.1;AES256 - 30383839613764393562623137373934333530636564313633303062323661376333653136383066 - 6635653934313233346662653632356365343731396139330a663035636537646465353537646162 - 30356136613430316564346665653263383164333833383531353532316239316433306636303165 - 3931313836313133390a316562333130366435633335613066373232363439623932656532373032 - 62646432343334346165653466633634356635323038306435343932386233323164633134373964 - 6232656562626566663964643634366532393136383261333931 -cojedzie_maptiler: 8GX5FRUNgk4lB83GZT8Q + $ANSIBLE_VAULT;1.1;AES256 + 30383839613764393562623137373934333530636564313633303062323661376333653136383066 + 6635653934313233346662653632356365343731396139330a663035636537646465353537646162 + 30356136613430316564346665653263383164333833383531353532316239316433306636303165 + 3931313836313133390a316562333130366435633335613066373232363439623932656532373032 + 62646432343334346165653466633634356635323038306435343932386233323164633134373964 + 6232656562626566663964643634366532393136383261333931 +cojedzie_maptiler: 8GX5FRUNgk4lB83GZT8Q +cojedzie_image_base: docker.io/cojedzie +cojedzie_version: latest +sentry_dsn_api: https://fd114053dd724e0eb16011ac0da16ba1@o4505224124891136.ingest.sentry.io/4505224126332928 +sentry_dsn_front: https://2815d4e0251240fcb9cd8c81c31e86fe@o4505224124891136.ingest.sentry.io/4505224128233472 +sentry_sample_rate_api: 0.05 +sentry_sample_rate_front: 0.01 +sentry_session_replay_rate: 0.01 +sentry_error_replay_rate: 0.25 +sentry_environment: prod +traefik_routing_rule: "Host(`{{ cojedzie_domain }}`) || Host(`{{ service }}.{{ main_domain }}`)" diff --git a/vars/services.yml b/vars/services.yml index 4b8f0f2..b067c81 100644 --- a/vars/services.yml +++ b/vars/services.yml @@ -159,17 +159,35 @@ service_config: 62643132313336356365313465353263626565616434633963343764653330316566613633633638 623838613832393239343036396439383561 cojedzie: - cojedzie_version: "2022.3.1" + cojedzie_version: "2023.1.0" cojedzie_gtm: GTM-TQNX386 + cojedzie_database: name: cojedzie user: cojedzie password: "{{ mysql_user_passwords['cojedzie'] }}" cojedzie-next: + template: cojedzie + + cojedzie_domain: next.cojedzie.pl + cojedzie_image_base: registry.kadet.net/cojedzie + + cojedzie_maptiler: 1gwEkcI3lbNcEb0MOoOu + cojedzie_mercure_jwt_key: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 63343966303066626336623630636330363437646133393865303933613337336362343638363862 + 6438346633663334626136353033663536633937623239660a303032306564323462626638616534 + 39373765623739623134336332326537613338353936376434353263616630393062613365613638 + 3739383365353837310a613931333264386365663730646163383639383563313066643438326465 + 30633666343736323539326133626664356462356466323366633738613436636535353963663536 + 3837383838613130646365633232613530303863393866613830 + cojedzie_database: name: cojedzie-next user: cojedzie-next password: "{{ mysql_user_passwords['cojedzie-next'] }}" + + sentry_environment: next registry: registry_users: - "{{ swarm_registry_user }}"