# Containerization Runbook ## Image Build If the repo consumes internal packages from Gitea, pass feed credentials as build args. ```bash docker build --build-arg NUGET_FEED_USERNAME= --build-arg NUGET_FEED_TOKEN= -t agilewebs/operations-service:dev . ``` ## Local Run ```bash docker run --rm -p 8080:8080 -e OperationsDal__BaseUrl=http://operations-dal:8080 --name operations-service agilewebs/operations-service:dev ``` ## Health Probe - Path: `/health` - Fallback path: `/healthz` - Port: `8080` ## Runtime Notes - Exposes internal control-plane evaluation/config endpoints. - Exposes shared lifecycle-backed endpoints for waiter assignments, customer order status, POS summaries/payment capture, and restaurant-admin service-window updates. - Requires access to the operations DAL host through `OperationsDal__BaseUrl`. ## Health Endpoint Consistency - Canonical probe: `/health` - Compatibility probe: `/healthz` - Container port: `8080` ## Demo Integration - Participates in: **restaurant** demo compose stack. - Integration artifact path: `greenfield/demo/restaurant/docker-compose.yml` ## Known Limitations - Kitchen ticket creation and state feedback are completed in the separate `kitchen-service` orchestration task. - Demo PostgreSQL seeds validate integration contracts and smoke determinism, but do not yet imply full persistence implementation parity.