-
Notifications
You must be signed in to change notification settings - Fork 558
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move istio/proxy protos into istio/api #2107
Conversation
🤔 🐛 You appear to be fixing a bug in Go code, yet your PR doesn't include updates to any test files. Did you forget to add a test? Courtesy of your friendly test nag. |
Skipping CI for Draft Pull Request. |
@kyessenov @yangminzhu any concerns with this? |
Yeah, I think this is just adding overhead. These are not user visible APIs. This does not help proxy build at all (which is all bazel). |
I wasn't sure if it was use for proxy build but I think it is for istio/istio. This was mostly inspired by your comment, which I agree with: istio/istio#33583 (comment). We don't have to change istio/proxy if its just annoying. WDYT? |
You can manually generate and commit protos to istio/istio with standard toolchain. It's not like they change every month. It's just confusing to require TOC approval for machine protos so this repo is not appropriate. |
We do already have half of them here. I would prefer to be consistent
personally. It's also useful to be able to import just the Protos without
the dependency hell of Istio/istio - Protos living in Istio repo has been
an issue for at least 3 projects I know of
…On Thu, Sep 30, 2021, 12:32 PM Kuat ***@***.***> wrote:
You can manually generate and commit protos to istio/istio with standard
toolchain. It's not like they change every month. It's just confusing to
require TOC approval for machine protos so this repo is not appropriate.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#2107 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEYGXLDWVDQL5PCXM3TAR3UES3MRANCNFSM5FC674AQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
we can make Network team the owners of envoy/?
…On Thu, Sep 30, 2021, 12:42 PM John Howard ***@***.***> wrote:
We do already have half of them here. I would prefer to be consistent
personally. It's also useful to be able to import just the Protos without
the dependency hell of Istio/istio - Protos living in Istio repo has been
an issue for at least 3 projects I know of
On Thu, Sep 30, 2021, 12:32 PM Kuat ***@***.***> wrote:
> You can manually generate and commit protos to istio/istio with standard
> toolchain. It's not like they change every month. It's just confusing to
> require TOC approval for machine protos so this repo is not appropriate.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#2107 (comment)>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AAEYGXLDWVDQL5PCXM3TAR3UES3MRANCNFSM5FC674AQ>
> .
> Triage notifications on the go with GitHub Mobile for iOS
> <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
> or Android
> <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
>
>
|
As I mentioned earlier, this is just pure overhead IMHO. Yes, it can be done, but the value of tooling in istio/api for Envoy build is close to zero if not negative. Some protos in istio/proxy are not even protos, as they are just documentation for Wasm configs (which is not using protobuf). |
I mentioned above "We don't have to change istio/proxy if its just annoying", so it shouldn't impact istio/proxy developers. We have to put them somewhere else (can be a copy), since istio/istio importing istio/proxy is probably not a good idea. That leaves us istio/api or istio/istio. IMO istio/api is a better choice, as we already have half the protos here, already have all the tooling setup to generate protos, and it allows folks to import just the protos without all of istio/istio. What would you prefer as a way to solve istio/istio#35210? |
I like this PR for making it auto generated instead of relying on manually generating the proto code. It's always better to be automatic even if these files does not change often. The tooling changes seems very small in the PR so I guess there should not be too much overhead of it? |
ebb1190
to
a5fd17a
Compare
Blocked by istio/tools#1718 |
a5fd17a
to
5818bf2
Compare
@kyessenov do you have concerns if we do not touch istio/proxy? |
Fixes istio/istio#35210. This does two things: * Move some protos we have in istio/istio that are manually generating the go protos, using an outdated protobuf library and outdated proto. * Move some protos we have in istio/proxy that are not generating any go protos at all. A next step will be to have istio/istio import these go libraries, and istio/proxy to import these as proto_libraries.
5818bf2
to
178e4ac
Compare
My vote is not binding, feel free to merge. It can always be reverted if it becomes a hassle. |
/retest |
These configs are definitely not meant to be user-facing, but we've stored similar schema in istio/api before (mixer client config). Is there a way to annotate them, or highlight the implementation-detail-ish nature of them prominently? Would shoving them into We definitely need to keep them in sync (either through remote deps in istio/proxy, or some sort of sync job if pushing). Will we need to update whatever is generating the reference docs for them as well (https://istio.io/latest/docs/reference/config/proxy_extensions/) ? |
Do you think a README in envoy/ is sufficient? There are already protos in envoy/ that are the ~same so I am a bit hesitant to change the folder structure or be inconsistent with those |
SGTM. |
plugins: | ||
- name: go | ||
out: . | ||
opt: paths=source_relative |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing newline?
I think this makes sense. Can you add the README to this CL to help folks contextualize a bit? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved. Please add the suggested README prior to commit
@douglas-reid Thanks for reminding me of the horrors of mixerclient protos from here used in proxy bazel (with all the gogo crap). |
README added |
These have actually diverged now like I was afraid of, so hopefully there's no user facing repercussions. |
Fixes istio/istio#35210.
This does two things:
the go protos, using an outdated protobuf library and outdated proto.
protos at all.
A next step will be to have istio/istio import these go libraries, and
istio/proxy to import these as proto_libraries.