feat(C): remote deployment correctness — PVE runtime, DB record, Traefik (REQ-166)
- deployRemote branches on runtime: pve-ct/pve-vm on proxmox nodes invoke runtime.Registry.Prepare+Start (creates LXC/VM via SSH); process runtime on linux nodes uses systemd emitter; process on proxmox is rejected with clear error - deployRemote emits Traefik dynamic config when spec has ports (TraefikEmitter.Render + SSH-push to /etc/traefik/dynamic/) - model.Job: added Node field so job list --json reports deployed node - job run remote case: inserts model.Job + alloc_history after deployRemote succeeds (job list and job stop now work for remote) - --target name lookup: legacy dispatcher tries NodeID match - job list UX: short 8-char IDs, NODE column, conditional EXIT (- for non-terminal statuses) - emitter/traefik.go: directory provider (was single file), pve-ct/pve-vm registered in RegisterTraefik - runtime/pve.go: shellQuote for image, idempotent create check ---ci--- project: orca milestone: v0.12.18 phase: C status: complete requirements: covered: [166] ---/ci---
This commit is contained in:
@@ -152,7 +152,7 @@ func (d *Dispatcher) dispatchTo(ctx context.Context, targetNode string, specByte
|
||||
return d.dispatchToPeer(ctx, p, specBytes, idempotencyKey)
|
||||
}
|
||||
}
|
||||
return "", "", fmt.Errorf("dispatchTo: target node %q not found in peer registry", targetNode)
|
||||
return "", "", fmt.Errorf("dispatchTo: target node %q not found in peer registry (looked up by ID and name)", targetNode)
|
||||
}
|
||||
|
||||
// dispatchToPeer opens an mTLS client and calls Submit on the peer.
|
||||
|
||||
Reference in New Issue
Block a user