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:
@@ -12,6 +12,8 @@ agentd:
|
||||
max_rounds_per_thread: 8 # rebuild the executor thread (with a handoff summary) after this many rounds
|
||||
comment_max_chars: 6000
|
||||
cli_terminal: oregon # identity used by `agentd new/comment/state/assign`
|
||||
# ssh_key: AGENTD_SSH_KEY # direct-ssh: Vault key / env var of the dedicated private key (default)
|
||||
# ssh_dir: /run/plane-agentd/ssh # direct-ssh: ControlMaster sockets + generated known_hosts (default state_dir/ssh)
|
||||
|
||||
# Plane webhook receiver (`agentd webhook-serve`, docs/runbook.md "Webhook"); leave the section out to run on cron only.
|
||||
webhook:
|
||||
@@ -27,7 +29,10 @@ notify: {kind: none} # notification hook: only `none` (no-op) e
|
||||
|
||||
terminals:
|
||||
win10:
|
||||
transport: warpgate-ssh
|
||||
transport: warpgate-ssh # or direct-ssh over Tailscale (design §9, docs/deploy-lxc.md "直连 SSH"):
|
||||
# transport: direct-ssh
|
||||
# ssh: {host: 100.123.209.19, user: administrator, port: 22, host_key: "ssh-ed25519 AAAA..."} # pinned host key
|
||||
# fallback: warpgate-ssh # used only when the direct path fails before the command ran
|
||||
target: win10
|
||||
os: windows
|
||||
launch: schtasks
|
||||
|
||||
+18
-6
@@ -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
|
||||
|
||||
+16
-2
@@ -33,7 +33,9 @@
|
||||
"interval": {"type": "integer", "minimum": 10},
|
||||
"max_rounds_per_thread": {"type": "integer", "minimum": 1},
|
||||
"comment_max_chars": {"type": "integer", "minimum": 500},
|
||||
"cli_terminal": {"type": "string"}
|
||||
"cli_terminal": {"type": "string"},
|
||||
"ssh_dir": {"type": "string"},
|
||||
"ssh_key": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"webhook": {
|
||||
@@ -71,8 +73,20 @@
|
||||
"required": ["transport", "os", "launch", "repo", "plane_user", "token_key", "executors"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"transport": {"enum": ["local", "warpgate-ssh"]},
|
||||
"transport": {"enum": ["local", "warpgate-ssh", "direct-ssh"]},
|
||||
"target": {"type": "string"},
|
||||
"ssh": {
|
||||
"type": "object",
|
||||
"required": ["host", "user", "host_key"],
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"host": {"type": "string"},
|
||||
"user": {"type": "string"},
|
||||
"port": {"type": "integer", "minimum": 1},
|
||||
"host_key": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"fallback": {"enum": ["warpgate-ssh"]},
|
||||
"os": {"enum": ["linux", "darwin", "windows"]},
|
||||
"launch": {"enum": ["subprocess", "nohup", "schtasks"]},
|
||||
"repo": {"type": "string"},
|
||||
|
||||
Reference in New Issue
Block a user