mirror of
https://github.com/juanfont/headscale.git
synced 2026-03-26 11:21:27 +01:00
Add 39 test fixtures captured from Tailscale SaaS API responses to validate SSH policy compilation parity. Each JSON file contains the SSH policy section and expected compiled SSHRule arrays for 5 test nodes (3 user-owned, 2 tagged). Test series: SSH-A (basic), SSH-B (specific sources), SSH-C (destination combos), SSH-D (localpart), SSH-E (edge cases), SSH-F (multi-rule), SSH-G (acceptEnv). The data-driven TestSSHDataCompat harness uses cmp.Diff with principal order tolerance but strict rule ordering (first-match-wins semantics require exact order). Updates #3049
28 lines
769 B
JSON
28 lines
769 B
JSON
{
|
|
"test_id": "SSH-C3",
|
|
"policy_file": "ssh_policies/ssh_c3.json",
|
|
"ssh_section": [
|
|
{ "action": "accept", "src": ["kristoffer@dalby.cc"], "dst": ["kristoffer@dalby.cc"], "users": ["root"] }
|
|
],
|
|
"nodes": {
|
|
"user1": { "rules": [] },
|
|
"user-kris": {
|
|
"rules": [
|
|
{
|
|
"principals": [{ "nodeIP": "100.110.121.96" }, { "nodeIP": "fd7a:115c:a1e0::1737:7960" }],
|
|
"sshUsers": { "root": "root" },
|
|
"action": {
|
|
"accept": true,
|
|
"allowAgentForwarding": true,
|
|
"allowLocalPortForwarding": true,
|
|
"allowRemotePortForwarding": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"user-mon": { "rules": [] },
|
|
"tagged-server": { "rules": [] },
|
|
"tagged-prod": { "rules": [] }
|
|
}
|
|
}
|