Skip to content

feat(sdk): advertise partial_decrypt and http_range_source features - #4234

Open
sujankota wants to merge 1 commit into
feat/otdfctl-partial-decryptfrom
feat/sdk-partial-decrypt-features
Open

sujankota wants to merge 1 commit into
feat/otdfctl-partial-decryptfrom
feat/sdk-partial-decrypt-features

Conversation

@sujankota

@sujankota sujankota commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #4229 (otdfctl --offset/--length + URL input), which is stacked on #4221 (LoadTDFFromURL). Will retarget to main once those merge — the strings should only ship in a build that actually has both.

Proposed Changes

Part of DSPX-4886. Adds two entries to sdk.SupportedFeatures(), surfaced by otdfctl --version --json as supported_features, so xtest's go cli.sh supports can gate the DSPX-5117 partial-decrypt tests:

Names are taken from DSPX-5117.

@dmihalcik-virtru, a few questions before this merges:

  1. Are partial_decrypt / http_range_source final? Per the SupportedFeatures doc comment, renaming later has to be coordinated with opentdf/tests, since an unknown string silently skips.
  2. For go, should cli.sh check these via supported_features (like dpop), or would you rather probe partial_decrypt with help decrypt | grep -- --offset (like kasallowlist)? http_range_source has no CLI surface (it's a positional argument), so it needs the feature string either way. If you'd prefer the grep for partial_decrypt, I'll drop it from this list.
  3. Both strings live in the SDK but describe otdfctl behaviour. That's fine as long as this merges after feat(otdfctl): support decrypt --offset/--length and HTTP(S) URLs #4229 (otdfctl builds against the workspace SDK), which is why it's stacked.

Checklist

  • I have added or updated unit tests
  • I have added or updated integration tests (if appropriate)
  • I have added or updated documentation

Testing Instructions

cd otdfctl && go build . && ./otdfctl --version --json | jq -c .supported_features
# ["dpop","dpop_nonce_challenge","connectrpc","partial_decrypt","http_range_source"]

Lets xtest gate the DSPX-4886 partial-decrypt tests via
otdfctl --version --json, using the feature names from DSPX-5117.

Part of DSPX-4886.

Signed-off-by: sujan kota <sujankota@gmail.com>
@sujankota
sujankota requested review from a team as code owners October 15, 2026 21:21
@github-actions github-actions Bot added the comp:sdk A software development kit, including library, for client applications and inter-service communicati label Oct 15, 2026
@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: fbe3ff3a-ada2-4ee5-8a67-550bb5f0aacf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

1 similar comment
@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: fbe3ff3a-ada2-4ee5-8a67-550bb5f0aacf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor
Benchmark results, click to expand

Bulk Benchmark Results

Metric Value
Total Decrypts 100
Successful Decrypts 100
Failed Decrypts 0
Total Time 415.094567ms
Throughput 240.91 requests/second

TDF3 Benchmark Results

Metric Value
Total Requests 5000
Successful Requests 5000
Failed Requests 0
Concurrent Requests 50
Total Time 44.662693518s
Average Latency 445.707695ms
Throughput 111.95 requests/second

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Govulncheck found vulnerabilities ⚠️

The following modules have known vulnerabilities:

  • otdfctl
  • sdk
  • service
  • lib/fixtures
  • tests-bdd

See the workflow run for details.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:sdk A software development kit, including library, for client applications and inter-service communicati size/xs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant