diff --git a/defaults/main.yml b/defaults/main.yml index d9b7fce6e507df145901417e6184dd46c9e9d570..b4ef05db9c8da4533d79dc5186f1b929399396f3 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -4,7 +4,10 @@ ## Odoo PostgreSQL version odoo_db_version: '13' ## Odoo version -odoo_version: '14.0' +odoo_version: '16.0' + +## Odoo websocket URI (websocket from 16.0 onwards, longpolling before) +websocket_uri: 'websocket' ## Custom modules default URL for retrieving custom modules : custom_modules_base_url: "https://sources.le-filament.com/lefilament" diff --git a/templates/prod.yaml.j2 b/templates/prod.yaml.j2 index fafe33f4a1e396770ddade4911ab858928b4adb4..dd2eeef6f167aded6b1c3d93006060ca5088c83a 100644 --- a/templates/prod.yaml.j2 +++ b/templates/prod.yaml.j2 @@ -46,9 +46,9 @@ services: co.elastic.logs/multiline.match: "after" traefik.enable: "true" {% if ansible_processor_vcpus > 2 or odoo_prod.force_odoo_workers is defined %} - traefik.http.routers.odoo-longpolling.rule: "Host(`{{ odoo_prod.url }}`{% if odoo_prod.url2 is defined %}, `{{ odoo_prod.url2 }}`{% endif %}) && PathPrefix(`/longpolling/`)" - traefik.http.routers.odoo-longpolling.service: "odoo-longpolling" - traefik.http.services.odoo-longpolling.loadbalancer.server.port: "8072" + traefik.http.routers.odoo-{{ websocket_uri }}.rule: "Host(`{{ odoo_prod.url }}`{% if odoo_prod.url2 is defined %}, `{{ odoo_prod.url2 }}`{% endif %}) && PathPrefix(`/{{ websocket_uri }}/`)" + traefik.http.routers.odoo-{{ websocket_uri }}.service: "odoo-{{ websocket_uri }}" + traefik.http.services.odoo-{{ websocket_uri }}.loadbalancer.server.port: "8072" {% endif %} traefik.http.routers.odoo-restrict.middlewares: "auth@file" traefik.http.routers.odoo-restrict.rule: "Host(`{{ odoo_prod.url }}`{% if odoo_prod.url2 is defined %}, `{{ odoo_prod.url2 }}`{% endif %}) && Path(`/website/info`, `/web/database/{p:manager|create|duplicate|drop|backup|restore|change_password}`)" diff --git a/templates/test.yaml.j2 b/templates/test.yaml.j2 index 2be7180c4d2e2ff25f67df58650a803d6a557e9f..945f872003df1356225e053f7ee8dbbc57e08a3e 100644 --- a/templates/test.yaml.j2 +++ b/templates/test.yaml.j2 @@ -36,9 +36,9 @@ services: co.elastic.logs/enabled: "false" traefik.enable: "true" {% if ansible_processor_vcpus > 2 or item.force_odoo_workers is defined %} - traefik.http.routers.{{ item.dir }}-longpolling.rule: "Host(`{{ item.url }}`) && PathPrefix(`/longpolling/`)" - traefik.http.routers.{{ item.dir }}-longpolling.service: "{{ item.dir }}-longpolling" - traefik.http.services.{{ item.dir }}-longpolling.loadbalancer.server.port: "8072" + traefik.http.routers.{{ item.dir }}-{{ websocket_uri }}.rule: "Host(`{{ item.url }}`) && PathPrefix(`/{{ websocket_uri }}/`)" + traefik.http.routers.{{ item.dir }}-{{ websocket_uri }}.service: "{{ item.dir }}-{{ websocket_uri }}" + traefik.http.services.{{ item.dir }}-{{ websocket_uri }}.loadbalancer.server.port: "8072" {% endif %} traefik.http.routers.{{ item.dir }}-restrict.middlewares: "auth@file" traefik.http.routers.{{ item.dir }}-restrict.rule: "Host(`{{ item.url }}`) && Path(`/website/info`, `/web/database/{p:manager|create|duplicate|drop|backup|restore|change_password}`)"