feat: harden deployment and public api handoff
This commit is contained in:
23
progress.md
23
progress.md
@@ -272,6 +272,29 @@
|
||||
| Local health | `curl --noproxy '*' /api/health` | `ok: true` | `ok: true` | pass |
|
||||
| Docker CLI availability | `docker --version` | Docker version if installed | No Docker CLI output in current environment | not run |
|
||||
|
||||
## Session: 2026-05-29 - Deployable Handoff and Integration Surface
|
||||
|
||||
### Implementation
|
||||
- **Status:** complete
|
||||
- Actions taken:
|
||||
- Added `docs/DEPLOYMENT.md` for operations deployment, environment variables, health checks, runtime persistence, reverse proxy guidance, and validation checklist.
|
||||
- Added `docs/API.md` for partner authentication, task lifecycle, job creation, asset upload/register, asset query/download, idempotency, webhook signing, and error handling.
|
||||
- Linked deployment/API docs and the OpenAPI route from both README files.
|
||||
- Expanded `/api/v1/openapi.json` to document capabilities, assets, asset download, jobs, job detail, cancel, request schemas, response schemas, and API key auth.
|
||||
- Added authenticated `/api/v1/assets/:id` and `/api/v1/assets/:id/download` endpoints.
|
||||
- Restricted public asset listing/detail/download to assets visible to the authenticated API client.
|
||||
- Added API client tags to uploaded assets and API-generated output assets so long-lived integrations can query/download their own results.
|
||||
- Added a deploy-script health check and printed API documentation/OpenAPI hints after startup.
|
||||
|
||||
### Verification
|
||||
- **Status:** complete
|
||||
- Results:
|
||||
- `npm test`: 7 files / 21 tests passed.
|
||||
- `npm run build`: production build succeeded and included `/api/v1/assets/:id`, `/api/v1/assets/:id/download`, and `/api/v1/openapi.json`.
|
||||
- Local HTTP smoke test with a temporary API key returned `/api/v1/capabilities` and expanded OpenAPI paths.
|
||||
- Local HTTP smoke test uploaded a PNG through `/api/v1/assets`, fetched `/api/v1/assets/:id`, and downloaded matching binary bytes from `/api/v1/assets/:id/download`.
|
||||
- Mock-provider task flow created a queued job through `/api/v1/jobs`, Worker processed it to `succeeded`, generated output asset carried the API client tag, and download returned an attachment response.
|
||||
|
||||
## Error Log - Server Deployment Support
|
||||
| Timestamp | Error | Attempt | Resolution |
|
||||
|-----------|-------|---------|------------|
|
||||
|
||||
Reference in New Issue
Block a user