dapr / dapr/go-sdk

Decouple go-sdk and dapr/dapr repos by compiling protos

Open
#749 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
479
Forks
187
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

Currently `dapr/go-sdk` depends on `dapr/dapr` just because of the exposed protos.
This creates unnecessary coupling of versions, in particular for projects that use both repositories.

**Describe the solution you'd like**

In my opinion, in an ideal world all generated protos in `dapr/dapr` would be internal/non-exported. Which is the same limitation other SDKs have to deal with, and also what makes them more robust in terms of dependencies.

There are many ways to accomplish compiling the protos in the go-sdk repo, but I believe probably the best one would be to introduce [buf](https://buf.build/) to the main dapr/dapr repo, which would make it easier to compile the protos here - with the benefit of lock files and so on. Potentially enabling other sdks in the process.

**Describe alternatives you've considered**

There are other ways for compiling the protos in the repo, like fetching them on ci, or using submodules. But probably buf is the more straight forward way.

**Additional context**

Contributor guide

Open the contributing guide

Research direction

Start by tracing how the go-sdk currently obtains exposed protos from dapr/dapr and review the proposed buf-based compilation approach across both repositories. Done means the go-sdk compiles and uses its protos without depending on dapr/dapr, with the dependency and version workflow documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.