PAD-12: per-terminal transport (direct Tailscale SSH or Warpgate, pre-session fallback, pinned host keys, agent key from Vault), one-call win10 launch and one-call collect, remote call timings, agentd ping

This commit is contained in:
jj.wang
2026-10-22 02:59:37 +00:00
parent 83bc0f243c
commit 5192e04088
23 changed files with 1850 additions and 132 deletions
+18 -6
View File
@@ -1,5 +1,5 @@
# plane-agentd live configuration on the LXC agentd-01 (/opt/plane-agentd, runs as root; docs/deploy-lxc.md).
# No secrets: token_key values are Vault key names; the tokens are injected by
# No secrets: token_key / ssh_key values are Vault key names; the values are injected by
# `agent-access.py exec --secret-env KEY=KEY` (cron/agentd-tick-lxc.sh). Rollback to oregon: config/agentd.oregon.yaml.
plane: {base_url: https://plane.kappiee.com, workspace: kappiee}
vault: {client: ~/.local/share/server-access-client/agent-access.py, config: https://nas.tail9531b.ts.net:8443/identity/agent.json}
@@ -12,6 +12,10 @@ agentd:
max_rounds_per_thread: 8
comment_max_chars: 6000
cli_terminal: oregon
# direct-ssh (PAD-12, docs/deploy-lxc.md "直连 SSH"): the dedicated key comes from Vault AGENTD_SSH_KEY via
# --secret-env; ControlMaster sockets and the known_hosts generated from the pinned host keys live in ssh_dir
ssh_key: AGENTD_SSH_KEY
ssh_dir: /run/plane-agentd/ssh
# Plane webhook receiver (`agentd webhook-serve`, systemd plane-agentd-webhook.service; docs/runbook.md "Webhook").
# One workspace-level Plane webhook (work items + comments) -> POST http://10.77.10.249:8790/plane -> one tick.
@@ -30,8 +34,13 @@ notify: {kind: none} # notification hook, no-op (no ntfy servic
terminals:
win10:
transport: warpgate-ssh
target: win10
# direct over Tailscale (PAD-12); Warpgate only when the direct path fails before a command ran.
# Rollback: transport: warpgate-ssh (ssh/fallback may stay, they are ignored then)
transport: direct-ssh
ssh: {host: 100.123.209.19, user: administrator, port: 22,
host_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFzLX7QNHDFYwTgY4wNl0ihZryIyKgpp9HPpPDWbrTX3"}
fallback: warpgate-ssh
target: win10 # Warpgate target of the fallback
os: windows
launch: schtasks
repo: 'C:\Users\Administrator\Documents\GwentAssistantProject\gwent'
@@ -44,9 +53,12 @@ terminals:
capabilities: [android, game]
executors: [codex]
oregon:
# the dispatcher (LXC, no agent CLIs) reaches oregon through Warpgate like any other host (design §9)
transport: warpgate-ssh
target: oregon # agent-access.py target name
# the dispatcher (LXC, no agent CLIs) reaches oregon directly over Tailscale, Warpgate as fallback (design §9)
transport: direct-ssh
ssh: {host: 100.127.58.78, user: ubuntu, port: 22,
host_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICUoI6W7npX+h/kHcXX3iy2XAWbNusrOjg28Xed75wWr"}
fallback: warpgate-ssh
target: oregon # agent-access.py target name (fallback)
os: linux
launch: nohup
repo: /home/ubuntu/Documents/wjj/project/gwent