Decouple go-sdk and dapr/dapr repos by compiling protos
- 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
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