Repository navigation
feat(ocs): add S7 hexagonal provider ports and zero-dependency Rust SDK - #178
Merged
Merged
Conversation
Signed-off-by: Iurii Trukhin <yuri@trukhin.com>
There was a problem hiding this comment.
🟡 Changes recommended
Receipt verification, generated identifiers, conformance coverage, wire serialization, and endpoint validation have unresolved correctness or security issues.
5 open findings
Commitment validation accepts arbitrary SHA-256-looking values · New Generated identifiers exceed the ResourceID length limit · New Canonical parameter encoding is ambiguous · New Conformance suite omits required lifecycle transitions · New DNS authority and private-suffix restrictions are not enforced · New
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.
…ce, and Rust wire/authority checks Signed-off-by: Iurii Trukhin <yuri@trukhin.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
pkg/providerportsdefining the S7 hexagonal provider seam across all 9 CloudRING / OCS v3 product categories (ComputeProvider,VolumeProvider,NetworkProvider,KubernetesClusterProvider,ObjectStorageProvider,BackupProvider,AccessControlProvider,SupportProvider,ExternalIntegrationProvider) andProviderRegistrywithoutk8s.io/*coupling in the domain core.RunConformanceSuitewith 100% statement test coverage.sdk/rust/ocs-sdk-rs, a self-contained zero-dependency Rust SDK (#![forbid(unsafe_code)],stdonly) implementing OCS v3 service categories, canonical URN resource identities, operation state machines, idempotency verification, quota accounting, conformance reporting, and request construction.