proposal.md 1.1 KB

Why

The localhost play that generates surge-client.conf references trojan_domain, trojan_port, and trojan_password, but these variables are defined in group_vars/landing.yml which only applies to hosts in the landing group. Since localhost is not in any host group, these variables are undefined, causing the playbook to fail at the template rendering step.

What Changes

  • Move trojan-related variables (trojan_domain, trojan_password, trojan_port, trojan_fallback_port) from group_vars/landing.yml to group_vars/all.yml so they are available when rendering the Surge template on localhost
  • Keep tls_cert_path and tls_key_path in group_vars/landing.yml since they are only needed on the landing server itself

Capabilities

New Capabilities

Modified Capabilities

Impact

  • group_vars/landing.yml: loses trojan variable definitions (moved to all.yml)
  • group_vars/all.yml: gains trojan variable definitions
  • No change to templates/surge-client.conf.j2 or site.yml — the fix is purely in variable scope