Skip to content

Proxy-WASM configuration protos.#9256

Merged
mattklein123 merged 34 commits intoenvoyproxy:masterfrom
jplevyak:wasm-upstream-protos
Jan 27, 2020
Merged

Proxy-WASM configuration protos.#9256
mattklein123 merged 34 commits intoenvoyproxy:masterfrom
jplevyak:wasm-upstream-protos

Conversation

@jplevyak
Copy link
Copy Markdown
Contributor

@jplevyak jplevyak commented Dec 6, 2019

Signed-off-by: John Plevyak jplevyak@gmail.com

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md

Description: Proxy_WASM configuration protos.
Risk Level: Low
Testing: N/A
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

Signed-off-by: John Plevyak <jplevyak@gmail.com>
@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to api/.

🐱

Caused by: #9256 was opened by jplevyak.

see: more, trace.

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the split. I have a lot of feedback around readability; it's important to keep in mind that these are the docs that end users of Envoy see in https://www.envoyproxy.io/docs/envoy/latest/api/api, so we have really high standards around making them self contained, understandable by average Envoy users and as context free as possible.
/wait

Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
// multiple filters/services are handled by the same vm_id and root_id and for logging/debugging.
string name = 1;

// A unique ID for a set of filters/services in a VM which will share a RootContext and Contexts
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All docs in the API either should be consumable standalone or should have :ref: to something that explains concepts. At this point, the reader has no idea about root context or event contexts.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PiotrSikora will be adding the ABI doc and we will reference it here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer that the ABI doc lands first or we keep track with some annotations of every place we're missing these links.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PiotrSikora Please attach ABI doc here.

Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
// The Wasm runtime type (see source/extensions/common/wasm/well_known_names.h).
string runtime = 2;

// The Wasm code that Envoy will execute.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need a WASM section in the Envoy architecture intro or configuration docs that we link to that explains things like file format etc.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@PiotrSikora can we push some of the ABI/docs to the envoyproxy/envoy repo?

Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Copy link
Copy Markdown
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks will take another pass once the initial set of comments are addressed.

Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2/wasm.proto Outdated
Signed-off-by: John Plevyak <jplevyak@gmail.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
Copy link
Copy Markdown
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, at a high level this looks good, but I think to review this there needs to be either a high level arch overview doc, or some other doc that succinctly describes the proposed architecture re: root contexts, etc. If there is a short gdoc we can read for now prior to merging into arch overview that's fine, but please provide that and then we can move forward with this.

/wait

Comment thread api/envoy/config/wasm/v2alpha/wasm.proto Outdated
Comment thread api/envoy/config/wasm/v2alpha/wasm.proto Outdated
Signed-off-by: John Plevyak <jplevyak@gmail.com>
@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to api/.

🐱

Caused by: #9256 was synchronize by jplevyak.

see: more, trace.

Signed-off-by: John Plevyak <jplevyak@gmail.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
@jplevyak
Copy link
Copy Markdown
Contributor Author

Any suggestions for how to debug the CI issues. For some reason, despite producing titanic amounts of output, the one thing which is singularly missing is the actual error which caused the CI build to fail.

For example, envoy-linux (format) claims that there is a formatting error, but doesn't provide any error message. When I run the tests locally everything passes.

Any suggestions?

@jplevyak
Copy link
Copy Markdown
Contributor Author

The CI formatting error "suggestion" is to delete the files that this PR adds.

Needless to say not very helpful. Any suggestions?

@jplevyak
Copy link
Copy Markdown
Contributor Author

#9358 discusses the filter name issue

Signed-off-by: John Plevyak <jplevyak@gmail.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
mattklein123
mattklein123 previously approved these changes Jan 17, 2020
Copy link
Copy Markdown
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks. Will defer to @htuch for final approval/merge.

Comment thread api/envoy/config/wasm/v2alpha/wasm.proto
Signed-off-by: John Plevyak <jplevyak@gmail.com>
Comment thread api/envoy/config/wasm/v2alpha/wasm.proto
Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM other than remaining threads. If you really want to reflect that this is still alpha, we should make this v4alpha for the latest API version.

Signed-off-by: John Plevyak <jplevyak@gmail.com>
Signed-off-by: John Plevyak <jplevyak@gmail.com>
…m-upstream-protos

Signed-off-by: John Plevyak <jplevyak@gmail.com>
@jplevyak
Copy link
Copy Markdown
Contributor Author

RE: Warning for "allow_precompiled", I changed it, but I would say that nobody should be loading a wasm plugin from an untrusted source in any case if for no other reason than the existing ABI is sufficiently powerful to cause trouble without loading arbitrary code.

Signed-off-by: John Plevyak <jplevyak@gmail.com>
Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@mattklein123
Copy link
Copy Markdown
Member

Please merge master. I think this will need some doc updates for v3.

/wait

@jplevyak
Copy link
Copy Markdown
Contributor Author

I merged master. What doc updates are you thinking?

@mattklein123
Copy link
Copy Markdown
Member

I merged master. What doc updates are you thinking?

I would have thought that the docs you added in the api-v2 tree would need replicating in the api-v3 tree. I'm not sure why it's not failing due to RST not being present in the tree. In a any case, if it's passing the build we can merge now and sort it out later. cc @htuch

@mattklein123 mattklein123 merged commit bd637c4 into envoyproxy:master Jan 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants