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.
This commit is contained in:
Haitao Pan 2026-06-21 09:55:12 +00:00
parent e51e07f210
commit c14962d572
9 changed files with 9 additions and 9 deletions

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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 }}"

View File

@ -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 }}"

View File

@ -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"