Skip to content

Conversation

@shileiwill
Copy link

This pull request introduces new offchain registry services to the storage service, expanding its capabilities to support workflow metadata retrieval and listing. The main changes include the addition of new gRPC methods for paginated workflow listing, new proto definitions for workflow metadata, and related updates to generated Go code.

New gRPC API for Workflow Registry:

  • Added two new RPC methods to the NodeService in node_service.proto for listing workflows:
    • GetWorkflowListByDONCursor (cursor/keyset pagination)
    • GetWorkflowListByDON (offset pagination) [1] [2]
  • Updated the generated Go gRPC code in node_service_grpc.pb.go to implement these new methods for both client and server interfaces, including handler functions and service descriptors. [1] [2] [3] [4] [5]

Workflow Metadata and Supporting Types:

  • Introduced new proto definitions:
    • WorkflowMetadata message containing core workflow information (ID, name, owner, status, etc.)
    • WorkflowStatus and WorkflowManagedBy enums to standardize workflow state and origin.
    • Request/response messages for the new workflow listing RPCs. [1] [2]

General/Other Updates:

  • Updated documentation/comments in proto and generated Go files to reflect the expanded NodeService functionality. [1] [2]
  • Minor typo fix in a comment in node_service_grpc.pb.go.
  • Removed explicit dependency requirements from go.mod to clean up the module file.
  • Added a changeset documenting the introduction of offchain registry services.

@shileiwill shileiwill requested review from a team as code owners February 3, 2026 22:58
@changeset-bot
Copy link

changeset-bot bot commented Feb 3, 2026

🦋 Changeset detected

Latest commit: 8927794

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@chainlink/storage-service Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

👋 shileiwill, thanks for creating this pull request!

To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team.

Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks!

@github-actions
Copy link

github-actions bot commented Feb 3, 2026

The latest Buf updates on your PR. Results from workflow Regenerate Protobuf Files / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed⏩ skippedFeb 3, 2026, 11:01 PM

// DownloadArtifact streams a file from the storage service in chunks.
rpc DownloadArtifact(DownloadArtifactRequest) returns (DownloadArtifactResponse);
// Cursor/keyset pagination (created_at + workflow_id cursor).
rpc GetWorkflowListByDONCursor(GetWorkflowListByDONCursorRequest) returns (GetWorkflowListByDONCursorResponse);
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd recommend leaving this method out for now to make it cleaner on which method to consume

Copy link
Contributor

@patrickhuie19 patrickhuie19 left a comment

Choose a reason for hiding this comment

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

Nice! We want only one proto, and already have https://github.com/smartcontractkit/chainlink-protos/pull/255/changes#diff-229d5100eec56f771756db629b6e063032d969bbd23da39879471d4d16b27b56.

I'd suggest we keep the current workflow/sources/v1 dir, but am open to understanding why you created this separately if that was intentional. Note that the client autogenerated by the proto above is used in smartcontractkit/chainlink#20708, which we are merging ASAP. IFIUC, we'd just want to add WorkflowManagedBy to the current defintion.

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