istio / istio/api

Investigate if we can remove duplication of protos

Open
#3,127 11 comments 0 reactions 1 assignee Claimed by @howardjohn View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.