Pulse/scripts/release_control
rcourtman 9c3d96cab2 Add unified connections API (list + probe) with Disabled flag
Introduces GET /api/connections and POST /api/connections/probe as the
backend half of the one-ledger / one-editor connection redesign.

- GET /api/connections aggregates PVE/PBS/PMG/VMware/TrueNAS/agent rows
  into a unified Connection shape with derived state (active, paused,
  unauthorized, unreachable, stale, pending) computed from in-memory
  scheduler health plus agent Host.LastSeen. No new persisted state.
- POST /api/connections/probe fingerprints a host across the five
  supported products in parallel (2s dial + 1s read, 3s total, max 5
  concurrent). Admin-gated (RequireAdmin + ScopeSettingsWrite) to block
  unauthenticated SSRF against internal hosts.
- Disabled bool on PVEInstance/PBSInstance/PMGInstance (zero-value =
  enabled, preserves existing nodes.json); pollers skip disabled
  instances at client init, reconnect, and per-node iteration.
- NodeConfigRequest/Response gain Enabled; write path translates
  *bool -> Disabled so omitted field leaves state untouched.
- ConnectionsAPI frontend client (list/probe) typed off the Go shape.

Contracts updated: api-contracts, monitoring, agent-lifecycle,
performance-and-scalability, storage-recovery. Proofs added:
contract_test.go JSON snapshot for Connection and ProbeResponse,
monitoring guardrails for the Disabled-skip behavior, and a vitest
mock-client test for ConnectionsAPI.

Frontend editor / drawer / table rewrite lands in a separate block.
2026-04-19 11:42:53 +01:00
..
internal Remove blanket Community-visible upgrade marketing surfaces 2026-04-17 14:49:28 +01:00
agent_preflight.py Add canonical agent preflight gate 2026-03-20 10:23:29 +00:00
agent_preflight_test.py Add canonical agent preflight gate 2026-03-20 10:23:29 +00:00
canonical_completion_guard.py Add contract-neutral bypass to staged shape guard 2026-04-17 12:24:01 +01:00
canonical_completion_guard_test.py Add health-state indicators to Infrastructure, Storage, Workloads, and Recovery summaries 2026-04-19 08:35:45 +01:00
commercial_cancellation_reactivation_proof.py Restore public release proof entrypoints 2026-03-28 17:35:17 +00:00
commercial_cancellation_reactivation_rehearsal.py Restore public release proof entrypoints 2026-03-28 17:35:17 +00:00
contract_audit.py fix: remediate dependency alerts 2026-04-09 09:35:28 +01:00
contract_audit_test.py fix: remediate dependency alerts 2026-04-09 09:35:28 +01:00
control_plane.py Map legacy stable releases in control plane 2026-04-11 13:23:07 +01:00
control_plane_audit.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
control_plane_audit_test.py Map legacy stable releases in control plane 2026-04-11 13:23:07 +01:00
dev_runtime_governance_test.py Own promotion runbook and dispatch checks under installability 2026-03-25 17:28:19 +00:00
documentation_currentness_test.py docs(release-control): align v6 canonical promotion paths 2026-03-24 22:59:22 +00:00
format_staged_go.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
format_staged_go_test.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
generate_platform_support_frontend_module.py Govern platform onboarding paths 2026-04-10 17:02:16 +01:00
governance_stage_guard.py Make billing recovery route-owned and unblock governed commits 2026-04-08 22:11:10 +01:00
governance_stage_guard_test.py Make billing recovery route-owned and unblock governed commits 2026-04-08 22:11:10 +01:00
mobile_relay_auth_approvals_proof.py Restore public release proof entrypoints 2026-03-28 17:35:17 +00:00
proof_entrypoints_test.py Restore public release proof entrypoints 2026-03-28 17:35:17 +00:00
readiness_assertion_guard.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
readiness_assertion_guard_test.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
record_rc_to_ga_blocked.py Restore v6 development version semantics 2026-04-04 23:02:58 +01:00
record_rc_to_ga_rehearsal.py Govern RC-to-GA rehearsal record capture 2026-04-11 14:08:57 +01:00
registry_audit.py Own mobile relay runtime in L7 2026-03-28 18:07:44 +00:00
registry_audit_test.py Own mobile relay runtime in L7 2026-03-28 18:07:44 +00:00
relay_registration_reconnect_drain_proof.py Restore public release proof entrypoints 2026-03-28 17:35:17 +00:00
release_promotion_policy_support.py Govern RC-to-GA rehearsal record capture 2026-04-11 14:08:57 +01:00
release_promotion_policy_support_test.py Govern RC-to-GA rehearsal record capture 2026-04-11 14:08:57 +01:00
release_promotion_policy_test.py Fix published release body rendering 2026-04-16 22:20:17 +01:00
render_release_body.py Fix published release body rendering 2026-04-16 22:20:17 +01:00
render_release_body_test.py Fix published release body rendering 2026-04-16 22:20:17 +01:00
repo_file_io.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
repo_file_io_test.py feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
resolve_release_promotion.py Restore v6 development version semantics 2026-04-04 23:02:58 +01:00
resolve_release_promotion_test.py Restore v6 development version semantics 2026-04-04 23:02:58 +01:00
staged_commit_shape_guard.py Add contract-neutral bypass to staged shape guard 2026-04-17 12:24:01 +01:00
staged_commit_shape_guard_test.py Add contract-neutral bypass to staged shape guard 2026-04-17 12:24:01 +01:00
status_audit.py Polish prerelease audit wording 2026-03-25 11:32:39 +00:00
status_audit_test.py Reopen v6 release control as pre-RC hold 2026-04-04 22:47:37 +01:00
status_lookup.py Promote lane expansion as active v6 target 2026-03-19 09:45:43 +00:00
status_lookup_test.py Rename release control lookup fixture IDs 2026-03-19 14:55:14 +00:00
subsystem_contracts.py fix: remediate dependency alerts 2026-04-09 09:35:28 +01:00
subsystem_contracts_test.py fix: remediate dependency alerts 2026-04-09 09:35:28 +01:00
subsystem_lookup.py Govern public v6 preview ops ownership 2026-04-15 09:24:41 +01:00
subsystem_lookup_test.py Add unified connections API (list + probe) with Disabled flag 2026-04-19 11:42:53 +01:00
work_claim.py Add governed work-claim tooling 2026-03-19 10:06:39 +00:00
work_claim_test.py Add governed work-claim tooling 2026-03-19 10:06:39 +00:00