AntTP - Serving Autonomi data over HTTP

There is a new release out which should fix the above automatically. Change log:

  • Integrate proto compiler into native Rust build (#92) by @traktion in #94
    • Adds rmcp feature “transport-streamable-http-server-session” by @traktion in #97
  • Fix public archive download issues and improve CachingClient tests #93 by @traktion in #99
  • Immediately execute get pointer commands instead of queuing #98 by @traktion in #100
  • feat: add PNR sub-name resolution (#101) by @traktion in #102

It also bumps to the latest Autonomi 0.10.0 libs.

There is also a cool new PNR feature, where you can now create sub-names and resolve to them. It’s still experimental, but combined with the key/value support, pointer caching and chunk caching, it can make for very rapid key/value retrieval (it’s like a hashmap lookup using the sub-name).

As a quick example, here as a key/value I created earlier:

http://localhost:18888/message1.chatskip (gateway) or http://message1.chatskip (proxy)
http://localhost:18888/message2.chatskip (gateway) or http://message2.chatskip (proxy)

Or just some regular PNRs that I created to replace the (static) bookmarks of AntTP old:

http://localhost:18888/gimim/blog/blog.traktion (gateway) or http://imim/blog/blog.traktion (proxy)
http://localhost:18888/gimim/blog/maidsafe/autonomi (gateway) or http://imim/blog/maidsafe/autonomi (proxy)
http://localhost:18888/gindex (gateway) or http://index

Or maybe some directory listings, to show off the new look:

http://localhost:18888/blog.traktion (gateway) http://blog.traktion (proxy)

EDIT: @Southside is working on getting Ant’s Nest updated, so I’ll update the links above with those too, once we are live.

Github: Release v0.24.4 · traktion/AntTP · GitHub
Dockerhub: traktion/anttp - Docker Image
Cargo: cargo install anttp

Edit: You may still need to cargo install anttp --locked if it fails to build.

3 Likes

@Southside is waiting patiently in line for his pizzas - Oro is busy busy busy but the wifi is excellent - so are the pizzas usually.

So youse will need to be patient too

3 Likes

New release of AntTP, to partner nicely with the new AntFTP.

Focuses on bug fixes and public archive improvements.

Changes since last release

  • Merge pull request #132 from traktion/feature/issue-131-improve-ci-cd (a97a9c2)
  • Improve CI/CD workflow based on AntFTP; increment version; add spec file (9763e38)
  • Merge pull request #130 from traktion/feature/129-sync-public-archive (b45f517)
    • Renamed function (as not recursive) (46c4a44)
  • feat(public-archive): implement push flow by rebuilding archive from cached file content and persisting to target; add unit test; bump version to 0.24.18 (8343d8e)
    • Moved write REST endpoints into write permissioned section in lib.rs (475697d)
  • docs(REST): document new POST /anttp-0/public_archive/{address} push endpoint; test(postman): add Push Public Archive request to collection (0b1ac4d)
  • feat(public-archive): add push endpoint and gRPC/MCP support for syncing cached archives to target store type; add proto PushPublicArchive; wire REST route; bump version to 0.24.17; add spec for #129 (e50c9e9)
  • Merge pull request #128 from traktion/feature/127-support-names-for-pointers (7fa36e1)
  • Refactor: extract address resolution logic into a separate function in pointer_service.rs (03dd19e)
  • Support names as well as addresses when getting or updating pointers (#127) (37c847b)
  • Merge pull request #126 from traktion/feature/125-fix-bugs-around-paths-and-error-handling (ec3e179)
    • Bug fixes for bad paths in HTML listing, bad error handling when errors, and additional debug (8b34ac7)
  • Merge pull request #124 from traktion/feature/123-update-archive-handlers (6c23ace)
  • Update public_archive and tarchive gRPC handlers to support path and store_type, aligning with REST API. Updated protos and incremented version to 0.24.15 (3aecb17)
    • Improvements to how gRPC server handles error and shutdown (4f74b82)
    • Trim leading slashes from archive search strings to avoid mismatches (0eb409f)
  • Merge pull request #122 from traktion/feature/121-path-detail-items (338c857)
  • feat: #121 Update list_files_json and list_dir path/display semantics (64072d4)
  • feat: #121 Return PathDetail items for Public Archive REST; update gRPC proto to include Item and map PathDetail; bump version; add spec file (934986b)
  • Merge pull request #120 from traktion/feature/issue-119 (f4477a9)
  • archive: trim leading slash in list_dir search_key to avoid bad filters; add unit test (1eea3bb)
  • Finalize Tarchive refactor: remove TarchiveForm and align with PublicArchive endpoints (6574f10)
  • Remove target_path from PublicArchiveForm; introduce TarchiveForm for tarchive flow; update gRPC and MCP tools; adjust controllers and services; tests green (7533d5d)
  • Update Postman collection for public archive endpoints (7e98a9d)
  • Implement issue #119: Update POST and PUT public archive endpoint to use URL path as target path (c565ba8)
    • Updated bookmarks default (to empty) and minor house keeping. (c208c40)
  • Merge pull request #118 from traktion/feature/116-public-archive-grpc (f2c00c4)
  • feat(grpc): add get and list files support for public archive to gRPC (7e593a6)
  • Merge pull request #117 from traktion/feature/110-delete-file-support-public-archives (1d1ba6f)
  • test: update postman collection with DELETE public archive path test (0a8e57b)
  • feat: add delete file support to public archives REST API (#110) (a8c307e)
    • Revert stale test runs (19382af)
  • Merge pull request #115 from traktion/feature/issue-111-public-archive-rest-api (9a51662)
  • Fix test_get_public_archive_with_path in public_archive_service.rs (db69fd3)
    • Revert accidental debug enable (0d6ad5f)
  • Update postman collection and fix public archive raw retrieval bug (b8920ea)
  • Add get and list files support to public archive REST API (Issue #111) (e00519c)
  • Merge pull request #114 from traktion/feature/72-fileservice-tests (405afe0)
    • Removed stale/commented code (9f502a5)
    • Fixed some mock tests and removed stale resolver_service.rs (pre-mock) tests (can be re-created in follow on issue). (56ae89c)
  • feat: add unit tests for FileService and improve PublicArchiveService #72 (5ef59fd)
    • Refactors to extract streaming client to avoid circular dependencies and mocking difficulties - Removed many test compile warnings (0f05061)
  • docs: add permanent copy of issue 72 requirements (2f93aa8)
    • Adds mocking for caching clients. - WIP: breaks tests (d83c694)
  • Merge pull request #113 from traktion/feature/issue-71 (f422923)
  • Fix file_service.rs tests by bypassing mock constructor in test helper (911b12f)
  • Add unit tests for PublicArchiveService and implement get_public_archive #71 (92a03cd)
  • Merge pull request #109 from traktion/issue-108-target-path (4fd90eb)
  • Refactor TarchiveService to extract build_tar_from_form common logic (3156da4)
  • Fix target_path processing in TarchiveService (37d8493)
  • Implement target-path support for Tarchives and update Postman collection (bb63554)
  • Fix Swagger UI rendering for public archive form and update documentation (9993022)
  • Add target-path support for public archives (issue #108) (7308d9a)
  • Merge pull request #107 from traktion/feature/106-head-support (109ec14)
    • Added no_chunking to ensure content-length is populated. - Added Last-Modified header when known. (31b38e5)
  • Add HEAD query support to return content-length and no body (1e5223f)
  • Merge pull request #105 from traktion/feature/104-prevent-range-queries-on-tarchives-overrunning-file-length (2e77f20)
    • Added spec file (b179682)
    • Version bump (bc1510d)
    • Fixes issue where range-to returns data beyond the file length. Primarily, this fixes tarchive retrievals, due to them being embedded in a tar. (8eab6b6)

What’s Changed

Full Changelog: Comparing v0.24.4...rolling-a97a9c249efc07ca4250d426e3e928334fe6573c · traktion/AntTP · GitHub

Github: Release v0.24.19 · traktion/AntTP · GitHub
Dockerhub: traktion/anttp - Docker Image
Cargo: cargo install anttp

Edit: You may still need to cargo install anttp --locked if it fails to build.

11 Likes

New AntTP release with a focus on fixing tarchive bugs and adding tarchive API features.

There is a new general concept of ‘archives’, which include both public archives and tarchives. This gives both archive types the same interface, allowing them to be interchangeable.

Changes since last release

  • Bumped version for release (971da5c)
  • Bumped version for release (5800967)
  • Implement push_archive for tarchive (#148) (9e88361)
  • Feature: Unified Archive Interface (#144) (#146) (b5cabfa)
  • Add get, list, update and truncate tarchive features to MCP tool and gRPC handler (#145) (2f0b187)
  • Add get and list files support to tarchive REST API (#143) (f4d4f49)
  • Add delete support for tarchives (issue #138) (#141) (e403a91)
  • feat: Add public data and tarchive push/sync capability (#137) (#139) (8053a13)
  • Merge pull request #136 from traktion/feature/issue-135 (de70356)
  • Move tests to the bottom of tarchive_service.rs (1671ff7)
  • Add workaround for tar crate file append bug (f42ccea)
  • Merge pull request #134 from traktion/133-fix-issue-with-tarchive-not-being-detected (4a61647)
  • Fixes issue with tarchives not being detected, due to an optimisation on reading public archives (public_archive_caching_client) in a prior change (851c2ce)
  • Minor keywords addition to cargo.toml (a0cb1b7)
    • Version bump (3fb6490)

What’s Changed

Full Changelog: Comparing rolling-a97a9c249efc07ca4250d426e3e928334fe6573c...rolling-971da5cd63182556ee6cef59720bc4b70189bb40 · traktion/AntTP · GitHub

Github: Release v0.25.0 · traktion/AntTP · GitHub
Dockerhub: traktion/anttp - Docker Image
Cargo: cargo install anttp

8 Likes