Skip to content

[#188]:svarga:feature, add HDF5 S3 / ROS3 VFD support#190

Merged
steven-varga merged 8 commits into
stagingfrom
188-add-s3-ros3-vfd-support
May 15, 2026
Merged

[#188]:svarga:feature, add HDF5 S3 / ROS3 VFD support#190
steven-varga merged 8 commits into
stagingfrom
188-add-s3-ros3-vfd-support

Conversation

@steven-varga
Copy link
Copy Markdown
Collaborator

Summary

  • Adds h5::ros3 / h5::fapl_ros3 property class wrapping H5Pset_fapl_ros3 — the HDF5 Read-Only S3 VFD — guarded by H5_HAVE_ROS3_VFD
  • Supports v1 FAPL (long-term credentials, HDF5 ≥ 1.10.6) and v2 FAPL (session token / STS, HDF5 ≥ 1.12.1)
  • CMake detects ROS3 availability via HDF5 pubconf header; exposes h5::have_ros3_vfd constexpr bool
  • Deprecates stale fapl_rest_vol / kita comment (pre-1.12 REST VOL API now replaced by H5Pset_vol)
  • Offline doctest suite (test/H5FDros3.cpp) + opt-in live network test against verified public bucket (-DH5CPP_NETWORK_TESTS=ON)
  • Example (examples/s3/s3.cpp) demonstrates all three credential modes using h5::ls for directory listing
  • User guide (docs/s3.md) covers prerequisites, API reference, and limitations

Test plan

  • cmake -S . -B build && cmake --build build --parallel && ctest --test-dir build --output-on-failure passes (offline tests)
  • cmake -DH5CPP_NETWORK_TESTS=ON and run test-h5fdros3_network with outbound S3 access to confirm live open of s3://rhdf5-public/h5ex_t_array.h5
  • Confirm cmake status line prints H5CPP: ROS3 VFD detected on a standard Ubuntu HDF5 install
  • Confirm build succeeds with H5CPP_NETWORK_TESTS=OFF (default) on CI

🤖 Generated with Claude Code

@steven-varga steven-varga merged commit c1d1f86 into staging May 15, 2026
3 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant