You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 4c35bc0
Browse filesBrowse the repository at this point in the historyBrowse files
fix: a service whose faces are gRPC and Connect alone loads, syncs and starts
The builder and the runtime refused every service without a REST endpoint
("builder load failed: no rest endpoint found"): both required one to map
uvicorn's port from. Under the one-Connect-face decision a module declares
its gRPC endpoint and the Connect face over it, and no REST surface.
- The app's HTTP listener serves the service's REST endpoint, or a plain
`api: http` one (probes, no API document), or none. Two are refused by
name: the process has one HTTP listener.
- With none, the app still runs under uvicorn, whose lifespan starts the gRPC
server and Connect face, on a loopback port the system picks and no
endpoint publishes. Start waits on the Connect face, else on a gRPC
HTTP/2 handshake, which an engine's proxy cannot fake.
- Deploy, which probes the HTTP listener, names the missing endpoint
instead of reporting missing health.
- Deleted: Create's swallow of a missing OpenAPI document (the factory
templates write it first) and the watcher's dead api.json check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
// The rendered pod is probed on the app's HTTP listener, the container's
556
+
// port 8080, which a service with no HTTP endpoint does not publish: say so
557
+
// rather than report the missing endpoint as missing health.
558
+
listener:=s.FastAPI.HTTPEndpoint
559
+
iflistener==nil {
560
+
returnnil, fmt.Errorf("the deployment probes the HTTP endpoint (api: rest or api: http), and the service declares none: declare the endpoint its probes answer on")
561
+
}
555
562
// The current Core manifest profile requires all three intents. Require
556
563
// an authored startup/restart policy instead of inventing one from readiness.
returnnil, fmt.Errorf("the Kubernetes manifest profile requires explicit endpoint health.startup and health.liveness; readiness is not a restart policy")
560
567
}
561
568
// A restricted render is what a cell runs, and a cell's execution
562
569
// admission refuses an exec probe: probe natively there.
0 commit comments