spec.md 1.2 KB

ADDED Requirements

Requirement: Surge client config is generated after deployment

The playbook SHALL render a Surge client configuration file on the Ansible controller using the actual deployed parameters (IPs, ports, passwords, domain).

Scenario: Surge config generated

  • WHEN the playbook completes server deployment
  • THEN a Surge client config is written to output/surge-client.conf on the Ansible controller
  • THEN the config contains actual relay IP, SS port, SS password, landing domain, Trojan password

Requirement: Generated config includes all proxy definitions and rules

The generated Surge config SHALL include the same proxy definitions, proxy groups, and routing rules as the previous reference config (Relay-SS, Landing-Trojan, Landing-Chain, Sukka's rulesets, China direct).

Scenario: Config structure matches reference

  • WHEN the generated config is loaded in Surge
  • THEN it contains [Proxy], [Proxy Group], and [Rule] sections with all expected entries

Requirement: Generated config is not committed to git

The output/ directory SHALL be listed in .gitignore.

Scenario: Output directory gitignored

  • WHEN the repository is inspected
  • THEN .gitignore contains output/