Skip to content

feat(control-plane): expose furrow_public_addr in health - #888

Closed
AbirAbbas wants to merge 1 commit into
mainfrom
feat/health-furrow-addr
Closed

feat(control-plane): expose furrow_public_addr in health#888
AbirAbbas wants to merge 1 commit into
mainfrom
feat/health-furrow-addr

Conversation

@AbirAbbas

Copy link
Copy Markdown
Contributor

Summary

The desktop's workspace-sync probe (merged in #885, furrowAddressFrom in desktop/src/main/cloud.ts) reads a furrow_public_addr field from the control plane's health response — but no control-plane version emits that field, so furrowAvailable can never be true, even on a deployment where workspace sync is fully provisioned and reachable. Found while e2e-testing #885 + Agent-Field/SWE-AF#130 against a live cloud deployment.

Changes Made

  • The shared health handler (GET /health and GET /api/v1/health) now includes top-level furrow_public_addr when the FURROW_PUBLIC_ADDR env var is non-empty — the var the deploy engine already sets on provisioned services. When unset, the key is absent (not empty), matching what the desktop probe expects.
  • Handler test covering both cases (TestHealthCheckHandlerFurrowPublicAddr).

Test Plan

  • go test ./internal/server (new subtests set / empty pass)
  • go build ./..., go vet ./..., gofmt clean
  • Desktop-side consumer verified separately against a live cloud deployment (probe TLS-connects once this field is present)

🤖 Generated with Claude Code

The desktop's workspace-sync probe (PR #885) reads furrow_public_addr from
the health response body, but nothing emitted the field, so the probe could
never report availability. Emit it from the shared health handler when the
FURROW_PUBLIC_ADDR env var is set; omit the key entirely when it is not.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@AbirAbbas

Copy link
Copy Markdown
Contributor Author

Folded into #890 — same story, one PR instead of three.

@AbirAbbas AbirAbbas closed this Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant