Investigate if we can remove duplication of protos
- Dominant language
- Go
- Stars
- 519
- Forks
- 612
- Avg merge
- 18h 35m
- Merged PRs (30d)
- 23
Description
Today, we duplicate protos for each API version. But they must remain identical, so we have automation keep them in sync. Given its automated its not so bad, but its still pretty tedious and leads to bloat (in LOC, reviews, binary sizes, ...).
It would be ideal to avoid this.
Requirements: We must retain compatibility in {wire format, yaml format, Go code, documentation}.
We can maybe relax the "Go code" part if its a minor issues, but we don't want to break all importers of istio/api.
---
If this was pure go, I would say we can just have the `alpha` package types look like `type PeerAuthentication = v1.PeerAuthentication`. This is what gateway-api does. However, this doesn't quite work for proto, which doesn't have a type alias concept
Contributor guide
Assessment
This issue has not been assessed yet.