From c14962d572ee8d6fdf5399684a59c1f24ac4e436 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Sun, 21 Jun 2026 09:55:12 +0000 Subject: [PATCH] fix: quote strings in caddy_base_dir Jinja (invalid unquoted expr) caddy_base_dir was {{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }} with unquoted paths/value, so Jinja parsed '/' as division -> 'unexpected /' templating error (hit on acp_opencode). Quote the literals: '{{ "/opt/homebrew/etc/caddy" if ansible_os_family == "Darwin" else "/etc/caddy" }}' across the 9 affected roles. --- roles/docker/zitadel/defaults/main.yml | 2 +- roles/vhosts/accounts_service/defaults/main.yml | 2 +- roles/vhosts/acp_server_gemini/defaults/main.yml | 2 +- roles/vhosts/acp_server_opencode/defaults/main.yml | 2 +- roles/vhosts/acp_vhosts/defaults/main.yml | 2 +- roles/vhosts/apisix_service/defaults/main.yml | 2 +- roles/vhosts/console_service/defaults/main.yml | 2 +- roles/vhosts/docs_service/defaults/main.yml | 2 +- roles/vhosts/modern_it_history/defaults/main.yml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/roles/docker/zitadel/defaults/main.yml b/roles/docker/zitadel/defaults/main.yml index cc02440..eb6c0b1 100644 --- a/roles/docker/zitadel/defaults/main.yml +++ b/roles/docker/zitadel/defaults/main.yml @@ -8,7 +8,7 @@ zitadel_api_bind_host: 127.0.0.1 zitadel_api_port: 19080 zitadel_login_bind_host: 127.0.0.1 zitadel_login_port: 19081 -zitadel_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +zitadel_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" zitadel_caddyfile_path: "{{ zitadel_caddy_base_dir }}/Caddyfile" zitadel_caddy_conf_dir: "{{ zitadel_caddy_base_dir }}/conf.d" zitadel_caddy_fragment_path: "{{ zitadel_caddy_base_dir }}/conf.d/zitadel.caddy" diff --git a/roles/vhosts/accounts_service/defaults/main.yml b/roles/vhosts/accounts_service/defaults/main.yml index 664d774..8a6083c 100644 --- a/roles/vhosts/accounts_service/defaults/main.yml +++ b/roles/vhosts/accounts_service/defaults/main.yml @@ -12,7 +12,7 @@ accounts_service_shared_network: cn-toolkit-shared accounts_service_dns_servers: - 1.1.1.1 - 8.8.8.8 -accounts_service_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +accounts_service_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" accounts_service_caddyfile_path: "{{ accounts_service_caddy_base_dir }}/Caddyfile" accounts_service_caddy_conf_dir: "{{ accounts_service_caddy_base_dir }}/conf.d" accounts_service_caddy_fragment_path: "{{ accounts_service_caddy_base_dir }}/conf.d/accounts-contabo-e700175.caddy" diff --git a/roles/vhosts/acp_server_gemini/defaults/main.yml b/roles/vhosts/acp_server_gemini/defaults/main.yml index 8faa9c9..f971283 100644 --- a/roles/vhosts/acp_server_gemini/defaults/main.yml +++ b/roles/vhosts/acp_server_gemini/defaults/main.yml @@ -21,7 +21,7 @@ acp_gemini_bridge_use_prebuilt: "{{ lookup('ansible.builtin.env', 'AI_WORKSPACE_ acp_gemini_listen_host: 127.0.0.1 acp_gemini_listen_port: 8791 acp_gemini_packages: [] -acp_gemini_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +acp_gemini_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" acp_gemini_caddy_conf_dir: "{{ acp_gemini_caddy_base_dir }}/conf.d" acp_gemini_enable_ufw: false acp_gemini_caddyfile_path: "{{ acp_gemini_caddy_base_dir }}/Caddyfile" diff --git a/roles/vhosts/acp_server_opencode/defaults/main.yml b/roles/vhosts/acp_server_opencode/defaults/main.yml index 2b35a50..bdbe437 100644 --- a/roles/vhosts/acp_server_opencode/defaults/main.yml +++ b/roles/vhosts/acp_server_opencode/defaults/main.yml @@ -10,7 +10,7 @@ acp_opencode_workdir: "{{ ansible_env.HOME | default('/home/' + acp_opencode_ser acp_opencode_listen_host: 127.0.0.1 acp_opencode_listen_port: 38992 acp_opencode_packages: [] -acp_opencode_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +acp_opencode_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" acp_opencode_caddy_conf_dir: "{{ acp_opencode_caddy_base_dir }}/conf.d" acp_opencode_enable_ufw: false acp_opencode_caddyfile_path: "{{ acp_opencode_caddy_base_dir }}/Caddyfile" diff --git a/roles/vhosts/acp_vhosts/defaults/main.yml b/roles/vhosts/acp_vhosts/defaults/main.yml index 10a1567..512b0d5 100644 --- a/roles/vhosts/acp_vhosts/defaults/main.yml +++ b/roles/vhosts/acp_vhosts/defaults/main.yml @@ -1,6 +1,6 @@ --- acp_vhosts_domain: xworkmate-bridge.svc.plus -acp_vhosts_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +acp_vhosts_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" acp_vhosts_caddyfile_path: "{{ acp_vhosts_caddy_base_dir }}/Caddyfile" acp_vhosts_caddy_conf_dir: "{{ acp_vhosts_caddy_base_dir }}/conf.d" acp_vhosts_caddy_fragment_path: "{{ acp_vhosts_caddy_base_dir }}/conf.d/acp-server.caddy" diff --git a/roles/vhosts/apisix_service/defaults/main.yml b/roles/vhosts/apisix_service/defaults/main.yml index d18d5d5..3abfe13 100644 --- a/roles/vhosts/apisix_service/defaults/main.yml +++ b/roles/vhosts/apisix_service/defaults/main.yml @@ -4,7 +4,7 @@ apisix_service_root: /opt/svc-ai-gateway apisix_service_conf_dir: "{{ apisix_service_root }}/conf" apisix_service_docs_dir: "{{ apisix_service_root }}/docs" apisix_service_scripts_dir: "{{ apisix_service_root }}/scripts" -apisix_service_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +apisix_service_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" apisix_service_caddy_conf_dir: "{{ apisix_service_caddy_base_dir }}/conf.d" apisix_service_caddy_fragment_path: "{{ apisix_service_caddy_base_dir }}/conf.d/api.svc.plus.caddy" apisix_service_env_file: "{{ apisix_service_root }}/.env" diff --git a/roles/vhosts/console_service/defaults/main.yml b/roles/vhosts/console_service/defaults/main.yml index 46a863a..395c5eb 100644 --- a/roles/vhosts/console_service/defaults/main.yml +++ b/roles/vhosts/console_service/defaults/main.yml @@ -10,7 +10,7 @@ console_service_canonical_domain: "{{ lookup('ansible.builtin.vars', 'CANONICAL_ console_service_served_domains: "{{ lookup('ansible.builtin.vars', 'SERVED_DOMAINS', default=lookup('ansible.builtin.env', 'SERVED_DOMAINS') | default(console_service_canonical_domain, true)) }}" console_service_domain: "{{ console_service_canonical_domain }}" console_service_domain_slug: "{{ console_service_canonical_domain | replace('.', '-') }}" -console_service_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +console_service_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" console_service_caddy_conf_dir: "{{ console_service_caddy_base_dir }}/conf.d" console_service_caddy_fragment_name: "{{ console_service_server_name }}-{{ console_service_release_id }}-{{ console_service_hostname }}-{{ console_service_domain_slug }}.caddy" console_service_caddy_fragment_path: "{{ console_service_caddy_conf_dir }}/{{ console_service_caddy_fragment_name }}" diff --git a/roles/vhosts/docs_service/defaults/main.yml b/roles/vhosts/docs_service/defaults/main.yml index 08c9f4e..6fb1ce2 100644 --- a/roles/vhosts/docs_service/defaults/main.yml +++ b/roles/vhosts/docs_service/defaults/main.yml @@ -9,7 +9,7 @@ docs_service_hostname: "{{ inventory_hostname | default(ansible_facts['hostname' docs_service_canonical_domain: "{{ lookup('ansible.builtin.env', 'DOCS_CANONICAL_DOMAIN') | default('docs.svc.plus', true) }}" docs_service_served_domains: "{{ lookup('ansible.builtin.env', 'DOCS_SERVED_DOMAINS') | default(docs_service_canonical_domain, true) }}" docs_service_domain_slug: "{{ docs_service_canonical_domain | replace('.', '-') }}" -docs_service_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +docs_service_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" docs_service_caddy_conf_dir: "{{ docs_service_caddy_base_dir }}/conf.d" docs_service_caddy_fragment_name: "{{ docs_service_server_name }}-{{ docs_service_release_id }}-{{ docs_service_hostname }}-{{ docs_service_domain_slug }}.caddy" docs_service_caddy_fragment_path: "{{ docs_service_caddy_conf_dir }}/{{ docs_service_caddy_fragment_name }}" diff --git a/roles/vhosts/modern_it_history/defaults/main.yml b/roles/vhosts/modern_it_history/defaults/main.yml index 3f09c47..7ed8f7d 100644 --- a/roles/vhosts/modern_it_history/defaults/main.yml +++ b/roles/vhosts/modern_it_history/defaults/main.yml @@ -8,5 +8,5 @@ modern_it_history_current_dir: "{{ modern_it_history_root }}/current" modern_it_history_build_dir: "{{ modern_it_history_repo_dir }}/build" modern_it_history_update_interval: 5min modern_it_history_node_env: production -modern_it_history_caddy_base_dir: "{{ /opt/homebrew/etc/caddy if ansible_os_family == Darwin else /etc/caddy }}" +modern_it_history_caddy_base_dir: "{{ '/opt/homebrew/etc/caddy' if ansible_os_family == 'Darwin' else '/etc/caddy' }}" modern_it_history_caddy_conf_dir: "{{ modern_it_history_caddy_base_dir }}/conf.d"