-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Proxy-WASM configuration protos. #9256
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
Merged
mattklein123
merged 34 commits into
envoyproxy:master
from
jplevyak:wasm-upstream-protos
Jan 27, 2020
Merged
Changes from all commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
6bd8d54
Proxy-WASM configuration protos.
jplevyak 65083ee
Address comments.
jplevyak 0d63b3c
Address comments.
jplevyak e849767
Address comments.
jplevyak 0391532
Fix annotation.
jplevyak bdfcdde
Address comments.
jplevyak 51fcb4d
Fix format and add any.proto.
jplevyak 9154661
Fix formatting.
jplevyak cbe7e25
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak 89b3b21
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak de0f365
Apply formatting fixes.
jplevyak ac19fc4
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak d7a45d5
Add doc.
jplevyak 707b8e8
Add to toctree
jplevyak be8df3a
Merge remote-tracking branch 'envoyproxy/master' into wasm-upstream-p…
jplevyak 99536f0
Update as per architecture document.
jplevyak 0cfc5e7
Fix format.
jplevyak c156a02
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak ba960dd
Fix format.
jplevyak 7984aaf
Fix format.
jplevyak f687b18
Fix wrt architecture doc.
jplevyak 96e1a6e
Update WRT Architecture document.
jplevyak ee152ea
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak a776563
Fix format.
jplevyak 680dcbe
Address comments.
jplevyak eda760c
Address comments.
jplevyak f8c1fb1
Address comments.
jplevyak 3abf419
Address comments.
jplevyak 494fa9c
Address comments.
jplevyak 0573d68
Address comments.
jplevyak 04302b2
Update comments.
jplevyak 28d6e53
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak 6ad0fa1
Address comments.
jplevyak 2936b69
Merge branch 'master' of https://github.com/envoyproxy/envoy into was…
jplevyak File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # DO NOT EDIT. This file is generated by tools/proto_sync.py. | ||
|
|
||
| load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
|
||
| licenses(["notice"]) # Apache 2 | ||
|
|
||
| api_proto_package( | ||
| deps = [ | ||
| "//envoy/api/v2/core:pkg", | ||
| "@com_github_cncf_udpa//udpa/annotations:pkg", | ||
| ], | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| syntax = "proto3"; | ||
|
|
||
| package envoy.config.wasm.v2alpha; | ||
|
|
||
| import "envoy/api/v2/core/base.proto"; | ||
|
|
||
| import "google/protobuf/any.proto"; | ||
|
|
||
| import "udpa/annotations/migrate.proto"; | ||
| import "validate/validate.proto"; | ||
|
|
||
| option java_package = "io.envoyproxy.envoy.config.wasm.v2alpha"; | ||
| option java_outer_classname = "WasmProto"; | ||
| option java_multiple_files = true; | ||
| option (udpa.annotations.file_migrate).move_to_package = "envoy.extensions.wasm.v3"; | ||
|
|
||
| // [#protodoc-title: Wasm service] | ||
|
|
||
| // Configuration for a Wasm VM. | ||
| // [#next-free-field: 6] | ||
|
jplevyak marked this conversation as resolved.
|
||
| // [#not-implemented-hide:] pending implementation. | ||
| message VmConfig { | ||
| // An ID which will be used along with a hash of the wasm code (or the name of the registered Null | ||
| // VM plugin) to determine which VM will be used for the plugin. All plugins which use the same | ||
| // *vm_id* and code will use the same VM. May be left blank. Sharing a VM between plugins can | ||
| // reduce memory utilization and make sharing of data easier which may have security implications. | ||
| // See ref: "TODO: add ref" for details. | ||
| string vm_id = 1; | ||
|
|
||
| // The Wasm runtime type (either "v8" or "null" for code compiled into Envoy). | ||
| string runtime = 2 [(validate.rules).string = {min_bytes: 1}]; | ||
|
|
||
| // The Wasm code that Envoy will execute. | ||
| api.v2.core.AsyncDataSource code = 3; | ||
|
|
||
| // The Wasm configuration used in initialization of a new VM (proxy_on_start). | ||
| google.protobuf.Any configuration = 4; | ||
|
|
||
| // Allow the wasm file to include pre-compiled code on VMs which support it. | ||
| // Warning: this should only be enable for trusted sources as the precompiled code is not | ||
| // verified. | ||
| bool allow_precompiled = 5; | ||
|
jplevyak marked this conversation as resolved.
|
||
| } | ||
|
|
||
| // Base Configuration for Wasm Plugins e.g. filters and services. | ||
| // [#next-free-field: 6] | ||
| // [#not-implemented-hide:] pending implementation. | ||
| message PluginConfig { | ||
| // A unique name for a filters/services in a VM for use in identifying the filter/service if | ||
| // multiple filters/services are handled by the same *vm_id* and *group_name* 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 | ||
| // if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all | ||
| // filters/services with a blank group_name with the same *vm_id* will share Context(s). | ||
| string group_name = 2; | ||
|
|
||
| // Configuration for finding or starting VM. | ||
| oneof vm_config { | ||
| VmConfig inline_vm_config = 3; | ||
| // In the future add referential VM configurations. | ||
| } | ||
|
|
||
| // Filter/service configuration used to configure or reconfigure a plugin | ||
| // (proxy_on_configuration). | ||
| google.protobuf.Any configuration = 5; | ||
| } | ||
|
|
||
| // WasmService is configured as a built-in *envoy.wasm_service* :ref:`ServiceConfig | ||
| // <envoy_api_msg_config.wasm.v2alpha.WasmService>`. This opaque configuration will be used to | ||
| // create a Wasm Service. | ||
| // [#not-implemented-hide:] pending implementation. | ||
| message WasmService { | ||
| // General plugin configuration. | ||
| PluginConfig config = 1; | ||
|
|
||
| // If true, create a single VM rather than creating one VM per worker. Such a singleton can | ||
| // not be used with filters. | ||
| bool singleton = 2; | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # DO NOT EDIT. This file is generated by tools/proto_sync.py. | ||
|
|
||
| load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") | ||
|
|
||
| licenses(["notice"]) # Apache 2 | ||
|
|
||
| api_proto_package( | ||
| deps = [ | ||
| "//envoy/config/core/v3:pkg", | ||
| "//envoy/config/wasm/v2alpha:pkg", | ||
| "@com_github_cncf_udpa//udpa/annotations:pkg", | ||
| ], | ||
| ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,89 @@ | ||
| syntax = "proto3"; | ||
|
|
||
| package envoy.extensions.wasm.v3; | ||
|
|
||
| import "envoy/config/core/v3/base.proto"; | ||
|
|
||
| import "google/protobuf/any.proto"; | ||
|
|
||
| import "udpa/annotations/versioning.proto"; | ||
|
|
||
| import "validate/validate.proto"; | ||
|
|
||
| option java_package = "io.envoyproxy.envoy.extensions.wasm.v3"; | ||
| option java_outer_classname = "WasmProto"; | ||
| option java_multiple_files = true; | ||
|
|
||
| // [#protodoc-title: Wasm service] | ||
|
|
||
| // Configuration for a Wasm VM. | ||
| // [#next-free-field: 6] | ||
| // [#not-implemented-hide:] pending implementation. | ||
| message VmConfig { | ||
| option (udpa.annotations.versioning).previous_message_type = "envoy.config.wasm.v2alpha.VmConfig"; | ||
|
|
||
| // An ID which will be used along with a hash of the wasm code (or the name of the registered Null | ||
| // VM plugin) to determine which VM will be used for the plugin. All plugins which use the same | ||
| // *vm_id* and code will use the same VM. May be left blank. Sharing a VM between plugins can | ||
| // reduce memory utilization and make sharing of data easier which may have security implications. | ||
| // See ref: "TODO: add ref" for details. | ||
| string vm_id = 1; | ||
|
|
||
| // The Wasm runtime type (either "v8" or "null" for code compiled into Envoy). | ||
| string runtime = 2 [(validate.rules).string = {min_bytes: 1}]; | ||
|
|
||
| // The Wasm code that Envoy will execute. | ||
| config.core.v3.AsyncDataSource code = 3; | ||
|
|
||
| // The Wasm configuration used in initialization of a new VM (proxy_on_start). | ||
| google.protobuf.Any configuration = 4; | ||
|
|
||
| // Allow the wasm file to include pre-compiled code on VMs which support it. | ||
| // Warning: this should only be enable for trusted sources as the precompiled code is not | ||
| // verified. | ||
| bool allow_precompiled = 5; | ||
| } | ||
|
|
||
| // Base Configuration for Wasm Plugins e.g. filters and services. | ||
| // [#next-free-field: 6] | ||
| // [#not-implemented-hide:] pending implementation. | ||
| message PluginConfig { | ||
| option (udpa.annotations.versioning).previous_message_type = | ||
| "envoy.config.wasm.v2alpha.PluginConfig"; | ||
|
|
||
| // A unique name for a filters/services in a VM for use in identifying the filter/service if | ||
| // multiple filters/services are handled by the same *vm_id* and *group_name* 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 | ||
| // if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all | ||
| // filters/services with a blank group_name with the same *vm_id* will share Context(s). | ||
| string group_name = 2; | ||
|
|
||
| // Configuration for finding or starting VM. | ||
| oneof vm_config { | ||
| VmConfig inline_vm_config = 3; | ||
| // In the future add referential VM configurations. | ||
| } | ||
|
|
||
| // Filter/service configuration used to configure or reconfigure a plugin | ||
| // (proxy_on_configuration). | ||
| google.protobuf.Any configuration = 5; | ||
| } | ||
|
|
||
| // WasmService is configured as a built-in *envoy.wasm_service* :ref:`ServiceConfig | ||
| // <envoy_api_msg_extensions.wasm.v3.WasmService>`. This opaque configuration will be used to | ||
| // create a Wasm Service. | ||
| // [#not-implemented-hide:] pending implementation. | ||
| message WasmService { | ||
| option (udpa.annotations.versioning).previous_message_type = | ||
| "envoy.config.wasm.v2alpha.WasmService"; | ||
|
|
||
| // General plugin configuration. | ||
| PluginConfig config = 1; | ||
|
|
||
| // If true, create a single VM rather than creating one VM per worker. Such a singleton can | ||
| // not be used with filters. | ||
| bool singleton = 2; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,3 +16,4 @@ Extensions | |
| listener/listener | ||
| grpc_credential/grpc_credential | ||
| retry/retry | ||
| wasm/wasm | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| WASM | ||
| ==== | ||
|
|
||
| .. toctree:: | ||
| :glob: | ||
| :maxdepth: 2 | ||
|
|
||
| v2alpha/* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.