Problem#
The Swagger UI at /swagger-ui only documents the admin API endpoints (/admin/users CRUD and permissions). All OCI Distribution Spec endpoints are missing from the OpenAPI documentation:
GET /v2/- Auth checkHEAD/GET /v2/{org}/{repo}/manifests/{reference}- Manifest operationsHEAD/GET /v2/{org}/{repo}/blobs/{digest}- Blob operationsPOST /v2/{org}/{repo}/blobs/uploads/- Initiate uploadPATCH/PUT /v2/{org}/{repo}/blobs/uploads/{reference}- Upload chunksPUT /v2/{org}/{repo}/manifests/{reference}- Push manifestDELETE /v2/{org}/{repo}/manifests/{reference}- Delete manifestDELETE /v2/{org}/{repo}/blobs/{digest}- Delete blobGET /v2/{org}/{repo}/tags/list- List tags
Proposed Solution#
Add utoipa annotations to all OCI endpoint handlers in blobs.rs, manifests.rs, tags.rs, and auth.rs, and include them in the OpenAPI doc generation in openapi.rs.
This would make the API self-documenting and allow users to explore and test endpoints via Swagger UI.