furniture-bff/docs/runbooks/containerization.md
2026-03-11 10:30:48 -06:00

1.4 KiB

Containerization Runbook

Image Build

If the repo consumes internal packages from Gitea, pass feed credentials as build args.

docker build   --build-arg NUGET_FEED_USERNAME=<gitea-login>   --build-arg NUGET_FEED_TOKEN=<gitea-token>   -t agilewebs/furniture-bff:dev .

Local Run

docker run --rm -p 8080:8080 --name furniture-bff agilewebs/furniture-bff:dev

Health Probe

  • Path: /health
  • Fallback path: /healthz
  • Port: 8080

Runtime Notes

  • Requires FurnitureService__GrpcAddress to target furniture-service in distributed runs.
  • Requires ThalosAuth__BaseAddress to target thalos-bff session introspection endpoint.
  • For browser usage, configure FurnitureBff__AllowedOrigins with explicit origins (not *) so cookie credentials are permitted.
  • gRPC client contract protobuf is vendored at src/Furniture.Bff.Rest/Protos/furniture_runtime.proto to keep image builds repo-local.

Health Endpoint Consistency

  • Canonical probe: /health
  • Compatibility probe: /healthz
  • Container port: 8080

Demo Integration

  • Participates in: furniture demo compose stack.
  • Integration artifact path: greenfield/demo/furniture/docker-compose.yml

Known Limitations

  • Current runtime adapters are still predominantly in-memory for deterministic local/demo behavior.
  • Demo PostgreSQL seeds validate integration contracts and smoke determinism, but do not yet imply full persistence implementation parity.