oci_explorer_project_tasks - thesavant42/retrorecon GitHub Wiki
This document breaks down the user story from issue #560 into actionable tasks for implementing the OCI Explorer in Retrorecon.
-
Registry Access and Authentication
- Allow browsing of public registries without credentials by handling anonymous authentication automatically.
- Support optional credentials for private registries and store them securely for the session.
-
Manifest and Metadata Retrieval
- Add routes to fetch manifests and layer details using HTTP range requests so entire images are not downloaded.
- Display manifest data in collapsible tables with digests and sizes.
-
Virtual Filesystem Browser
- Implement
/fs/<digest>/<path>
to list directories and files as if runningls -al
. - Show permissions, owner, timestamps and size in columns with hyperlinks for deeper navigation.
- Provide a safe text or hex viewer with a download button for each file.
- Implement
-
Search and Indexing
- Index file and directory names plus user tags for fast keyword searches.
- Expose a search box that filters the virtual filesystem view.
-
Bookmarks and Tagging
- Enable bookmarking of registries, images and tags using existing annotation modules.
- Allow saved bookmarks to be recalled from the interface.
-
Layer and File Downloads
- Offer buttons to download entire layers or individual files via ranged reads with a lookback window.
-
Performance and Caching
- Cache partial tar data so repeated navigation is fast and comparable to https://oci.dag.dev/.
-
UI Integration
- Extend the current
oci_explorer
overlay or create new templates as needed. - Ensure metadata tables can be collapsed and progress indicators show during fetches.
- Extend the current
-
Documentation and Testing
- Document new routes in
docs/api_routes.md
and update the README feature list. - Add unit tests for manifest retrieval, filesystem browsing and downloads.
- Regenerate the Postman collection when routes are finalized.
- Document new routes in
- Implement registry authentication handling.
- Create manifest and layer retrieval routes with HTTP range support.
- Build
/fs/<digest>/<path>
browsing withls -al
style output. - Provide safe viewers and download buttons for files.
- Index file names and tags for keyword search.
- Add bookmarking capabilities tied into existing annotations.
- Support partial and full layer downloads.
- Cache partial tar data for quick navigation.
- Update templates and overlays for the new UI elements.
- Write unit tests and regenerate API documentation.