Skip to content

feat(ocs): add S7 hexagonal provider ports and zero-dependency Rust SDK - #178

Merged
trukhinyuri merged 2 commits into
mainfrom
feat/s7-hexagonal-ports-and-rust-sdk
Oct 14, 2026
Merged

trukhinyuri merged 2 commits into
mainfrom
feat/s7-hexagonal-ports-and-rust-sdk

Conversation

@trukhinyuri

Copy link
Copy Markdown
Member

Summary

  • Add pkg/providerports defining the S7 hexagonal provider seam across all 9 CloudRING / OCS v3 product categories (ComputeProvider, VolumeProvider, NetworkProvider, KubernetesClusterProvider, ObjectStorageProvider, BackupProvider, AccessControlProvider, SupportProvider, ExternalIntegrationProvider) and ProviderRegistry without k8s.io/* coupling in the domain core.
  • Include deterministic SHA-256 request/receipt commitments, tenant/project isolation enforcement, idempotency conflict detection, and RunConformanceSuite with 100% statement test coverage.
  • Add sdk/rust/ocs-sdk-rs, a self-contained zero-dependency Rust SDK (#![forbid(unsafe_code)], std only) implementing OCS v3 service categories, canonical URN resource identities, operation state machines, idempotency verification, quota accounting, conformance reporting, and request construction.

Signed-off-by: Iurii Trukhin <yuri@trukhin.com>
Copilot AI balanced review requested due to automatic review settings October 14, 2026 00:23
@trukhinyuri
trukhinyuri enabled auto-merge (squash) October 14, 2026 00:23

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Receipt verification, generated identifiers, conformance coverage, wire serialization, and endpoint validation have unresolved correctness or security issues.

5 open findings
What changed in this PR

Adds provider-neutral OCS v3 ports and a zero-dependency Rust SDK.

Changes:

  • Defines nine provider interfaces, registry, receipts, and conformance tooling.
  • Adds Rust identities, lifecycle, quota, idempotency, and request APIs.
  • Adds Go and Rust tests/documentation.
File Description
pkg/​providerports/​ports.go Implements provider ports and conformance logic.
pkg/​providerports/​ports_test.go Tests provider-port behavior.
sdk/​rust/​ocs-sdk-rs/​src/​lib.rs Implements the Rust SDK.
sdk/​rust/​ocs-sdk-rs/​Cargo.toml Defines the Rust crate.
sdk/​rust/​ocs-sdk-rs/​README.md Documents SDK properties and testing.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread pkg/providerports/ports.go
Comment thread pkg/providerports/ports.go Outdated
Comment thread sdk/rust/ocs-sdk-rs/src/lib.rs Outdated
Comment thread pkg/providerports/ports.go
Comment thread sdk/rust/ocs-sdk-rs/src/lib.rs Outdated
…ce, and Rust wire/authority checks

Signed-off-by: Iurii Trukhin <yuri@trukhin.com>
@trukhinyuri
trukhinyuri merged commit a89ff43 into main Oct 14, 2026
20 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.

2 participants