diff --git a/.circleci/config.yml b/.circleci/config.yml
index f333c3acbb..a3edfcf89f 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,7 +2,7 @@ version: 2
defaults: &defaults
working_directory: /src/istio.io/api
docker:
- - image: gcr.io/istio-testing/protoc:2018-06-12
+ - image: gcr.io/istio-testing/api-build-tools:2018-10-31
environment:
GOPATH: /go
OUT_PATH: /src
@@ -15,10 +15,12 @@ jobs:
- run:
command: |
./scripts/generate-protos.sh || die "could not generate *.pb.go"
+ make proto-commit || die "could not regenerate proto.lock"
+ make lint || die "Lint errors"
if [[ -n $(git status --porcelain) ]]; then
git status
git --no-pager diff
- echo "Repo has unstaged changes. Re-run ./scripts/generate-protos.sh"
+ echo "Repo has unstaged changes. Re-run ./scripts/generate-protos.sh or make proto-commit"
exit 1
fi
diff --git a/Makefile b/Makefile
index 659a151c40..a74a1d6faa 100644
--- a/Makefile
+++ b/Makefile
@@ -10,14 +10,20 @@ ifdef CIRCLECI
repo_dir = .
docker_gen = /usr/bin/protoc -I/protobuf -I$(repo_dir)
out_path = $(OUT_PATH)
+docker_lock = protolock
+docker_tool = prototool
else
gen_img := gcr.io/istio-testing/protoc:2018-06-12
+lock_img := gcr.io/istio-testing/protolock:2018-10-23
+all_img := gcr.io/istio-testing/api-build-tools:2018-10-31
pwd := $(shell pwd)
mount_dir := /src
repo_dir := istio.io/api
repo_mount := $(mount_dir)/istio.io/api
docker_gen := docker run --rm -v $(pwd):$(repo_mount) -w $(mount_dir) $(gen_img) -I$(repo_dir)
out_path = .
+docker_lock = docker run --rm -v $(pwd):$(repo_mount) -w $(repo_mount) $(lock_img)
+docker_tool = docker run --rm -v $(pwd):$(repo_mount) -w $(repo_mount) $(all_img) prototool
endif
########################
@@ -99,12 +105,14 @@ generate-mcp-go: $(config_mcp_pb_gos) $(config_mcp_pb_doc)
$(config_mcp_pb_gos) $(config_mcp_pb_doc): $(config_mcp_protos)
## Generate mcp/v1alpha1/*.pb.go + $(config_mcp_pb_doc)
+ @$(docker_lock) status
@$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(config_mcp_path) $^
generate-mcp-python: $(config_mcp_pb_pythons)
$(config_mcp_pb_pythons): $(config_mcp_protos)
## Generate python/istio_api/mcp/v1alpha1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-mcp:
@@ -125,12 +133,14 @@ generate-mesh-go: $(mesh_pb_gos) $(mesh_pb_doc)
$(mesh_pb_gos) $(mesh_pb_doc): $(mesh_protos)
## Generate mesh/v1alpha1/*.pb.go + $(mesh_pb_doc)
+ @$(docker_lock) status
@$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(mesh_path) $^
generate-mesh-python: $(mesh_pb_pythons)
$(mesh_pb_pythons): $(mesh_protos)
## Generate python/istio_api/mesh/v1alpha1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-mesh:
@@ -173,18 +183,22 @@ generate-mixer-go: \
$(mixer_v1_pb_gos) $(mixer_v1_pb_doc): $(mixer_v1_protos)
## Generate mixer/v1/*.pb.go + $(mixer_v1_pb_doc)
+ @$(docker_lock) status
@$(docker_gen) $(gogoslick_plugin) $(protoc_gen_docs_plugin)$(mixer_v1_path) $^
$(mixer_config_client_pb_gos) $(mixer_config_client_pb_doc): $(mixer_config_client_protos)
## Generate mixer/v1/config/client/*.pb.go + $(mixer_config_client_pb_doc)
+ @$(docker_lock) status
@$(docker_gen) $(gogoslick_plugin) $(protoc_gen_docs_plugin)$(mixer_config_client_path) $^
$(mixer_adapter_model_v1beta1_pb_gos) $(mixer_adapter_model_v1beta1_pb_doc) : $(mixer_adapter_model_v1beta1_protos)
## Generate mixer/adapter/model/v1beta1/*.pb.go + $(mixer_adapter_model_v1beta1_pb_doc)
+ @$(docker_lock) status
@$(docker_gen) $(gogoslick_plugin) $(protoc_gen_docs_plugin)$(mixer_adapter_model_v1beta1_path) $^
$(policy_v1beta1_pb_gos) $(policy_v1beta1_pb_doc) : $(policy_v1beta1_protos)
## Generate policy/v1beta1/*.pb.go + $(policy_v1beta1_pb_doc)
+ @$(docker_lock) status
@$(docker_gen) $(gogoslick_plugin) $(protoc_gen_docs_plugin)$(policy_v1beta1_path) $^
generate-mixer-python: \
@@ -195,18 +209,22 @@ generate-mixer-python: \
$(mixer_v1_pb_pythons): $(mixer_v1_protos)
## Generate python/istio_api/mixer/v1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
$(mixer_config_client_pb_pythons): $(mixer_config_client_protos)
## Generate python/istio_api/mixer/v1/config/client/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
$(mixer_adapter_model_v1beta1_pb_pythons): $(mixer_adapter_model_v1beta1_protos)
## Generate python/istio_api/mixer/adapter/model/v1beta1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
$(policy_v1beta1_pb_pythons): $(policy_v1beta1_protos)
## Generate python/istio_api/policy/v1beta1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-mixer:
@@ -227,12 +245,14 @@ generate-routing-go: $(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc)
$(routing_v1alpha3_pb_gos) $(routing_v1alpha3_pb_doc): $(routing_v1alpha3_protos)
## Generate networking/v1alpha3/*.pb.go
+ @$(docker_lock) status
@$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(routing_v1alpha3_path) $^
generate-routing-python: $(routing_v1alpha3_pb_pythons)
$(routing_v1alpha3_pb_pythons): $(routing_v1alpha3_protos)
## Generate python/istio_api/networking/v1alpha3/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-routing:
@@ -253,12 +273,14 @@ generate-rbac-go: $(rbac_v1alpha1_pb_gos) $(rbac_v1alpha1_pb_doc)
$(rbac_v1alpha1_pb_gos) $(rbac_v1alpha1_pb_doc): $(rbac_v1alpha1_protos)
## Generate rbac/v1alpha1/*.pb.go
+ @$(docker_lock) status
@$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(rbac_v1alpha1_path) $^
generate-rbac-python: $(rbac_v1alpha1_protos)
$(rbac_v1alpha1_pb_pythons): $(rbac_v1alpha1_protos)
## Generate python/istio_api/rbac/v1alpha1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-rbac:
@@ -280,12 +302,14 @@ generate-authn-go: $(authn_v1alpha1_pb_gos) $(authn_v1alpha1_pb_doc)
$(authn_v1alpha1_pb_gos) $(authn_v1alpha1_pb_doc): $(authn_v1alpha1_protos)
## Generate authentication/v1alpha1/*.pb.go
+ @$(docker_lock) status
@$(docker_gen) $(gogofast_plugin) $(protoc_gen_docs_plugin)$(authn_v1alpha1_path) $^
generate-authn-python: $(authn_v1alpha1_pb_pythons)
$(authn_v1alpha1_pb_pythons): $(authn_v1alpha1_protos)
## Generate python/istio_api/authentication/v1alpha1/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-authn:
@@ -306,6 +330,7 @@ generate-envoy-go: $(envoy_pb_gos) $(envoy_pb_doc)
# Envoy APIs is internal APIs, documents is not required.
$(envoy_pb_gos): $(envoy_protos)
## Generate envoy/*/*.pb.go
+ @$(docker_lock) status
@$(docker_gen) $(gogofast_plugin) $^
generate-envoy-python: $(envoy_pb_pythons)
@@ -313,11 +338,26 @@ generate-envoy-python: $(envoy_pb_pythons)
# Envoy APIs is internal APIs, documents is not required.
$(envoy_pb_pythons): $(envoy_protos)
## Generate envoy/*/*_pb2.py
+ @$(docker_lock) status
@$(docker_gen) $(protoc_gen_python_plugin) $^
clean-envoy:
rm -f $(envoy_pb_gos)
+#####################
+# Protolock
+#####################
+
+proto-commit:
+ @$(docker_lock) commit
+
+#####################
+# Lint
+#####################
+
+lint:
+ @$(docker_tool) lint --protoc-bin-path=/usr/bin/protoc --protoc-wkt-path=/protobuf
+
#####################
# Cleanup
#####################
diff --git a/README.md b/README.md
index c0d77bc87a..7e014a9c5e 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,12 @@ When making changes to the protos in this repository, your changes **must** comp
## Updating
-After the [protobuf](https://github.com/google/protobuf) definitions are updated, the corresponding `*pb.go` and `_pb2.py` files must be generated by running `scripts/generate-protos.sh` and submitted as part of the same PR as the updated definitions.
+After the [protobuf](https://github.com/google/protobuf) definitions
+are updated, the corresponding `*pb.go` and `_pb2.py` files must be
+generated by running `scripts/generate-protos.sh` and submitted as
+part of the same PR as the updated definitions. Also `make
+proto-commit` must be run to update the proto.lock file with new
+changes.
+
If releasing a new tagged version, please update python/istio-api/setup.py version to reflect.
diff --git a/envoy/config/filter/http/authn/v2alpha1/config.pb.go b/envoy/config/filter/http/authn/v2alpha1/config.pb.go
index 997b12af92..4600d1e76b 100644
--- a/envoy/config/filter/http/authn/v2alpha1/config.pb.go
+++ b/envoy/config/filter/http/authn/v2alpha1/config.pb.go
@@ -7,6 +7,7 @@
It is generated from these files:
envoy/config/filter/http/authn/v2alpha1/config.proto
envoy/config/filter/http/jwt_auth/v2alpha1/config.proto
+ envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto
It has these top-level messages:
FilterConfig
@@ -16,6 +17,7 @@
RemoteJwks
JwtHeader
JwtAuthentication
+ TcpClusterRewrite
*/
package v2alpha1
diff --git a/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go b/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go
new file mode 100644
index 0000000000..8240044eaf
--- /dev/null
+++ b/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.pb.go
@@ -0,0 +1,346 @@
+// Code generated by protoc-gen-gogo. DO NOT EDIT.
+// source: envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto
+
+package v2alpha1
+
+import proto "github.com/gogo/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+import io "io"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// TcpClusterRewrite is the config for the TCP cluster rewrite filter.
+type TcpClusterRewrite struct {
+ // Specifies the regex pattern to be matched in the cluster name.
+ ClusterPattern string `protobuf:"bytes,1,opt,name=cluster_pattern,json=clusterPattern,proto3" json:"cluster_pattern,omitempty"`
+ // Specifies the replacement for the matched cluster pattern.
+ ClusterReplacement string `protobuf:"bytes,2,opt,name=cluster_replacement,json=clusterReplacement,proto3" json:"cluster_replacement,omitempty"`
+}
+
+func (m *TcpClusterRewrite) Reset() { *m = TcpClusterRewrite{} }
+func (m *TcpClusterRewrite) String() string { return proto.CompactTextString(m) }
+func (*TcpClusterRewrite) ProtoMessage() {}
+func (*TcpClusterRewrite) Descriptor() ([]byte, []int) { return fileDescriptorConfig, []int{0} }
+
+func (m *TcpClusterRewrite) GetClusterPattern() string {
+ if m != nil {
+ return m.ClusterPattern
+ }
+ return ""
+}
+
+func (m *TcpClusterRewrite) GetClusterReplacement() string {
+ if m != nil {
+ return m.ClusterReplacement
+ }
+ return ""
+}
+
+func init() {
+ proto.RegisterType((*TcpClusterRewrite)(nil), "istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.TcpClusterRewrite")
+}
+func (m *TcpClusterRewrite) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *TcpClusterRewrite) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if len(m.ClusterPattern) > 0 {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintConfig(dAtA, i, uint64(len(m.ClusterPattern)))
+ i += copy(dAtA[i:], m.ClusterPattern)
+ }
+ if len(m.ClusterReplacement) > 0 {
+ dAtA[i] = 0x12
+ i++
+ i = encodeVarintConfig(dAtA, i, uint64(len(m.ClusterReplacement)))
+ i += copy(dAtA[i:], m.ClusterReplacement)
+ }
+ return i, nil
+}
+
+func encodeVarintConfig(dAtA []byte, offset int, v uint64) int {
+ for v >= 1<<7 {
+ dAtA[offset] = uint8(v&0x7f | 0x80)
+ v >>= 7
+ offset++
+ }
+ dAtA[offset] = uint8(v)
+ return offset + 1
+}
+func (m *TcpClusterRewrite) Size() (n int) {
+ var l int
+ _ = l
+ l = len(m.ClusterPattern)
+ if l > 0 {
+ n += 1 + l + sovConfig(uint64(l))
+ }
+ l = len(m.ClusterReplacement)
+ if l > 0 {
+ n += 1 + l + sovConfig(uint64(l))
+ }
+ return n
+}
+
+func sovConfig(x uint64) (n int) {
+ for {
+ n++
+ x >>= 7
+ if x == 0 {
+ break
+ }
+ }
+ return n
+}
+func sozConfig(x uint64) (n int) {
+ return sovConfig(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+}
+func (m *TcpClusterRewrite) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: TcpClusterRewrite: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: TcpClusterRewrite: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterPattern", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthConfig
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ClusterPattern = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ClusterReplacement", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthConfig
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.ClusterReplacement = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipConfig(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthConfig
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func skipConfig(dAtA []byte) (n int, err error) {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ wireType := int(wire & 0x7)
+ switch wireType {
+ case 0:
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ iNdEx++
+ if dAtA[iNdEx-1] < 0x80 {
+ break
+ }
+ }
+ return iNdEx, nil
+ case 1:
+ iNdEx += 8
+ return iNdEx, nil
+ case 2:
+ var length int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ length |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ iNdEx += length
+ if length < 0 {
+ return 0, ErrInvalidLengthConfig
+ }
+ return iNdEx, nil
+ case 3:
+ for {
+ var innerWire uint64
+ var start int = iNdEx
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return 0, ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return 0, io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ innerWire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ innerWireType := int(innerWire & 0x7)
+ if innerWireType == 4 {
+ break
+ }
+ next, err := skipConfig(dAtA[start:])
+ if err != nil {
+ return 0, err
+ }
+ iNdEx = start + next
+ }
+ return iNdEx, nil
+ case 4:
+ return iNdEx, nil
+ case 5:
+ iNdEx += 4
+ return iNdEx, nil
+ default:
+ return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
+ }
+ }
+ panic("unreachable")
+}
+
+var (
+ ErrInvalidLengthConfig = fmt.Errorf("proto: negative length found during unmarshaling")
+ ErrIntOverflowConfig = fmt.Errorf("proto: integer overflow")
+)
+
+func init() {
+ proto.RegisterFile("envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto", fileDescriptorConfig)
+}
+
+var fileDescriptorConfig = []byte{
+ // 213 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcd, 0x2b, 0xcb,
+ 0xaf, 0xd4, 0x4f, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x4f, 0xcb, 0xcc, 0x29, 0x49, 0x2d, 0xd2,
+ 0xcf, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0xd6, 0x2f, 0x49, 0x2e, 0x88, 0x4f, 0xce, 0x29, 0x2d,
+ 0x2e, 0x49, 0x2d, 0x8a, 0x2f, 0x4a, 0x2d, 0x2f, 0xca, 0x2c, 0x49, 0xd5, 0x2f, 0x33, 0x4a, 0xcc,
+ 0x29, 0xc8, 0x48, 0x34, 0x84, 0x6a, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xb2, 0xcb, 0x2c,
+ 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0x1b, 0xa6, 0x07, 0x95, 0x81, 0x18, 0xa6, 0x07, 0x35, 0x4c, 0x0f,
+ 0x8b, 0x61, 0x7a, 0x30, 0xc3, 0x94, 0x72, 0xb9, 0x04, 0x43, 0x92, 0x0b, 0x9c, 0x21, 0xd2, 0x41,
+ 0x10, 0x59, 0x21, 0x75, 0x2e, 0x7e, 0x98, 0x86, 0x82, 0xc4, 0x92, 0x92, 0xd4, 0xa2, 0x3c, 0x09,
+ 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x3e, 0xa8, 0x70, 0x00, 0x44, 0x54, 0x48, 0x9f, 0x4b, 0x18,
+ 0x61, 0x72, 0x41, 0x4e, 0x62, 0x72, 0x6a, 0x6e, 0x6a, 0x5e, 0x89, 0x04, 0x13, 0x58, 0xb1, 0x50,
+ 0x32, 0xcc, 0x54, 0xb8, 0x8c, 0x53, 0xf0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e,
+ 0x78, 0x24, 0xc7, 0x18, 0xe5, 0x0a, 0x71, 0x7c, 0x66, 0xbe, 0x7e, 0x62, 0x41, 0xa6, 0x3e, 0xb9,
+ 0x01, 0x92, 0xc4, 0x06, 0x0e, 0x0a, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xda, 0x0d, 0xa4,
+ 0x2b, 0x53, 0x01, 0x00, 0x00,
+}
diff --git a/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto b/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto
new file mode 100644
index 0000000000..bdcd47e3d5
--- /dev/null
+++ b/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto
@@ -0,0 +1,29 @@
+// Copyright 2018 Istio Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+// $title: TCP cluster rewrite filter configuration for Envoy.
+
+package istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1;
+
+option go_package = "istio.io/api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1";
+
+// TcpClusterRewrite is the config for the TCP cluster rewrite filter.
+message TcpClusterRewrite {
+ // Specifies the regex pattern to be matched in the cluster name.
+ string cluster_pattern = 1;
+ // Specifies the replacement for the matched cluster pattern.
+ string cluster_replacement = 2;
+}
diff --git a/mesh/v1alpha1/config.pb.go b/mesh/v1alpha1/config.pb.go
index d29e86a5c8..98218b7feb 100644
--- a/mesh/v1alpha1/config.pb.go
+++ b/mesh/v1alpha1/config.pb.go
@@ -218,6 +218,10 @@ type MeshConfig struct {
// for k8s service account JWT, so that K8s API server mounts k8s service account JWT to envoy container, which
// will be used to generate key/cert eventually. This isn't supported for non-k8s case.
EnableSdsTokenMount bool `protobuf:"varint,23,opt,name=enable_sds_token_mount,json=enableSdsTokenMount,proto3" json:"enable_sds_token_mount,omitempty"`
+ // The trust domain corresponds to the trust root of a system.
+ // Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
+ // Fallback to old identity format(without trust domain) if not set.
+ TrustDomain string `protobuf:"bytes,26,opt,name=trust_domain,json=trustDomain,proto3" json:"trust_domain,omitempty"`
}
func (m *MeshConfig) Reset() { *m = MeshConfig{} }
@@ -386,6 +390,13 @@ func (m *MeshConfig) GetEnableSdsTokenMount() bool {
return false
}
+func (m *MeshConfig) GetTrustDomain() string {
+ if m != nil {
+ return m.TrustDomain
+ }
+ return ""
+}
+
type MeshConfig_OutboundTrafficPolicy struct {
Mode MeshConfig_OutboundTrafficPolicy_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.mesh.v1alpha1.MeshConfig_OutboundTrafficPolicy_Mode" json:"mode,omitempty"`
}
@@ -658,6 +669,14 @@ func (m *MeshConfig) MarshalTo(dAtA []byte) (int, error) {
}
i++
}
+ if len(m.TrustDomain) > 0 {
+ dAtA[i] = 0xd2
+ i++
+ dAtA[i] = 0x1
+ i++
+ i = encodeVarintConfig(dAtA, i, uint64(len(m.TrustDomain)))
+ i += copy(dAtA[i:], m.TrustDomain)
+ }
return i, nil
}
@@ -815,6 +834,10 @@ func (m *MeshConfig) Size() (n int) {
if m.PolicyCheckFailOpen {
n += 3
}
+ l = len(m.TrustDomain)
+ if l > 0 {
+ n += 2 + l + sovConfig(uint64(l))
+ }
return n
}
@@ -1487,6 +1510,35 @@ func (m *MeshConfig) Unmarshal(dAtA []byte) error {
}
}
m.PolicyCheckFailOpen = bool(v != 0)
+ case 26:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field TrustDomain", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowConfig
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthConfig
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.TrustDomain = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipConfig(dAtA[iNdEx:])
@@ -1797,68 +1849,69 @@ var (
func init() { proto.RegisterFile("mesh/v1alpha1/config.proto", fileDescriptorConfig) }
var fileDescriptorConfig = []byte{
- // 1001 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x4e, 0xe3, 0x46,
- 0x14, 0x5e, 0x43, 0x16, 0xc2, 0xc9, 0x9f, 0x19, 0x36, 0xcb, 0x90, 0x56, 0x34, 0xa5, 0x2a, 0x1b,
- 0xa1, 0xca, 0xd1, 0x82, 0x7a, 0xd1, 0xde, 0x85, 0x00, 0xbb, 0x59, 0x05, 0x82, 0x6c, 0xb3, 0x15,
- 0xbd, 0x19, 0x19, 0x7b, 0x92, 0x8c, 0x70, 0x3c, 0xae, 0x67, 0xbc, 0x5d, 0xae, 0xfb, 0x58, 0x7d,
- 0x81, 0x5e, 0xf6, 0x11, 0x2a, 0x9e, 0xa4, 0x9a, 0x19, 0x07, 0x42, 0x1b, 0x89, 0xaa, 0x97, 0xfe,
- 0xbe, 0xef, 0xcc, 0xf1, 0xf9, 0xce, 0x39, 0x33, 0xd0, 0x9a, 0x51, 0x31, 0xed, 0x7e, 0x7a, 0x1b,
- 0xc4, 0xe9, 0x34, 0x78, 0xdb, 0x0d, 0x79, 0x32, 0x66, 0x13, 0x27, 0xcd, 0xb8, 0xe4, 0x68, 0x8b,
- 0x09, 0xc9, 0xb8, 0xa3, 0x14, 0xce, 0x5c, 0xd1, 0xda, 0x9d, 0x70, 0x3e, 0x89, 0x69, 0x57, 0x4b,
- 0x6e, 0xf2, 0x71, 0x37, 0xca, 0xb3, 0x40, 0x32, 0x9e, 0x98, 0xa0, 0xd6, 0xce, 0xd3, 0x03, 0xd3,
- 0x8c, 0x7f, 0xbe, 0x2b, 0xa8, 0x83, 0x84, 0xca, 0x5f, 0x79, 0x76, 0xcb, 0x92, 0xc9, 0x5c, 0x70,
- 0xd4, 0x8d, 0xa8, 0x90, 0x2c, 0xd1, 0x27, 0x90, 0x2c, 0x8f, 0xa9, 0xd1, 0xee, 0xfd, 0x56, 0x03,
- 0x38, 0xa7, 0x62, 0xda, 0xd7, 0x3f, 0x84, 0xbe, 0x03, 0x34, 0x63, 0x9f, 0x69, 0x46, 0xc2, 0x29,
- 0x0d, 0x6f, 0x89, 0xa0, 0xd9, 0x27, 0x9a, 0x61, 0xab, 0x6d, 0x75, 0x36, 0x5c, 0x5b, 0x33, 0x7d,
- 0x45, 0x78, 0x1a, 0x47, 0x0e, 0x6c, 0x19, 0x75, 0x46, 0x53, 0x9e, 0xc9, 0xb9, 0x7c, 0x45, 0xcb,
- 0x37, 0x35, 0xe5, 0x6a, 0xa6, 0xd0, 0x1f, 0x42, 0x33, 0x62, 0x22, 0xb8, 0x89, 0x29, 0x49, 0x79,
- 0xcc, 0xc2, 0x3b, 0x93, 0x46, 0xe0, 0xd5, 0xb6, 0xd5, 0x29, 0xbb, 0x5b, 0x05, 0x79, 0xa9, 0x39,
- 0x9d, 0x48, 0xa0, 0x03, 0xd8, 0xd4, 0xb5, 0x91, 0x98, 0x09, 0x49, 0x13, 0xa2, 0x8e, 0xc3, 0xa5,
- 0xb6, 0xd5, 0x79, 0xe9, 0x36, 0x34, 0x31, 0xd4, 0xf8, 0x25, 0xcf, 0x24, 0xda, 0x07, 0x03, 0x91,
- 0xa9, 0x94, 0xa9, 0x51, 0xbe, 0xd4, 0xca, 0x9a, 0x86, 0xdf, 0x4b, 0x99, 0x6a, 0xdd, 0x31, 0x34,
- 0x42, 0x9e, 0x24, 0x34, 0x94, 0x44, 0xb2, 0x19, 0xe5, 0xb9, 0xc4, 0x6b, 0x6d, 0xab, 0x53, 0x39,
- 0xdc, 0x71, 0x8c, 0xeb, 0xce, 0xdc, 0x75, 0xe7, 0xa4, 0x70, 0xdd, 0xad, 0x17, 0x11, 0xbe, 0x09,
- 0x40, 0xdf, 0x40, 0x8d, 0x25, 0x93, 0x8c, 0x0a, 0x41, 0xc2, 0x38, 0x10, 0x02, 0xaf, 0xeb, 0xaa,
- 0xab, 0x05, 0xd8, 0x57, 0x18, 0x7a, 0x03, 0x8d, 0xb9, 0x48, 0x79, 0xc3, 0x42, 0x8a, 0xcb, 0x5a,
- 0x56, 0x2f, 0x60, 0xcf, 0xa0, 0x68, 0x06, 0xdb, 0x0f, 0xa7, 0xf1, 0x44, 0x66, 0x3c, 0x8e, 0x69,
- 0x46, 0x66, 0x3c, 0xa2, 0x78, 0xa3, 0x6d, 0x75, 0xea, 0x87, 0xdf, 0x3b, 0x4b, 0x86, 0xc4, 0x79,
- 0xec, 0x9c, 0x33, 0x28, 0xf2, 0x3e, 0x44, 0x9f, 0xf3, 0x88, 0xba, 0x4d, 0xb6, 0x0c, 0x46, 0x23,
- 0xa8, 0x04, 0xb9, 0x9c, 0x16, 0x5d, 0xc0, 0xa0, 0x53, 0x1c, 0x3c, 0x97, 0xa2, 0x97, 0xcb, 0xa9,
- 0xe9, 0xcd, 0xf1, 0x0a, 0xb6, 0x5c, 0x08, 0x1e, 0xbe, 0xd1, 0x00, 0x36, 0xb3, 0x48, 0x90, 0x8c,
- 0x8e, 0x33, 0x2a, 0xa6, 0x24, 0xa2, 0x71, 0x70, 0x87, 0x2b, 0xcf, 0x78, 0xaa, 0x4f, 0x69, 0x64,
- 0x91, 0x70, 0x4d, 0xd8, 0x89, 0x8a, 0x42, 0xdf, 0x42, 0x9d, 0x26, 0x7a, 0x46, 0x64, 0x16, 0x84,
- 0x2c, 0x99, 0xe0, 0xaa, 0x9e, 0x8e, 0x9a, 0x41, 0x7d, 0x03, 0xaa, 0x5e, 0x07, 0x61, 0xa8, 0x0c,
- 0x8b, 0xf9, 0x84, 0x8c, 0x59, 0x4c, 0x71, 0x4d, 0x5b, 0x5b, 0x33, 0xf0, 0x90, 0x4f, 0xce, 0x58,
- 0x4c, 0xd1, 0x3b, 0xa8, 0x47, 0x74, 0x1c, 0xe4, 0xb1, 0x24, 0x66, 0xe9, 0x70, 0x5d, 0xff, 0x56,
- 0x7b, 0x69, 0xb5, 0x97, 0x6a, 0x4e, 0x4c, 0xb9, 0x6e, 0xad, 0x88, 0x2b, 0x56, 0xe3, 0x0d, 0xd4,
- 0xcc, 0xb0, 0x07, 0x51, 0xa4, 0x2c, 0xc5, 0xb6, 0x4a, 0xa7, 0x6b, 0xa8, 0x6a, 0xa2, 0x67, 0x70,
- 0xf4, 0x0b, 0x6c, 0xf3, 0x5c, 0xde, 0xf0, 0x3c, 0x89, 0x54, 0x09, 0xe3, 0x31, 0x0b, 0xe7, 0x46,
- 0x6f, 0xea, 0xd4, 0xcf, 0xf6, 0x72, 0x54, 0x84, 0xfb, 0x26, 0x7a, 0xc1, 0xf3, 0x26, 0x5f, 0x46,
- 0xa1, 0x13, 0xf8, 0xaa, 0xf0, 0x2c, 0x8c, 0x19, 0x4d, 0x24, 0x11, 0x2c, 0x7a, 0xba, 0x63, 0x78,
- 0x4b, 0x9b, 0xf8, 0x85, 0x91, 0xf5, 0xb5, 0xca, 0x63, 0xd1, 0xe2, 0xae, 0xa1, 0x36, 0x54, 0x45,
- 0x24, 0x48, 0x1e, 0x09, 0x92, 0x06, 0x72, 0x8a, 0x5f, 0x69, 0x3f, 0x41, 0x44, 0xe2, 0x2a, 0x12,
- 0x97, 0x81, 0x9c, 0xaa, 0x36, 0x8b, 0x7f, 0xb5, 0xb9, 0xf9, 0x9f, 0xda, 0x2c, 0xfe, 0xd1, 0xe6,
- 0xf7, 0x50, 0x37, 0xfd, 0x20, 0x82, 0xe7, 0x59, 0x48, 0x05, 0x7e, 0xdd, 0x5e, 0xed, 0x54, 0x0e,
- 0xbf, 0x5e, 0x6a, 0x8e, 0x31, 0xc6, 0xd3, 0x4a, 0xb7, 0x16, 0x2e, 0x7c, 0x09, 0x74, 0x04, 0xaf,
- 0x8b, 0xe2, 0xd5, 0xbf, 0x49, 0x7e, 0x4b, 0x13, 0x32, 0xe3, 0x79, 0x22, 0xf1, 0xb6, 0xb9, 0x56,
- 0x0c, 0xeb, 0x45, 0xc2, 0x57, 0xdc, 0xb9, 0xa2, 0xd4, 0xb5, 0xb2, 0x38, 0x3e, 0x3c, 0x9b, 0x05,
- 0x12, 0x63, 0x5d, 0x70, 0xe3, 0x71, 0x80, 0x34, 0xac, 0x12, 0x2c, 0x5a, 0x49, 0xc6, 0x01, 0x8b,
- 0x09, 0x4f, 0x69, 0x82, 0x77, 0x4c, 0x82, 0xf4, 0xd1, 0xc4, 0xb3, 0x80, 0xc5, 0xa3, 0x94, 0x26,
- 0xad, 0xdf, 0x2d, 0x68, 0x2e, 0xed, 0x23, 0x72, 0xa1, 0xa4, 0x17, 0xdb, 0xd2, 0x5b, 0xf7, 0xe3,
- 0xff, 0x1a, 0x06, 0x47, 0xad, 0xb1, 0x36, 0x56, 0x9f, 0xb5, 0x77, 0x01, 0x25, 0xbd, 0xd8, 0x4d,
- 0xa8, 0xb9, 0xa7, 0xef, 0x06, 0x9e, 0xef, 0x5e, 0x93, 0xd1, 0xc5, 0xf0, 0xda, 0x7e, 0xd1, 0x5a,
- 0x29, 0x5b, 0x68, 0x13, 0x36, 0x7a, 0xc3, 0xe1, 0xe8, 0x27, 0xd2, 0xbb, 0xb8, 0xb6, 0x2d, 0x0d,
- 0x7d, 0x09, 0xaf, 0x3e, 0x0e, 0x5c, 0xff, 0xaa, 0x37, 0x24, 0xde, 0xa9, 0xfb, 0x71, 0xd0, 0x3f,
- 0x35, 0x01, 0x2b, 0x8a, 0xdd, 0xfb, 0x01, 0x9a, 0x4b, 0x2f, 0x14, 0xb4, 0x0e, 0xab, 0xa3, 0xb3,
- 0x33, 0xfb, 0x05, 0xaa, 0xc0, 0xfa, 0xc9, 0xe9, 0x59, 0xef, 0x6a, 0xe8, 0xdb, 0x16, 0x02, 0x58,
- 0xf3, 0x7c, 0x77, 0xd0, 0xf7, 0xed, 0x95, 0xbd, 0x7d, 0x80, 0xc7, 0x8b, 0x02, 0x95, 0xa1, 0x74,
- 0x31, 0xba, 0x38, 0xb5, 0x5f, 0xa0, 0x3a, 0xc0, 0xf9, 0x95, 0xce, 0xe7, 0x0f, 0x3d, 0xdb, 0xfa,
- 0x50, 0x2a, 0x37, 0x6c, 0xfb, 0x43, 0xa9, 0x8c, 0xec, 0xad, 0x3d, 0x01, 0xd5, 0xc5, 0x0e, 0x23,
- 0x0c, 0xeb, 0xf3, 0x2d, 0x33, 0x6f, 0xcf, 0xfc, 0x13, 0x0d, 0xa0, 0x2a, 0x63, 0x75, 0x9b, 0x4a,
- 0xc9, 0x92, 0x89, 0xd0, 0x6f, 0x4d, 0xe5, 0x70, 0xbf, 0x30, 0xf1, 0xf1, 0xe1, 0x9b, 0x5b, 0x79,
- 0xe4, 0xf8, 0x43, 0xcf, 0x2b, 0xd4, 0x6e, 0x45, 0xc6, 0x62, 0xfe, 0x71, 0xdc, 0xf9, 0xe3, 0x7e,
- 0xd7, 0xfa, 0xf3, 0x7e, 0xd7, 0xfa, 0xeb, 0x7e, 0xd7, 0xfa, 0xb9, 0x65, 0x4e, 0x60, 0xbc, 0x1b,
- 0xa4, 0xac, 0xfb, 0xe4, 0x71, 0xbd, 0x59, 0xd3, 0x33, 0x7d, 0xf4, 0x77, 0x00, 0x00, 0x00, 0xff,
- 0xff, 0xaa, 0xfd, 0x16, 0xd2, 0xc5, 0x07, 0x00, 0x00,
+ // 1022 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x4e, 0x23, 0x47,
+ 0x13, 0xdd, 0x01, 0x2f, 0x98, 0xf2, 0xdf, 0xd0, 0xac, 0x97, 0xc6, 0xdf, 0x27, 0xe2, 0x25, 0x0a,
+ 0x6b, 0xa1, 0x68, 0xac, 0x05, 0xe5, 0x22, 0xb9, 0x33, 0x06, 0x76, 0xbd, 0x32, 0x18, 0x8d, 0xcd,
+ 0x46, 0xe4, 0xa6, 0x35, 0xcc, 0xb4, 0xed, 0x16, 0xe3, 0xe9, 0xc9, 0x74, 0xcf, 0x66, 0x79, 0xa1,
+ 0xbc, 0x44, 0x5e, 0x20, 0x97, 0x79, 0x84, 0x88, 0x27, 0x89, 0xa6, 0x7a, 0x0c, 0x26, 0xb1, 0x44,
+ 0x94, 0xcb, 0x3e, 0x75, 0xaa, 0xaa, 0xeb, 0x54, 0x55, 0x37, 0x34, 0x66, 0x5c, 0x4d, 0xdb, 0x9f,
+ 0xdf, 0x79, 0x61, 0x3c, 0xf5, 0xde, 0xb5, 0x7d, 0x19, 0x8d, 0xc5, 0xc4, 0x89, 0x13, 0xa9, 0x25,
+ 0xd9, 0x12, 0x4a, 0x0b, 0xe9, 0x64, 0x0c, 0x67, 0xce, 0x68, 0xec, 0x4e, 0xa4, 0x9c, 0x84, 0xbc,
+ 0x8d, 0x94, 0x9b, 0x74, 0xdc, 0x0e, 0xd2, 0xc4, 0xd3, 0x42, 0x46, 0xc6, 0xa9, 0xb1, 0xf3, 0x34,
+ 0x60, 0x9c, 0xc8, 0x2f, 0x77, 0xb9, 0xe9, 0x20, 0xe2, 0xfa, 0x17, 0x99, 0xdc, 0x8a, 0x68, 0x32,
+ 0x27, 0x1c, 0xb5, 0x03, 0xae, 0xb4, 0x88, 0x30, 0x02, 0x4b, 0xd2, 0x90, 0x1b, 0xee, 0xde, 0xaf,
+ 0x15, 0x80, 0x73, 0xae, 0xa6, 0x5d, 0xbc, 0x10, 0xf9, 0x16, 0xc8, 0x4c, 0x7c, 0xe1, 0x09, 0xf3,
+ 0xa7, 0xdc, 0xbf, 0x65, 0x8a, 0x27, 0x9f, 0x79, 0x42, 0xad, 0xa6, 0xd5, 0xda, 0x70, 0x6d, 0xb4,
+ 0x74, 0x33, 0xc3, 0x10, 0x71, 0xe2, 0xc0, 0x96, 0x61, 0x27, 0x3c, 0x96, 0x89, 0x9e, 0xd3, 0x57,
+ 0x90, 0xbe, 0x89, 0x26, 0x17, 0x2d, 0x39, 0xff, 0x10, 0xea, 0x81, 0x50, 0xde, 0x4d, 0xc8, 0x59,
+ 0x2c, 0x43, 0xe1, 0xdf, 0x99, 0x34, 0x8a, 0xae, 0x36, 0xad, 0x56, 0xd1, 0xdd, 0xca, 0x8d, 0x97,
+ 0x68, 0xc3, 0x44, 0x8a, 0x1c, 0xc0, 0x26, 0xd6, 0xc6, 0x42, 0xa1, 0x34, 0x8f, 0x58, 0x16, 0x8e,
+ 0x16, 0x9a, 0x56, 0xeb, 0xa5, 0x5b, 0x43, 0x43, 0x1f, 0xf1, 0x4b, 0x99, 0x68, 0xb2, 0x0f, 0x06,
+ 0x62, 0x53, 0xad, 0x63, 0xc3, 0x7c, 0x89, 0xcc, 0x0a, 0xc2, 0x1f, 0xb4, 0x8e, 0x91, 0x77, 0x0c,
+ 0x35, 0x5f, 0x46, 0x11, 0xf7, 0x35, 0xd3, 0x62, 0xc6, 0x65, 0xaa, 0xe9, 0x5a, 0xd3, 0x6a, 0x95,
+ 0x0e, 0x77, 0x1c, 0xa3, 0xba, 0x33, 0x57, 0xdd, 0x39, 0xc9, 0x55, 0x77, 0xab, 0xb9, 0xc7, 0xc8,
+ 0x38, 0x90, 0xaf, 0xa1, 0x22, 0xa2, 0x49, 0xc2, 0x95, 0x62, 0x7e, 0xe8, 0x29, 0x45, 0xd7, 0xb1,
+ 0xea, 0x72, 0x0e, 0x76, 0x33, 0x8c, 0xbc, 0x85, 0xda, 0x9c, 0x94, 0x69, 0x23, 0x7c, 0x4e, 0x8b,
+ 0x48, 0xab, 0xe6, 0xf0, 0xd0, 0xa0, 0x64, 0x06, 0xdb, 0x0f, 0xd1, 0x64, 0xa4, 0x13, 0x19, 0x86,
+ 0x3c, 0x61, 0x33, 0x19, 0x70, 0xba, 0xd1, 0xb4, 0x5a, 0xd5, 0xc3, 0xef, 0x9c, 0x25, 0x43, 0xe2,
+ 0x3c, 0x76, 0xce, 0xe9, 0xe5, 0x79, 0x1f, 0xbc, 0xcf, 0x65, 0xc0, 0xdd, 0xba, 0x58, 0x06, 0x93,
+ 0x01, 0x94, 0xbc, 0x54, 0x4f, 0xf3, 0x2e, 0x50, 0xc0, 0x14, 0x07, 0xcf, 0xa5, 0xe8, 0xa4, 0x7a,
+ 0x6a, 0x7a, 0x73, 0xbc, 0x42, 0x2d, 0x17, 0xbc, 0x87, 0x33, 0xe9, 0xc1, 0x66, 0x12, 0x28, 0x96,
+ 0xf0, 0x71, 0xc2, 0xd5, 0x94, 0x05, 0x3c, 0xf4, 0xee, 0x68, 0xe9, 0x19, 0x4d, 0x31, 0x4a, 0x2d,
+ 0x09, 0x94, 0x6b, 0xdc, 0x4e, 0x32, 0x2f, 0xf2, 0x0d, 0x54, 0x79, 0x84, 0x33, 0xa2, 0x13, 0xcf,
+ 0x17, 0xd1, 0x84, 0x96, 0x71, 0x3a, 0x2a, 0x06, 0x1d, 0x19, 0x30, 0xeb, 0xb5, 0xe7, 0xfb, 0x99,
+ 0x60, 0xa1, 0x9c, 0xb0, 0xb1, 0x08, 0x39, 0xad, 0xa0, 0xb4, 0x15, 0x03, 0xf7, 0xe5, 0xe4, 0x4c,
+ 0x84, 0x9c, 0xbc, 0x87, 0x6a, 0xc0, 0xc7, 0x5e, 0x1a, 0x6a, 0x66, 0x96, 0x8e, 0x56, 0xf1, 0x5a,
+ 0xcd, 0xa5, 0xd5, 0x5e, 0x66, 0x73, 0x62, 0xca, 0x75, 0x2b, 0xb9, 0x5f, 0xbe, 0x1a, 0x6f, 0xa1,
+ 0x62, 0x86, 0xdd, 0x0b, 0x82, 0x4c, 0x52, 0x6a, 0x67, 0xe9, 0xb0, 0x86, 0x32, 0x1a, 0x3a, 0x06,
+ 0x27, 0x3f, 0xc3, 0xb6, 0x4c, 0xf5, 0x8d, 0x4c, 0xa3, 0x20, 0x2b, 0x61, 0x3c, 0x16, 0xfe, 0x5c,
+ 0xe8, 0x4d, 0x4c, 0xfd, 0x6c, 0x2f, 0x07, 0xb9, 0xfb, 0xc8, 0x78, 0x2f, 0x68, 0x5e, 0x97, 0xcb,
+ 0x4c, 0xe4, 0x04, 0xbe, 0xca, 0x35, 0xf3, 0x43, 0xc1, 0x23, 0xcd, 0x94, 0x08, 0x9e, 0xee, 0x18,
+ 0xdd, 0x42, 0x11, 0xff, 0x67, 0x68, 0x5d, 0x64, 0x0d, 0x45, 0xb0, 0xb8, 0x6b, 0xa4, 0x09, 0x65,
+ 0x15, 0x28, 0x96, 0x06, 0x8a, 0xc5, 0x9e, 0x9e, 0xd2, 0x57, 0xa8, 0x27, 0xa8, 0x40, 0x5d, 0x05,
+ 0xea, 0xd2, 0xd3, 0xd3, 0xac, 0xcd, 0xea, 0x1f, 0x6d, 0xae, 0xff, 0xab, 0x36, 0xab, 0xbf, 0xb5,
+ 0xf9, 0x03, 0x54, 0x4d, 0x3f, 0x98, 0x92, 0x69, 0xe2, 0x73, 0x45, 0x5f, 0x37, 0x57, 0x5b, 0xa5,
+ 0xc3, 0x37, 0x4b, 0xc5, 0x31, 0xc2, 0x0c, 0x91, 0xe9, 0x56, 0xfc, 0x85, 0x93, 0x22, 0x47, 0xf0,
+ 0x3a, 0x2f, 0x3e, 0xbb, 0x9b, 0x96, 0xb7, 0x3c, 0x62, 0x33, 0x99, 0x46, 0x9a, 0x6e, 0x9b, 0x67,
+ 0xc5, 0x58, 0x87, 0x81, 0x1a, 0x65, 0xb6, 0xf3, 0xcc, 0x94, 0x3d, 0x2b, 0x8b, 0xe3, 0x23, 0x93,
+ 0x99, 0xa7, 0x29, 0xc5, 0x82, 0x6b, 0x8f, 0x03, 0x84, 0x70, 0x96, 0x60, 0x51, 0x4a, 0x36, 0xf6,
+ 0x44, 0xc8, 0x64, 0xcc, 0x23, 0xba, 0x63, 0x12, 0xc4, 0x8f, 0x22, 0x9e, 0x79, 0x22, 0x1c, 0xc4,
+ 0x3c, 0x22, 0x6f, 0xa0, 0xac, 0x93, 0x54, 0x69, 0x16, 0xc8, 0x99, 0x27, 0x22, 0xda, 0xc0, 0xd8,
+ 0x25, 0xc4, 0x4e, 0x10, 0x6a, 0xfc, 0x66, 0x41, 0x7d, 0x69, 0xab, 0x89, 0x0b, 0x05, 0xdc, 0x7d,
+ 0x0b, 0x17, 0xf3, 0x87, 0xff, 0x34, 0x2f, 0x4e, 0xb6, 0xe9, 0xa8, 0x3d, 0xc6, 0xda, 0xbb, 0x80,
+ 0x02, 0xee, 0x7e, 0x1d, 0x2a, 0xee, 0xe9, 0xfb, 0xde, 0x70, 0xe4, 0x5e, 0xb3, 0xc1, 0x45, 0xff,
+ 0xda, 0x7e, 0xd1, 0x58, 0x29, 0x5a, 0x64, 0x13, 0x36, 0x3a, 0xfd, 0xfe, 0xe0, 0x47, 0xd6, 0xb9,
+ 0xb8, 0xb6, 0x2d, 0x84, 0xfe, 0x0f, 0xaf, 0x3e, 0xf5, 0xdc, 0xd1, 0x55, 0xa7, 0xcf, 0x86, 0xa7,
+ 0xee, 0xa7, 0x5e, 0xf7, 0xd4, 0x38, 0xac, 0x64, 0xd6, 0xbd, 0xef, 0xa1, 0xbe, 0xf4, 0xcd, 0x21,
+ 0xeb, 0xb0, 0x3a, 0x38, 0x3b, 0xb3, 0x5f, 0x90, 0x12, 0xac, 0x9f, 0x9c, 0x9e, 0x75, 0xae, 0xfa,
+ 0x23, 0xdb, 0x22, 0x00, 0x6b, 0xc3, 0x91, 0xdb, 0xeb, 0x8e, 0xec, 0x95, 0xbd, 0x7d, 0x80, 0xc7,
+ 0xb7, 0x84, 0x14, 0xa1, 0x70, 0x31, 0xb8, 0x38, 0xb5, 0x5f, 0x90, 0x2a, 0xc0, 0xf9, 0x15, 0xe6,
+ 0x1b, 0xf5, 0x87, 0xb6, 0xf5, 0xb1, 0x50, 0xac, 0xd9, 0xf6, 0xc7, 0x42, 0x91, 0xd8, 0x5b, 0x7b,
+ 0x0a, 0xca, 0x8b, 0x43, 0x40, 0x28, 0xac, 0xcf, 0x17, 0xd1, 0x7c, 0x4f, 0xf3, 0x23, 0xe9, 0x41,
+ 0x59, 0x87, 0xd9, 0x83, 0xab, 0xb5, 0x88, 0x26, 0x0a, 0xbf, 0xa3, 0xd2, 0xe1, 0x7e, 0x2e, 0xe2,
+ 0xe3, 0xdf, 0x38, 0x97, 0xf2, 0xc8, 0x19, 0xf5, 0x87, 0xc3, 0x9c, 0xed, 0x96, 0x74, 0xa8, 0xe6,
+ 0x87, 0xe3, 0xd6, 0xef, 0xf7, 0xbb, 0xd6, 0x1f, 0xf7, 0xbb, 0xd6, 0x9f, 0xf7, 0xbb, 0xd6, 0x4f,
+ 0x0d, 0x13, 0x41, 0xc8, 0xb6, 0x17, 0x8b, 0xf6, 0x93, 0xff, 0xf7, 0x66, 0x0d, 0xc7, 0xfe, 0xe8,
+ 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0x33, 0xb9, 0xa7, 0xe8, 0x07, 0x00, 0x00,
}
diff --git a/mesh/v1alpha1/config.proto b/mesh/v1alpha1/config.proto
index 941f6476be..38b2b2faec 100644
--- a/mesh/v1alpha1/config.proto
+++ b/mesh/v1alpha1/config.proto
@@ -182,8 +182,13 @@ message MeshConfig {
// will be used to generate key/cert eventually. This isn't supported for non-k8s case.
bool enable_sds_token_mount = 23;
+ // The trust domain corresponds to the trust root of a system.
+ // Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
+ // Fallback to old identity format(without trust domain) if not set.
+ string trust_domain = 26;
+
// $hide_from_docs
- // Next available field number: 26
+ // Next available field number: 27
}
// ConfigSource describes information about a configuration store inside a
diff --git a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
index 65b39dd6d3..e5ade7fc3e 100644
--- a/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
+++ b/mesh/v1alpha1/istio.mesh.v1alpha1.pb.html
@@ -276,6 +276,16 @@
MeshConfig
rules, and other Istio configuration artifacts. Multiple data sources
can be configured for a single control plane.
+
+
+
+trustDomain |
+string |
+
+ The trust domain corresponds to the trust root of a system.
+Refer to https://github.com/spiffe/spiffe/blob/master/standards/SPIFFE-ID.md#21-trust-domain
+Fallback to old identity format(without trust domain) if not set.
+
|
diff --git a/mixer/v1/attributes.pb.go b/mixer/v1/attributes.pb.go
index 3d0fa8a1cb..67c8b71078 100644
--- a/mixer/v1/attributes.pb.go
+++ b/mixer/v1/attributes.pb.go
@@ -6,9 +6,7 @@
It is generated from these files:
mixer/v1/attributes.proto
- mixer/v1/check.proto
- mixer/v1/report.proto
- mixer/v1/service.proto
+ mixer/v1/mixer.proto
It has these top-level messages:
Attributes
diff --git a/mixer/v1/check.pb.go b/mixer/v1/mixer.pb.go
similarity index 68%
rename from mixer/v1/check.pb.go
rename to mixer/v1/mixer.pb.go
index 12bdcb5f6a..0f6c334879 100644
--- a/mixer/v1/check.pb.go
+++ b/mixer/v1/mixer.pb.go
@@ -1,5 +1,5 @@
// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: mixer/v1/check.proto
+// source: mixer/v1/mixer.proto
package v1
@@ -14,6 +14,9 @@ import time "time"
import strconv "strconv"
+import context "golang.org/x/net/context"
+import grpc "google.golang.org/grpc"
+
import types "github.com/gogo/protobuf/types"
import strings "strings"
@@ -52,7 +55,7 @@ var ReferencedAttributes_Condition_value = map[string]int32{
}
func (ReferencedAttributes_Condition) EnumDescriptor() ([]byte, []int) {
- return fileDescriptorCheck, []int{2, 0}
+ return fileDescriptorMixer, []int{2, 0}
}
// Operation type.
@@ -76,7 +79,7 @@ var HeaderOperation_Operation_value = map[string]int32{
}
func (HeaderOperation_Operation) EnumDescriptor() ([]byte, []int) {
- return fileDescriptorCheck, []int{3, 0}
+ return fileDescriptorMixer, []int{3, 0}
}
// Used to get a thumbs-up/thumbs-down before performing an action.
@@ -99,7 +102,7 @@ type CheckRequest struct {
func (m *CheckRequest) Reset() { *m = CheckRequest{} }
func (*CheckRequest) ProtoMessage() {}
-func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{0} }
+func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{0} }
// parameters for a quota allocation
type CheckRequest_QuotaParams struct {
@@ -111,7 +114,7 @@ type CheckRequest_QuotaParams struct {
func (m *CheckRequest_QuotaParams) Reset() { *m = CheckRequest_QuotaParams{} }
func (*CheckRequest_QuotaParams) ProtoMessage() {}
-func (*CheckRequest_QuotaParams) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{0, 0} }
+func (*CheckRequest_QuotaParams) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{0, 0} }
// The response generated by the Check method.
type CheckResponse struct {
@@ -123,7 +126,7 @@ type CheckResponse struct {
func (m *CheckResponse) Reset() { *m = CheckResponse{} }
func (*CheckResponse) ProtoMessage() {}
-func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{1} }
+func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{1} }
// Expresses the result of a precondition check.
type CheckResponse_PreconditionResult struct {
@@ -145,7 +148,7 @@ type CheckResponse_PreconditionResult struct {
func (m *CheckResponse_PreconditionResult) Reset() { *m = CheckResponse_PreconditionResult{} }
func (*CheckResponse_PreconditionResult) ProtoMessage() {}
func (*CheckResponse_PreconditionResult) Descriptor() ([]byte, []int) {
- return fileDescriptorCheck, []int{1, 0}
+ return fileDescriptorMixer, []int{1, 0}
}
// Expresses the result of a quota allocation.
@@ -163,7 +166,7 @@ type CheckResponse_QuotaResult struct {
func (m *CheckResponse_QuotaResult) Reset() { *m = CheckResponse_QuotaResult{} }
func (*CheckResponse_QuotaResult) ProtoMessage() {}
func (*CheckResponse_QuotaResult) Descriptor() ([]byte, []int) {
- return fileDescriptorCheck, []int{1, 1}
+ return fileDescriptorMixer, []int{1, 1}
}
// Describes the attributes that were used to determine the response.
@@ -178,7 +181,7 @@ type ReferencedAttributes struct {
func (m *ReferencedAttributes) Reset() { *m = ReferencedAttributes{} }
func (*ReferencedAttributes) ProtoMessage() {}
-func (*ReferencedAttributes) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{2} }
+func (*ReferencedAttributes) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{2} }
// Describes a single attribute match.
type ReferencedAttributes_AttributeMatch struct {
@@ -206,7 +209,7 @@ type ReferencedAttributes_AttributeMatch struct {
func (m *ReferencedAttributes_AttributeMatch) Reset() { *m = ReferencedAttributes_AttributeMatch{} }
func (*ReferencedAttributes_AttributeMatch) ProtoMessage() {}
func (*ReferencedAttributes_AttributeMatch) Descriptor() ([]byte, []int) {
- return fileDescriptorCheck, []int{2, 0}
+ return fileDescriptorMixer, []int{2, 0}
}
// Operation on HTTP headers to replace, append, or remove a header. Header
@@ -224,7 +227,7 @@ type HeaderOperation struct {
func (m *HeaderOperation) Reset() { *m = HeaderOperation{} }
func (*HeaderOperation) ProtoMessage() {}
-func (*HeaderOperation) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{3} }
+func (*HeaderOperation) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{3} }
// Expresses the routing manipulation actions to be performed on behalf of
// Mixer in response to a successful precondition check.
@@ -243,7 +246,50 @@ type RouteDirective struct {
func (m *RouteDirective) Reset() { *m = RouteDirective{} }
func (*RouteDirective) ProtoMessage() {}
-func (*RouteDirective) Descriptor() ([]byte, []int) { return fileDescriptorCheck, []int{4} }
+func (*RouteDirective) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{4} }
+
+// Used to report telemetry after performing one or more actions.
+type ReportRequest struct {
+ // The attributes to use for this request.
+ //
+ // Each `Attributes` element represents the state of a single action. Multiple actions
+ // can be provided in a single message in order to improve communication efficiency. The
+ // client can accumulate a set of actions and send them all in one single message.
+ //
+ // Although each `Attributes` message is semantically treated as an independent
+ // stand-alone entity unrelated to the other attributes within the message, this
+ // message format leverages delta-encoding between attribute messages in order to
+ // substantially reduce the request size and improve end-to-end efficiency. Each
+ // individual set of attributes is used to modify the previous set. This eliminates
+ // the need to redundantly send the same attributes multiple times over within
+ // a single request.
+ //
+ // If a client is not sophisticated and doesn't want to use delta-encoding,
+ // a degenerate case is to include all attributes in every individual message.
+ Attributes []CompressedAttributes `protobuf:"bytes,1,rep,name=attributes" json:"attributes"`
+ // The default message-level dictionary for all the attributes.
+ // Individual attribute messages can have their own dictionaries, but if they don't
+ // then this set of words, if it is provided, is used instead.
+ //
+ // This makes it possible to share the same dictionary for all attributes in this
+ // request, which can substantially reduce the overall request size.
+ DefaultWords []string `protobuf:"bytes,2,rep,name=default_words,json=defaultWords" json:"default_words,omitempty"`
+ // The number of words in the global dictionary.
+ // To detect global dictionary out of sync between client and server.
+ GlobalWordCount uint32 `protobuf:"varint,3,opt,name=global_word_count,json=globalWordCount,proto3" json:"global_word_count,omitempty"`
+}
+
+func (m *ReportRequest) Reset() { *m = ReportRequest{} }
+func (*ReportRequest) ProtoMessage() {}
+func (*ReportRequest) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{5} }
+
+// Used to carry responses to telemetry reports
+type ReportResponse struct {
+}
+
+func (m *ReportResponse) Reset() { *m = ReportResponse{} }
+func (*ReportResponse) ProtoMessage() {}
+func (*ReportResponse) Descriptor() ([]byte, []int) { return fileDescriptorMixer, []int{6} }
func init() {
proto.RegisterType((*CheckRequest)(nil), "istio.mixer.v1.CheckRequest")
@@ -255,6 +301,8 @@ func init() {
proto.RegisterType((*ReferencedAttributes_AttributeMatch)(nil), "istio.mixer.v1.ReferencedAttributes.AttributeMatch")
proto.RegisterType((*HeaderOperation)(nil), "istio.mixer.v1.HeaderOperation")
proto.RegisterType((*RouteDirective)(nil), "istio.mixer.v1.RouteDirective")
+ proto.RegisterType((*ReportRequest)(nil), "istio.mixer.v1.ReportRequest")
+ proto.RegisterType((*ReportResponse)(nil), "istio.mixer.v1.ReportResponse")
proto.RegisterEnum("istio.mixer.v1.ReferencedAttributes_Condition", ReferencedAttributes_Condition_name, ReferencedAttributes_Condition_value)
proto.RegisterEnum("istio.mixer.v1.HeaderOperation_Operation", HeaderOperation_Operation_name, HeaderOperation_Operation_value)
}
@@ -272,6 +320,124 @@ func (x HeaderOperation_Operation) String() string {
}
return strconv.Itoa(int(x))
}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion4
+
+// Client API for Mixer service
+
+type MixerClient interface {
+ // Checks preconditions and allocate quota before performing an operation.
+ // The preconditions enforced depend on the set of supplied attributes and
+ // the active configuration.
+ Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
+ // Reports telemetry, such as logs and metrics.
+ // The reported information depends on the set of supplied attributes and the
+ // active configuration.
+ Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error)
+}
+
+type mixerClient struct {
+ cc *grpc.ClientConn
+}
+
+func NewMixerClient(cc *grpc.ClientConn) MixerClient {
+ return &mixerClient{cc}
+}
+
+func (c *mixerClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
+ out := new(CheckResponse)
+ err := grpc.Invoke(ctx, "/istio.mixer.v1.Mixer/Check", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *mixerClient) Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error) {
+ out := new(ReportResponse)
+ err := grpc.Invoke(ctx, "/istio.mixer.v1.Mixer/Report", in, out, c.cc, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// Server API for Mixer service
+
+type MixerServer interface {
+ // Checks preconditions and allocate quota before performing an operation.
+ // The preconditions enforced depend on the set of supplied attributes and
+ // the active configuration.
+ Check(context.Context, *CheckRequest) (*CheckResponse, error)
+ // Reports telemetry, such as logs and metrics.
+ // The reported information depends on the set of supplied attributes and the
+ // active configuration.
+ Report(context.Context, *ReportRequest) (*ReportResponse, error)
+}
+
+func RegisterMixerServer(s *grpc.Server, srv MixerServer) {
+ s.RegisterService(&_Mixer_serviceDesc, srv)
+}
+
+func _Mixer_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CheckRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MixerServer).Check(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/istio.mixer.v1.Mixer/Check",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MixerServer).Check(ctx, req.(*CheckRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Mixer_Report_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ReportRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MixerServer).Report(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/istio.mixer.v1.Mixer/Report",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MixerServer).Report(ctx, req.(*ReportRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _Mixer_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "istio.mixer.v1.Mixer",
+ HandlerType: (*MixerServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "Check",
+ Handler: _Mixer_Check_Handler,
+ },
+ {
+ MethodName: "Report",
+ Handler: _Mixer_Report_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "mixer/v1/mixer.proto",
+}
+
func (m *CheckRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -289,7 +455,7 @@ func (m *CheckRequest) MarshalTo(dAtA []byte) (int, error) {
_ = l
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.Attributes.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(m.Attributes.Size()))
n1, err := m.Attributes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -298,12 +464,12 @@ func (m *CheckRequest) MarshalTo(dAtA []byte) (int, error) {
if m.GlobalWordCount != 0 {
dAtA[i] = 0x10
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.GlobalWordCount))
+ i = encodeVarintMixer(dAtA, i, uint64(m.GlobalWordCount))
}
if len(m.DeduplicationId) > 0 {
dAtA[i] = 0x1a
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(m.DeduplicationId)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(m.DeduplicationId)))
i += copy(dAtA[i:], m.DeduplicationId)
}
if len(m.Quotas) > 0 {
@@ -314,17 +480,17 @@ func (m *CheckRequest) MarshalTo(dAtA []byte) (int, error) {
msgSize := 0
if (&v) != nil {
msgSize = (&v).Size()
- msgSize += 1 + sovCheck(uint64(msgSize))
+ msgSize += 1 + sovMixer(uint64(msgSize))
}
- mapSize := 1 + len(k) + sovCheck(uint64(len(k))) + msgSize
- i = encodeVarintCheck(dAtA, i, uint64(mapSize))
+ mapSize := 1 + len(k) + sovMixer(uint64(len(k))) + msgSize
+ i = encodeVarintMixer(dAtA, i, uint64(mapSize))
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(k)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(k)))
i += copy(dAtA[i:], k)
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64((&v).Size()))
+ i = encodeVarintMixer(dAtA, i, uint64((&v).Size()))
n2, err := (&v).MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -353,7 +519,7 @@ func (m *CheckRequest_QuotaParams) MarshalTo(dAtA []byte) (int, error) {
if m.Amount != 0 {
dAtA[i] = 0x8
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.Amount))
+ i = encodeVarintMixer(dAtA, i, uint64(m.Amount))
}
if m.BestEffort {
dAtA[i] = 0x10
@@ -385,7 +551,7 @@ func (m *CheckResponse) MarshalTo(dAtA []byte) (int, error) {
_ = l
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.Precondition.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(m.Precondition.Size()))
n3, err := m.Precondition.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -399,17 +565,17 @@ func (m *CheckResponse) MarshalTo(dAtA []byte) (int, error) {
msgSize := 0
if (&v) != nil {
msgSize = (&v).Size()
- msgSize += 1 + sovCheck(uint64(msgSize))
+ msgSize += 1 + sovMixer(uint64(msgSize))
}
- mapSize := 1 + len(k) + sovCheck(uint64(len(k))) + msgSize
- i = encodeVarintCheck(dAtA, i, uint64(mapSize))
+ mapSize := 1 + len(k) + sovMixer(uint64(len(k))) + msgSize
+ i = encodeVarintMixer(dAtA, i, uint64(mapSize))
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(k)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(k)))
i += copy(dAtA[i:], k)
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64((&v).Size()))
+ i = encodeVarintMixer(dAtA, i, uint64((&v).Size()))
n4, err := (&v).MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -437,7 +603,7 @@ func (m *CheckResponse_PreconditionResult) MarshalTo(dAtA []byte) (int, error) {
_ = l
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.Status.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(m.Status.Size()))
n5, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -445,7 +611,7 @@ func (m *CheckResponse_PreconditionResult) MarshalTo(dAtA []byte) (int, error) {
i += n5
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration)))
+ i = encodeVarintMixer(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration)))
n6, err := types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:])
if err != nil {
return 0, err
@@ -454,12 +620,12 @@ func (m *CheckResponse_PreconditionResult) MarshalTo(dAtA []byte) (int, error) {
if m.ValidUseCount != 0 {
dAtA[i] = 0x18
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.ValidUseCount))
+ i = encodeVarintMixer(dAtA, i, uint64(m.ValidUseCount))
}
if m.ReferencedAttributes != nil {
dAtA[i] = 0x2a
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.ReferencedAttributes.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(m.ReferencedAttributes.Size()))
n7, err := m.ReferencedAttributes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -469,7 +635,7 @@ func (m *CheckResponse_PreconditionResult) MarshalTo(dAtA []byte) (int, error) {
if m.RouteDirective != nil {
dAtA[i] = 0x32
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.RouteDirective.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(m.RouteDirective.Size()))
n8, err := m.RouteDirective.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -496,7 +662,7 @@ func (m *CheckResponse_QuotaResult) MarshalTo(dAtA []byte) (int, error) {
_ = l
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration)))
+ i = encodeVarintMixer(dAtA, i, uint64(types.SizeOfStdDuration(m.ValidDuration)))
n9, err := types.StdDurationMarshalTo(m.ValidDuration, dAtA[i:])
if err != nil {
return 0, err
@@ -505,11 +671,11 @@ func (m *CheckResponse_QuotaResult) MarshalTo(dAtA []byte) (int, error) {
if m.GrantedAmount != 0 {
dAtA[i] = 0x10
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.GrantedAmount))
+ i = encodeVarintMixer(dAtA, i, uint64(m.GrantedAmount))
}
dAtA[i] = 0x2a
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.ReferencedAttributes.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(m.ReferencedAttributes.Size()))
n10, err := m.ReferencedAttributes.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -552,7 +718,7 @@ func (m *ReferencedAttributes) MarshalTo(dAtA []byte) (int, error) {
for _, msg := range m.AttributeMatches {
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64(msg.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -581,23 +747,23 @@ func (m *ReferencedAttributes_AttributeMatch) MarshalTo(dAtA []byte) (int, error
if m.Name != 0 {
dAtA[i] = 0x8
i++
- i = encodeVarintCheck(dAtA, i, uint64((uint32(m.Name)<<1)^uint32((m.Name>>31))))
+ i = encodeVarintMixer(dAtA, i, uint64((uint32(m.Name)<<1)^uint32((m.Name>>31))))
}
if m.Condition != 0 {
dAtA[i] = 0x10
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.Condition))
+ i = encodeVarintMixer(dAtA, i, uint64(m.Condition))
}
if len(m.Regex) > 0 {
dAtA[i] = 0x1a
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(m.Regex)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(m.Regex)))
i += copy(dAtA[i:], m.Regex)
}
if m.MapKey != 0 {
dAtA[i] = 0x20
i++
- i = encodeVarintCheck(dAtA, i, uint64((uint32(m.MapKey)<<1)^uint32((m.MapKey>>31))))
+ i = encodeVarintMixer(dAtA, i, uint64((uint32(m.MapKey)<<1)^uint32((m.MapKey>>31))))
}
return i, nil
}
@@ -620,19 +786,19 @@ func (m *HeaderOperation) MarshalTo(dAtA []byte) (int, error) {
if len(m.Name) > 0 {
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(m.Name)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name)
}
if len(m.Value) > 0 {
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(m.Value)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(m.Value)))
i += copy(dAtA[i:], m.Value)
}
if m.Operation != 0 {
dAtA[i] = 0x18
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.Operation))
+ i = encodeVarintMixer(dAtA, i, uint64(m.Operation))
}
return i, nil
}
@@ -656,7 +822,7 @@ func (m *RouteDirective) MarshalTo(dAtA []byte) (int, error) {
for _, msg := range m.RequestHeaderOperations {
dAtA[i] = 0xa
i++
- i = encodeVarintCheck(dAtA, i, uint64(msg.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -668,7 +834,7 @@ func (m *RouteDirective) MarshalTo(dAtA []byte) (int, error) {
for _, msg := range m.ResponseHeaderOperations {
dAtA[i] = 0x12
i++
- i = encodeVarintCheck(dAtA, i, uint64(msg.Size()))
+ i = encodeVarintMixer(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
@@ -679,18 +845,86 @@ func (m *RouteDirective) MarshalTo(dAtA []byte) (int, error) {
if m.DirectResponseCode != 0 {
dAtA[i] = 0x18
i++
- i = encodeVarintCheck(dAtA, i, uint64(m.DirectResponseCode))
+ i = encodeVarintMixer(dAtA, i, uint64(m.DirectResponseCode))
}
if len(m.DirectResponseBody) > 0 {
dAtA[i] = 0x22
i++
- i = encodeVarintCheck(dAtA, i, uint64(len(m.DirectResponseBody)))
+ i = encodeVarintMixer(dAtA, i, uint64(len(m.DirectResponseBody)))
i += copy(dAtA[i:], m.DirectResponseBody)
}
return i, nil
}
-func encodeVarintCheck(dAtA []byte, offset int, v uint64) int {
+func (m *ReportRequest) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ReportRequest) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if len(m.Attributes) > 0 {
+ for _, msg := range m.Attributes {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintMixer(dAtA, i, uint64(msg.Size()))
+ n, err := msg.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n
+ }
+ }
+ if len(m.DefaultWords) > 0 {
+ for _, s := range m.DefaultWords {
+ dAtA[i] = 0x12
+ i++
+ l = len(s)
+ for l >= 1<<7 {
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
+ l >>= 7
+ i++
+ }
+ dAtA[i] = uint8(l)
+ i++
+ i += copy(dAtA[i:], s)
+ }
+ }
+ if m.GlobalWordCount != 0 {
+ dAtA[i] = 0x18
+ i++
+ i = encodeVarintMixer(dAtA, i, uint64(m.GlobalWordCount))
+ }
+ return i, nil
+}
+
+func (m *ReportResponse) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *ReportResponse) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ return i, nil
+}
+
+func encodeVarintMixer(dAtA []byte, offset int, v uint64) int {
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
@@ -703,21 +937,21 @@ func (m *CheckRequest) Size() (n int) {
var l int
_ = l
l = m.Attributes.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
if m.GlobalWordCount != 0 {
- n += 1 + sovCheck(uint64(m.GlobalWordCount))
+ n += 1 + sovMixer(uint64(m.GlobalWordCount))
}
l = len(m.DeduplicationId)
if l > 0 {
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
if len(m.Quotas) > 0 {
for k, v := range m.Quotas {
_ = k
_ = v
l = v.Size()
- mapEntrySize := 1 + len(k) + sovCheck(uint64(len(k))) + 1 + l + sovCheck(uint64(l))
- n += mapEntrySize + 1 + sovCheck(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + sovMixer(uint64(len(k))) + 1 + l + sovMixer(uint64(l))
+ n += mapEntrySize + 1 + sovMixer(uint64(mapEntrySize))
}
}
return n
@@ -727,7 +961,7 @@ func (m *CheckRequest_QuotaParams) Size() (n int) {
var l int
_ = l
if m.Amount != 0 {
- n += 1 + sovCheck(uint64(m.Amount))
+ n += 1 + sovMixer(uint64(m.Amount))
}
if m.BestEffort {
n += 2
@@ -739,14 +973,14 @@ func (m *CheckResponse) Size() (n int) {
var l int
_ = l
l = m.Precondition.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
if len(m.Quotas) > 0 {
for k, v := range m.Quotas {
_ = k
_ = v
l = v.Size()
- mapEntrySize := 1 + len(k) + sovCheck(uint64(len(k))) + 1 + l + sovCheck(uint64(l))
- n += mapEntrySize + 1 + sovCheck(uint64(mapEntrySize))
+ mapEntrySize := 1 + len(k) + sovMixer(uint64(len(k))) + 1 + l + sovMixer(uint64(l))
+ n += mapEntrySize + 1 + sovMixer(uint64(mapEntrySize))
}
}
return n
@@ -756,19 +990,19 @@ func (m *CheckResponse_PreconditionResult) Size() (n int) {
var l int
_ = l
l = m.Status.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
l = types.SizeOfStdDuration(m.ValidDuration)
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
if m.ValidUseCount != 0 {
- n += 1 + sovCheck(uint64(m.ValidUseCount))
+ n += 1 + sovMixer(uint64(m.ValidUseCount))
}
if m.ReferencedAttributes != nil {
l = m.ReferencedAttributes.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
if m.RouteDirective != nil {
l = m.RouteDirective.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
return n
}
@@ -777,12 +1011,12 @@ func (m *CheckResponse_QuotaResult) Size() (n int) {
var l int
_ = l
l = types.SizeOfStdDuration(m.ValidDuration)
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
if m.GrantedAmount != 0 {
- n += 1 + sovCheck(uint64(m.GrantedAmount))
+ n += 1 + sovMixer(uint64(m.GrantedAmount))
}
l = m.ReferencedAttributes.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
return n
}
@@ -792,13 +1026,13 @@ func (m *ReferencedAttributes) Size() (n int) {
if len(m.Words) > 0 {
for _, s := range m.Words {
l = len(s)
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
}
if len(m.AttributeMatches) > 0 {
for _, e := range m.AttributeMatches {
l = e.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
}
return n
@@ -808,17 +1042,17 @@ func (m *ReferencedAttributes_AttributeMatch) Size() (n int) {
var l int
_ = l
if m.Name != 0 {
- n += 1 + sozCheck(uint64(m.Name))
+ n += 1 + sozMixer(uint64(m.Name))
}
if m.Condition != 0 {
- n += 1 + sovCheck(uint64(m.Condition))
+ n += 1 + sovMixer(uint64(m.Condition))
}
l = len(m.Regex)
if l > 0 {
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
if m.MapKey != 0 {
- n += 1 + sozCheck(uint64(m.MapKey))
+ n += 1 + sozMixer(uint64(m.MapKey))
}
return n
}
@@ -828,14 +1062,14 @@ func (m *HeaderOperation) Size() (n int) {
_ = l
l = len(m.Name)
if l > 0 {
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
l = len(m.Value)
if l > 0 {
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
if m.Operation != 0 {
- n += 1 + sovCheck(uint64(m.Operation))
+ n += 1 + sovMixer(uint64(m.Operation))
}
return n
}
@@ -846,26 +1080,53 @@ func (m *RouteDirective) Size() (n int) {
if len(m.RequestHeaderOperations) > 0 {
for _, e := range m.RequestHeaderOperations {
l = e.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
}
if len(m.ResponseHeaderOperations) > 0 {
for _, e := range m.ResponseHeaderOperations {
l = e.Size()
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
}
}
if m.DirectResponseCode != 0 {
- n += 1 + sovCheck(uint64(m.DirectResponseCode))
+ n += 1 + sovMixer(uint64(m.DirectResponseCode))
}
l = len(m.DirectResponseBody)
if l > 0 {
- n += 1 + l + sovCheck(uint64(l))
+ n += 1 + l + sovMixer(uint64(l))
+ }
+ return n
+}
+
+func (m *ReportRequest) Size() (n int) {
+ var l int
+ _ = l
+ if len(m.Attributes) > 0 {
+ for _, e := range m.Attributes {
+ l = e.Size()
+ n += 1 + l + sovMixer(uint64(l))
+ }
+ }
+ if len(m.DefaultWords) > 0 {
+ for _, s := range m.DefaultWords {
+ l = len(s)
+ n += 1 + l + sovMixer(uint64(l))
+ }
+ }
+ if m.GlobalWordCount != 0 {
+ n += 1 + sovMixer(uint64(m.GlobalWordCount))
}
return n
}
-func sovCheck(x uint64) (n int) {
+func (m *ReportResponse) Size() (n int) {
+ var l int
+ _ = l
+ return n
+}
+
+func sovMixer(x uint64) (n int) {
for {
n++
x >>= 7
@@ -875,8 +1136,8 @@ func sovCheck(x uint64) (n int) {
}
return n
}
-func sozCheck(x uint64) (n int) {
- return sovCheck(uint64((x << 1) ^ uint64((int64(x) >> 63))))
+func sozMixer(x uint64) (n int) {
+ return sovMixer(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *CheckRequest) String() string {
if this == nil {
@@ -1008,7 +1269,28 @@ func (this *RouteDirective) String() string {
}, "")
return s
}
-func valueToStringCheck(v interface{}) string {
+func (this *ReportRequest) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ReportRequest{`,
+ `Attributes:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Attributes), "CompressedAttributes", "CompressedAttributes", 1), `&`, ``, 1) + `,`,
+ `DefaultWords:` + fmt.Sprintf("%v", this.DefaultWords) + `,`,
+ `GlobalWordCount:` + fmt.Sprintf("%v", this.GlobalWordCount) + `,`,
+ `}`,
+ }, "")
+ return s
+}
+func (this *ReportResponse) String() string {
+ if this == nil {
+ return "nil"
+ }
+ s := strings.Join([]string{`&ReportResponse{`,
+ `}`,
+ }, "")
+ return s
+}
+func valueToStringMixer(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
@@ -1024,7 +1306,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1052,7 +1334,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1065,7 +1347,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1082,7 +1364,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
m.GlobalWordCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1101,7 +1383,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1115,7 +1397,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -1130,7 +1412,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1143,7 +1425,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1159,7 +1441,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1176,7 +1458,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1190,7 +1472,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey > l {
@@ -1202,7 +1484,7 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1215,11 +1497,11 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postmsgIndex := iNdEx + mapmsglen
if mapmsglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -1231,12 +1513,12 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -1248,12 +1530,12 @@ func (m *CheckRequest) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1275,7 +1557,7 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1303,7 +1585,7 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error {
m.Amount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1322,7 +1604,7 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error {
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1337,12 +1619,12 @@ func (m *CheckRequest_QuotaParams) Unmarshal(dAtA []byte) error {
m.BestEffort = bool(v != 0)
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1364,7 +1646,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1392,7 +1674,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1405,7 +1687,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1422,7 +1704,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1435,7 +1717,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1451,7 +1733,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1468,7 +1750,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1482,7 +1764,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey > l {
@@ -1494,7 +1776,7 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
var mapmsglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1507,11 +1789,11 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
}
}
if mapmsglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postmsgIndex := iNdEx + mapmsglen
if mapmsglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if postmsgIndex > l {
return io.ErrUnexpectedEOF
@@ -1523,12 +1805,12 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
iNdEx = postmsgIndex
} else {
iNdEx = entryPreIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > postIndex {
return io.ErrUnexpectedEOF
@@ -1540,12 +1822,12 @@ func (m *CheckResponse) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1567,7 +1849,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1595,7 +1877,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1608,7 +1890,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1625,7 +1907,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1638,7 +1920,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1655,7 +1937,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
m.ValidUseCount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1674,7 +1956,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1687,7 +1969,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1707,7 +1989,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1720,7 +2002,7 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1735,12 +2017,12 @@ func (m *CheckResponse_PreconditionResult) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1762,7 +2044,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1790,7 +2072,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1803,7 +2085,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1820,7 +2102,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
m.GrantedAmount = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1839,7 +2121,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1852,7 +2134,7 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1864,12 +2146,12 @@ func (m *CheckResponse_QuotaResult) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -1891,7 +2173,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1919,7 +2201,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1933,7 +2215,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -1948,7 +2230,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -1961,7 +2243,7 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -1974,12 +2256,12 @@ func (m *ReferencedAttributes) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2001,7 +2283,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2029,7 +2311,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
var v int32
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2050,7 +2332,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
m.Condition = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2069,7 +2351,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2083,7 +2365,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -2098,7 +2380,7 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
var v int32
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2114,12 +2396,12 @@ func (m *ReferencedAttributes_AttributeMatch) Unmarshal(dAtA []byte) error {
m.MapKey = v
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2141,7 +2423,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2169,7 +2451,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2183,7 +2465,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -2198,7 +2480,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2212,7 +2494,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -2227,7 +2509,7 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
m.Operation = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2241,12 +2523,12 @@ func (m *HeaderOperation) Unmarshal(dAtA []byte) error {
}
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2268,7 +2550,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2296,7 +2578,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2309,7 +2591,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -2327,7 +2609,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2340,7 +2622,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
}
}
if msglen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + msglen
if postIndex > l {
@@ -2358,7 +2640,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
m.DirectResponseCode = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2377,7 +2659,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return ErrIntOverflowCheck
+ return ErrIntOverflowMixer
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
@@ -2391,7 +2673,7 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
}
intStringLen := int(stringLen)
if intStringLen < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
postIndex := iNdEx + intStringLen
if postIndex > l {
@@ -2401,12 +2683,191 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
iNdEx = postIndex
default:
iNdEx = preIndex
- skippy, err := skipCheck(dAtA[iNdEx:])
+ skippy, err := skipMixer(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthMixer
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ReportRequest) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMixer
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ReportRequest: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ReportRequest: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMixer
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthMixer
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Attributes = append(m.Attributes, CompressedAttributes{})
+ if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field DefaultWords", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMixer
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthMixer
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.DefaultWords = append(m.DefaultWords, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ case 3:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field GlobalWordCount", wireType)
+ }
+ m.GlobalWordCount = 0
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMixer
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ m.GlobalWordCount |= (uint32(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ default:
+ iNdEx = preIndex
+ skippy, err := skipMixer(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthMixer
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
+func (m *ReportResponse) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowMixer
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: ReportResponse: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: ReportResponse: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ default:
+ iNdEx = preIndex
+ skippy, err := skipMixer(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
- return ErrInvalidLengthCheck
+ return ErrInvalidLengthMixer
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
@@ -2420,14 +2881,14 @@ func (m *RouteDirective) Unmarshal(dAtA []byte) error {
}
return nil
}
-func skipCheck(dAtA []byte) (n int, err error) {
+func skipMixer(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowCheck
+ return 0, ErrIntOverflowMixer
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -2444,7 +2905,7 @@ func skipCheck(dAtA []byte) (n int, err error) {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowCheck
+ return 0, ErrIntOverflowMixer
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -2462,7 +2923,7 @@ func skipCheck(dAtA []byte) (n int, err error) {
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowCheck
+ return 0, ErrIntOverflowMixer
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -2476,7 +2937,7 @@ func skipCheck(dAtA []byte) (n int, err error) {
}
iNdEx += length
if length < 0 {
- return 0, ErrInvalidLengthCheck
+ return 0, ErrInvalidLengthMixer
}
return iNdEx, nil
case 3:
@@ -2485,7 +2946,7 @@ func skipCheck(dAtA []byte) (n int, err error) {
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
- return 0, ErrIntOverflowCheck
+ return 0, ErrIntOverflowMixer
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
@@ -2501,7 +2962,7 @@ func skipCheck(dAtA []byte) (n int, err error) {
if innerWireType == 4 {
break
}
- next, err := skipCheck(dAtA[start:])
+ next, err := skipMixer(dAtA[start:])
if err != nil {
return 0, err
}
@@ -2521,77 +2982,83 @@ func skipCheck(dAtA []byte) (n int, err error) {
}
var (
- ErrInvalidLengthCheck = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowCheck = fmt.Errorf("proto: integer overflow")
+ ErrInvalidLengthMixer = fmt.Errorf("proto: negative length found during unmarshaling")
+ ErrIntOverflowMixer = fmt.Errorf("proto: integer overflow")
)
-func init() { proto.RegisterFile("mixer/v1/check.proto", fileDescriptorCheck) }
-
-var fileDescriptorCheck = []byte{
- // 1039 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xbf, 0x73, 0xe3, 0xc4,
- 0x17, 0xb7, 0xfc, 0x2b, 0xd1, 0xf3, 0xc5, 0x71, 0x76, 0x9c, 0x6f, 0x1c, 0x17, 0x4a, 0xc6, 0xf3,
- 0x85, 0xf1, 0x51, 0xc8, 0xb9, 0x5c, 0xc3, 0x50, 0xc0, 0x38, 0x8a, 0x12, 0x1c, 0xee, 0x12, 0xb3,
- 0xb9, 0x83, 0xe3, 0x1a, 0x8d, 0x2c, 0x6d, 0x1c, 0xcd, 0xd9, 0x5e, 0xdd, 0x4a, 0x0a, 0x97, 0x8e,
- 0x19, 0xfe, 0x01, 0x4a, 0x5a, 0x1a, 0x86, 0xbf, 0x80, 0x8a, 0x3f, 0x20, 0xe5, 0x95, 0x54, 0x40,
- 0x0c, 0xcc, 0x50, 0x5e, 0x49, 0xc9, 0x68, 0x77, 0x25, 0xdb, 0xb1, 0x8f, 0x0b, 0x0c, 0xdd, 0xee,
- 0xfb, 0xf1, 0x79, 0xef, 0x7d, 0xf4, 0x79, 0x3b, 0x82, 0xea, 0xd0, 0x7b, 0x41, 0x58, 0xeb, 0xe2,
- 0x5e, 0xcb, 0x39, 0x27, 0xce, 0x33, 0xdd, 0x67, 0x34, 0xa4, 0xa8, 0xec, 0x05, 0xa1, 0x47, 0x75,
- 0xee, 0xd3, 0x2f, 0xee, 0xd5, 0xab, 0x7d, 0xda, 0xa7, 0xdc, 0xd5, 0x8a, 0x4f, 0x22, 0xaa, 0xae,
- 0xf5, 0x29, 0xed, 0x0f, 0x48, 0x8b, 0xdf, 0x7a, 0xd1, 0x59, 0xcb, 0x8d, 0x98, 0x1d, 0x7a, 0x74,
- 0x24, 0xfd, 0x1b, 0xd2, 0xcf, 0x7c, 0xa7, 0x15, 0x84, 0x76, 0x18, 0x05, 0xd2, 0xb1, 0x99, 0x16,
- 0xb5, 0xc3, 0x90, 0x79, 0xbd, 0x28, 0x24, 0xd2, 0xd5, 0xf8, 0x36, 0x07, 0x77, 0x8c, 0xb8, 0x13,
- 0x4c, 0x9e, 0x47, 0x24, 0x08, 0xd1, 0x11, 0xc0, 0x24, 0xa8, 0xa6, 0x6c, 0x2b, 0xcd, 0xd2, 0xee,
- 0xff, 0xf5, 0xd9, 0xfe, 0x74, 0x83, 0x0e, 0x7d, 0x46, 0x82, 0x80, 0xb8, 0xed, 0x34, 0x76, 0x2f,
- 0x7f, 0xf5, 0xd3, 0x56, 0x06, 0x4f, 0x65, 0xa3, 0x77, 0x60, 0xad, 0x3f, 0xa0, 0x3d, 0x7b, 0x60,
- 0x7d, 0x4e, 0x99, 0x6b, 0x39, 0x34, 0x1a, 0x85, 0xb5, 0xec, 0xb6, 0xd2, 0x5c, 0xc1, 0xab, 0xc2,
- 0xf1, 0x29, 0x65, 0xae, 0x11, 0x9b, 0xd1, 0x5d, 0xa8, 0xb8, 0xc4, 0x8d, 0xfc, 0x81, 0xe7, 0xf0,
- 0x99, 0x2c, 0xcf, 0xad, 0xe5, 0xb6, 0x95, 0xa6, 0x8a, 0x57, 0x67, 0xec, 0x1d, 0x17, 0x1d, 0x40,
- 0xf1, 0x79, 0x44, 0x43, 0x3b, 0xa8, 0xe5, 0xb7, 0x73, 0xcd, 0xd2, 0x6e, 0x73, 0xae, 0xbd, 0xa9,
- 0x81, 0xf4, 0x8f, 0x79, 0xa8, 0x39, 0x0a, 0xd9, 0xa5, 0x6c, 0x51, 0x66, 0xd7, 0x0f, 0xa0, 0xc4,
- 0x9d, 0x5d, 0x9b, 0xd9, 0xc3, 0x00, 0xfd, 0x0f, 0x8a, 0xf6, 0x90, 0xb7, 0x18, 0x4f, 0x9d, 0xc3,
- 0xf2, 0x86, 0xb6, 0xa0, 0xd4, 0x23, 0x41, 0x68, 0x91, 0xb3, 0x33, 0xca, 0x44, 0xff, 0xcb, 0x18,
- 0x62, 0x93, 0xc9, 0x2d, 0x75, 0x47, 0xe2, 0x88, 0x22, 0xa8, 0x02, 0xb9, 0x67, 0xe4, 0x92, 0x83,
- 0xa8, 0x38, 0x3e, 0xa2, 0xf7, 0xa1, 0x70, 0x61, 0x0f, 0x22, 0xc2, 0x73, 0x6f, 0xd5, 0xaf, 0x68,
- 0x09, 0x8b, 0xb4, 0xf7, 0xb2, 0xef, 0x2a, 0x8d, 0xdf, 0x8b, 0xb0, 0x22, 0xe3, 0x02, 0x9f, 0x8e,
- 0x02, 0x82, 0x9e, 0xc2, 0x1d, 0x9f, 0x11, 0x87, 0x8e, 0x5c, 0x2f, 0x26, 0x46, 0x82, 0xef, 0xbc,
- 0x06, 0x5c, 0x24, 0xe9, 0xdd, 0xa9, 0x0c, 0x4c, 0x82, 0x68, 0x10, 0x4a, 0x52, 0x66, 0xb0, 0xd0,
- 0x61, 0x4a, 0x71, 0x8e, 0x53, 0x7c, 0xf7, 0xef, 0x51, 0x5f, 0xcf, 0xf1, 0x6f, 0x59, 0x40, 0xf3,
- 0x35, 0xd1, 0x0e, 0x14, 0x85, 0x42, 0xa5, 0xc2, 0x90, 0x2e, 0xb4, 0xab, 0x33, 0xdf, 0xd1, 0x4f,
- 0xb9, 0x27, 0x01, 0x12, 0x71, 0xe8, 0x08, 0xca, 0x17, 0xf6, 0xc0, 0x73, 0xad, 0x44, 0xf4, 0x72,
- 0xde, 0xcd, 0x24, 0x33, 0xd9, 0x0a, 0x7d, 0x5f, 0x06, 0xec, 0x2d, 0xc7, 0x00, 0x5f, 0xff, 0xbc,
- 0xa5, 0xe0, 0x15, 0x9e, 0x9a, 0x38, 0xd0, 0xdb, 0xb0, 0x2a, 0xb0, 0xa2, 0x80, 0x48, 0x55, 0xc6,
- 0x52, 0x2b, 0xc8, 0xb8, 0xc7, 0x01, 0x11, 0x9a, 0xfc, 0x0c, 0xd6, 0x19, 0x39, 0x23, 0x8c, 0x8c,
- 0x1c, 0xe2, 0x5a, 0x53, 0x6b, 0x51, 0x58, 0xbc, 0x16, 0x38, 0x0d, 0x9e, 0xac, 0x05, 0xae, 0xb2,
- 0x05, 0x56, 0x74, 0x08, 0xab, 0x8c, 0x46, 0x21, 0xb1, 0x5c, 0x8f, 0x11, 0x27, 0xf4, 0x2e, 0x48,
- 0xad, 0xc8, 0x41, 0xb5, 0x39, 0xd0, 0x38, 0x6c, 0x3f, 0x89, 0xc2, 0x65, 0x36, 0x73, 0x3f, 0xca,
- 0x2f, 0xe7, 0x2b, 0x85, 0xfa, 0xb5, 0x22, 0x35, 0x28, 0xf9, 0x9d, 0x67, 0x4b, 0xf9, 0xd7, 0x6c,
- 0xbd, 0x05, 0xe5, 0x3e, 0xb3, 0x47, 0x61, 0x4c, 0xc1, 0x30, 0x5d, 0xe1, 0x1c, 0x5e, 0x91, 0xd6,
- 0xb6, 0x58, 0x13, 0xeb, 0x3f, 0x20, 0x4b, 0x7e, 0xf3, 0x85, 0x94, 0xd5, 0xdd, 0x37, 0xad, 0xd9,
- 0x07, 0xb3, 0x6b, 0x76, 0x1b, 0xcd, 0x0a, 0xba, 0xa6, 0xf7, 0xec, 0xcb, 0x1c, 0x54, 0x17, 0xb5,
- 0x86, 0xaa, 0x50, 0x88, 0x5f, 0xb1, 0x58, 0xb1, 0xb9, 0xa6, 0x8a, 0xc5, 0x05, 0x9d, 0xc1, 0x5a,
- 0x3a, 0xaa, 0x35, 0xb4, 0x43, 0xe7, 0x9c, 0x04, 0xb5, 0x2c, 0xdf, 0x99, 0xfb, 0xb7, 0x99, 0x58,
- 0x4f, 0x8f, 0x0f, 0xe3, 0x64, 0x49, 0x40, 0xc5, 0x9e, 0xb1, 0x92, 0xa0, 0xfe, 0x8d, 0x02, 0xe5,
- 0xd9, 0x50, 0x84, 0x20, 0x3f, 0xb2, 0x87, 0x84, 0x33, 0xb0, 0x86, 0xf9, 0x19, 0x3d, 0x00, 0x75,
- 0xf6, 0x41, 0x28, 0xef, 0xea, 0xb7, 0x6a, 0xc3, 0x48, 0x17, 0x74, 0x02, 0x10, 0x8f, 0xcc, 0x48,
- 0x9f, 0xbc, 0x90, 0x0f, 0xb1, 0xb8, 0xa0, 0x0d, 0x58, 0x1a, 0xda, 0xbe, 0x15, 0x93, 0x9f, 0xe7,
- 0xa5, 0x8b, 0x43, 0xdb, 0xff, 0x88, 0x5c, 0x36, 0x3a, 0xa0, 0xa6, 0x30, 0x68, 0x13, 0xd6, 0x8d,
- 0x93, 0xe3, 0xfd, 0xce, 0xa3, 0xce, 0xc9, 0xb1, 0xf5, 0xf8, 0xf8, 0xb4, 0x6b, 0x1a, 0x9d, 0x83,
- 0x8e, 0xb9, 0x5f, 0xc9, 0xa0, 0x12, 0x2c, 0xb5, 0xf7, 0x4e, 0xcd, 0x63, 0xc3, 0xac, 0x28, 0x48,
- 0x85, 0x82, 0xf9, 0xa4, 0x6d, 0x3c, 0xaa, 0x64, 0xe3, 0x23, 0x36, 0x0f, 0xcd, 0x27, 0x95, 0x5c,
- 0xe3, 0x7b, 0x05, 0x56, 0x3f, 0x24, 0xb6, 0x4b, 0xd8, 0x89, 0x4f, 0xa4, 0x0e, 0xa7, 0xe7, 0x55,
- 0xe5, 0xbc, 0xd5, 0xe9, 0x4f, 0xae, 0xca, 0xef, 0x88, 0x0e, 0x41, 0xa5, 0x49, 0x1a, 0xef, 0xbd,
- 0x3c, 0x2f, 0x86, 0x1b, 0xe8, 0x7a, 0x7a, 0xc2, 0x93, 0xdc, 0xc6, 0x0e, 0xa8, 0x93, 0xfa, 0x25,
- 0x58, 0xc2, 0x66, 0xf7, 0x41, 0xdb, 0x30, 0x2b, 0x19, 0x04, 0x50, 0xc4, 0xe6, 0xc3, 0x93, 0x4f,
- 0xe2, 0x11, 0x00, 0x8a, 0xed, 0x6e, 0xd7, 0x3c, 0xde, 0xaf, 0x64, 0x1b, 0x3f, 0x64, 0xa1, 0x3c,
- 0xbb, 0xb1, 0xc8, 0x86, 0x4d, 0x26, 0xde, 0x76, 0xeb, 0x9c, 0x17, 0xb5, 0xd2, 0x02, 0x42, 0x4c,
- 0xa5, 0xdd, 0xad, 0x37, 0x74, 0x27, 0x65, 0xb1, 0x21, 0x71, 0x6e, 0x78, 0x03, 0xe4, 0x40, 0x9d,
- 0x49, 0x5d, 0x2f, 0xa8, 0x91, 0xfd, 0x27, 0x35, 0x6a, 0x09, 0xd0, 0x5c, 0x91, 0x1d, 0xa8, 0x8a,
- 0xc7, 0xca, 0x4a, 0x6b, 0x39, 0xd4, 0x25, 0x9c, 0xe0, 0x15, 0x8c, 0x84, 0x2f, 0x59, 0x2f, 0x83,
- 0xba, 0x64, 0x51, 0x46, 0x8f, 0xba, 0x42, 0x36, 0xea, 0xcd, 0x8c, 0x3d, 0xea, 0x5e, 0xee, 0x1d,
- 0x5d, 0x5d, 0x6b, 0x99, 0x97, 0xd7, 0x5a, 0xe6, 0xc7, 0x6b, 0x2d, 0xf3, 0xea, 0x5a, 0xcb, 0x7c,
- 0x31, 0xd6, 0x94, 0xef, 0xc6, 0x5a, 0xe6, 0x6a, 0xac, 0x29, 0x2f, 0xc7, 0x9a, 0xf2, 0xcb, 0x58,
- 0x53, 0xfe, 0x18, 0x6b, 0x99, 0x57, 0x63, 0x4d, 0xf9, 0xea, 0x57, 0x2d, 0xf3, 0x74, 0x5d, 0x4c,
- 0xe5, 0xd1, 0x96, 0xed, 0x7b, 0xad, 0xe4, 0x47, 0xe7, 0x4f, 0x45, 0xe9, 0x15, 0xf9, 0x1b, 0x77,
- 0xff, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x12, 0xef, 0x74, 0xf2, 0x73, 0x09, 0x00, 0x00,
+func init() { proto.RegisterFile("mixer/v1/mixer.proto", fileDescriptorMixer) }
+
+var fileDescriptorMixer = []byte{
+ // 1133 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xbf, 0x73, 0xe3, 0x44,
+ 0x14, 0xb6, 0x2c, 0xdb, 0x89, 0x9f, 0x63, 0xc7, 0xd9, 0x71, 0x88, 0xe3, 0xe1, 0x94, 0x8c, 0xf9,
+ 0x31, 0x3e, 0x0a, 0x39, 0x97, 0x6b, 0x18, 0x0a, 0x18, 0xc7, 0x51, 0x82, 0xc3, 0x25, 0x31, 0xca,
+ 0x1d, 0x77, 0x5c, 0xa3, 0x91, 0xa5, 0xb5, 0xa3, 0x39, 0xdb, 0xab, 0x5b, 0x49, 0xe1, 0xd2, 0xdd,
+ 0x0c, 0xff, 0x00, 0x25, 0x43, 0x47, 0xc3, 0x50, 0x50, 0x53, 0xf1, 0x07, 0xa4, 0xbc, 0x92, 0x0a,
+ 0x88, 0x81, 0x19, 0xca, 0x2b, 0x29, 0x19, 0xed, 0xae, 0x14, 0x3b, 0x76, 0x72, 0x01, 0xae, 0xdb,
+ 0xdd, 0xf7, 0xde, 0xf7, 0xde, 0xfb, 0xf4, 0xbe, 0xd5, 0x42, 0x69, 0xe0, 0x3c, 0xc3, 0xb4, 0x7e,
+ 0x72, 0xa7, 0xce, 0x16, 0xaa, 0x4b, 0x89, 0x4f, 0x50, 0xc1, 0xf1, 0x7c, 0x87, 0xa8, 0xfc, 0xe8,
+ 0xe4, 0x4e, 0xa5, 0xd4, 0x23, 0x3d, 0xc2, 0x4c, 0xf5, 0x70, 0xc5, 0xbd, 0x2a, 0x4a, 0x8f, 0x90,
+ 0x5e, 0x1f, 0xd7, 0xd9, 0xae, 0x13, 0x74, 0xeb, 0x76, 0x40, 0x4d, 0xdf, 0x21, 0x43, 0x61, 0x5f,
+ 0x11, 0x76, 0xea, 0x5a, 0x75, 0xcf, 0x37, 0xfd, 0xc0, 0x13, 0x86, 0xd5, 0x38, 0xa9, 0xe9, 0xfb,
+ 0xd4, 0xe9, 0x04, 0x3e, 0x16, 0xa6, 0xea, 0x77, 0x32, 0x2c, 0x34, 0x8f, 0xb1, 0xf5, 0x44, 0xc7,
+ 0x4f, 0x03, 0xec, 0xf9, 0x68, 0x0f, 0xe0, 0xc2, 0xa9, 0x2c, 0xad, 0x4b, 0xb5, 0xdc, 0xe6, 0xdb,
+ 0xea, 0x64, 0x7d, 0x6a, 0x93, 0x0c, 0x5c, 0x8a, 0x3d, 0x0f, 0xdb, 0x8d, 0xd8, 0x77, 0x2b, 0x75,
+ 0xf6, 0xcb, 0x5a, 0x42, 0x1f, 0x8b, 0x46, 0xef, 0xc1, 0x52, 0xaf, 0x4f, 0x3a, 0x66, 0xdf, 0xf8,
+ 0x82, 0x50, 0xdb, 0xb0, 0x48, 0x30, 0xf4, 0xcb, 0xc9, 0x75, 0xa9, 0x96, 0xd7, 0x17, 0xb9, 0xe1,
+ 0x21, 0xa1, 0x76, 0x33, 0x3c, 0x46, 0xb7, 0xa1, 0x68, 0x63, 0x3b, 0x70, 0xfb, 0x8e, 0xc5, 0x7a,
+ 0x32, 0x1c, 0xbb, 0x2c, 0xaf, 0x4b, 0xb5, 0xac, 0xbe, 0x38, 0x71, 0xde, 0xb2, 0xd1, 0x0e, 0x64,
+ 0x9e, 0x06, 0xc4, 0x37, 0xbd, 0x72, 0x6a, 0x5d, 0xae, 0xe5, 0x36, 0x6b, 0x53, 0xe5, 0x8d, 0x35,
+ 0xa4, 0x7e, 0xca, 0x5c, 0xb5, 0xa1, 0x4f, 0x4f, 0x45, 0x89, 0x22, 0xba, 0xb2, 0x03, 0x39, 0x66,
+ 0x6c, 0x9b, 0xd4, 0x1c, 0x78, 0xe8, 0x0d, 0xc8, 0x98, 0x03, 0x56, 0x62, 0xd8, 0xb5, 0xac, 0x8b,
+ 0x1d, 0x5a, 0x83, 0x5c, 0x07, 0x7b, 0xbe, 0x81, 0xbb, 0x5d, 0x42, 0x79, 0xfd, 0xf3, 0x3a, 0x84,
+ 0x47, 0x1a, 0x3b, 0xa9, 0x58, 0x02, 0x87, 0x27, 0x41, 0x45, 0x90, 0x9f, 0xe0, 0x53, 0x06, 0x92,
+ 0xd5, 0xc3, 0x25, 0xfa, 0x10, 0xd2, 0x27, 0x66, 0x3f, 0xc0, 0x2c, 0xf6, 0x46, 0xf5, 0xf2, 0x92,
+ 0x74, 0x1e, 0xf6, 0x41, 0xf2, 0x7d, 0xa9, 0xfa, 0x67, 0x06, 0xf2, 0xc2, 0xcf, 0x73, 0xc9, 0xd0,
+ 0xc3, 0xe8, 0x31, 0x2c, 0xb8, 0x14, 0x5b, 0x64, 0x68, 0x3b, 0x21, 0x31, 0x02, 0x7c, 0xe3, 0x0a,
+ 0x70, 0x1e, 0xa4, 0xb6, 0xc7, 0x22, 0x74, 0xec, 0x05, 0x7d, 0x5f, 0x90, 0x32, 0x81, 0x85, 0x76,
+ 0x63, 0x8a, 0x65, 0x46, 0xf1, 0xed, 0xeb, 0x51, 0xaf, 0xe6, 0xf8, 0x8f, 0x24, 0xa0, 0xe9, 0x9c,
+ 0x68, 0x03, 0x32, 0x7c, 0x42, 0xc5, 0x84, 0x21, 0x95, 0xcf, 0xae, 0x4a, 0x5d, 0x4b, 0x3d, 0x62,
+ 0x96, 0x08, 0x88, 0xfb, 0xa1, 0x3d, 0x28, 0x9c, 0x98, 0x7d, 0xc7, 0x36, 0xa2, 0xa1, 0x17, 0xfd,
+ 0xae, 0x46, 0x91, 0x91, 0x2a, 0xd4, 0x6d, 0xe1, 0xb0, 0x35, 0x1f, 0x02, 0x7c, 0xfd, 0xeb, 0x9a,
+ 0xa4, 0xe7, 0x59, 0x68, 0x64, 0x40, 0xef, 0xc2, 0x22, 0xc7, 0x0a, 0x3c, 0x2c, 0xa6, 0x32, 0x1c,
+ 0xb5, 0xb4, 0xf0, 0x7b, 0xe0, 0x61, 0x3e, 0x93, 0x9f, 0xc3, 0x32, 0xc5, 0x5d, 0x4c, 0xf1, 0xd0,
+ 0xc2, 0xb6, 0x31, 0x26, 0x8b, 0xf4, 0x6c, 0x59, 0xe8, 0xb1, 0xf3, 0x85, 0x2c, 0xf4, 0x12, 0x9d,
+ 0x71, 0x8a, 0x76, 0x61, 0x91, 0x92, 0xc0, 0xc7, 0x86, 0xed, 0x50, 0x6c, 0xf9, 0xce, 0x09, 0x2e,
+ 0x67, 0x18, 0xa8, 0x32, 0x05, 0x1a, 0xba, 0x6d, 0x47, 0x5e, 0x7a, 0x81, 0x4e, 0xec, 0xf7, 0x52,
+ 0xf3, 0xa9, 0x62, 0xba, 0x72, 0x2e, 0x89, 0x19, 0x14, 0xfc, 0x4e, 0xb3, 0x25, 0xfd, 0x67, 0xb6,
+ 0xde, 0x81, 0x42, 0x8f, 0x9a, 0x43, 0x3f, 0xa4, 0x60, 0x10, 0x4b, 0x58, 0xd6, 0xf3, 0xe2, 0xb4,
+ 0xc1, 0x65, 0x62, 0xbc, 0x06, 0xb2, 0xc4, 0x37, 0x9f, 0x49, 0x59, 0xc5, 0x7e, 0x95, 0xcc, 0x3e,
+ 0x9a, 0x94, 0xd9, 0x4d, 0x66, 0x96, 0xd3, 0x35, 0xae, 0xb3, 0x2f, 0x65, 0x28, 0xcd, 0x2a, 0x0d,
+ 0x95, 0x20, 0x1d, 0xde, 0x62, 0xe1, 0xc4, 0xca, 0xb5, 0xac, 0xce, 0x37, 0xa8, 0x0b, 0x4b, 0x71,
+ 0xab, 0xc6, 0xc0, 0xf4, 0xad, 0x63, 0xec, 0x95, 0x93, 0x4c, 0x33, 0x77, 0x6f, 0xd2, 0xb1, 0x1a,
+ 0x2f, 0xf7, 0xc3, 0x60, 0x41, 0x40, 0xd1, 0x9c, 0x38, 0xc5, 0x5e, 0xe5, 0x5b, 0x09, 0x0a, 0x93,
+ 0xae, 0x08, 0x41, 0x6a, 0x68, 0x0e, 0x30, 0x63, 0x60, 0x49, 0x67, 0x6b, 0x74, 0x0f, 0xb2, 0x93,
+ 0x17, 0x42, 0x61, 0x53, 0xbd, 0x51, 0x19, 0xcd, 0x58, 0xa0, 0x17, 0x00, 0x61, 0xcb, 0x14, 0xf7,
+ 0xf0, 0x33, 0x71, 0x11, 0xf3, 0x0d, 0x5a, 0x81, 0xb9, 0x81, 0xe9, 0x1a, 0x21, 0xf9, 0x29, 0x96,
+ 0x3a, 0x33, 0x30, 0xdd, 0x4f, 0xf0, 0x69, 0xb5, 0x05, 0xd9, 0x18, 0x06, 0xad, 0xc2, 0x72, 0xf3,
+ 0xf0, 0x60, 0xbb, 0x75, 0xbf, 0x75, 0x78, 0x60, 0x3c, 0x38, 0x38, 0x6a, 0x6b, 0xcd, 0xd6, 0x4e,
+ 0x4b, 0xdb, 0x2e, 0x26, 0x50, 0x0e, 0xe6, 0x1a, 0x5b, 0x47, 0xda, 0x41, 0x53, 0x2b, 0x4a, 0x28,
+ 0x0b, 0x69, 0xed, 0x51, 0xa3, 0x79, 0xbf, 0x98, 0x0c, 0x97, 0xba, 0xb6, 0xab, 0x3d, 0x2a, 0xca,
+ 0xd5, 0x1f, 0x25, 0x58, 0xfc, 0x18, 0x9b, 0x36, 0xa6, 0x87, 0x2e, 0x16, 0x73, 0x38, 0xde, 0x6f,
+ 0x56, 0xf4, 0x5b, 0x1a, 0xff, 0xe4, 0x59, 0xf1, 0x1d, 0xd1, 0x2e, 0x64, 0x49, 0x14, 0xc6, 0x6a,
+ 0x2f, 0x4c, 0x0f, 0xc3, 0x25, 0x74, 0x35, 0x5e, 0xe9, 0x17, 0xb1, 0xd5, 0x0d, 0xc8, 0x5e, 0xe4,
+ 0xcf, 0xc1, 0x9c, 0xae, 0xb5, 0xef, 0x35, 0x9a, 0x5a, 0x31, 0x81, 0x00, 0x32, 0xba, 0xb6, 0x7f,
+ 0xf8, 0x59, 0xd8, 0x02, 0x40, 0xa6, 0xd1, 0x6e, 0x6b, 0x07, 0xdb, 0xc5, 0x64, 0xf5, 0xa7, 0x24,
+ 0x14, 0x26, 0x15, 0x8b, 0x4c, 0x58, 0xa5, 0xfc, 0x6e, 0x37, 0x8e, 0x59, 0x52, 0x23, 0x4e, 0xc0,
+ 0x87, 0x29, 0xb7, 0xb9, 0xf6, 0x8a, 0xea, 0xc4, 0x58, 0xac, 0x08, 0x9c, 0x4b, 0x56, 0x0f, 0x59,
+ 0x50, 0xa1, 0x62, 0xae, 0x67, 0xe4, 0x48, 0xfe, 0x9b, 0x1c, 0xe5, 0x08, 0x68, 0x2a, 0xc9, 0x06,
+ 0x94, 0xf8, 0x65, 0x65, 0xc4, 0xb9, 0x2c, 0x62, 0x63, 0x46, 0x70, 0x5e, 0x47, 0xdc, 0x16, 0xc9,
+ 0xab, 0x49, 0x6c, 0x3c, 0x2b, 0xa2, 0x43, 0x6c, 0x3e, 0x36, 0xd9, 0xcb, 0x11, 0x5b, 0xc4, 0x3e,
+ 0xad, 0xfe, 0x20, 0x41, 0x5e, 0xc7, 0x2e, 0xa1, 0xfe, 0x55, 0xef, 0x11, 0xf9, 0x7f, 0xbc, 0x47,
+ 0xde, 0x82, 0xbc, 0x8d, 0xbb, 0x66, 0xd0, 0xf7, 0x0d, 0x2e, 0xe5, 0x24, 0x93, 0xf2, 0x82, 0x38,
+ 0x7c, 0xc8, 0x14, 0x3d, 0xf3, 0xd1, 0x22, 0xcf, 0x7c, 0xb4, 0x54, 0x8b, 0x50, 0x88, 0xaa, 0xe5,
+ 0x4d, 0x6c, 0x7e, 0x23, 0x41, 0x7a, 0x3f, 0x2c, 0x0b, 0xed, 0x40, 0x9a, 0x5d, 0x38, 0xe8, 0xcd,
+ 0xeb, 0x7e, 0xf7, 0x95, 0x5b, 0xd7, 0xde, 0x52, 0xd5, 0x04, 0x6a, 0x41, 0x86, 0xe7, 0x40, 0xb7,
+ 0xa6, 0x95, 0x3c, 0xc6, 0x54, 0x45, 0xb9, 0xca, 0x1c, 0x41, 0x6d, 0xed, 0x9f, 0x9d, 0x2b, 0x89,
+ 0x17, 0xe7, 0x4a, 0xe2, 0xe7, 0x73, 0x25, 0xf1, 0xf2, 0x5c, 0x49, 0x3c, 0x1f, 0x29, 0xd2, 0xf7,
+ 0x23, 0x25, 0x71, 0x36, 0x52, 0xa4, 0x17, 0x23, 0x45, 0xfa, 0x6d, 0xa4, 0x48, 0x7f, 0x8d, 0x94,
+ 0xc4, 0xcb, 0x91, 0x22, 0x7d, 0xf5, 0xbb, 0x92, 0x78, 0xbc, 0xcc, 0x21, 0x1d, 0x52, 0x37, 0x5d,
+ 0xa7, 0x1e, 0x3d, 0x23, 0x9f, 0x4b, 0xd2, 0xdf, 0x92, 0xd4, 0xc9, 0xb0, 0x9f, 0xc8, 0xdd, 0x7f,
+ 0x02, 0x00, 0x00, 0xff, 0xff, 0x06, 0x71, 0x2e, 0x4b, 0xd4, 0x0a, 0x00, 0x00,
}
diff --git a/mixer/v1/check.proto b/mixer/v1/mixer.proto
similarity index 69%
rename from mixer/v1/check.proto
rename to mixer/v1/mixer.proto
index 68c89ba6f5..8d95d91ed0 100644
--- a/mixer/v1/check.proto
+++ b/mixer/v1/mixer.proto
@@ -14,9 +14,12 @@
syntax = "proto3";
+// This package defines the Mixer API that the sidecar proxy uses to perform
+// precondition checks, manage quotas, and report telemetry.
package istio.mixer.v1;
option go_package = "istio.io/api/mixer/v1";
+option cc_generic_services = true;
import "gogoproto/gogo.proto";
import "google/protobuf/duration.proto";
@@ -28,6 +31,33 @@ option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
option cc_enable_arenas = true;
+// Mixer provides three core features:
+//
+// - *Precondition Checking*. Enables callers to verify a number of preconditions
+// before responding to an incoming request from a service consumer.
+// Preconditions can include whether the service consumer is properly
+// authenticated, is on the service’s whitelist, passes ACL checks, and more.
+//
+// - *Quota Management*. Enables services to allocate and free quota on a number
+// of dimensions, Quotas are used as a relatively simple resource management tool
+// to provide some fairness between service consumers when contending for limited
+// resources. Rate limits are examples of quotas.
+//
+// - *Telemetry Reporting*. Enables services to report logging and monitoring.
+// In the future, it will also enable tracing and billing streams intended for
+// both the service operator as well as for service consumers.
+service Mixer {
+ // Checks preconditions and allocate quota before performing an operation.
+ // The preconditions enforced depend on the set of supplied attributes and
+ // the active configuration.
+ rpc Check(CheckRequest) returns (CheckResponse) {}
+
+ // Reports telemetry, such as logs and metrics.
+ // The reported information depends on the set of supplied attributes and the
+ // active configuration.
+ rpc Report(ReportRequest) returns (ReportResponse) {}
+}
+
// Used to get a thumbs-up/thumbs-down before performing an action.
message CheckRequest {
// parameters for a quota allocation
@@ -188,3 +218,40 @@ message RouteDirective {
// If this setting is omitted, no body is included in the generated response.
string direct_response_body = 4;
}
+
+// Used to report telemetry after performing one or more actions.
+message ReportRequest {
+ // The attributes to use for this request.
+ //
+ // Each `Attributes` element represents the state of a single action. Multiple actions
+ // can be provided in a single message in order to improve communication efficiency. The
+ // client can accumulate a set of actions and send them all in one single message.
+ //
+ // Although each `Attributes` message is semantically treated as an independent
+ // stand-alone entity unrelated to the other attributes within the message, this
+ // message format leverages delta-encoding between attribute messages in order to
+ // substantially reduce the request size and improve end-to-end efficiency. Each
+ // individual set of attributes is used to modify the previous set. This eliminates
+ // the need to redundantly send the same attributes multiple times over within
+ // a single request.
+ //
+ // If a client is not sophisticated and doesn't want to use delta-encoding,
+ // a degenerate case is to include all attributes in every individual message.
+ repeated CompressedAttributes attributes = 1 [(gogoproto.nullable) = false];
+
+ // The default message-level dictionary for all the attributes.
+ // Individual attribute messages can have their own dictionaries, but if they don't
+ // then this set of words, if it is provided, is used instead.
+ //
+ // This makes it possible to share the same dictionary for all attributes in this
+ // request, which can substantially reduce the overall request size.
+ repeated string default_words = 2;
+
+ // The number of words in the global dictionary.
+ // To detect global dictionary out of sync between client and server.
+ uint32 global_word_count = 3;
+}
+
+// Used to carry responses to telemetry reports
+message ReportResponse {
+}
diff --git a/mixer/v1/report.pb.go b/mixer/v1/report.pb.go
deleted file mode 100644
index d1383edf20..0000000000
--- a/mixer/v1/report.pb.go
+++ /dev/null
@@ -1,521 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: mixer/v1/report.proto
-
-package v1
-
-import proto "github.com/gogo/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import _ "github.com/gogo/protobuf/gogoproto"
-
-import strings "strings"
-import reflect "reflect"
-
-import io "io"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// Used to report telemetry after performing one or more actions.
-type ReportRequest struct {
- // The attributes to use for this request.
- //
- // Each `Attributes` element represents the state of a single action. Multiple actions
- // can be provided in a single message in order to improve communication efficiency. The
- // client can accumulate a set of actions and send them all in one single message.
- //
- // Although each `Attributes` message is semantically treated as an independent
- // stand-alone entity unrelated to the other attributes within the message, this
- // message format leverages delta-encoding between attribute messages in order to
- // substantially reduce the request size and improve end-to-end efficiency. Each
- // individual set of attributes is used to modify the previous set. This eliminates
- // the need to redundantly send the same attributes multiple times over within
- // a single request.
- //
- // If a client is not sophisticated and doesn't want to use delta-encoding,
- // a degenerate case is to include all attributes in every individual message.
- Attributes []CompressedAttributes `protobuf:"bytes,1,rep,name=attributes" json:"attributes"`
- // The default message-level dictionary for all the attributes.
- // Individual attribute messages can have their own dictionaries, but if they don't
- // then this set of words, if it is provided, is used instead.
- //
- // This makes it possible to share the same dictionary for all attributes in this
- // request, which can substantially reduce the overall request size.
- DefaultWords []string `protobuf:"bytes,2,rep,name=default_words,json=defaultWords" json:"default_words,omitempty"`
- // The number of words in the global dictionary.
- // To detect global dictionary out of sync between client and server.
- GlobalWordCount uint32 `protobuf:"varint,3,opt,name=global_word_count,json=globalWordCount,proto3" json:"global_word_count,omitempty"`
-}
-
-func (m *ReportRequest) Reset() { *m = ReportRequest{} }
-func (*ReportRequest) ProtoMessage() {}
-func (*ReportRequest) Descriptor() ([]byte, []int) { return fileDescriptorReport, []int{0} }
-
-// Used to carry responses to telemetry reports
-type ReportResponse struct {
-}
-
-func (m *ReportResponse) Reset() { *m = ReportResponse{} }
-func (*ReportResponse) ProtoMessage() {}
-func (*ReportResponse) Descriptor() ([]byte, []int) { return fileDescriptorReport, []int{1} }
-
-func init() {
- proto.RegisterType((*ReportRequest)(nil), "istio.mixer.v1.ReportRequest")
- proto.RegisterType((*ReportResponse)(nil), "istio.mixer.v1.ReportResponse")
-}
-func (m *ReportRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ReportRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if len(m.Attributes) > 0 {
- for _, msg := range m.Attributes {
- dAtA[i] = 0xa
- i++
- i = encodeVarintReport(dAtA, i, uint64(msg.Size()))
- n, err := msg.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n
- }
- }
- if len(m.DefaultWords) > 0 {
- for _, s := range m.DefaultWords {
- dAtA[i] = 0x12
- i++
- l = len(s)
- for l >= 1<<7 {
- dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
- l >>= 7
- i++
- }
- dAtA[i] = uint8(l)
- i++
- i += copy(dAtA[i:], s)
- }
- }
- if m.GlobalWordCount != 0 {
- dAtA[i] = 0x18
- i++
- i = encodeVarintReport(dAtA, i, uint64(m.GlobalWordCount))
- }
- return i, nil
-}
-
-func (m *ReportResponse) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
-}
-
-func (m *ReportResponse) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- return i, nil
-}
-
-func encodeVarintReport(dAtA []byte, offset int, v uint64) int {
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return offset + 1
-}
-func (m *ReportRequest) Size() (n int) {
- var l int
- _ = l
- if len(m.Attributes) > 0 {
- for _, e := range m.Attributes {
- l = e.Size()
- n += 1 + l + sovReport(uint64(l))
- }
- }
- if len(m.DefaultWords) > 0 {
- for _, s := range m.DefaultWords {
- l = len(s)
- n += 1 + l + sovReport(uint64(l))
- }
- }
- if m.GlobalWordCount != 0 {
- n += 1 + sovReport(uint64(m.GlobalWordCount))
- }
- return n
-}
-
-func (m *ReportResponse) Size() (n int) {
- var l int
- _ = l
- return n
-}
-
-func sovReport(x uint64) (n int) {
- for {
- n++
- x >>= 7
- if x == 0 {
- break
- }
- }
- return n
-}
-func sozReport(x uint64) (n int) {
- return sovReport(uint64((x << 1) ^ uint64((int64(x) >> 63))))
-}
-func (this *ReportRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ReportRequest{`,
- `Attributes:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Attributes), "CompressedAttributes", "CompressedAttributes", 1), `&`, ``, 1) + `,`,
- `DefaultWords:` + fmt.Sprintf("%v", this.DefaultWords) + `,`,
- `GlobalWordCount:` + fmt.Sprintf("%v", this.GlobalWordCount) + `,`,
- `}`,
- }, "")
- return s
-}
-func (this *ReportResponse) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ReportResponse{`,
- `}`,
- }, "")
- return s
-}
-func valueToStringReport(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
-}
-func (m *ReportRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowReport
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ReportRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ReportRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowReport
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthReport
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Attributes = append(m.Attributes, CompressedAttributes{})
- if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field DefaultWords", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowReport
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthReport
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.DefaultWords = append(m.DefaultWords, string(dAtA[iNdEx:postIndex]))
- iNdEx = postIndex
- case 3:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field GlobalWordCount", wireType)
- }
- m.GlobalWordCount = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowReport
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.GlobalWordCount |= (uint32(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipReport(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthReport
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func (m *ReportResponse) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowReport
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ReportResponse: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ReportResponse: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- default:
- iNdEx = preIndex
- skippy, err := skipReport(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthReport
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
-
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-func skipReport(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowReport
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowReport
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- return iNdEx, nil
- case 1:
- iNdEx += 8
- return iNdEx, nil
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowReport
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- iNdEx += length
- if length < 0 {
- return 0, ErrInvalidLengthReport
- }
- return iNdEx, nil
- case 3:
- for {
- var innerWire uint64
- var start int = iNdEx
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowReport
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- innerWire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- innerWireType := int(innerWire & 0x7)
- if innerWireType == 4 {
- break
- }
- next, err := skipReport(dAtA[start:])
- if err != nil {
- return 0, err
- }
- iNdEx = start + next
- }
- return iNdEx, nil
- case 4:
- return iNdEx, nil
- case 5:
- iNdEx += 4
- return iNdEx, nil
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- }
- panic("unreachable")
-}
-
-var (
- ErrInvalidLengthReport = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowReport = fmt.Errorf("proto: integer overflow")
-)
-
-func init() { proto.RegisterFile("mixer/v1/report.proto", fileDescriptorReport) }
-
-var fileDescriptorReport = []byte{
- // 294 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4e, 0xc3, 0x30,
- 0x14, 0x86, 0x6d, 0x8a, 0x90, 0x30, 0xb4, 0x40, 0x44, 0xa5, 0xd0, 0xe1, 0x11, 0x15, 0x86, 0x88,
- 0x21, 0x51, 0xe1, 0x04, 0xb4, 0x5b, 0xc7, 0x2c, 0x48, 0x2c, 0x55, 0x42, 0x4c, 0x64, 0x29, 0xed,
- 0x0b, 0xb6, 0x53, 0x18, 0x39, 0x02, 0xc7, 0x60, 0xe0, 0x20, 0x19, 0x3b, 0x32, 0x21, 0x62, 0x16,
- 0xc6, 0x8e, 0x8c, 0x28, 0x09, 0x2d, 0xb0, 0x59, 0xff, 0xf7, 0x3d, 0xdb, 0xef, 0x67, 0xdd, 0xa9,
- 0x78, 0xe0, 0xd2, 0x9f, 0x0f, 0x7c, 0xc9, 0x33, 0x94, 0xda, 0xcb, 0x24, 0x6a, 0xb4, 0x3a, 0x42,
- 0x69, 0x81, 0x5e, 0x0d, 0xbd, 0xf9, 0xa0, 0x77, 0x98, 0x60, 0x82, 0x35, 0xf2, 0xab, 0x53, 0x63,
- 0xf5, 0x8e, 0xd6, 0xc3, 0xa1, 0xd6, 0x52, 0x44, 0xb9, 0xe6, 0xaa, 0x41, 0xfd, 0x17, 0xca, 0xda,
- 0x41, 0x7d, 0x63, 0xc0, 0xef, 0x72, 0xae, 0xb4, 0x35, 0x66, 0xec, 0xd7, 0xb2, 0xa9, 0xd3, 0x72,
- 0x77, 0xce, 0x4f, 0xbd, 0xff, 0xef, 0x78, 0x23, 0x9c, 0x66, 0x92, 0x2b, 0xc5, 0xe3, 0xcb, 0xb5,
- 0x3b, 0xdc, 0x2c, 0xde, 0x8e, 0x49, 0xf0, 0x67, 0xda, 0x3a, 0x61, 0xed, 0x98, 0xdf, 0x86, 0x79,
- 0xaa, 0x27, 0xf7, 0x28, 0x63, 0x65, 0x6f, 0x38, 0x2d, 0x77, 0x3b, 0xd8, 0xfd, 0x09, 0xaf, 0xaa,
- 0xcc, 0x3a, 0x63, 0x07, 0x49, 0x8a, 0x51, 0x98, 0xd6, 0xce, 0xe4, 0x06, 0xf3, 0x99, 0xb6, 0x5b,
- 0x0e, 0x75, 0xdb, 0xc1, 0x5e, 0x03, 0x2a, 0x6f, 0x54, 0xc5, 0xfd, 0x7d, 0xd6, 0x59, 0xfd, 0x56,
- 0x65, 0x38, 0x53, 0x7c, 0x38, 0x2e, 0x4a, 0x20, 0x8b, 0x12, 0xc8, 0x6b, 0x09, 0x64, 0x59, 0x02,
- 0x79, 0x34, 0x40, 0x9f, 0x0d, 0x90, 0xc2, 0x00, 0x5d, 0x18, 0xa0, 0xef, 0x06, 0xe8, 0xa7, 0x01,
- 0xb2, 0x34, 0x40, 0x9f, 0x3e, 0x80, 0x5c, 0x77, 0x9b, 0x5d, 0x04, 0xfa, 0x61, 0x26, 0xfc, 0x55,
- 0x35, 0x5f, 0x94, 0x46, 0x5b, 0x75, 0x27, 0x17, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x09, 0xd3,
- 0xb7, 0xd0, 0x6d, 0x01, 0x00, 0x00,
-}
diff --git a/mixer/v1/report.proto b/mixer/v1/report.proto
deleted file mode 100644
index f5e0cdbb8a..0000000000
--- a/mixer/v1/report.proto
+++ /dev/null
@@ -1,64 +0,0 @@
-// Copyright 2016 Istio Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package istio.mixer.v1;
-
-option go_package = "istio.io/api/mixer/v1";
-
-import "gogoproto/gogo.proto";
-import "mixer/v1/attributes.proto";
-
-option (gogoproto.goproto_getters_all) = false;
-option (gogoproto.equal_all) = false;
-option (gogoproto.gostring_all) = false;
-option cc_enable_arenas = true;
-
-// Used to report telemetry after performing one or more actions.
-message ReportRequest {
- // The attributes to use for this request.
- //
- // Each `Attributes` element represents the state of a single action. Multiple actions
- // can be provided in a single message in order to improve communication efficiency. The
- // client can accumulate a set of actions and send them all in one single message.
- //
- // Although each `Attributes` message is semantically treated as an independent
- // stand-alone entity unrelated to the other attributes within the message, this
- // message format leverages delta-encoding between attribute messages in order to
- // substantially reduce the request size and improve end-to-end efficiency. Each
- // individual set of attributes is used to modify the previous set. This eliminates
- // the need to redundantly send the same attributes multiple times over within
- // a single request.
- //
- // If a client is not sophisticated and doesn't want to use delta-encoding,
- // a degenerate case is to include all attributes in every individual message.
- repeated CompressedAttributes attributes = 1 [(gogoproto.nullable) = false];
-
- // The default message-level dictionary for all the attributes.
- // Individual attribute messages can have their own dictionaries, but if they don't
- // then this set of words, if it is provided, is used instead.
- //
- // This makes it possible to share the same dictionary for all attributes in this
- // request, which can substantially reduce the overall request size.
- repeated string default_words = 2;
-
- // The number of words in the global dictionary.
- // To detect global dictionary out of sync between client and server.
- uint32 global_word_count = 3;
-}
-
-// Used to carry responses to telemetry reports
-message ReportResponse {
-}
diff --git a/mixer/v1/service.pb.go b/mixer/v1/service.pb.go
deleted file mode 100644
index 40fa3b078d..0000000000
--- a/mixer/v1/service.pb.go
+++ /dev/null
@@ -1,153 +0,0 @@
-// Code generated by protoc-gen-gogo. DO NOT EDIT.
-// source: mixer/v1/service.proto
-
-package v1
-
-import proto "github.com/gogo/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-import context "golang.org/x/net/context"
-import grpc "google.golang.org/grpc"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// Client API for Mixer service
-
-type MixerClient interface {
- // Checks preconditions and allocate quota before performing an operation.
- // The preconditions enforced depend on the set of supplied attributes and
- // the active configuration.
- Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
- // Reports telemetry, such as logs and metrics.
- // The reported information depends on the set of supplied attributes and the
- // active configuration.
- Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error)
-}
-
-type mixerClient struct {
- cc *grpc.ClientConn
-}
-
-func NewMixerClient(cc *grpc.ClientConn) MixerClient {
- return &mixerClient{cc}
-}
-
-func (c *mixerClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
- out := new(CheckResponse)
- err := grpc.Invoke(ctx, "/istio.mixer.v1.Mixer/Check", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *mixerClient) Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error) {
- out := new(ReportResponse)
- err := grpc.Invoke(ctx, "/istio.mixer.v1.Mixer/Report", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// Server API for Mixer service
-
-type MixerServer interface {
- // Checks preconditions and allocate quota before performing an operation.
- // The preconditions enforced depend on the set of supplied attributes and
- // the active configuration.
- Check(context.Context, *CheckRequest) (*CheckResponse, error)
- // Reports telemetry, such as logs and metrics.
- // The reported information depends on the set of supplied attributes and the
- // active configuration.
- Report(context.Context, *ReportRequest) (*ReportResponse, error)
-}
-
-func RegisterMixerServer(s *grpc.Server, srv MixerServer) {
- s.RegisterService(&_Mixer_serviceDesc, srv)
-}
-
-func _Mixer_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CheckRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MixerServer).Check(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/istio.mixer.v1.Mixer/Check",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MixerServer).Check(ctx, req.(*CheckRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _Mixer_Report_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ReportRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MixerServer).Report(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/istio.mixer.v1.Mixer/Report",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MixerServer).Report(ctx, req.(*ReportRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _Mixer_serviceDesc = grpc.ServiceDesc{
- ServiceName: "istio.mixer.v1.Mixer",
- HandlerType: (*MixerServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "Check",
- Handler: _Mixer_Check_Handler,
- },
- {
- MethodName: "Report",
- Handler: _Mixer_Report_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "mixer/v1/service.proto",
-}
-
-func init() { proto.RegisterFile("mixer/v1/service.proto", fileDescriptorService) }
-
-var fileDescriptorService = []byte{
- // 216 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xcb, 0xcd, 0xac, 0x48,
- 0x2d, 0xd2, 0x2f, 0x33, 0xd4, 0x2f, 0x4e, 0x2d, 0x2a, 0xcb, 0x4c, 0x4e, 0xd5, 0x2b, 0x28, 0xca,
- 0x2f, 0xc9, 0x17, 0xe2, 0xcb, 0x2c, 0x2e, 0xc9, 0xcc, 0xd7, 0x03, 0xcb, 0xea, 0x95, 0x19, 0x4a,
- 0x89, 0xc0, 0xd5, 0x25, 0x67, 0xa4, 0x26, 0x67, 0x43, 0x54, 0x49, 0x89, 0xc2, 0x45, 0x8b, 0x52,
- 0x0b, 0xf2, 0x8b, 0x4a, 0x20, 0xc2, 0x46, 0xb3, 0x18, 0xb9, 0x58, 0x7d, 0x41, 0x32, 0x42, 0x6e,
- 0x5c, 0xac, 0xce, 0x20, 0xf5, 0x42, 0x32, 0x7a, 0xa8, 0x06, 0xea, 0x81, 0x85, 0x83, 0x52, 0x0b,
- 0x4b, 0x53, 0x8b, 0x4b, 0xa4, 0x64, 0x71, 0xc8, 0x16, 0x17, 0xe4, 0xe7, 0x15, 0xa7, 0x2a, 0x31,
- 0x08, 0x79, 0x72, 0xb1, 0x05, 0x81, 0x6d, 0x10, 0xc2, 0x50, 0x0a, 0x11, 0x87, 0x99, 0x24, 0x87,
- 0x4b, 0x1a, 0x66, 0x94, 0x93, 0xdb, 0x85, 0x87, 0x72, 0x0c, 0x37, 0x1e, 0xca, 0x31, 0x7c, 0x78,
- 0x28, 0xc7, 0xd8, 0xf0, 0x48, 0x8e, 0x71, 0xc5, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f,
- 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x8f, 0xe4, 0x18,
- 0x27, 0x3c, 0x96, 0x63, 0x88, 0x12, 0x85, 0x18, 0x97, 0x99, 0xaf, 0x9f, 0x58, 0x90, 0xa9, 0x0f,
- 0xf3, 0x6e, 0x03, 0x23, 0x63, 0x12, 0x1b, 0xd8, 0xaf, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xd8, 0x38, 0xef, 0x37, 0x42, 0x01, 0x00, 0x00,
-}
diff --git a/mixer/v1/service.proto b/mixer/v1/service.proto
deleted file mode 100644
index 18b78eb9fc..0000000000
--- a/mixer/v1/service.proto
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2016 Istio Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-// This package defines the Mixer API that the sidecar proxy uses to perform
-// precondition checks, manage quotas, and report telemetry.
-package istio.mixer.v1;
-
-option go_package = "istio.io/api/mixer/v1";
-option cc_generic_services = true;
-
-import "mixer/v1/check.proto";
-import "mixer/v1/report.proto";
-
-// Mixer provides three core features:
-//
-// - *Precondition Checking*. Enables callers to verify a number of preconditions
-// before responding to an incoming request from a service consumer.
-// Preconditions can include whether the service consumer is properly
-// authenticated, is on the service’s whitelist, passes ACL checks, and more.
-//
-// - *Quota Management*. Enables services to allocate and free quota on a number
-// of dimensions, Quotas are used as a relatively simple resource management tool
-// to provide some fairness between service consumers when contending for limited
-// resources. Rate limits are examples of quotas.
-//
-// - *Telemetry Reporting*. Enables services to report logging and monitoring.
-// In the future, it will also enable tracing and billing streams intended for
-// both the service operator as well as for service consumers.
-service Mixer {
- // Checks preconditions and allocate quota before performing an operation.
- // The preconditions enforced depend on the set of supplied attributes and
- // the active configuration.
- rpc Check(CheckRequest) returns (CheckResponse) {}
-
- // Reports telemetry, such as logs and metrics.
- // The reported information depends on the set of supplied attributes and the
- // active configuration.
- rpc Report(ReportRequest) returns (ReportResponse) {}
-}
diff --git a/networking/v1alpha3/destination_rule.pb.go b/networking/v1alpha3/destination_rule.pb.go
index 3274215922..5e36f5a482 100644
--- a/networking/v1alpha3/destination_rule.pb.go
+++ b/networking/v1alpha3/destination_rule.pb.go
@@ -1079,7 +1079,7 @@ func (m *OutlierDetection) GetMinHealthPercent() int32 {
}
// SSL/TLS related settings for upstream connections. See Envoy's [TLS
-// context](https://www.envoyproxy.io/docs/envoy/latest/api-v1/cluster_manager/cluster_ssl.html#config-cluster-manager-cluster-ssl)
+// context](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/auth/cert.proto.html)
// for more details. These settings are common to both HTTP and TCP upstreams.
//
// For example, the following rule configures a client to use mutual TLS
diff --git a/networking/v1alpha3/destination_rule.proto b/networking/v1alpha3/destination_rule.proto
index 3976fc6acf..188fdc6a1a 100644
--- a/networking/v1alpha3/destination_rule.proto
+++ b/networking/v1alpha3/destination_rule.proto
@@ -393,7 +393,7 @@ message ConnectionPoolSettings {
// failures to a given host counts as an error when measuring the
// consecutive errors metric. See Envoy's [outlier
// detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/outlier)
-// for more details.
+// for more details.
//
// The following rule sets a connection pool size of 100 connections and
// 1000 concurrent HTTP2 requests, with no more than 10 req/connection to
@@ -452,7 +452,7 @@ message OutlierDetection {
}
// SSL/TLS related settings for upstream connections. See Envoy's [TLS
-// context](https://www.envoyproxy.io/docs/envoy/latest/api-v1/cluster_manager/cluster_ssl.html#config-cluster-manager-cluster-ssl)
+// context](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/auth/cert.proto.html)
// for more details. These settings are common to both HTTP and TCP upstreams.
//
// For example, the following rule configures a client to use mutual TLS
diff --git a/networking/v1alpha3/istio.networking.v1alpha3.pb.html b/networking/v1alpha3/istio.networking.v1alpha3.pb.html
index 048d538527..69a40b7a19 100644
--- a/networking/v1alpha3/istio.networking.v1alpha3.pb.html
+++ b/networking/v1alpha3/istio.networking.v1alpha3.pb.html
@@ -3585,7 +3585,7 @@ TLSRoute
TLSSettings
-SSL/TLS related settings for upstream connections. See Envoy’s TLS
+SSL/TLS related settings for upstream connections. See Envoy’s TLS
context
for more details. These settings are common to both HTTP and TCP upstreams.
diff --git a/policy/v1beta1/cfg.pb.go b/policy/v1beta1/cfg.pb.go
index dd72e0615c..b7c9766a33 100644
--- a/policy/v1beta1/cfg.pb.go
+++ b/policy/v1beta1/cfg.pb.go
@@ -35,7 +35,7 @@ import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import google_protobuf1 "github.com/gogo/protobuf/types"
-import google_protobuf2 "github.com/gogo/protobuf/types"
+import _ "github.com/gogo/protobuf/types"
import time "time"
@@ -621,7 +621,7 @@ type Connection struct {
// The address of the backend.
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
// Timeout for remote calls to the backend.
- Timeout *google_protobuf2.Duration `protobuf:"bytes,3,opt,name=timeout" json:"timeout,omitempty"`
+ Timeout *time.Duration `protobuf:"bytes,3,opt,name=timeout,stdduration" json:"timeout,omitempty"`
}
func (m *Connection) Reset() { *m = Connection{} }
@@ -635,7 +635,7 @@ func (m *Connection) GetAddress() string {
return ""
}
-func (m *Connection) GetTimeout() *google_protobuf2.Duration {
+func (m *Connection) GetTimeout() *time.Duration {
if m != nil {
return m.Timeout
}
@@ -1107,7 +1107,13 @@ func (this *Connection) Equal(that interface{}) bool {
if this.Address != that1.Address {
return false
}
- if !this.Timeout.Equal(that1.Timeout) {
+ if this.Timeout != nil && that1.Timeout != nil {
+ if *this.Timeout != *that1.Timeout {
+ return false
+ }
+ } else if this.Timeout != nil {
+ return false
+ } else if that1.Timeout != nil {
return false
}
return true
@@ -1360,9 +1366,7 @@ func (this *Connection) GoString() string {
s := make([]string, 0, 6)
s = append(s, "&v1beta1.Connection{")
s = append(s, "Address: "+fmt.Sprintf("%#v", this.Address)+",\n")
- if this.Timeout != nil {
- s = append(s, "Timeout: "+fmt.Sprintf("%#v", this.Timeout)+",\n")
- }
+ s = append(s, "Timeout: "+fmt.Sprintf("%#v", this.Timeout)+",\n")
s = append(s, "}")
return strings.Join(s, "")
}
@@ -1831,8 +1835,8 @@ func (m *Connection) MarshalTo(dAtA []byte) (int, error) {
if m.Timeout != nil {
dAtA[i] = 0x1a
i++
- i = encodeVarintCfg(dAtA, i, uint64(m.Timeout.Size()))
- n6, err := m.Timeout.MarshalTo(dAtA[i:])
+ i = encodeVarintCfg(dAtA, i, uint64(types.SizeOfStdDuration(*m.Timeout)))
+ n6, err := types.StdDurationMarshalTo(*m.Timeout, dAtA[i:])
if err != nil {
return 0, err
}
@@ -2171,7 +2175,7 @@ func (m *Connection) Size() (n int) {
n += 1 + l + sovCfg(uint64(l))
}
if m.Timeout != nil {
- l = m.Timeout.Size()
+ l = types.SizeOfStdDuration(*m.Timeout)
n += 1 + l + sovCfg(uint64(l))
}
return n
@@ -3795,9 +3799,9 @@ func (m *Connection) Unmarshal(dAtA []byte) error {
return io.ErrUnexpectedEOF
}
if m.Timeout == nil {
- m.Timeout = &google_protobuf2.Duration{}
+ m.Timeout = new(time.Duration)
}
- if err := m.Timeout.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ if err := types.StdDurationUnmarshal(m.Timeout, dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
@@ -4384,75 +4388,75 @@ var (
func init() { proto.RegisterFile("policy/v1beta1/cfg.proto", fileDescriptorCfg) }
var fileDescriptorCfg = []byte{
- // 1118 bytes of a gzipped FileDescriptorProto
+ // 1120 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
- 0x14, 0xf7, 0xc6, 0xa9, 0xff, 0x3c, 0x37, 0x89, 0x33, 0x0d, 0x8d, 0x6b, 0xa2, 0x4d, 0x64, 0x90,
- 0xe8, 0x01, 0xad, 0x1b, 0x57, 0x50, 0x54, 0x45, 0x88, 0xa4, 0x76, 0x95, 0x88, 0x36, 0xb1, 0x26,
- 0x49, 0x11, 0xe5, 0xb0, 0x9a, 0x78, 0x27, 0xce, 0x08, 0xef, 0xec, 0x76, 0x77, 0x36, 0x4a, 0x6e,
- 0x5c, 0xb8, 0xf7, 0xc8, 0x47, 0x80, 0x2f, 0xc1, 0x95, 0x1c, 0x2b, 0xf5, 0xd2, 0x13, 0x10, 0x73,
- 0xe1, 0x82, 0xd4, 0x03, 0x1f, 0x00, 0xed, 0xec, 0xcc, 0xae, 0xeb, 0xd8, 0x88, 0x70, 0xdb, 0x79,
- 0xbf, 0xf7, 0xef, 0xf7, 0xde, 0x9b, 0xb7, 0x03, 0x35, 0xdf, 0x1b, 0xb0, 0xde, 0x79, 0xf3, 0x74,
- 0xfd, 0x88, 0x0a, 0xb2, 0xde, 0xec, 0x1d, 0xf7, 0x2d, 0x3f, 0xf0, 0x84, 0x87, 0x96, 0x58, 0x28,
- 0x98, 0x67, 0x25, 0xb8, 0xa5, 0xf0, 0xfa, 0x52, 0xdf, 0xeb, 0x7b, 0x52, 0xa1, 0x19, 0x7f, 0x25,
- 0xba, 0xf5, 0x95, 0xbe, 0xe7, 0xf5, 0x07, 0xb4, 0x29, 0x4f, 0x47, 0xd1, 0x71, 0x33, 0x14, 0x41,
- 0xd4, 0x13, 0x0a, 0x35, 0xc7, 0x51, 0x27, 0x0a, 0x88, 0x60, 0x1e, 0x57, 0xf8, 0xea, 0x58, 0x0e,
- 0xa7, 0x64, 0x10, 0x51, 0x5b, 0x9c, 0xfb, 0x34, 0x51, 0x68, 0x7c, 0x9f, 0x87, 0xc5, 0x4d, 0x21,
- 0x02, 0x76, 0x14, 0x09, 0xfa, 0x94, 0x70, 0x76, 0x4c, 0x43, 0x81, 0xea, 0x50, 0x0a, 0xe8, 0x29,
- 0x0b, 0x99, 0xc7, 0x6b, 0xc6, 0x9a, 0x71, 0xb7, 0x8c, 0xd3, 0x33, 0x42, 0x30, 0xcb, 0x89, 0x4b,
- 0x6b, 0x33, 0x52, 0x2e, 0xbf, 0xd1, 0x57, 0x00, 0x44, 0x3b, 0x09, 0x6b, 0xf9, 0xb5, 0xfc, 0xdd,
- 0x4a, 0xeb, 0x81, 0x35, 0x89, 0xa5, 0x75, 0x25, 0x58, 0x26, 0x09, 0x3b, 0x5c, 0x04, 0xe7, 0x78,
- 0xc4, 0x55, 0xfd, 0x05, 0xcc, 0xa5, 0xf0, 0x0e, 0x3f, 0xf6, 0xd0, 0x1a, 0x54, 0x1c, 0x1a, 0xf6,
- 0x02, 0xe6, 0x8b, 0x2c, 0xb9, 0x51, 0x11, 0xfa, 0x1c, 0x20, 0x63, 0x29, 0xb3, 0x9c, 0x6f, 0xad,
- 0x4e, 0xce, 0xe5, 0x59, 0xac, 0x77, 0x70, 0xee, 0x53, 0x5c, 0x3e, 0xd5, 0x9f, 0x75, 0x01, 0x0b,
- 0x63, 0x19, 0xa1, 0x2a, 0xe4, 0xbf, 0xa5, 0xe7, 0x2a, 0x58, 0xfc, 0x89, 0xbe, 0x84, 0x1b, 0xd2,
- 0x42, 0xfa, 0xaf, 0xb4, 0x3e, 0xb9, 0x36, 0xd7, 0x98, 0x0c, 0x4e, 0x7c, 0x3c, 0x9c, 0xf9, 0xcc,
- 0x68, 0x5c, 0xcc, 0xc2, 0x2c, 0x8e, 0x06, 0x14, 0x2d, 0xc1, 0x0d, 0x97, 0x88, 0xde, 0x89, 0x8a,
- 0x96, 0x1c, 0xd0, 0xa7, 0x50, 0x24, 0xbd, 0x98, 0x5e, 0x58, 0x9b, 0x91, 0xd5, 0x5d, 0x99, 0x12,
- 0x51, 0x2a, 0x61, 0xad, 0x8c, 0x38, 0xdc, 0x09, 0xe8, 0x8b, 0x88, 0x86, 0xc2, 0x3e, 0xa1, 0xc4,
- 0xa1, 0x81, 0xed, 0xf9, 0x34, 0x99, 0x10, 0xdd, 0xa7, 0xd6, 0x64, 0x4f, 0x71, 0x32, 0xd6, 0xb6,
- 0xb4, 0xd9, 0xd3, 0x26, 0x07, 0xd4, 0xf5, 0x07, 0x44, 0x50, 0xbc, 0xac, 0x9c, 0x8e, 0xe1, 0x21,
- 0xf2, 0xa1, 0x1e, 0xd0, 0xd0, 0xf7, 0x78, 0x48, 0x27, 0x04, 0x9c, 0xfd, 0xdf, 0x01, 0x6b, 0xda,
- 0xeb, 0x95, 0x88, 0x0f, 0xa1, 0x14, 0x12, 0xd7, 0x1f, 0x30, 0xde, 0xaf, 0xdd, 0x90, 0xcd, 0x30,
- 0x27, 0xfb, 0xdf, 0x57, 0x5a, 0x38, 0xd5, 0xaf, 0xbf, 0x36, 0x60, 0x79, 0x4a, 0xc4, 0x74, 0xcc,
- 0x8d, 0x91, 0x31, 0xbf, 0x0d, 0x05, 0xd9, 0xb1, 0xa4, 0x09, 0x65, 0xac, 0x4e, 0xe8, 0x39, 0x94,
- 0x53, 0x96, 0xb5, 0xbc, 0x9c, 0xb8, 0x8d, 0xeb, 0x93, 0xb4, 0x52, 0x09, 0xce, 0xdc, 0x35, 0xee,
- 0x41, 0x39, 0x95, 0xa3, 0x0a, 0x14, 0x71, 0xa7, 0xfb, 0x64, 0xf3, 0x51, 0xa7, 0x9a, 0x43, 0x00,
- 0x05, 0xdc, 0x79, 0xba, 0xf7, 0xac, 0x53, 0x35, 0xe2, 0xef, 0xcd, 0x6e, 0xb7, 0xb3, 0xdb, 0xae,
- 0xce, 0x34, 0x0e, 0xa0, 0x90, 0x8c, 0x01, 0xaa, 0x41, 0xf1, 0x84, 0x70, 0x67, 0x40, 0x03, 0x75,
- 0x5b, 0xf5, 0x11, 0xad, 0x40, 0x99, 0xf1, 0x50, 0x10, 0xde, 0x53, 0xf7, 0xb5, 0x8c, 0x33, 0x41,
- 0xca, 0x7d, 0x36, 0xe3, 0xde, 0xf8, 0x65, 0x06, 0x4a, 0x3b, 0x4a, 0x63, 0x62, 0x71, 0xea, 0x50,
- 0x12, 0x8a, 0x89, 0x8a, 0x96, 0x9e, 0x51, 0x13, 0x0a, 0x3e, 0x09, 0x88, 0x1b, 0xca, 0xea, 0x54,
- 0x5a, 0xcb, 0x56, 0xb2, 0xb7, 0x2c, 0xbd, 0xb7, 0xac, 0x7d, 0xb9, 0xd5, 0xb0, 0x52, 0x43, 0x0e,
- 0xa0, 0x74, 0x0b, 0xd8, 0x47, 0x8c, 0x3b, 0x8c, 0xf7, 0xf5, 0xfc, 0x4c, 0xb9, 0x6c, 0x3a, 0xb9,
- 0xec, 0x8e, 0x6d, 0x29, 0xbb, 0x64, 0xad, 0x2c, 0x92, 0x71, 0x39, 0xb2, 0x60, 0xb1, 0xe7, 0xb9,
- 0x3e, 0x1b, 0x50, 0xc7, 0x4e, 0x73, 0xff, 0xfb, 0xaf, 0x9f, 0xd6, 0x64, 0xfa, 0x55, 0x8d, 0xe9,
- 0x06, 0xd5, 0xdb, 0x70, 0x7b, 0xb2, 0xf3, 0x09, 0x1b, 0x62, 0x69, 0x74, 0x43, 0x94, 0x47, 0xaf,
- 0xfa, 0x1b, 0x03, 0x8a, 0xdb, 0xaa, 0x0f, 0x93, 0x0a, 0x59, 0x83, 0x22, 0x71, 0x88, 0x2f, 0xb2,
- 0xae, 0xa9, 0xe3, 0xf5, 0xcb, 0xf8, 0x05, 0x40, 0xcf, 0xe3, 0x9c, 0xca, 0x71, 0x90, 0xed, 0xac,
- 0xb4, 0xd6, 0x26, 0x97, 0xef, 0x51, 0xaa, 0x87, 0x47, 0x6c, 0xd0, 0xc7, 0x90, 0x96, 0xc1, 0xd6,
- 0x59, 0xa5, 0x15, 0x5a, 0xd0, 0xd0, 0x66, 0x82, 0x34, 0xbe, 0x01, 0xc8, 0xfc, 0x24, 0x44, 0x9c,
- 0x80, 0x86, 0x61, 0x46, 0x44, 0x1e, 0xd1, 0x7d, 0x28, 0x0a, 0xe6, 0x52, 0x2f, 0x12, 0x8a, 0xc9,
- 0x9d, 0x2b, 0x4c, 0xda, 0xea, 0x47, 0x86, 0xb5, 0x66, 0xe3, 0xa5, 0x01, 0x25, 0x7d, 0x89, 0xd1,
- 0x06, 0x14, 0x02, 0xc2, 0x1d, 0xcf, 0x95, 0xa5, 0xab, 0xb4, 0x3e, 0x9c, 0x72, 0xdf, 0xa4, 0x4e,
- 0x7a, 0xf5, 0x95, 0x0d, 0x7a, 0x0c, 0x10, 0x10, 0x41, 0xed, 0x01, 0x73, 0x99, 0x50, 0x3b, 0xfc,
- 0xa3, 0x69, 0x1e, 0x04, 0x7d, 0x12, 0xab, 0xa5, 0x4e, 0xca, 0x81, 0x16, 0x35, 0x5e, 0x1b, 0x30,
- 0xff, 0x6e, 0x08, 0xb4, 0x0e, 0x4b, 0xd9, 0xe4, 0xd2, 0x33, 0x3f, 0xe6, 0x9b, 0xfd, 0xa9, 0x6e,
- 0xa5, 0x58, 0x27, 0x85, 0x50, 0x17, 0x16, 0x7c, 0x1a, 0xf4, 0x28, 0x17, 0xb6, 0x5c, 0x4d, 0xd4,
- 0xf9, 0xf7, 0x94, 0x1e, 0x07, 0xc9, 0x7a, 0x27, 0x83, 0x6e, 0x62, 0x86, 0xe7, 0x95, 0xfd, 0x7e,
- 0x62, 0x8e, 0x36, 0xa0, 0x1e, 0x85, 0xd4, 0x66, 0xdc, 0xa1, 0x3e, 0xe5, 0x4e, 0xec, 0x39, 0x61,
- 0xce, 0xe3, 0x66, 0xc4, 0x25, 0x2f, 0xe1, 0x5a, 0x14, 0xd2, 0x9d, 0x4c, 0x01, 0xa7, 0x78, 0xe3,
- 0x67, 0x03, 0x16, 0xaf, 0xd0, 0x46, 0x5d, 0x58, 0xd4, 0x8b, 0xd3, 0xd6, 0xaf, 0x0c, 0x55, 0xfc,
- 0xe9, 0xdd, 0xdb, 0x2a, 0x5d, 0xfc, 0xba, 0x9a, 0xfb, 0xe1, 0xb7, 0x55, 0x03, 0x57, 0xb5, 0xb5,
- 0xc6, 0x50, 0x0b, 0xde, 0x73, 0xc9, 0x99, 0x1d, 0x71, 0xc5, 0xda, 0xa6, 0x5c, 0x04, 0x8c, 0x26,
- 0xd3, 0x92, 0xc7, 0xb7, 0x5c, 0x72, 0x76, 0xa8, 0xb1, 0x4e, 0x02, 0xa1, 0x0f, 0x60, 0x2e, 0xcd,
- 0x22, 0xee, 0x83, 0x24, 0x93, 0xc7, 0x37, 0xb5, 0x30, 0xce, 0x5b, 0x12, 0xb8, 0x52, 0xa4, 0x78,
- 0xe7, 0xf1, 0xc8, 0x8d, 0x57, 0xa9, 0x17, 0xc8, 0xc4, 0xe7, 0x70, 0x26, 0x40, 0x5f, 0xc7, 0x0f,
- 0x0b, 0xee, 0xb9, 0x8c, 0x4b, 0x3c, 0x79, 0x37, 0x3c, 0xf8, 0x8f, 0x0d, 0xb0, 0xda, 0x99, 0xa9,
- 0x7c, 0x4f, 0x8c, 0xfa, 0x6a, 0xdc, 0x83, 0x85, 0x31, 0x3c, 0x5e, 0xe4, 0xdb, 0x87, 0xbb, 0x6d,
- 0xdc, 0x69, 0x57, 0x73, 0xa8, 0x0a, 0x37, 0x0f, 0x3a, 0xbb, 0xf6, 0xc1, 0xf6, 0xde, 0xe1, 0xfe,
- 0xe6, 0x6e, 0xbb, 0x6a, 0x6c, 0xed, 0xbc, 0xba, 0x34, 0x73, 0x6f, 0x2e, 0xcd, 0xdc, 0xdb, 0x4b,
- 0xd3, 0xf8, 0x6e, 0x68, 0x1a, 0x3f, 0x0e, 0x4d, 0xe3, 0x62, 0x68, 0x1a, 0xaf, 0x86, 0xa6, 0xf1,
- 0xfb, 0xd0, 0x34, 0xfe, 0x1c, 0x9a, 0xb9, 0xb7, 0x43, 0xd3, 0x78, 0xf9, 0x87, 0x99, 0x7b, 0xfe,
- 0x7e, 0x92, 0x24, 0xf3, 0x9a, 0xc4, 0x67, 0xcd, 0x77, 0x5f, 0x7c, 0x47, 0x05, 0xd9, 0x93, 0xfb,
- 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x81, 0xf1, 0xc8, 0x2d, 0x8e, 0x0a, 0x00, 0x00,
+ 0x14, 0xf7, 0xc6, 0xae, 0xff, 0x3c, 0x37, 0x89, 0x33, 0x0d, 0x8d, 0x6b, 0xa2, 0x4d, 0x64, 0x90,
+ 0xe8, 0x01, 0xad, 0x1b, 0x23, 0x28, 0x54, 0x11, 0x22, 0xa9, 0x5d, 0x25, 0xa2, 0x4d, 0xac, 0x49,
+ 0x52, 0x44, 0x2f, 0xab, 0x89, 0x77, 0xe2, 0x8c, 0xf0, 0xce, 0x6e, 0x77, 0x67, 0xa3, 0xe4, 0xc6,
+ 0x85, 0x7b, 0x8f, 0x7c, 0x04, 0xf8, 0x12, 0x5c, 0xc9, 0xb1, 0x52, 0x2f, 0x3d, 0x01, 0x31, 0x17,
+ 0x2e, 0x48, 0x3d, 0xf0, 0x01, 0xd0, 0xce, 0xce, 0xec, 0xba, 0x8e, 0x53, 0x11, 0x6e, 0x3b, 0xef,
+ 0xf7, 0xfe, 0xfd, 0xde, 0x7b, 0xf3, 0x76, 0xa0, 0xee, 0x7b, 0x43, 0xd6, 0x3f, 0x6b, 0x9d, 0xac,
+ 0x1d, 0x52, 0x41, 0xd6, 0x5a, 0xfd, 0xa3, 0x81, 0xe5, 0x07, 0x9e, 0xf0, 0xd0, 0x22, 0x0b, 0x05,
+ 0xf3, 0xac, 0x04, 0xb7, 0x14, 0xde, 0x58, 0x1c, 0x78, 0x03, 0x4f, 0x2a, 0xb4, 0xe2, 0xaf, 0x44,
+ 0xb7, 0xb1, 0x3c, 0xf0, 0xbc, 0xc1, 0x90, 0xb6, 0xe4, 0xe9, 0x30, 0x3a, 0x6a, 0x85, 0x22, 0x88,
+ 0xfa, 0x42, 0xa1, 0xe6, 0x24, 0xea, 0x44, 0x01, 0x11, 0xcc, 0xe3, 0x0a, 0x5f, 0x99, 0xc8, 0xe1,
+ 0x84, 0x0c, 0x23, 0x6a, 0x8b, 0x33, 0x9f, 0x26, 0x0a, 0xcd, 0x1f, 0xf2, 0xb0, 0xb0, 0x21, 0x44,
+ 0xc0, 0x0e, 0x23, 0x41, 0x9f, 0x10, 0xce, 0x8e, 0x68, 0x28, 0x50, 0x03, 0xca, 0x01, 0x3d, 0x61,
+ 0x21, 0xf3, 0x78, 0xdd, 0x58, 0x35, 0xee, 0x56, 0x70, 0x7a, 0x46, 0x08, 0x0a, 0x9c, 0xb8, 0xb4,
+ 0x3e, 0x23, 0xe5, 0xf2, 0x1b, 0x7d, 0x03, 0x40, 0xb4, 0x93, 0xb0, 0x9e, 0x5f, 0xcd, 0xdf, 0xad,
+ 0xb6, 0xef, 0x5b, 0xd3, 0x58, 0x5a, 0x97, 0x82, 0x65, 0x92, 0xb0, 0xcb, 0x45, 0x70, 0x86, 0xc7,
+ 0x5c, 0x35, 0x9e, 0xc3, 0x6c, 0x0a, 0x6f, 0xf3, 0x23, 0x0f, 0xad, 0x42, 0xd5, 0xa1, 0x61, 0x3f,
+ 0x60, 0xbe, 0xc8, 0x92, 0x1b, 0x17, 0xa1, 0x2f, 0x01, 0x32, 0x96, 0x32, 0xcb, 0xb9, 0xf6, 0xca,
+ 0xf4, 0x5c, 0x9e, 0xc6, 0x7a, 0xfb, 0x67, 0x3e, 0xc5, 0x95, 0x13, 0xfd, 0xd9, 0x10, 0x30, 0x3f,
+ 0x91, 0x11, 0xaa, 0x41, 0xfe, 0x3b, 0x7a, 0xa6, 0x82, 0xc5, 0x9f, 0xe8, 0x6b, 0xb8, 0x21, 0x2d,
+ 0xa4, 0xff, 0x6a, 0xfb, 0xd3, 0x6b, 0x73, 0x8d, 0xc9, 0xe0, 0xc4, 0xc7, 0x83, 0x99, 0xcf, 0x8d,
+ 0xe6, 0x79, 0x01, 0x0a, 0x38, 0x1a, 0x52, 0xb4, 0x08, 0x37, 0x5c, 0x22, 0xfa, 0xc7, 0x2a, 0x5a,
+ 0x72, 0x40, 0x9f, 0x41, 0x89, 0xf4, 0x63, 0x7a, 0x61, 0x7d, 0x46, 0x56, 0x77, 0xf9, 0x8a, 0x88,
+ 0x52, 0x09, 0x6b, 0x65, 0xc4, 0xe1, 0x4e, 0x40, 0x9f, 0x47, 0x34, 0x14, 0xf6, 0x31, 0x25, 0x0e,
+ 0x0d, 0x6c, 0xcf, 0xa7, 0xc9, 0x84, 0xe8, 0x3e, 0xb5, 0xa7, 0x7b, 0x8a, 0x93, 0xb1, 0xb6, 0xa4,
+ 0xcd, 0xae, 0x36, 0xd9, 0xa7, 0xae, 0x3f, 0x24, 0x82, 0xe2, 0x25, 0xe5, 0x74, 0x02, 0x0f, 0x91,
+ 0x0f, 0x8d, 0x80, 0x86, 0xbe, 0xc7, 0x43, 0x3a, 0x25, 0x60, 0xe1, 0x7f, 0x07, 0xac, 0x6b, 0xaf,
+ 0x97, 0x22, 0x3e, 0x80, 0x72, 0x48, 0x5c, 0x7f, 0xc8, 0xf8, 0xa0, 0x7e, 0x43, 0x36, 0xc3, 0x9c,
+ 0xee, 0x7f, 0x4f, 0x69, 0xe1, 0x54, 0xbf, 0xf1, 0xca, 0x80, 0xa5, 0x2b, 0x22, 0xa6, 0x63, 0x6e,
+ 0x8c, 0x8d, 0xf9, 0x6d, 0x28, 0xca, 0x8e, 0x25, 0x4d, 0xa8, 0x60, 0x75, 0x42, 0xcf, 0xa0, 0x92,
+ 0xb2, 0xac, 0xe7, 0xe5, 0xc4, 0xad, 0x5f, 0x9f, 0xa4, 0x95, 0x4a, 0x70, 0xe6, 0xae, 0x79, 0x0f,
+ 0x2a, 0xa9, 0x1c, 0x55, 0xa1, 0x84, 0xbb, 0xbd, 0xc7, 0x1b, 0x0f, 0xbb, 0xb5, 0x1c, 0x02, 0x28,
+ 0xe2, 0xee, 0x93, 0xdd, 0xa7, 0xdd, 0x9a, 0x11, 0x7f, 0x6f, 0xf4, 0x7a, 0xdd, 0x9d, 0x4e, 0x6d,
+ 0xa6, 0xb9, 0x0f, 0xc5, 0x64, 0x0c, 0x50, 0x1d, 0x4a, 0xc7, 0x84, 0x3b, 0x43, 0x1a, 0xa8, 0xdb,
+ 0xaa, 0x8f, 0x68, 0x19, 0x2a, 0x8c, 0x87, 0x82, 0xf0, 0xbe, 0xba, 0xaf, 0x15, 0x9c, 0x09, 0x52,
+ 0xee, 0x85, 0x8c, 0x7b, 0xf3, 0xd7, 0x19, 0x28, 0x6f, 0x2b, 0x8d, 0xa9, 0xc5, 0x69, 0x40, 0x59,
+ 0x28, 0x26, 0x2a, 0x5a, 0x7a, 0x46, 0x2d, 0x28, 0xfa, 0x24, 0x20, 0x6e, 0x28, 0xab, 0x53, 0x6d,
+ 0x2f, 0x59, 0xc9, 0xde, 0xb2, 0xf4, 0xde, 0xb2, 0xf6, 0xe4, 0x56, 0xc3, 0x4a, 0x0d, 0x39, 0x80,
+ 0xd2, 0x2d, 0x60, 0x1f, 0x32, 0xee, 0x30, 0x3e, 0xd0, 0xf3, 0x73, 0xc5, 0x65, 0xd3, 0xc9, 0x65,
+ 0x77, 0x6c, 0x53, 0xd9, 0x25, 0x6b, 0x65, 0x81, 0x4c, 0xca, 0x91, 0x05, 0x0b, 0x7d, 0xcf, 0xf5,
+ 0xd9, 0x90, 0x3a, 0x76, 0x9a, 0xfb, 0x3f, 0x7f, 0xff, 0xbc, 0x2a, 0xd3, 0xaf, 0x69, 0x4c, 0x37,
+ 0xa8, 0xd1, 0x81, 0xdb, 0xd3, 0x9d, 0x4f, 0xd9, 0x10, 0x8b, 0xe3, 0x1b, 0xa2, 0x32, 0x7e, 0xd5,
+ 0x5f, 0x1b, 0x50, 0xda, 0x52, 0x7d, 0x98, 0x56, 0xc8, 0x3a, 0x94, 0x88, 0x43, 0x7c, 0x91, 0x75,
+ 0x4d, 0x1d, 0xaf, 0x5f, 0xc6, 0xaf, 0x00, 0xfa, 0x1e, 0xe7, 0x54, 0x8e, 0x83, 0x6c, 0x67, 0xb5,
+ 0xbd, 0x3a, 0xbd, 0x7c, 0x0f, 0x53, 0x3d, 0x3c, 0x66, 0x83, 0x3e, 0x86, 0xb4, 0x0c, 0xb6, 0xce,
+ 0x2a, 0xad, 0xd0, 0xbc, 0x86, 0x36, 0x12, 0xa4, 0x49, 0x00, 0x32, 0x3f, 0x09, 0x11, 0x27, 0xa0,
+ 0x61, 0x98, 0x11, 0x91, 0x47, 0xf4, 0x05, 0x94, 0x04, 0x73, 0xa9, 0x17, 0x09, 0xc5, 0xe4, 0xce,
+ 0x25, 0x26, 0x1d, 0xf5, 0x23, 0xdb, 0x2c, 0xfc, 0xf8, 0xfb, 0x8a, 0x81, 0xb5, 0x7e, 0xf3, 0x85,
+ 0x01, 0x65, 0x7d, 0x95, 0xd1, 0x3a, 0x14, 0x03, 0xc2, 0x1d, 0xcf, 0x95, 0x05, 0xac, 0xb6, 0x3f,
+ 0xbc, 0xe2, 0xd6, 0x49, 0x9d, 0x74, 0x01, 0x28, 0x1b, 0xf4, 0x08, 0x20, 0x20, 0x82, 0xda, 0x43,
+ 0xe6, 0x32, 0xa1, 0x36, 0xf9, 0x47, 0x57, 0x79, 0x10, 0xf4, 0x71, 0xac, 0x96, 0x3a, 0xa9, 0x04,
+ 0x5a, 0xd4, 0x7c, 0x65, 0xc0, 0xdc, 0xdb, 0x21, 0xd0, 0x1a, 0x2c, 0x66, 0xf3, 0x4b, 0x4f, 0xfd,
+ 0x98, 0x75, 0xf6, 0xbf, 0xba, 0x95, 0x62, 0xdd, 0x14, 0x42, 0x3d, 0x98, 0xf7, 0x69, 0xd0, 0xa7,
+ 0x5c, 0xd8, 0x72, 0x41, 0x51, 0xe7, 0xdd, 0x29, 0x3d, 0x0a, 0x92, 0x25, 0x4f, 0x86, 0xbd, 0xc4,
+ 0x0c, 0xcf, 0x29, 0xfb, 0xbd, 0xc4, 0x1c, 0xad, 0x43, 0x23, 0x0a, 0xa9, 0xcd, 0xb8, 0x43, 0x7d,
+ 0xca, 0x9d, 0xd8, 0x73, 0xc2, 0x9c, 0xc7, 0x2d, 0x89, 0x0b, 0x5f, 0xc6, 0xf5, 0x28, 0xa4, 0xdb,
+ 0x99, 0x02, 0x4e, 0xf1, 0xe6, 0x2f, 0x06, 0x2c, 0x5c, 0xa2, 0x8d, 0x7a, 0xb0, 0xa0, 0xd7, 0xa7,
+ 0xad, 0xdf, 0x1a, 0xaa, 0xf8, 0xef, 0xe8, 0x61, 0xf9, 0xfc, 0xb7, 0x95, 0x9c, 0xec, 0x63, 0x4d,
+ 0x5b, 0x6b, 0x0c, 0xb5, 0xe1, 0x3d, 0x97, 0x9c, 0xda, 0x11, 0x57, 0xac, 0x6d, 0xca, 0x45, 0xc0,
+ 0x68, 0x32, 0x33, 0x79, 0x7c, 0xcb, 0x25, 0xa7, 0x07, 0x1a, 0xeb, 0x26, 0x10, 0xfa, 0x00, 0x66,
+ 0xd3, 0x2c, 0xe2, 0x3e, 0x48, 0x32, 0x79, 0x7c, 0x53, 0x0b, 0xe3, 0xbc, 0x25, 0x81, 0x4b, 0x45,
+ 0x8a, 0x37, 0x1f, 0x8f, 0xdc, 0x78, 0xa1, 0x7a, 0x81, 0x4c, 0x7c, 0x16, 0x67, 0x02, 0xf4, 0x6d,
+ 0xfc, 0xbc, 0xe0, 0x9e, 0xcb, 0xb8, 0xc4, 0x93, 0xd7, 0xc3, 0xfd, 0xff, 0xd8, 0x00, 0xab, 0x93,
+ 0x99, 0xca, 0x57, 0xc5, 0xb8, 0xaf, 0xe6, 0x3d, 0x98, 0x9f, 0xc0, 0xe3, 0x75, 0xbe, 0x75, 0xb0,
+ 0xd3, 0xc1, 0xdd, 0x4e, 0x2d, 0x87, 0x6a, 0x70, 0x73, 0xbf, 0xbb, 0x63, 0xef, 0x6f, 0xed, 0x1e,
+ 0xec, 0x6d, 0xec, 0x74, 0x6a, 0xc6, 0xe6, 0xf6, 0xcb, 0x0b, 0x33, 0xf7, 0xfa, 0xc2, 0xcc, 0xbd,
+ 0xb9, 0x30, 0x8d, 0xef, 0x47, 0xa6, 0xf1, 0xd3, 0xc8, 0x34, 0xce, 0x47, 0xa6, 0xf1, 0x72, 0x64,
+ 0x1a, 0x7f, 0x8c, 0x4c, 0xe3, 0xaf, 0x91, 0x99, 0x7b, 0x33, 0x32, 0x8d, 0x17, 0x7f, 0x9a, 0xb9,
+ 0x67, 0xef, 0x27, 0x49, 0x32, 0xaf, 0x45, 0x7c, 0xd6, 0x7a, 0xfb, 0xdd, 0x77, 0x58, 0x94, 0x3d,
+ 0xf9, 0xe4, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x28, 0x43, 0xbf, 0xa9, 0x94, 0x0a, 0x00, 0x00,
}
diff --git a/policy/v1beta1/cfg.proto b/policy/v1beta1/cfg.proto
index 786df844d2..0e829b0ca4 100644
--- a/policy/v1beta1/cfg.proto
+++ b/policy/v1beta1/cfg.proto
@@ -346,7 +346,7 @@ message Connection {
string address = 2;
// Timeout for remote calls to the backend.
- google.protobuf.Duration timeout = 3;
+ google.protobuf.Duration timeout = 3 [(gogoproto.stdduration) = true];
// TODO: Add auth related fields.
}
diff --git a/proto.lock b/proto.lock
new file mode 100644
index 0000000000..17752c00c6
--- /dev/null
+++ b/proto.lock
@@ -0,0 +1,4474 @@
+{
+ "definitions": [
+ {
+ "protopath": "authentication:/:v1alpha1:/:policy.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "MutualTls.Mode",
+ "enum_fields": [
+ {
+ "name": "STRICT",
+ "integer": 0
+ },
+ {
+ "name": "PERMISSIVE",
+ "integer": 1
+ }
+ ]
+ },
+ {
+ "name": "PrincipalBinding",
+ "enum_fields": [
+ {
+ "name": "USE_PEER",
+ "integer": 0
+ },
+ {
+ "name": "USE_ORIGIN",
+ "integer": 1
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "StringMatch",
+ "fields": [
+ {
+ "id": 1,
+ "name": "exact",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "prefix",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "suffix",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "regex",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "MutualTls",
+ "fields": [
+ {
+ "id": 1,
+ "name": "allow_tls",
+ "type": "bool"
+ },
+ {
+ "id": 2,
+ "name": "mode",
+ "type": "Mode"
+ }
+ ]
+ },
+ {
+ "name": "Jwt",
+ "fields": [
+ {
+ "id": 1,
+ "name": "issuer",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "audiences",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "jwks_uri",
+ "type": "string"
+ },
+ {
+ "id": 6,
+ "name": "jwt_headers",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 7,
+ "name": "jwt_params",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 9,
+ "name": "trigger_rules",
+ "type": "TriggerRule",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "TriggerRule",
+ "fields": [
+ {
+ "id": 1,
+ "name": "excluded_paths",
+ "type": "StringMatch",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "included_paths",
+ "type": "StringMatch",
+ "is_repeated": true
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "PeerAuthenticationMethod",
+ "fields": [
+ {
+ "id": 1,
+ "name": "mtls",
+ "type": "MutualTls"
+ },
+ {
+ "id": 2,
+ "name": "jwt",
+ "type": "Jwt"
+ }
+ ]
+ },
+ {
+ "name": "OriginAuthenticationMethod",
+ "fields": [
+ {
+ "id": 1,
+ "name": "jwt",
+ "type": "Jwt"
+ }
+ ]
+ },
+ {
+ "name": "Policy",
+ "fields": [
+ {
+ "id": 1,
+ "name": "targets",
+ "type": "TargetSelector",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "peers",
+ "type": "PeerAuthenticationMethod",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "peer_is_optional",
+ "type": "bool"
+ },
+ {
+ "id": 4,
+ "name": "origins",
+ "type": "OriginAuthenticationMethod",
+ "is_repeated": true
+ },
+ {
+ "id": 5,
+ "name": "origin_is_optional",
+ "type": "bool"
+ },
+ {
+ "id": 6,
+ "name": "principal_binding",
+ "type": "PrincipalBinding"
+ }
+ ]
+ },
+ {
+ "name": "TargetSelector",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "ports",
+ "type": "PortSelector",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "PortSelector",
+ "fields": [
+ {
+ "id": 1,
+ "name": "number",
+ "type": "uint32"
+ },
+ {
+ "id": 2,
+ "name": "name",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "envoy:/:config:/:filter:/:http:/:authn:/:v2alpha1:/:config.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "FilterConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "policy",
+ "type": "istio.authentication.v1alpha1.Policy"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "jwt_output_payload_locations",
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "envoy:/:config:/:filter:/:http:/:jwt_auth:/:v2alpha1:/:config.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "HttpUri",
+ "fields": [
+ {
+ "id": 1,
+ "name": "uri",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "cluster",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "timeout",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ },
+ {
+ "name": "DataSource",
+ "fields": [
+ {
+ "id": 1,
+ "name": "filename",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "inline_bytes",
+ "type": "bytes"
+ },
+ {
+ "id": 3,
+ "name": "inline_string",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "JwtRule",
+ "fields": [
+ {
+ "id": 1,
+ "name": "issuer",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "audiences",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "remote_jwks",
+ "type": "RemoteJwks"
+ },
+ {
+ "id": 4,
+ "name": "local_jwks",
+ "type": "DataSource"
+ },
+ {
+ "id": 5,
+ "name": "forward",
+ "type": "bool"
+ },
+ {
+ "id": 6,
+ "name": "from_headers",
+ "type": "JwtHeader",
+ "is_repeated": true
+ },
+ {
+ "id": 7,
+ "name": "from_params",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 8,
+ "name": "forward_payload_header",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "RemoteJwks",
+ "fields": [
+ {
+ "id": 1,
+ "name": "http_uri",
+ "type": "HttpUri"
+ },
+ {
+ "id": 2,
+ "name": "cache_duration",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ },
+ {
+ "name": "JwtHeader",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "value_prefix",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "JwtAuthentication",
+ "fields": [
+ {
+ "id": 1,
+ "name": "rules",
+ "type": "JwtRule",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "allow_missing_or_failed",
+ "type": "bool"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "envoy:/:config:/:filter:/:network:/:tcp_cluster_rewrite:/:v2alpha1:/:config.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "TcpClusterRewrite",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cluster_pattern",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "cluster_replacement",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mcp:/:v1alpha1:/:envelope.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Envelope",
+ "fields": [
+ {
+ "id": 1,
+ "name": "metadata",
+ "type": "istio.mcp.v1alpha1.Metadata"
+ },
+ {
+ "id": 2,
+ "name": "resource",
+ "type": "google.protobuf.Any"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mcp:/:v1alpha1:/:mcp.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Client",
+ "fields": [
+ {
+ "id": 1,
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "metadata",
+ "type": "google.protobuf.Struct"
+ }
+ ]
+ },
+ {
+ "name": "MeshConfigRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "version_info",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "client",
+ "type": "Client"
+ },
+ {
+ "id": 3,
+ "name": "type_url",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "response_nonce",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "error_detail",
+ "type": "google.rpc.Status"
+ }
+ ]
+ },
+ {
+ "name": "MeshConfigResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "version_info",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "envelopes",
+ "type": "Envelope",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "type_url",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "nonce",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "IncrementalMeshConfigRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "client",
+ "type": "Client"
+ },
+ {
+ "id": 2,
+ "name": "type_url",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "response_nonce",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "error_detail",
+ "type": "google.rpc.Status"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 3,
+ "name": "initial_resource_versions",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "IncrementalMeshConfigResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "system_version_info",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "envelopes",
+ "type": "Envelope",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "removed_resources",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "nonce",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "AggregatedMeshConfigService",
+ "rpcs": [
+ {
+ "name": "StreamAggregatedResources",
+ "in_type": "MeshConfigRequest",
+ "out_type": "MeshConfigResponse",
+ "in_streamed": true,
+ "out_streamed": true
+ },
+ {
+ "name": "IncrementalAggregatedResources",
+ "in_type": "IncrementalMeshConfigRequest",
+ "out_type": "IncrementalMeshConfigResponse",
+ "in_streamed": true,
+ "out_streamed": true
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mcp:/:v1alpha1:/:metadata.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Metadata",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "create_time",
+ "type": "google.protobuf.Timestamp"
+ },
+ {
+ "id": 3,
+ "name": "version",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mesh:/:v1alpha1:/:config.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "MeshConfig.IngressControllerMode",
+ "enum_fields": [
+ {
+ "name": "OFF",
+ "integer": 0
+ },
+ {
+ "name": "DEFAULT",
+ "integer": 1
+ },
+ {
+ "name": "STRICT",
+ "integer": 2
+ }
+ ]
+ },
+ {
+ "name": "MeshConfig.AuthPolicy",
+ "enum_fields": [
+ {
+ "name": "NONE",
+ "integer": 0
+ },
+ {
+ "name": "MUTUAL_TLS",
+ "integer": 1
+ }
+ ]
+ },
+ {
+ "name": "OutboundTrafficPolicy.Mode",
+ "enum_fields": [
+ {
+ "name": "REGISTRY_ONLY",
+ "integer": 0
+ },
+ {
+ "name": "ALLOW_ANY",
+ "integer": 1
+ },
+ {
+ "name": "VIRTUAL_SERVICE_ONLY",
+ "integer": 2
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "MeshConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "mixer_check_server",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "mixer_report_server",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "disable_policy_checks",
+ "type": "bool"
+ },
+ {
+ "id": 25,
+ "name": "policy_check_fail_open",
+ "type": "bool"
+ },
+ {
+ "id": 4,
+ "name": "proxy_listen_port",
+ "type": "int32"
+ },
+ {
+ "id": 5,
+ "name": "proxy_http_port",
+ "type": "int32"
+ },
+ {
+ "id": 6,
+ "name": "connect_timeout",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 7,
+ "name": "ingress_class",
+ "type": "string"
+ },
+ {
+ "id": 8,
+ "name": "ingress_service",
+ "type": "string"
+ },
+ {
+ "id": 9,
+ "name": "ingress_controller_mode",
+ "type": "IngressControllerMode"
+ },
+ {
+ "id": 10,
+ "name": "auth_policy",
+ "type": "AuthPolicy"
+ },
+ {
+ "id": 11,
+ "name": "rds_refresh_delay",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 12,
+ "name": "enable_tracing",
+ "type": "bool"
+ },
+ {
+ "id": 13,
+ "name": "access_log_file",
+ "type": "string"
+ },
+ {
+ "id": 24,
+ "name": "access_log_format",
+ "type": "string"
+ },
+ {
+ "id": 14,
+ "name": "default_config",
+ "type": "ProxyConfig"
+ },
+ {
+ "id": 16,
+ "name": "mixer_address",
+ "type": "string"
+ },
+ {
+ "id": 17,
+ "name": "outbound_traffic_policy",
+ "type": "OutboundTrafficPolicy"
+ },
+ {
+ "id": 19,
+ "name": "enable_client_side_policy_check",
+ "type": "bool"
+ },
+ {
+ "id": 20,
+ "name": "sds_uds_path",
+ "type": "string"
+ },
+ {
+ "id": 21,
+ "name": "sds_refresh_delay",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 22,
+ "name": "config_sources",
+ "type": "ConfigSource",
+ "is_repeated": true
+ },
+ {
+ "id": 23,
+ "name": "enable_sds_token_mount",
+ "type": "bool"
+ },
+ {
+ "id": 26,
+ "name": "trust_domain",
+ "type": "string"
+ }
+ ],
+ "reserved_ids": [
+ 15,
+ 18
+ ],
+ "messages": [
+ {
+ "name": "OutboundTrafficPolicy",
+ "fields": [
+ {
+ "id": 1,
+ "name": "mode",
+ "type": "Mode"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "ConfigSource",
+ "fields": [
+ {
+ "id": 1,
+ "name": "address",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "tls_settings",
+ "type": "istio.networking.v1alpha3.TLSSettings"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mesh:/:v1alpha1:/:network.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Network",
+ "fields": [
+ {
+ "id": 2,
+ "name": "endpoints",
+ "type": "NetworkEndpoints",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "gateways",
+ "type": "IstioNetworkGateway",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "NetworkEndpoints",
+ "fields": [
+ {
+ "id": 1,
+ "name": "from_cidr",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "from_registry",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "IstioNetworkGateway",
+ "fields": [
+ {
+ "id": 1,
+ "name": "registry_service_name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "address",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "port",
+ "type": "uint32"
+ },
+ {
+ "id": 4,
+ "name": "locality",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "MeshNetworks",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "networks",
+ "type": "Network"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mesh:/:v1alpha1:/:proxy.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "AuthenticationPolicy",
+ "enum_fields": [
+ {
+ "name": "NONE",
+ "integer": 0
+ },
+ {
+ "name": "MUTUAL_TLS",
+ "integer": 1
+ },
+ {
+ "name": "INHERIT",
+ "integer": 1000
+ }
+ ]
+ },
+ {
+ "name": "ProxyConfig.InboundInterceptionMode",
+ "enum_fields": [
+ {
+ "name": "REDIRECT",
+ "integer": 0
+ },
+ {
+ "name": "TPROXY",
+ "integer": 1
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "Tracing",
+ "fields": [
+ {
+ "id": 1,
+ "name": "zipkin",
+ "type": "Zipkin"
+ },
+ {
+ "id": 2,
+ "name": "lightstep",
+ "type": "Lightstep"
+ }
+ ],
+ "messages": [
+ {
+ "name": "Zipkin",
+ "fields": [
+ {
+ "id": 1,
+ "name": "address",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "Lightstep",
+ "fields": [
+ {
+ "id": 1,
+ "name": "address",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "access_token",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "secure",
+ "type": "bool"
+ },
+ {
+ "id": 4,
+ "name": "cacert_path",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "ProxyConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "config_path",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "binary_path",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "service_cluster",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "drain_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 5,
+ "name": "parent_shutdown_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 6,
+ "name": "discovery_address",
+ "type": "string"
+ },
+ {
+ "id": 7,
+ "name": "discovery_refresh_delay",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 8,
+ "name": "zipkin_address",
+ "type": "string"
+ },
+ {
+ "id": 9,
+ "name": "connect_timeout",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 10,
+ "name": "statsd_udp_address",
+ "type": "string"
+ },
+ {
+ "id": 11,
+ "name": "proxy_admin_port",
+ "type": "int32"
+ },
+ {
+ "id": 12,
+ "name": "availability_zone",
+ "type": "string"
+ },
+ {
+ "id": 13,
+ "name": "control_plane_auth_policy",
+ "type": "AuthenticationPolicy"
+ },
+ {
+ "id": 14,
+ "name": "custom_config_file",
+ "type": "string"
+ },
+ {
+ "id": 15,
+ "name": "stat_name_length",
+ "type": "int32"
+ },
+ {
+ "id": 16,
+ "name": "concurrency",
+ "type": "int32"
+ },
+ {
+ "id": 17,
+ "name": "proxy_bootstrap_template_path",
+ "type": "string"
+ },
+ {
+ "id": 18,
+ "name": "interception_mode",
+ "type": "InboundInterceptionMode"
+ },
+ {
+ "id": 19,
+ "name": "tracing",
+ "type": "Tracing"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:check.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "CheckResult",
+ "fields": [
+ {
+ "id": 1,
+ "name": "status",
+ "type": "google.rpc.Status"
+ },
+ {
+ "id": 2,
+ "name": "valid_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 3,
+ "name": "valid_use_count",
+ "type": "int32"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:extensions.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "TemplateVariety",
+ "enum_fields": [
+ {
+ "name": "TEMPLATE_VARIETY_CHECK",
+ "integer": 0
+ },
+ {
+ "name": "TEMPLATE_VARIETY_REPORT",
+ "integer": 1
+ },
+ {
+ "name": "TEMPLATE_VARIETY_QUOTA",
+ "integer": 2
+ },
+ {
+ "name": "TEMPLATE_VARIETY_ATTRIBUTE_GENERATOR",
+ "integer": 3
+ },
+ {
+ "name": "TEMPLATE_VARIETY_CHECK_WITH_OUTPUT",
+ "integer": 4
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "google.protobuf.FileOptions",
+ "fields": [
+ {
+ "id": 72295727,
+ "name": "template_variety",
+ "type": "TemplateVariety"
+ },
+ {
+ "id": 72295888,
+ "name": "template_name",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:info.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Info",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "description",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "templates",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "config",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "session_based",
+ "type": "bool"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:infrastructure_backend.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "CreateSessionRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "adapter_config",
+ "type": "google.protobuf.Any"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "inferred_types",
+ "type": "google.protobuf.Any"
+ }
+ }
+ ]
+ },
+ {
+ "name": "CreateSessionResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "session_id",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "status",
+ "type": "google.rpc.Status"
+ }
+ ]
+ },
+ {
+ "name": "ValidateRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "adapter_config",
+ "type": "google.protobuf.Any"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "inferred_types",
+ "type": "google.protobuf.Any"
+ }
+ }
+ ]
+ },
+ {
+ "name": "ValidateResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "status",
+ "type": "google.rpc.Status"
+ }
+ ]
+ },
+ {
+ "name": "CloseSessionRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "session_id",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "CloseSessionResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "status",
+ "type": "google.rpc.Status"
+ }
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "InfrastructureBackend",
+ "rpcs": [
+ {
+ "name": "Validate",
+ "in_type": "ValidateRequest",
+ "out_type": "ValidateResponse"
+ },
+ {
+ "name": "CreateSession",
+ "in_type": "CreateSessionRequest",
+ "out_type": "CreateSessionResponse"
+ },
+ {
+ "name": "CloseSession",
+ "in_type": "CloseSessionRequest",
+ "out_type": "CloseSessionResponse"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:quota.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "QuotaRequest",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "quotas",
+ "type": "QuotaParams"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "QuotaParams",
+ "fields": [
+ {
+ "id": 1,
+ "name": "amount",
+ "type": "int64"
+ },
+ {
+ "id": 2,
+ "name": "best_effort",
+ "type": "bool"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "QuotaResult",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "quotas",
+ "type": "Result"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "Result",
+ "fields": [
+ {
+ "id": 2,
+ "name": "valid_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 3,
+ "name": "granted_amount",
+ "type": "int64"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:report.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "ReportResult"
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:adapter:/:model:/:v1beta1:/:template.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Template",
+ "fields": [
+ {
+ "id": 1,
+ "name": "descriptor",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:v1:/:attributes.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Attributes",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "attributes",
+ "type": "AttributeValue"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "AttributeValue",
+ "fields": [
+ {
+ "id": 2,
+ "name": "string_value",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "int64_value",
+ "type": "int64"
+ },
+ {
+ "id": 4,
+ "name": "double_value",
+ "type": "double"
+ },
+ {
+ "id": 5,
+ "name": "bool_value",
+ "type": "bool"
+ },
+ {
+ "id": 6,
+ "name": "bytes_value",
+ "type": "bytes"
+ },
+ {
+ "id": 7,
+ "name": "timestamp_value",
+ "type": "google.protobuf.Timestamp"
+ },
+ {
+ "id": 8,
+ "name": "duration_value",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 9,
+ "name": "string_map_value",
+ "type": "StringMap"
+ }
+ ]
+ },
+ {
+ "name": "StringMap",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "entries",
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "CompressedAttributes",
+ "fields": [
+ {
+ "id": 1,
+ "name": "words",
+ "type": "string",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 2,
+ "name": "strings",
+ "type": "sint32"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 3,
+ "name": "int64s",
+ "type": "int64"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 4,
+ "name": "doubles",
+ "type": "double"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 5,
+ "name": "bools",
+ "type": "bool"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 6,
+ "name": "timestamps",
+ "type": "google.protobuf.Timestamp"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 7,
+ "name": "durations",
+ "type": "google.protobuf.Duration"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 8,
+ "name": "bytes",
+ "type": "bytes"
+ }
+ },
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 9,
+ "name": "string_maps",
+ "type": "StringMap"
+ }
+ }
+ ]
+ },
+ {
+ "name": "StringMap",
+ "maps": [
+ {
+ "key_type": "sint32",
+ "field": {
+ "id": 1,
+ "name": "entries",
+ "type": "sint32"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:v1:/:config:/:client:/:api_spec.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "HTTPAPISpec",
+ "fields": [
+ {
+ "id": 1,
+ "name": "attributes",
+ "type": "Attributes"
+ },
+ {
+ "id": 2,
+ "name": "patterns",
+ "type": "HTTPAPISpecPattern",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "api_keys",
+ "type": "APIKey",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "HTTPAPISpecPattern",
+ "fields": [
+ {
+ "id": 1,
+ "name": "attributes",
+ "type": "Attributes"
+ },
+ {
+ "id": 2,
+ "name": "http_method",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "uri_template",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "regex",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "APIKey",
+ "fields": [
+ {
+ "id": 1,
+ "name": "query",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "header",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "cookie",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "HTTPAPISpecReference",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "namespace",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "HTTPAPISpecBinding",
+ "fields": [
+ {
+ "id": 1,
+ "name": "services",
+ "type": "IstioService",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "api_specs",
+ "type": "HTTPAPISpecReference",
+ "is_repeated": true
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:v1:/:config:/:client:/:client_config.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "NetworkFailPolicy.FailPolicy",
+ "enum_fields": [
+ {
+ "name": "FAIL_OPEN",
+ "integer": 0
+ },
+ {
+ "name": "FAIL_CLOSE",
+ "integer": 1
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "NetworkFailPolicy",
+ "fields": [
+ {
+ "id": 1,
+ "name": "policy",
+ "type": "FailPolicy"
+ }
+ ]
+ },
+ {
+ "name": "ServiceConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "disable_check_calls",
+ "type": "bool"
+ },
+ {
+ "id": 2,
+ "name": "disable_report_calls",
+ "type": "bool"
+ },
+ {
+ "id": 3,
+ "name": "mixer_attributes",
+ "type": "Attributes"
+ },
+ {
+ "id": 4,
+ "name": "http_api_spec",
+ "type": "HTTPAPISpec",
+ "is_repeated": true
+ },
+ {
+ "id": 5,
+ "name": "quota_spec",
+ "type": "QuotaSpec",
+ "is_repeated": true
+ },
+ {
+ "id": 7,
+ "name": "network_fail_policy",
+ "type": "NetworkFailPolicy"
+ },
+ {
+ "id": 8,
+ "name": "forward_attributes",
+ "type": "Attributes"
+ }
+ ]
+ },
+ {
+ "name": "TransportConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "disable_check_cache",
+ "type": "bool"
+ },
+ {
+ "id": 2,
+ "name": "disable_quota_cache",
+ "type": "bool"
+ },
+ {
+ "id": 3,
+ "name": "disable_report_batch",
+ "type": "bool"
+ },
+ {
+ "id": 4,
+ "name": "network_fail_policy",
+ "type": "NetworkFailPolicy"
+ },
+ {
+ "id": 5,
+ "name": "stats_update_interval",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 6,
+ "name": "check_cluster",
+ "type": "string"
+ },
+ {
+ "id": 7,
+ "name": "report_cluster",
+ "type": "string"
+ },
+ {
+ "id": 8,
+ "name": "attributes_for_mixer_proxy",
+ "type": "Attributes"
+ }
+ ]
+ },
+ {
+ "name": "HttpClientConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "transport",
+ "type": "TransportConfig"
+ },
+ {
+ "id": 3,
+ "name": "default_destination_service",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "mixer_attributes",
+ "type": "Attributes"
+ },
+ {
+ "id": 5,
+ "name": "forward_attributes",
+ "type": "Attributes"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "service_configs",
+ "type": "ServiceConfig"
+ }
+ }
+ ]
+ },
+ {
+ "name": "TcpClientConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "transport",
+ "type": "TransportConfig"
+ },
+ {
+ "id": 2,
+ "name": "mixer_attributes",
+ "type": "Attributes"
+ },
+ {
+ "id": 3,
+ "name": "disable_check_calls",
+ "type": "bool"
+ },
+ {
+ "id": 4,
+ "name": "disable_report_calls",
+ "type": "bool"
+ },
+ {
+ "id": 5,
+ "name": "connection_quota_spec",
+ "type": "QuotaSpec"
+ },
+ {
+ "id": 6,
+ "name": "report_interval",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:v1:/:config:/:client:/:quota.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "QuotaSpec",
+ "fields": [
+ {
+ "id": 1,
+ "name": "rules",
+ "type": "QuotaRule",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "QuotaRule",
+ "fields": [
+ {
+ "id": 1,
+ "name": "match",
+ "type": "AttributeMatch",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "quotas",
+ "type": "Quota",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "StringMatch",
+ "fields": [
+ {
+ "id": 1,
+ "name": "exact",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "prefix",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "regex",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "AttributeMatch",
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "clause",
+ "type": "StringMatch"
+ }
+ }
+ ]
+ },
+ {
+ "name": "Quota",
+ "fields": [
+ {
+ "id": 1,
+ "name": "quota",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "charge",
+ "type": "int64"
+ }
+ ]
+ },
+ {
+ "name": "QuotaSpecBinding",
+ "fields": [
+ {
+ "id": 1,
+ "name": "services",
+ "type": "IstioService",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "quota_specs",
+ "type": "QuotaSpecReference",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "QuotaSpecReference",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "namespace",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:v1:/:config:/:client:/:service.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "IstioService",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "namespace",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "domain",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "service",
+ "type": "string"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 5,
+ "name": "labels",
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "mixer:/:v1:/:mixer.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "ReferencedAttributes.Condition",
+ "enum_fields": [
+ {
+ "name": "CONDITION_UNSPECIFIED",
+ "integer": 0
+ },
+ {
+ "name": "ABSENCE",
+ "integer": 1
+ },
+ {
+ "name": "EXACT",
+ "integer": 2
+ },
+ {
+ "name": "REGEX",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "HeaderOperation.Operation",
+ "enum_fields": [
+ {
+ "name": "REPLACE",
+ "integer": 0
+ },
+ {
+ "name": "REMOVE",
+ "integer": 1
+ },
+ {
+ "name": "APPEND",
+ "integer": 2
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "CheckRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "attributes",
+ "type": "CompressedAttributes"
+ },
+ {
+ "id": 2,
+ "name": "global_word_count",
+ "type": "uint32"
+ },
+ {
+ "id": 3,
+ "name": "deduplication_id",
+ "type": "string"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 4,
+ "name": "quotas",
+ "type": "QuotaParams"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "QuotaParams",
+ "fields": [
+ {
+ "id": 1,
+ "name": "amount",
+ "type": "int64"
+ },
+ {
+ "id": 2,
+ "name": "best_effort",
+ "type": "bool"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "CheckResponse",
+ "fields": [
+ {
+ "id": 2,
+ "name": "precondition",
+ "type": "PreconditionResult"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 3,
+ "name": "quotas",
+ "type": "QuotaResult"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "PreconditionResult",
+ "fields": [
+ {
+ "id": 1,
+ "name": "status",
+ "type": "google.rpc.Status"
+ },
+ {
+ "id": 2,
+ "name": "valid_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 3,
+ "name": "valid_use_count",
+ "type": "int32"
+ },
+ {
+ "id": 5,
+ "name": "referenced_attributes",
+ "type": "ReferencedAttributes"
+ },
+ {
+ "id": 6,
+ "name": "route_directive",
+ "type": "RouteDirective"
+ }
+ ],
+ "reserved_ids": [
+ 4
+ ]
+ },
+ {
+ "name": "QuotaResult",
+ "fields": [
+ {
+ "id": 1,
+ "name": "valid_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 2,
+ "name": "granted_amount",
+ "type": "int64"
+ },
+ {
+ "id": 5,
+ "name": "referenced_attributes",
+ "type": "ReferencedAttributes"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "ReferencedAttributes",
+ "fields": [
+ {
+ "id": 1,
+ "name": "words",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "attribute_matches",
+ "type": "AttributeMatch",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "AttributeMatch",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "sint32"
+ },
+ {
+ "id": 2,
+ "name": "condition",
+ "type": "Condition"
+ },
+ {
+ "id": 3,
+ "name": "regex",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "map_key",
+ "type": "sint32"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "HeaderOperation",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "value",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "operation",
+ "type": "Operation"
+ }
+ ]
+ },
+ {
+ "name": "RouteDirective",
+ "fields": [
+ {
+ "id": 1,
+ "name": "request_header_operations",
+ "type": "HeaderOperation",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "response_header_operations",
+ "type": "HeaderOperation",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "direct_response_code",
+ "type": "uint32"
+ },
+ {
+ "id": 4,
+ "name": "direct_response_body",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ReportRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "attributes",
+ "type": "CompressedAttributes",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "default_words",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "global_word_count",
+ "type": "uint32"
+ }
+ ]
+ },
+ {
+ "name": "ReportResponse"
+ }
+ ],
+ "services": [
+ {
+ "name": "Mixer",
+ "rpcs": [
+ {
+ "name": "Check",
+ "in_type": "CheckRequest",
+ "out_type": "CheckResponse"
+ },
+ {
+ "name": "Report",
+ "in_type": "ReportRequest",
+ "out_type": "ReportResponse"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "networking:/:v1alpha3:/:destination_rule.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "LoadBalancerSettings.SimpleLB",
+ "enum_fields": [
+ {
+ "name": "ROUND_ROBIN",
+ "integer": 0
+ },
+ {
+ "name": "LEAST_CONN",
+ "integer": 1
+ },
+ {
+ "name": "RANDOM",
+ "integer": 2
+ },
+ {
+ "name": "PASSTHROUGH",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "TLSSettings.TLSmode",
+ "enum_fields": [
+ {
+ "name": "DISABLE",
+ "integer": 0
+ },
+ {
+ "name": "SIMPLE",
+ "integer": 1
+ },
+ {
+ "name": "MUTUAL",
+ "integer": 2
+ },
+ {
+ "name": "ISTIO_MUTUAL",
+ "integer": 3
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "DestinationRule",
+ "fields": [
+ {
+ "id": 1,
+ "name": "host",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "traffic_policy",
+ "type": "TrafficPolicy"
+ },
+ {
+ "id": 3,
+ "name": "subsets",
+ "type": "Subset",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "TrafficPolicy",
+ "fields": [
+ {
+ "id": 1,
+ "name": "load_balancer",
+ "type": "LoadBalancerSettings"
+ },
+ {
+ "id": 2,
+ "name": "connection_pool",
+ "type": "ConnectionPoolSettings"
+ },
+ {
+ "id": 3,
+ "name": "outlier_detection",
+ "type": "OutlierDetection"
+ },
+ {
+ "id": 4,
+ "name": "tls",
+ "type": "TLSSettings"
+ },
+ {
+ "id": 5,
+ "name": "port_level_settings",
+ "type": "PortTrafficPolicy",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "PortTrafficPolicy",
+ "fields": [
+ {
+ "id": 1,
+ "name": "port",
+ "type": "PortSelector"
+ },
+ {
+ "id": 2,
+ "name": "load_balancer",
+ "type": "LoadBalancerSettings"
+ },
+ {
+ "id": 3,
+ "name": "connection_pool",
+ "type": "ConnectionPoolSettings"
+ },
+ {
+ "id": 4,
+ "name": "outlier_detection",
+ "type": "OutlierDetection"
+ },
+ {
+ "id": 5,
+ "name": "tls",
+ "type": "TLSSettings"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Subset",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "traffic_policy",
+ "type": "TrafficPolicy"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "labels",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "LoadBalancerSettings",
+ "fields": [
+ {
+ "id": 1,
+ "name": "simple",
+ "type": "SimpleLB"
+ },
+ {
+ "id": 2,
+ "name": "consistent_hash",
+ "type": "ConsistentHashLB"
+ }
+ ],
+ "messages": [
+ {
+ "name": "ConsistentHashLB",
+ "fields": [
+ {
+ "id": 1,
+ "name": "http_header_name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "http_cookie",
+ "type": "HTTPCookie"
+ },
+ {
+ "id": 3,
+ "name": "use_source_ip",
+ "type": "bool"
+ },
+ {
+ "id": 4,
+ "name": "minimum_ring_size",
+ "type": "uint64"
+ }
+ ],
+ "messages": [
+ {
+ "name": "HTTPCookie",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "path",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "ttl",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "ConnectionPoolSettings",
+ "fields": [
+ {
+ "id": 1,
+ "name": "tcp",
+ "type": "TCPSettings"
+ },
+ {
+ "id": 2,
+ "name": "http",
+ "type": "HTTPSettings"
+ }
+ ],
+ "messages": [
+ {
+ "name": "TCPSettings",
+ "fields": [
+ {
+ "id": 1,
+ "name": "max_connections",
+ "type": "int32"
+ },
+ {
+ "id": 2,
+ "name": "connect_timeout",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ },
+ {
+ "name": "HTTPSettings",
+ "fields": [
+ {
+ "id": 1,
+ "name": "http1_max_pending_requests",
+ "type": "int32"
+ },
+ {
+ "id": 2,
+ "name": "http2_max_requests",
+ "type": "int32"
+ },
+ {
+ "id": 3,
+ "name": "max_requests_per_connection",
+ "type": "int32"
+ },
+ {
+ "id": 4,
+ "name": "max_retries",
+ "type": "int32"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "OutlierDetection",
+ "fields": [
+ {
+ "id": 1,
+ "name": "consecutive_errors",
+ "type": "int32"
+ },
+ {
+ "id": 2,
+ "name": "interval",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 3,
+ "name": "base_ejection_time",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 4,
+ "name": "max_ejection_percent",
+ "type": "int32"
+ },
+ {
+ "id": 5,
+ "name": "min_health_percent",
+ "type": "int32"
+ }
+ ]
+ },
+ {
+ "name": "TLSSettings",
+ "fields": [
+ {
+ "id": 1,
+ "name": "mode",
+ "type": "TLSmode"
+ },
+ {
+ "id": 2,
+ "name": "client_certificate",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "private_key",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "ca_certificates",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "subject_alt_names",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 6,
+ "name": "sni",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "networking:/:v1alpha3:/:envoy_filter.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "ListenerMatch.ListenerType",
+ "enum_fields": [
+ {
+ "name": "ANY",
+ "integer": 0
+ },
+ {
+ "name": "SIDECAR_INBOUND",
+ "integer": 1
+ },
+ {
+ "name": "SIDECAR_OUTBOUND",
+ "integer": 2
+ },
+ {
+ "name": "GATEWAY",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "ListenerMatch.ListenerProtocol",
+ "enum_fields": [
+ {
+ "name": "ALL",
+ "integer": 0
+ },
+ {
+ "name": "HTTP",
+ "integer": 1
+ },
+ {
+ "name": "TCP",
+ "integer": 2
+ }
+ ]
+ },
+ {
+ "name": "InsertPosition.Index",
+ "enum_fields": [
+ {
+ "name": "FIRST",
+ "integer": 0
+ },
+ {
+ "name": "LAST",
+ "integer": 1
+ },
+ {
+ "name": "BEFORE",
+ "integer": 2
+ },
+ {
+ "name": "AFTER",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "Filter.FilterType",
+ "enum_fields": [
+ {
+ "name": "INVALID",
+ "integer": 0
+ },
+ {
+ "name": "HTTP",
+ "integer": 1
+ },
+ {
+ "name": "NETWORK",
+ "integer": 2
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "EnvoyFilter",
+ "fields": [
+ {
+ "id": 2,
+ "name": "filters",
+ "type": "Filter",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 1,
+ "name": "workload_labels",
+ "type": "string"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "ListenerMatch",
+ "fields": [
+ {
+ "id": 1,
+ "name": "port_number",
+ "type": "uint32"
+ },
+ {
+ "id": 2,
+ "name": "port_name_prefix",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "listener_type",
+ "type": "ListenerType"
+ },
+ {
+ "id": 4,
+ "name": "listener_protocol",
+ "type": "ListenerProtocol"
+ },
+ {
+ "id": 5,
+ "name": "address",
+ "type": "string",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "InsertPosition",
+ "fields": [
+ {
+ "id": 1,
+ "name": "index",
+ "type": "Index"
+ },
+ {
+ "id": 2,
+ "name": "relative_to",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "Filter",
+ "fields": [
+ {
+ "id": 1,
+ "name": "listener_match",
+ "type": "ListenerMatch"
+ },
+ {
+ "id": 2,
+ "name": "insert_position",
+ "type": "InsertPosition"
+ },
+ {
+ "id": 3,
+ "name": "filter_type",
+ "type": "FilterType"
+ },
+ {
+ "id": 4,
+ "name": "filter_name",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "filter_config",
+ "type": "google.protobuf.Struct"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "networking:/:v1alpha3:/:gateway.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "TLSOptions.TLSmode",
+ "enum_fields": [
+ {
+ "name": "PASSTHROUGH",
+ "integer": 0
+ },
+ {
+ "name": "SIMPLE",
+ "integer": 1
+ },
+ {
+ "name": "MUTUAL",
+ "integer": 2
+ },
+ {
+ "name": "AUTO_PASSTHROUGH",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "TLSOptions.TLSProtocol",
+ "enum_fields": [
+ {
+ "name": "TLS_AUTO",
+ "integer": 0
+ },
+ {
+ "name": "TLSV1_0",
+ "integer": 1
+ },
+ {
+ "name": "TLSV1_1",
+ "integer": 2
+ },
+ {
+ "name": "TLSV1_2",
+ "integer": 3
+ },
+ {
+ "name": "TLSV1_3",
+ "integer": 4
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "Gateway",
+ "fields": [
+ {
+ "id": 1,
+ "name": "servers",
+ "type": "Server",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "selector",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "Server",
+ "fields": [
+ {
+ "id": 1,
+ "name": "port",
+ "type": "Port"
+ },
+ {
+ "id": 2,
+ "name": "hosts",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "tls",
+ "type": "TLSOptions"
+ }
+ ],
+ "messages": [
+ {
+ "name": "TLSOptions",
+ "fields": [
+ {
+ "id": 1,
+ "name": "https_redirect",
+ "type": "bool"
+ },
+ {
+ "id": 2,
+ "name": "mode",
+ "type": "TLSmode"
+ },
+ {
+ "id": 3,
+ "name": "server_certificate",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "private_key",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "ca_certificates",
+ "type": "string"
+ },
+ {
+ "id": 6,
+ "name": "subject_alt_names",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 7,
+ "name": "min_protocol_version",
+ "type": "TLSProtocol"
+ },
+ {
+ "id": 8,
+ "name": "max_protocol_version",
+ "type": "TLSProtocol"
+ },
+ {
+ "id": 9,
+ "name": "cipher_suites",
+ "type": "string",
+ "is_repeated": true
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Port",
+ "fields": [
+ {
+ "id": 1,
+ "name": "number",
+ "type": "uint32"
+ },
+ {
+ "id": 2,
+ "name": "protocol",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "name",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "networking:/:v1alpha3:/:service_entry.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "ServiceEntry.Location",
+ "enum_fields": [
+ {
+ "name": "MESH_EXTERNAL",
+ "integer": 0
+ },
+ {
+ "name": "MESH_INTERNAL",
+ "integer": 1
+ }
+ ]
+ },
+ {
+ "name": "ServiceEntry.Resolution",
+ "enum_fields": [
+ {
+ "name": "NONE",
+ "integer": 0
+ },
+ {
+ "name": "STATIC",
+ "integer": 1
+ },
+ {
+ "name": "DNS",
+ "integer": 2
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "ServiceEntry",
+ "fields": [
+ {
+ "id": 1,
+ "name": "hosts",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "addresses",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "ports",
+ "type": "Port",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "location",
+ "type": "Location"
+ },
+ {
+ "id": 5,
+ "name": "resolution",
+ "type": "Resolution"
+ },
+ {
+ "id": 6,
+ "name": "endpoints",
+ "type": "Endpoint",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "Endpoint",
+ "fields": [
+ {
+ "id": 1,
+ "name": "address",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "network",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "locality",
+ "type": "string"
+ },
+ {
+ "id": 6,
+ "name": "weight",
+ "type": "uint32"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 2,
+ "name": "ports",
+ "type": "uint32"
+ }
+ },
+ {
+ "key_type": "string",
+ "field": {
+ "id": 3,
+ "name": "labels",
+ "type": "string"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "networking:/:v1alpha3:/:virtual_service.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "VirtualService",
+ "fields": [
+ {
+ "id": 1,
+ "name": "hosts",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "gateways",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "http",
+ "type": "HTTPRoute",
+ "is_repeated": true
+ },
+ {
+ "id": 5,
+ "name": "tls",
+ "type": "TLSRoute",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "tcp",
+ "type": "TCPRoute",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "Destination",
+ "fields": [
+ {
+ "id": 1,
+ "name": "host",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "subset",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "port",
+ "type": "PortSelector"
+ }
+ ]
+ },
+ {
+ "name": "HTTPRoute",
+ "fields": [
+ {
+ "id": 1,
+ "name": "match",
+ "type": "HTTPMatchRequest",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "route",
+ "type": "HTTPRouteDestination",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "redirect",
+ "type": "HTTPRedirect"
+ },
+ {
+ "id": 4,
+ "name": "rewrite",
+ "type": "HTTPRewrite"
+ },
+ {
+ "id": 5,
+ "name": "websocket_upgrade",
+ "type": "bool"
+ },
+ {
+ "id": 6,
+ "name": "timeout",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 7,
+ "name": "retries",
+ "type": "HTTPRetry"
+ },
+ {
+ "id": 8,
+ "name": "fault",
+ "type": "HTTPFaultInjection"
+ },
+ {
+ "id": 9,
+ "name": "mirror",
+ "type": "Destination"
+ },
+ {
+ "id": 10,
+ "name": "cors_policy",
+ "type": "CorsPolicy"
+ },
+ {
+ "id": 12,
+ "name": "remove_response_headers",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 14,
+ "name": "remove_request_headers",
+ "type": "string",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 11,
+ "name": "append_headers",
+ "type": "string"
+ }
+ },
+ {
+ "key_type": "string",
+ "field": {
+ "id": 13,
+ "name": "append_response_headers",
+ "type": "string"
+ }
+ },
+ {
+ "key_type": "string",
+ "field": {
+ "id": 15,
+ "name": "append_request_headers",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "TLSRoute",
+ "fields": [
+ {
+ "id": 1,
+ "name": "match",
+ "type": "TLSMatchAttributes",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "route",
+ "type": "RouteDestination",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "TCPRoute",
+ "fields": [
+ {
+ "id": 1,
+ "name": "match",
+ "type": "L4MatchAttributes",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "route",
+ "type": "RouteDestination",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "HTTPMatchRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "uri",
+ "type": "StringMatch"
+ },
+ {
+ "id": 2,
+ "name": "scheme",
+ "type": "StringMatch"
+ },
+ {
+ "id": 3,
+ "name": "method",
+ "type": "StringMatch"
+ },
+ {
+ "id": 4,
+ "name": "authority",
+ "type": "StringMatch"
+ },
+ {
+ "id": 6,
+ "name": "port",
+ "type": "uint32"
+ },
+ {
+ "id": 8,
+ "name": "gateways",
+ "type": "string",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 5,
+ "name": "headers",
+ "type": "StringMatch"
+ }
+ },
+ {
+ "key_type": "string",
+ "field": {
+ "id": 7,
+ "name": "source_labels",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "HTTPRouteDestination",
+ "fields": [
+ {
+ "id": 1,
+ "name": "destination",
+ "type": "Destination"
+ },
+ {
+ "id": 2,
+ "name": "weight",
+ "type": "int32"
+ },
+ {
+ "id": 3,
+ "name": "remove_response_headers",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 5,
+ "name": "remove_request_headers",
+ "type": "string",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 4,
+ "name": "append_response_headers",
+ "type": "string"
+ }
+ },
+ {
+ "key_type": "string",
+ "field": {
+ "id": 6,
+ "name": "append_request_headers",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "RouteDestination",
+ "fields": [
+ {
+ "id": 1,
+ "name": "destination",
+ "type": "Destination"
+ },
+ {
+ "id": 2,
+ "name": "weight",
+ "type": "int32"
+ }
+ ]
+ },
+ {
+ "name": "L4MatchAttributes",
+ "fields": [
+ {
+ "id": 1,
+ "name": "destination_subnets",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "port",
+ "type": "uint32"
+ },
+ {
+ "id": 3,
+ "name": "source_subnet",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "gateways",
+ "type": "string",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 4,
+ "name": "source_labels",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "TLSMatchAttributes",
+ "fields": [
+ {
+ "id": 1,
+ "name": "sni_hosts",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "destination_subnets",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "port",
+ "type": "uint32"
+ },
+ {
+ "id": 4,
+ "name": "source_subnet",
+ "type": "string"
+ },
+ {
+ "id": 6,
+ "name": "gateways",
+ "type": "string",
+ "is_repeated": true
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 5,
+ "name": "source_labels",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "HTTPRedirect",
+ "fields": [
+ {
+ "id": 1,
+ "name": "uri",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "authority",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "HTTPRewrite",
+ "fields": [
+ {
+ "id": 1,
+ "name": "uri",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "authority",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "StringMatch",
+ "fields": [
+ {
+ "id": 1,
+ "name": "exact",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "prefix",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "regex",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "HTTPRetry",
+ "fields": [
+ {
+ "id": 1,
+ "name": "attempts",
+ "type": "int32"
+ },
+ {
+ "id": 2,
+ "name": "per_try_timeout",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 3,
+ "name": "retry_on",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "CorsPolicy",
+ "fields": [
+ {
+ "id": 1,
+ "name": "allow_origin",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "allow_methods",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "allow_headers",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "expose_headers",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 5,
+ "name": "max_age",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 6,
+ "name": "allow_credentials",
+ "type": "google.protobuf.BoolValue"
+ }
+ ]
+ },
+ {
+ "name": "HTTPFaultInjection",
+ "fields": [
+ {
+ "id": 1,
+ "name": "delay",
+ "type": "Delay"
+ },
+ {
+ "id": 2,
+ "name": "abort",
+ "type": "Abort"
+ }
+ ],
+ "messages": [
+ {
+ "name": "Delay",
+ "fields": [
+ {
+ "id": 1,
+ "name": "percent",
+ "type": "int32"
+ },
+ {
+ "id": 2,
+ "name": "fixed_delay",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 3,
+ "name": "exponential_delay",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 5,
+ "name": "percentage",
+ "type": "Percent"
+ }
+ ]
+ },
+ {
+ "name": "Abort",
+ "fields": [
+ {
+ "id": 1,
+ "name": "percent",
+ "type": "int32"
+ },
+ {
+ "id": 2,
+ "name": "http_status",
+ "type": "int32"
+ },
+ {
+ "id": 3,
+ "name": "grpc_status",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "http2_error",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "percentage",
+ "type": "Percent"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "PortSelector",
+ "fields": [
+ {
+ "id": 1,
+ "name": "number",
+ "type": "uint32"
+ },
+ {
+ "id": 2,
+ "name": "name",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "Percent",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "double"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "policy:/:v1beta1:/:cfg.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "HeaderOperationTemplate.Operation",
+ "enum_fields": [
+ {
+ "name": "REPLACE",
+ "integer": 0
+ },
+ {
+ "name": "REMOVE",
+ "integer": 1
+ },
+ {
+ "name": "APPEND",
+ "integer": 2
+ }
+ ]
+ },
+ {
+ "name": "FractionalPercent.DenominatorType",
+ "enum_fields": [
+ {
+ "name": "HUNDRED",
+ "integer": 0
+ },
+ {
+ "name": "TEN_THOUSAND",
+ "integer": 1
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "AttributeManifest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "revision",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "name",
+ "type": "string"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 3,
+ "name": "attributes",
+ "type": "AttributeInfo"
+ }
+ }
+ ],
+ "messages": [
+ {
+ "name": "AttributeInfo",
+ "fields": [
+ {
+ "id": 1,
+ "name": "description",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "value_type",
+ "type": "istio.policy.v1beta1.ValueType"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Rule",
+ "fields": [
+ {
+ "id": 1,
+ "name": "match",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "actions",
+ "type": "Action",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "request_header_operations",
+ "type": "HeaderOperationTemplate",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "response_header_operations",
+ "type": "HeaderOperationTemplate",
+ "is_repeated": true
+ },
+ {
+ "id": 5,
+ "name": "sampling",
+ "type": "Sampling"
+ }
+ ],
+ "messages": [
+ {
+ "name": "HeaderOperationTemplate",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "values",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "operation",
+ "type": "Operation"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "Action",
+ "fields": [
+ {
+ "id": 2,
+ "name": "handler",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "instances",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "name",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "Instance",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 67794676,
+ "name": "compiled_template",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "template",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "params",
+ "type": "google.protobuf.Struct"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 4,
+ "name": "attribute_bindings",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "Handler",
+ "fields": [
+ {
+ "id": 1,
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "id": 67794676,
+ "name": "compiled_adapter",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "adapter",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "params",
+ "type": "google.protobuf.Struct"
+ },
+ {
+ "id": 4,
+ "name": "connection",
+ "type": "Connection"
+ }
+ ]
+ },
+ {
+ "name": "Connection",
+ "fields": [
+ {
+ "id": 2,
+ "name": "address",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "timeout",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ },
+ {
+ "name": "Sampling",
+ "fields": [
+ {
+ "id": 1,
+ "name": "random",
+ "type": "RandomSampling"
+ },
+ {
+ "id": 2,
+ "name": "rate_limit",
+ "type": "RateLimitSampling"
+ }
+ ]
+ },
+ {
+ "name": "RandomSampling",
+ "fields": [
+ {
+ "id": 1,
+ "name": "attribute_expression",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "percent_sampled",
+ "type": "FractionalPercent"
+ },
+ {
+ "id": 3,
+ "name": "use_independent_randomness",
+ "type": "bool"
+ }
+ ]
+ },
+ {
+ "name": "RateLimitSampling",
+ "fields": [
+ {
+ "id": 1,
+ "name": "sampling_duration",
+ "type": "google.protobuf.Duration"
+ },
+ {
+ "id": 2,
+ "name": "max_unsampled_entries",
+ "type": "int64"
+ },
+ {
+ "id": 3,
+ "name": "sampling_rate",
+ "type": "int64"
+ }
+ ]
+ },
+ {
+ "name": "FractionalPercent",
+ "fields": [
+ {
+ "id": 1,
+ "name": "numerator",
+ "type": "uint32"
+ },
+ {
+ "id": 2,
+ "name": "denominator",
+ "type": "DenominatorType"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "policy:/:v1beta1:/:type.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "Value",
+ "fields": [
+ {
+ "id": 1,
+ "name": "string_value",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "int64_value",
+ "type": "int64"
+ },
+ {
+ "id": 3,
+ "name": "double_value",
+ "type": "double"
+ },
+ {
+ "id": 4,
+ "name": "bool_value",
+ "type": "bool"
+ },
+ {
+ "id": 5,
+ "name": "ip_address_value",
+ "type": "IPAddress"
+ },
+ {
+ "id": 6,
+ "name": "timestamp_value",
+ "type": "TimeStamp"
+ },
+ {
+ "id": 7,
+ "name": "duration_value",
+ "type": "Duration"
+ },
+ {
+ "id": 8,
+ "name": "email_address_value",
+ "type": "EmailAddress"
+ },
+ {
+ "id": 9,
+ "name": "dns_name_value",
+ "type": "DNSName"
+ },
+ {
+ "id": 10,
+ "name": "uri_value",
+ "type": "Uri"
+ }
+ ]
+ },
+ {
+ "name": "IPAddress",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "bytes"
+ }
+ ]
+ },
+ {
+ "name": "Duration",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "google.protobuf.Duration"
+ }
+ ]
+ },
+ {
+ "name": "TimeStamp",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "google.protobuf.Timestamp"
+ }
+ ]
+ },
+ {
+ "name": "DNSName",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "EmailAddress",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "Uri",
+ "fields": [
+ {
+ "id": 1,
+ "name": "value",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "policy:/:v1beta1:/:value_type.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "ValueType",
+ "enum_fields": [
+ {
+ "name": "VALUE_TYPE_UNSPECIFIED",
+ "integer": 0
+ },
+ {
+ "name": "STRING",
+ "integer": 1
+ },
+ {
+ "name": "INT64",
+ "integer": 2
+ },
+ {
+ "name": "DOUBLE",
+ "integer": 3
+ },
+ {
+ "name": "BOOL",
+ "integer": 4
+ },
+ {
+ "name": "TIMESTAMP",
+ "integer": 5
+ },
+ {
+ "name": "IP_ADDRESS",
+ "integer": 6
+ },
+ {
+ "name": "EMAIL_ADDRESS",
+ "integer": 7
+ },
+ {
+ "name": "URI",
+ "integer": 8
+ },
+ {
+ "name": "DNS_NAME",
+ "integer": 9
+ },
+ {
+ "name": "DURATION",
+ "integer": 10
+ },
+ {
+ "name": "STRING_MAP",
+ "integer": 11
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "rbac:/:v1alpha1:/:rbac.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "EnforcementMode",
+ "enum_fields": [
+ {
+ "name": "ENFORCED",
+ "integer": 0
+ },
+ {
+ "name": "PERMISSIVE",
+ "integer": 1
+ }
+ ]
+ },
+ {
+ "name": "RbacConfig.Mode",
+ "enum_fields": [
+ {
+ "name": "OFF",
+ "integer": 0
+ },
+ {
+ "name": "ON",
+ "integer": 1
+ },
+ {
+ "name": "ON_WITH_INCLUSION",
+ "integer": 2
+ },
+ {
+ "name": "ON_WITH_EXCLUSION",
+ "integer": 3
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "ServiceRole",
+ "fields": [
+ {
+ "id": 1,
+ "name": "rules",
+ "type": "AccessRule",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "AccessRule",
+ "fields": [
+ {
+ "id": 1,
+ "name": "services",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "paths",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 3,
+ "name": "methods",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 4,
+ "name": "constraints",
+ "type": "Constraint",
+ "is_repeated": true
+ }
+ ],
+ "messages": [
+ {
+ "name": "Constraint",
+ "fields": [
+ {
+ "id": 1,
+ "name": "key",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "values",
+ "type": "string",
+ "is_repeated": true
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "name": "ServiceRoleBinding",
+ "fields": [
+ {
+ "id": 1,
+ "name": "subjects",
+ "type": "Subject",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "roleRef",
+ "type": "RoleRef"
+ },
+ {
+ "id": 3,
+ "name": "mode",
+ "type": "EnforcementMode"
+ }
+ ]
+ },
+ {
+ "name": "Subject",
+ "fields": [
+ {
+ "id": 1,
+ "name": "user",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "group",
+ "type": "string"
+ }
+ ],
+ "maps": [
+ {
+ "key_type": "string",
+ "field": {
+ "id": 3,
+ "name": "properties",
+ "type": "string"
+ }
+ }
+ ]
+ },
+ {
+ "name": "RoleRef",
+ "fields": [
+ {
+ "id": 1,
+ "name": "kind",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "name",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "RbacConfig",
+ "fields": [
+ {
+ "id": 1,
+ "name": "mode",
+ "type": "Mode"
+ },
+ {
+ "id": 2,
+ "name": "inclusion",
+ "type": "Target"
+ },
+ {
+ "id": 3,
+ "name": "exclusion",
+ "type": "Target"
+ },
+ {
+ "id": 4,
+ "name": "enforcement_mode",
+ "type": "EnforcementMode"
+ }
+ ],
+ "messages": [
+ {
+ "name": "Target",
+ "fields": [
+ {
+ "id": 1,
+ "name": "services",
+ "type": "string",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "namespaces",
+ "type": "string",
+ "is_repeated": true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/prototool.yaml b/prototool.yaml
new file mode 100644
index 0000000000..57e67aac35
--- /dev/null
+++ b/prototool.yaml
@@ -0,0 +1,26 @@
+protoc:
+ # This is ignored because we always run with
+ # --protoc-bin-path=/usr/bin/protoc to use the protoc from our
+ # container
+ version: 3.6.1
+
+lint:
+ # Linter files to ignore.
+ ignores:
+ - id: MESSAGE_FIELD_NAMES_LOWER_SNAKE_CASE
+ files:
+ - rbac/v1alpha1/rbac.proto
+ - id: ENUM_FIELD_NAMES_UPPER_SNAKE_CASE
+ files:
+ - networking/v1alpha3/gateway.proto
+
+ # Linter rules.
+ rules:
+ # The specific linters to remove.
+ remove:
+ - FILE_OPTIONS_REQUIRE_JAVA_MULTIPLE_FILES
+ - FILE_OPTIONS_REQUIRE_JAVA_OUTER_CLASSNAME
+ - FILE_OPTIONS_REQUIRE_JAVA_PACKAGE
+ - FILE_OPTIONS_EQUAL_GO_PACKAGE_PB_SUFFIX
+ - ENUM_FIELD_PREFIXES
+ - ENUM_ZERO_VALUES_INVALID
diff --git a/prow/api-presubmit.sh b/prow/api-presubmit.sh
index b879e9803b..da4ece7da5 100755
--- a/prow/api-presubmit.sh
+++ b/prow/api-presubmit.sh
@@ -41,11 +41,13 @@ ROOT=$(dirname $WD)
cd ${ROOT}
./scripts/generate-protos.sh || die "Could not generate *.pb.go"
+make proto-commit || die "Could not commit new proto.lock"
+make lint || die "Lint errors"
if [[ -n $(git status --porcelain) ]]; then
git status
git diff
- die "Repo has unstaged changes. Re-run ./scripts/generate-protos.sh"
+ die "Repo has unstaged changes. Re-run ./scripts/generate-protos.sh or make proto-commit"
fi
exit 0
diff --git a/python/istio_api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config_pb2.py b/python/istio_api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config_pb2.py
new file mode 100644
index 0000000000..f88de6ad71
--- /dev/null
+++ b/python/istio_api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config_pb2.py
@@ -0,0 +1,78 @@
+# Generated by the protocol buffer compiler. DO NOT EDIT!
+# source: envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto
+
+import sys
+_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+from google.protobuf import descriptor as _descriptor
+from google.protobuf import message as _message
+from google.protobuf import reflection as _reflection
+from google.protobuf import symbol_database as _symbol_database
+from google.protobuf import descriptor_pb2
+# @@protoc_insertion_point(imports)
+
+_sym_db = _symbol_database.Default()
+
+
+
+
+DESCRIPTOR = _descriptor.FileDescriptor(
+ name='envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto',
+ package='istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1',
+ syntax='proto3',
+ serialized_pb=_b('\nEenvoy/config/filter/network/tcp_cluster_rewrite/v2alpha1/config.proto\x12>istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1\"I\n\x11TcpClusterRewrite\x12\x17\n\x0f\x63luster_pattern\x18\x01 \x01(\t\x12\x1b\n\x13\x63luster_replacement\x18\x02 \x01(\tBGZEistio.io/api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1b\x06proto3')
+)
+
+
+
+
+_TCPCLUSTERREWRITE = _descriptor.Descriptor(
+ name='TcpClusterRewrite',
+ full_name='istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.TcpClusterRewrite',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='cluster_pattern', full_name='istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.TcpClusterRewrite.cluster_pattern', index=0,
+ number=1, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='cluster_replacement', full_name='istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.TcpClusterRewrite.cluster_replacement', index=1,
+ number=2, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=137,
+ serialized_end=210,
+)
+
+DESCRIPTOR.message_types_by_name['TcpClusterRewrite'] = _TCPCLUSTERREWRITE
+_sym_db.RegisterFileDescriptor(DESCRIPTOR)
+
+TcpClusterRewrite = _reflection.GeneratedProtocolMessageType('TcpClusterRewrite', (_message.Message,), dict(
+ DESCRIPTOR = _TCPCLUSTERREWRITE,
+ __module__ = 'envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.config_pb2'
+ # @@protoc_insertion_point(class_scope:istio.envoy.config.filter.network.tcp_cluster_rewrite.v2alpha1.TcpClusterRewrite)
+ ))
+_sym_db.RegisterMessage(TcpClusterRewrite)
+
+
+DESCRIPTOR.has_options = True
+DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('ZEistio.io/api/envoy/config/filter/network/tcp_cluster_rewrite/v2alpha1'))
+# @@protoc_insertion_point(module_scope)
diff --git a/python/istio_api/mesh/v1alpha1/config_pb2.py b/python/istio_api/mesh/v1alpha1/config_pb2.py
index c13f214454..e6fc3b9567 100644
--- a/python/istio_api/mesh/v1alpha1/config_pb2.py
+++ b/python/istio_api/mesh/v1alpha1/config_pb2.py
@@ -22,7 +22,7 @@
name='mesh/v1alpha1/config.proto',
package='istio.mesh.v1alpha1',
syntax='proto3',
- serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\xeb\t\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3')
+ serialized_pb=_b('\n\x1amesh/v1alpha1/config.proto\x12\x13istio.mesh.v1alpha1\x1a\x1egoogle/protobuf/duration.proto\x1a\x19mesh/v1alpha1/proxy.proto\x1a*networking/v1alpha3/destination_rule.proto\"\x81\n\n\nMeshConfig\x12\x1a\n\x12mixer_check_server\x18\x01 \x01(\t\x12\x1b\n\x13mixer_report_server\x18\x02 \x01(\t\x12\x1d\n\x15\x64isable_policy_checks\x18\x03 \x01(\x08\x12\x1e\n\x16policy_check_fail_open\x18\x19 \x01(\x08\x12\x19\n\x11proxy_listen_port\x18\x04 \x01(\x05\x12\x17\n\x0fproxy_http_port\x18\x05 \x01(\x05\x12\x32\n\x0f\x63onnect_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x15\n\ringress_class\x18\x07 \x01(\t\x12\x17\n\x0fingress_service\x18\x08 \x01(\t\x12V\n\x17ingress_controller_mode\x18\t \x01(\x0e\x32\x35.istio.mesh.v1alpha1.MeshConfig.IngressControllerMode\x12\x43\n\x0b\x61uth_policy\x18\n \x01(\x0e\x32*.istio.mesh.v1alpha1.MeshConfig.AuthPolicyB\x02\x18\x01\x12\x38\n\x11rds_refresh_delay\x18\x0b \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x16\n\x0e\x65nable_tracing\x18\x0c \x01(\x08\x12\x17\n\x0f\x61\x63\x63\x65ss_log_file\x18\r \x01(\t\x12\x19\n\x11\x61\x63\x63\x65ss_log_format\x18\x18 \x01(\t\x12\x38\n\x0e\x64\x65\x66\x61ult_config\x18\x0e \x01(\x0b\x32 .istio.mesh.v1alpha1.ProxyConfig\x12\x19\n\rmixer_address\x18\x10 \x01(\tB\x02\x18\x01\x12Z\n\x17outbound_traffic_policy\x18\x11 \x01(\x0b\x32\x35.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicyB\x02\x18\x01\x12\'\n\x1f\x65nable_client_side_policy_check\x18\x13 \x01(\x08\x12\x14\n\x0csds_uds_path\x18\x14 \x01(\t\x12\x38\n\x11sds_refresh_delay\x18\x15 \x01(\x0b\x32\x19.google.protobuf.DurationB\x02\x18\x01\x12\x39\n\x0e\x63onfig_sources\x18\x16 \x03(\x0b\x32!.istio.mesh.v1alpha1.ConfigSource\x12\x1e\n\x16\x65nable_sds_token_mount\x18\x17 \x01(\x08\x12\x14\n\x0ctrust_domain\x18\x1a \x01(\t\x1a\xb5\x01\n\x15OutboundTrafficPolicy\x12L\n\x04mode\x18\x01 \x01(\x0e\x32:.istio.mesh.v1alpha1.MeshConfig.OutboundTrafficPolicy.ModeB\x02\x18\x01\"N\n\x04Mode\x12\x15\n\rREGISTRY_ONLY\x10\x00\x1a\x02\x08\x01\x12\x11\n\tALLOW_ANY\x10\x01\x1a\x02\x08\x01\x12\x1c\n\x14VIRTUAL_SERVICE_ONLY\x10\x02\x1a\x02\x08\x01\"9\n\x15IngressControllerMode\x12\x07\n\x03OFF\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\n\n\x06STRICT\x10\x02\"&\n\nAuthPolicy\x12\x08\n\x04NONE\x10\x00\x12\x0e\n\nMUTUAL_TLS\x10\x01J\x04\x08\x0f\x10\x10J\x04\x08\x12\x10\x13\"]\n\x0c\x43onfigSource\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12<\n\x0ctls_settings\x18\x02 \x01(\x0b\x32&.istio.networking.v1alpha3.TLSSettingsB\x1cZ\x1aistio.io/api/mesh/v1alpha1b\x06proto3')
,
dependencies=[google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,mesh_dot_v1alpha1_dot_proxy__pb2.DESCRIPTOR,networking_dot_v1alpha3_dot_destination__rule__pb2.DESCRIPTOR,])
@@ -49,8 +49,8 @@
],
containing_type=None,
options=None,
- serialized_start=1225,
- serialized_end=1303,
+ serialized_start=1247,
+ serialized_end=1325,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE)
@@ -75,8 +75,8 @@
],
containing_type=None,
options=None,
- serialized_start=1305,
- serialized_end=1362,
+ serialized_start=1327,
+ serialized_end=1384,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_INGRESSCONTROLLERMODE)
@@ -97,8 +97,8 @@
],
containing_type=None,
options=None,
- serialized_start=1364,
- serialized_end=1402,
+ serialized_start=1386,
+ serialized_end=1424,
)
_sym_db.RegisterEnumDescriptor(_MESHCONFIG_AUTHPOLICY)
@@ -130,8 +130,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1122,
- serialized_end=1303,
+ serialized_start=1144,
+ serialized_end=1325,
)
_MESHCONFIG = _descriptor.Descriptor(
@@ -302,6 +302,13 @@
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='trust_domain', full_name='istio.mesh.v1alpha1.MeshConfig.trust_domain', index=23,
+ number=26, type=9, cpp_type=9, label=1,
+ has_default_value=False, default_value=_b("").decode('utf-8'),
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
],
extensions=[
],
@@ -317,7 +324,7 @@
oneofs=[
],
serialized_start=155,
- serialized_end=1414,
+ serialized_end=1436,
)
@@ -354,8 +361,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1416,
- serialized_end=1509,
+ serialized_start=1438,
+ serialized_end=1531,
)
_MESHCONFIG_OUTBOUNDTRAFFICPOLICY.fields_by_name['mode'].enum_type = _MESHCONFIG_OUTBOUNDTRAFFICPOLICY_MODE
diff --git a/python/istio_api/mixer/v1/check_pb2.py b/python/istio_api/mixer/v1/mixer_pb2.py
similarity index 86%
rename from python/istio_api/mixer/v1/check_pb2.py
rename to python/istio_api/mixer/v1/mixer_pb2.py
index d4fbbd9c57..1741dfbdb7 100644
--- a/python/istio_api/mixer/v1/check_pb2.py
+++ b/python/istio_api/mixer/v1/mixer_pb2.py
@@ -1,5 +1,5 @@
# Generated by the protocol buffer compiler. DO NOT EDIT!
-# source: mixer/v1/check.proto
+# source: mixer/v1/mixer.proto
import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
@@ -20,10 +20,10 @@
DESCRIPTOR = _descriptor.FileDescriptor(
- name='mixer/v1/check.proto',
+ name='mixer/v1/mixer.proto',
package='istio.mixer.v1',
syntax='proto3',
- serialized_pb=_b('\n\x14mixer/v1/check.proto\x12\x0eistio.mixer.v1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x17google/rpc/status.proto\x1a\x19mixer/v1/attributes.proto\"\xd0\x02\n\x0c\x43heckRequest\x12>\n\nattributes\x18\x01 \x01(\x0b\x32$.istio.mixer.v1.CompressedAttributesB\x04\xc8\xde\x1f\x00\x12\x19\n\x11global_word_count\x18\x02 \x01(\r\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x03 \x01(\t\x12>\n\x06quotas\x18\x04 \x03(\x0b\x32(.istio.mixer.v1.CheckRequest.QuotasEntryB\x04\xc8\xde\x1f\x00\x1a\x32\n\x0bQuotaParams\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x03\x12\x13\n\x0b\x62\x65st_effort\x18\x02 \x01(\x08\x1aW\n\x0bQuotasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.istio.mixer.v1.CheckRequest.QuotaParams:\x02\x38\x01\"\xc3\x05\n\rCheckResponse\x12L\n\x0cprecondition\x18\x02 \x01(\x0b\x32\x30.istio.mixer.v1.CheckResponse.PreconditionResultB\x04\xc8\xde\x1f\x00\x12?\n\x06quotas\x18\x03 \x03(\x0b\x32).istio.mixer.v1.CheckResponse.QuotasEntryB\x04\xc8\xde\x1f\x00\x1a\x98\x02\n\x12PreconditionResult\x12(\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.StatusB\x04\xc8\xde\x1f\x00\x12;\n\x0evalid_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x17\n\x0fvalid_use_count\x18\x03 \x01(\x05\x12\x43\n\x15referenced_attributes\x18\x05 \x01(\x0b\x32$.istio.mixer.v1.ReferencedAttributes\x12\x37\n\x0froute_directive\x18\x06 \x01(\x0b\x32\x1e.istio.mixer.v1.RouteDirectiveJ\x04\x08\x04\x10\x05\x1a\xad\x01\n\x0bQuotaResult\x12;\n\x0evalid_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x16\n\x0egranted_amount\x18\x02 \x01(\x03\x12I\n\x15referenced_attributes\x18\x05 \x01(\x0b\x32$.istio.mixer.v1.ReferencedAttributesB\x04\xc8\xde\x1f\x00\x1aX\n\x0bQuotasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).istio.mixer.v1.CheckResponse.QuotaResult:\x02\x38\x01\"\xca\x02\n\x14ReferencedAttributes\x12\r\n\x05words\x18\x01 \x03(\t\x12T\n\x11\x61ttribute_matches\x18\x02 \x03(\x0b\x32\x33.istio.mixer.v1.ReferencedAttributes.AttributeMatchB\x04\xc8\xde\x1f\x00\x1a\x81\x01\n\x0e\x41ttributeMatch\x12\x0c\n\x04name\x18\x01 \x01(\x11\x12\x41\n\tcondition\x18\x02 \x01(\x0e\x32..istio.mixer.v1.ReferencedAttributes.Condition\x12\r\n\x05regex\x18\x03 \x01(\t\x12\x0f\n\x07map_key\x18\x04 \x01(\x11\"I\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x41\x42SENCE\x10\x01\x12\t\n\x05\x45XACT\x10\x02\x12\t\n\x05REGEX\x10\x03\"\x9e\x01\n\x0fHeaderOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12<\n\toperation\x18\x03 \x01(\x0e\x32).istio.mixer.v1.HeaderOperation.Operation\"0\n\tOperation\x12\x0b\n\x07REPLACE\x10\x00\x12\n\n\x06REMOVE\x10\x01\x12\n\n\x06\x41PPEND\x10\x02\"\xe1\x01\n\x0eRouteDirective\x12H\n\x19request_header_operations\x18\x01 \x03(\x0b\x32\x1f.istio.mixer.v1.HeaderOperationB\x04\xc8\xde\x1f\x00\x12I\n\x1aresponse_header_operations\x18\x02 \x03(\x0b\x32\x1f.istio.mixer.v1.HeaderOperationB\x04\xc8\xde\x1f\x00\x12\x1c\n\x14\x64irect_response_code\x18\x03 \x01(\r\x12\x1c\n\x14\x64irect_response_body\x18\x04 \x01(\tB&Z\x15istio.io/api/mixer/v1\xf8\x01\x01\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3')
+ serialized_pb=_b('\n\x14mixer/v1/mixer.proto\x12\x0eistio.mixer.v1\x1a\x14gogoproto/gogo.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x17google/rpc/status.proto\x1a\x19mixer/v1/attributes.proto\"\xd0\x02\n\x0c\x43heckRequest\x12>\n\nattributes\x18\x01 \x01(\x0b\x32$.istio.mixer.v1.CompressedAttributesB\x04\xc8\xde\x1f\x00\x12\x19\n\x11global_word_count\x18\x02 \x01(\r\x12\x18\n\x10\x64\x65\x64uplication_id\x18\x03 \x01(\t\x12>\n\x06quotas\x18\x04 \x03(\x0b\x32(.istio.mixer.v1.CheckRequest.QuotasEntryB\x04\xc8\xde\x1f\x00\x1a\x32\n\x0bQuotaParams\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x03\x12\x13\n\x0b\x62\x65st_effort\x18\x02 \x01(\x08\x1aW\n\x0bQuotasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.istio.mixer.v1.CheckRequest.QuotaParams:\x02\x38\x01\"\xc3\x05\n\rCheckResponse\x12L\n\x0cprecondition\x18\x02 \x01(\x0b\x32\x30.istio.mixer.v1.CheckResponse.PreconditionResultB\x04\xc8\xde\x1f\x00\x12?\n\x06quotas\x18\x03 \x03(\x0b\x32).istio.mixer.v1.CheckResponse.QuotasEntryB\x04\xc8\xde\x1f\x00\x1a\x98\x02\n\x12PreconditionResult\x12(\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.StatusB\x04\xc8\xde\x1f\x00\x12;\n\x0evalid_duration\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x17\n\x0fvalid_use_count\x18\x03 \x01(\x05\x12\x43\n\x15referenced_attributes\x18\x05 \x01(\x0b\x32$.istio.mixer.v1.ReferencedAttributes\x12\x37\n\x0froute_directive\x18\x06 \x01(\x0b\x32\x1e.istio.mixer.v1.RouteDirectiveJ\x04\x08\x04\x10\x05\x1a\xad\x01\n\x0bQuotaResult\x12;\n\x0evalid_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x16\n\x0egranted_amount\x18\x02 \x01(\x03\x12I\n\x15referenced_attributes\x18\x05 \x01(\x0b\x32$.istio.mixer.v1.ReferencedAttributesB\x04\xc8\xde\x1f\x00\x1aX\n\x0bQuotasEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32).istio.mixer.v1.CheckResponse.QuotaResult:\x02\x38\x01\"\xca\x02\n\x14ReferencedAttributes\x12\r\n\x05words\x18\x01 \x03(\t\x12T\n\x11\x61ttribute_matches\x18\x02 \x03(\x0b\x32\x33.istio.mixer.v1.ReferencedAttributes.AttributeMatchB\x04\xc8\xde\x1f\x00\x1a\x81\x01\n\x0e\x41ttributeMatch\x12\x0c\n\x04name\x18\x01 \x01(\x11\x12\x41\n\tcondition\x18\x02 \x01(\x0e\x32..istio.mixer.v1.ReferencedAttributes.Condition\x12\r\n\x05regex\x18\x03 \x01(\t\x12\x0f\n\x07map_key\x18\x04 \x01(\x11\"I\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x41\x42SENCE\x10\x01\x12\t\n\x05\x45XACT\x10\x02\x12\t\n\x05REGEX\x10\x03\"\x9e\x01\n\x0fHeaderOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12<\n\toperation\x18\x03 \x01(\x0e\x32).istio.mixer.v1.HeaderOperation.Operation\"0\n\tOperation\x12\x0b\n\x07REPLACE\x10\x00\x12\n\n\x06REMOVE\x10\x01\x12\n\n\x06\x41PPEND\x10\x02\"\xe1\x01\n\x0eRouteDirective\x12H\n\x19request_header_operations\x18\x01 \x03(\x0b\x32\x1f.istio.mixer.v1.HeaderOperationB\x04\xc8\xde\x1f\x00\x12I\n\x1aresponse_header_operations\x18\x02 \x03(\x0b\x32\x1f.istio.mixer.v1.HeaderOperationB\x04\xc8\xde\x1f\x00\x12\x1c\n\x14\x64irect_response_code\x18\x03 \x01(\r\x12\x1c\n\x14\x64irect_response_body\x18\x04 \x01(\t\"\x81\x01\n\rReportRequest\x12>\n\nattributes\x18\x01 \x03(\x0b\x32$.istio.mixer.v1.CompressedAttributesB\x04\xc8\xde\x1f\x00\x12\x15\n\rdefault_words\x18\x02 \x03(\t\x12\x19\n\x11global_word_count\x18\x03 \x01(\r\"\x10\n\x0eReportResponse2\x9a\x01\n\x05Mixer\x12\x46\n\x05\x43heck\x12\x1c.istio.mixer.v1.CheckRequest\x1a\x1d.istio.mixer.v1.CheckResponse\"\x00\x12I\n\x06Report\x12\x1d.istio.mixer.v1.ReportRequest\x1a\x1e.istio.mixer.v1.ReportResponse\"\x00\x42)Z\x15istio.io/api/mixer/v1\x80\x01\x01\xf8\x01\x01\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3')
,
dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,mixer_dot_v1_dot_attributes__pb2.DESCRIPTOR,])
@@ -576,6 +576,75 @@
serialized_end=1915,
)
+
+_REPORTREQUEST = _descriptor.Descriptor(
+ name='ReportRequest',
+ full_name='istio.mixer.v1.ReportRequest',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ _descriptor.FieldDescriptor(
+ name='attributes', full_name='istio.mixer.v1.ReportRequest.attributes', index=0,
+ number=1, type=11, cpp_type=10, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='default_words', full_name='istio.mixer.v1.ReportRequest.default_words', index=1,
+ number=2, type=9, cpp_type=9, label=3,
+ has_default_value=False, default_value=[],
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ _descriptor.FieldDescriptor(
+ name='global_word_count', full_name='istio.mixer.v1.ReportRequest.global_word_count', index=2,
+ number=3, type=13, cpp_type=3, label=1,
+ has_default_value=False, default_value=0,
+ message_type=None, enum_type=None, containing_type=None,
+ is_extension=False, extension_scope=None,
+ options=None, file=DESCRIPTOR),
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=1918,
+ serialized_end=2047,
+)
+
+
+_REPORTRESPONSE = _descriptor.Descriptor(
+ name='ReportResponse',
+ full_name='istio.mixer.v1.ReportResponse',
+ filename=None,
+ file=DESCRIPTOR,
+ containing_type=None,
+ fields=[
+ ],
+ extensions=[
+ ],
+ nested_types=[],
+ enum_types=[
+ ],
+ options=None,
+ is_extendable=False,
+ syntax='proto3',
+ extension_ranges=[],
+ oneofs=[
+ ],
+ serialized_start=2049,
+ serialized_end=2065,
+)
+
_CHECKREQUEST_QUOTAPARAMS.containing_type = _CHECKREQUEST
_CHECKREQUEST_QUOTASENTRY.fields_by_name['value'].message_type = _CHECKREQUEST_QUOTAPARAMS
_CHECKREQUEST_QUOTASENTRY.containing_type = _CHECKREQUEST
@@ -601,30 +670,33 @@
_HEADEROPERATION_OPERATION.containing_type = _HEADEROPERATION
_ROUTEDIRECTIVE.fields_by_name['request_header_operations'].message_type = _HEADEROPERATION
_ROUTEDIRECTIVE.fields_by_name['response_header_operations'].message_type = _HEADEROPERATION
+_REPORTREQUEST.fields_by_name['attributes'].message_type = mixer_dot_v1_dot_attributes__pb2._COMPRESSEDATTRIBUTES
DESCRIPTOR.message_types_by_name['CheckRequest'] = _CHECKREQUEST
DESCRIPTOR.message_types_by_name['CheckResponse'] = _CHECKRESPONSE
DESCRIPTOR.message_types_by_name['ReferencedAttributes'] = _REFERENCEDATTRIBUTES
DESCRIPTOR.message_types_by_name['HeaderOperation'] = _HEADEROPERATION
DESCRIPTOR.message_types_by_name['RouteDirective'] = _ROUTEDIRECTIVE
+DESCRIPTOR.message_types_by_name['ReportRequest'] = _REPORTREQUEST
+DESCRIPTOR.message_types_by_name['ReportResponse'] = _REPORTRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)
CheckRequest = _reflection.GeneratedProtocolMessageType('CheckRequest', (_message.Message,), dict(
QuotaParams = _reflection.GeneratedProtocolMessageType('QuotaParams', (_message.Message,), dict(
DESCRIPTOR = _CHECKREQUEST_QUOTAPARAMS,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckRequest.QuotaParams)
))
,
QuotasEntry = _reflection.GeneratedProtocolMessageType('QuotasEntry', (_message.Message,), dict(
DESCRIPTOR = _CHECKREQUEST_QUOTASENTRY,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckRequest.QuotasEntry)
))
,
DESCRIPTOR = _CHECKREQUEST,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckRequest)
))
_sym_db.RegisterMessage(CheckRequest)
@@ -635,26 +707,26 @@
PreconditionResult = _reflection.GeneratedProtocolMessageType('PreconditionResult', (_message.Message,), dict(
DESCRIPTOR = _CHECKRESPONSE_PRECONDITIONRESULT,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckResponse.PreconditionResult)
))
,
QuotaResult = _reflection.GeneratedProtocolMessageType('QuotaResult', (_message.Message,), dict(
DESCRIPTOR = _CHECKRESPONSE_QUOTARESULT,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckResponse.QuotaResult)
))
,
QuotasEntry = _reflection.GeneratedProtocolMessageType('QuotasEntry', (_message.Message,), dict(
DESCRIPTOR = _CHECKRESPONSE_QUOTASENTRY,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckResponse.QuotasEntry)
))
,
DESCRIPTOR = _CHECKRESPONSE,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.CheckResponse)
))
_sym_db.RegisterMessage(CheckResponse)
@@ -666,12 +738,12 @@
AttributeMatch = _reflection.GeneratedProtocolMessageType('AttributeMatch', (_message.Message,), dict(
DESCRIPTOR = _REFERENCEDATTRIBUTES_ATTRIBUTEMATCH,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.ReferencedAttributes.AttributeMatch)
))
,
DESCRIPTOR = _REFERENCEDATTRIBUTES,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.ReferencedAttributes)
))
_sym_db.RegisterMessage(ReferencedAttributes)
@@ -679,21 +751,35 @@
HeaderOperation = _reflection.GeneratedProtocolMessageType('HeaderOperation', (_message.Message,), dict(
DESCRIPTOR = _HEADEROPERATION,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.HeaderOperation)
))
_sym_db.RegisterMessage(HeaderOperation)
RouteDirective = _reflection.GeneratedProtocolMessageType('RouteDirective', (_message.Message,), dict(
DESCRIPTOR = _ROUTEDIRECTIVE,
- __module__ = 'mixer.v1.check_pb2'
+ __module__ = 'mixer.v1.mixer_pb2'
# @@protoc_insertion_point(class_scope:istio.mixer.v1.RouteDirective)
))
_sym_db.RegisterMessage(RouteDirective)
+ReportRequest = _reflection.GeneratedProtocolMessageType('ReportRequest', (_message.Message,), dict(
+ DESCRIPTOR = _REPORTREQUEST,
+ __module__ = 'mixer.v1.mixer_pb2'
+ # @@protoc_insertion_point(class_scope:istio.mixer.v1.ReportRequest)
+ ))
+_sym_db.RegisterMessage(ReportRequest)
+
+ReportResponse = _reflection.GeneratedProtocolMessageType('ReportResponse', (_message.Message,), dict(
+ DESCRIPTOR = _REPORTRESPONSE,
+ __module__ = 'mixer.v1.mixer_pb2'
+ # @@protoc_insertion_point(class_scope:istio.mixer.v1.ReportResponse)
+ ))
+_sym_db.RegisterMessage(ReportResponse)
+
DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\025istio.io/api/mixer/v1\370\001\001\310\341\036\000\250\342\036\000\360\341\036\000'))
+DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\025istio.io/api/mixer/v1\200\001\001\370\001\001\310\341\036\000\250\342\036\000\360\341\036\000'))
_CHECKREQUEST_QUOTASENTRY.has_options = True
_CHECKREQUEST_QUOTASENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_CHECKREQUEST.fields_by_name['attributes'].has_options = True
@@ -720,4 +806,39 @@
_ROUTEDIRECTIVE.fields_by_name['request_header_operations']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_ROUTEDIRECTIVE.fields_by_name['response_header_operations'].has_options = True
_ROUTEDIRECTIVE.fields_by_name['response_header_operations']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
+_REPORTREQUEST.fields_by_name['attributes'].has_options = True
+_REPORTREQUEST.fields_by_name['attributes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
+
+_MIXER = _descriptor.ServiceDescriptor(
+ name='Mixer',
+ full_name='istio.mixer.v1.Mixer',
+ file=DESCRIPTOR,
+ index=0,
+ options=None,
+ serialized_start=2068,
+ serialized_end=2222,
+ methods=[
+ _descriptor.MethodDescriptor(
+ name='Check',
+ full_name='istio.mixer.v1.Mixer.Check',
+ index=0,
+ containing_service=None,
+ input_type=_CHECKREQUEST,
+ output_type=_CHECKRESPONSE,
+ options=None,
+ ),
+ _descriptor.MethodDescriptor(
+ name='Report',
+ full_name='istio.mixer.v1.Mixer.Report',
+ index=1,
+ containing_service=None,
+ input_type=_REPORTREQUEST,
+ output_type=_REPORTRESPONSE,
+ options=None,
+ ),
+])
+_sym_db.RegisterServiceDescriptor(_MIXER)
+
+DESCRIPTOR.services_by_name['Mixer'] = _MIXER
+
# @@protoc_insertion_point(module_scope)
diff --git a/python/istio_api/mixer/v1/report_pb2.py b/python/istio_api/mixer/v1/report_pb2.py
deleted file mode 100644
index fa8527dc4a..0000000000
--- a/python/istio_api/mixer/v1/report_pb2.py
+++ /dev/null
@@ -1,123 +0,0 @@
-# Generated by the protocol buffer compiler. DO NOT EDIT!
-# source: mixer/v1/report.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2
-from mixer.v1 import attributes_pb2 as mixer_dot_v1_dot_attributes__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
- name='mixer/v1/report.proto',
- package='istio.mixer.v1',
- syntax='proto3',
- serialized_pb=_b('\n\x15mixer/v1/report.proto\x12\x0eistio.mixer.v1\x1a\x14gogoproto/gogo.proto\x1a\x19mixer/v1/attributes.proto\"\x81\x01\n\rReportRequest\x12>\n\nattributes\x18\x01 \x03(\x0b\x32$.istio.mixer.v1.CompressedAttributesB\x04\xc8\xde\x1f\x00\x12\x15\n\rdefault_words\x18\x02 \x03(\t\x12\x19\n\x11global_word_count\x18\x03 \x01(\r\"\x10\n\x0eReportResponseB&Z\x15istio.io/api/mixer/v1\xf8\x01\x01\xc8\xe1\x1e\x00\xa8\xe2\x1e\x00\xf0\xe1\x1e\x00\x62\x06proto3')
- ,
- dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,mixer_dot_v1_dot_attributes__pb2.DESCRIPTOR,])
-
-
-
-
-_REPORTREQUEST = _descriptor.Descriptor(
- name='ReportRequest',
- full_name='istio.mixer.v1.ReportRequest',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- _descriptor.FieldDescriptor(
- name='attributes', full_name='istio.mixer.v1.ReportRequest.attributes', index=0,
- number=1, type=11, cpp_type=10, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='default_words', full_name='istio.mixer.v1.ReportRequest.default_words', index=1,
- number=2, type=9, cpp_type=9, label=3,
- has_default_value=False, default_value=[],
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- _descriptor.FieldDescriptor(
- name='global_word_count', full_name='istio.mixer.v1.ReportRequest.global_word_count', index=2,
- number=3, type=13, cpp_type=3, label=1,
- has_default_value=False, default_value=0,
- message_type=None, enum_type=None, containing_type=None,
- is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=91,
- serialized_end=220,
-)
-
-
-_REPORTRESPONSE = _descriptor.Descriptor(
- name='ReportResponse',
- full_name='istio.mixer.v1.ReportResponse',
- filename=None,
- file=DESCRIPTOR,
- containing_type=None,
- fields=[
- ],
- extensions=[
- ],
- nested_types=[],
- enum_types=[
- ],
- options=None,
- is_extendable=False,
- syntax='proto3',
- extension_ranges=[],
- oneofs=[
- ],
- serialized_start=222,
- serialized_end=238,
-)
-
-_REPORTREQUEST.fields_by_name['attributes'].message_type = mixer_dot_v1_dot_attributes__pb2._COMPRESSEDATTRIBUTES
-DESCRIPTOR.message_types_by_name['ReportRequest'] = _REPORTREQUEST
-DESCRIPTOR.message_types_by_name['ReportResponse'] = _REPORTRESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-ReportRequest = _reflection.GeneratedProtocolMessageType('ReportRequest', (_message.Message,), dict(
- DESCRIPTOR = _REPORTREQUEST,
- __module__ = 'mixer.v1.report_pb2'
- # @@protoc_insertion_point(class_scope:istio.mixer.v1.ReportRequest)
- ))
-_sym_db.RegisterMessage(ReportRequest)
-
-ReportResponse = _reflection.GeneratedProtocolMessageType('ReportResponse', (_message.Message,), dict(
- DESCRIPTOR = _REPORTRESPONSE,
- __module__ = 'mixer.v1.report_pb2'
- # @@protoc_insertion_point(class_scope:istio.mixer.v1.ReportResponse)
- ))
-_sym_db.RegisterMessage(ReportResponse)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\025istio.io/api/mixer/v1\370\001\001\310\341\036\000\250\342\036\000\360\341\036\000'))
-_REPORTREQUEST.fields_by_name['attributes'].has_options = True
-_REPORTREQUEST.fields_by_name['attributes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
-# @@protoc_insertion_point(module_scope)
diff --git a/python/istio_api/mixer/v1/service_pb2.py b/python/istio_api/mixer/v1/service_pb2.py
deleted file mode 100644
index b58970d080..0000000000
--- a/python/istio_api/mixer/v1/service_pb2.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# Generated by the protocol buffer compiler. DO NOT EDIT!
-# source: mixer/v1/service.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from mixer.v1 import check_pb2 as mixer_dot_v1_dot_check__pb2
-from mixer.v1 import report_pb2 as mixer_dot_v1_dot_report__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
- name='mixer/v1/service.proto',
- package='istio.mixer.v1',
- syntax='proto3',
- serialized_pb=_b('\n\x16mixer/v1/service.proto\x12\x0eistio.mixer.v1\x1a\x14mixer/v1/check.proto\x1a\x15mixer/v1/report.proto2\x9a\x01\n\x05Mixer\x12\x46\n\x05\x43heck\x12\x1c.istio.mixer.v1.CheckRequest\x1a\x1d.istio.mixer.v1.CheckResponse\"\x00\x12I\n\x06Report\x12\x1d.istio.mixer.v1.ReportRequest\x1a\x1e.istio.mixer.v1.ReportResponse\"\x00\x42\x1aZ\x15istio.io/api/mixer/v1\x80\x01\x01\x62\x06proto3')
- ,
- dependencies=[mixer_dot_v1_dot_check__pb2.DESCRIPTOR,mixer_dot_v1_dot_report__pb2.DESCRIPTOR,])
-
-
-
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-DESCRIPTOR.has_options = True
-DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z\025istio.io/api/mixer/v1\200\001\001'))
-
-_MIXER = _descriptor.ServiceDescriptor(
- name='Mixer',
- full_name='istio.mixer.v1.Mixer',
- file=DESCRIPTOR,
- index=0,
- options=None,
- serialized_start=88,
- serialized_end=242,
- methods=[
- _descriptor.MethodDescriptor(
- name='Check',
- full_name='istio.mixer.v1.Mixer.Check',
- index=0,
- containing_service=None,
- input_type=mixer_dot_v1_dot_check__pb2._CHECKREQUEST,
- output_type=mixer_dot_v1_dot_check__pb2._CHECKRESPONSE,
- options=None,
- ),
- _descriptor.MethodDescriptor(
- name='Report',
- full_name='istio.mixer.v1.Mixer.Report',
- index=1,
- containing_service=None,
- input_type=mixer_dot_v1_dot_report__pb2._REPORTREQUEST,
- output_type=mixer_dot_v1_dot_report__pb2._REPORTRESPONSE,
- options=None,
- ),
-])
-_sym_db.RegisterServiceDescriptor(_MIXER)
-
-DESCRIPTOR.services_by_name['Mixer'] = _MIXER
-
-# @@protoc_insertion_point(module_scope)
diff --git a/python/istio_api/policy/v1beta1/cfg_pb2.py b/python/istio_api/policy/v1beta1/cfg_pb2.py
index ee38377654..10627fd188 100644
--- a/python/istio_api/policy/v1beta1/cfg_pb2.py
+++ b/python/istio_api/policy/v1beta1/cfg_pb2.py
@@ -23,7 +23,7 @@
name='policy/v1beta1/cfg.proto',
package='istio.policy.v1beta1',
syntax='proto3',
- serialized_pb=_b('\n\x18policy/v1beta1/cfg.proto\x12\x14istio.policy.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fpolicy/v1beta1/value_type.proto\"\xc5\x02\n\x11\x41ttributeManifest\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\nattributes\x18\x03 \x03(\x0b\x32\x37.istio.policy.v1beta1.AttributeManifest.AttributesEntry\x1aY\n\rAttributeInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x33\n\nvalue_type\x18\x02 \x01(\x0e\x32\x1f.istio.policy.v1beta1.ValueType\x1ah\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.istio.policy.v1beta1.AttributeManifest.AttributeInfo:\x02\x38\x01\"\xe2\x03\n\x04Rule\x12\r\n\x05match\x18\x01 \x01(\t\x12-\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x1c.istio.policy.v1beta1.Action\x12U\n\x19request_header_operations\x18\x03 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12V\n\x1aresponse_header_operations\x18\x04 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12\x30\n\x08sampling\x18\x05 \x01(\x0b\x32\x1e.istio.policy.v1beta1.Sampling\x1a\xba\x01\n\x17HeaderOperationTemplate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06values\x18\x02 \x03(\t\x12O\n\toperation\x18\x03 \x01(\x0e\x32<.istio.policy.v1beta1.Rule.HeaderOperationTemplate.Operation\"0\n\tOperation\x12\x0b\n\x07REPLACE\x10\x00\x12\n\n\x06REMOVE\x10\x01\x12\n\n\x06\x41PPEND\x10\x02\":\n\x06\x41\x63tion\x12\x0f\n\x07handler\x18\x02 \x01(\t\x12\x11\n\tinstances\x18\x03 \x03(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"\xfe\x01\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x11\x63ompiled_template\x18\xf4\xed\xa9 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12Q\n\x12\x61ttribute_bindings\x18\x04 \x03(\x0b\x32\x35.istio.policy.v1beta1.Instance.AttributeBindingsEntry\x1a\x38\n\x16\x41ttributeBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x07Handler\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x10\x63ompiled_adapter\x18\xf4\xed\xa9 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\nconnection\x18\x04 \x01(\x0b\x32 .istio.policy.v1beta1.Connection\"I\n\nConnection\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12*\n\x07timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\"}\n\x08Sampling\x12\x34\n\x06random\x18\x01 \x01(\x0b\x32$.istio.policy.v1beta1.RandomSampling\x12;\n\nrate_limit\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.RateLimitSampling\"\x94\x01\n\x0eRandomSampling\x12\x1c\n\x14\x61ttribute_expression\x18\x01 \x01(\t\x12@\n\x0fpercent_sampled\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.FractionalPercent\x12\"\n\x1ause_independent_randomness\x18\x03 \x01(\x08\"\x89\x01\n\x11RateLimitSampling\x12>\n\x11sampling_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x1d\n\x15max_unsampled_entries\x18\x02 \x01(\x03\x12\x15\n\rsampling_rate\x18\x03 \x01(\x03\"\xa6\x01\n\x11\x46ractionalPercent\x12\x11\n\tnumerator\x18\x01 \x01(\r\x12L\n\x0b\x64\x65nominator\x18\x02 \x01(\x0e\x32\x37.istio.policy.v1beta1.FractionalPercent.DenominatorType\"0\n\x0f\x44\x65nominatorType\x12\x0b\n\x07HUNDRED\x10\x00\x12\x10\n\x0cTEN_THOUSAND\x10\x01\x42\x1dZ\x1bistio.io/api/policy/v1beta1b\x06proto3')
+ serialized_pb=_b('\n\x18policy/v1beta1/cfg.proto\x12\x14istio.policy.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fpolicy/v1beta1/value_type.proto\"\xc5\x02\n\x11\x41ttributeManifest\x12\x10\n\x08revision\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12K\n\nattributes\x18\x03 \x03(\x0b\x32\x37.istio.policy.v1beta1.AttributeManifest.AttributesEntry\x1aY\n\rAttributeInfo\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x33\n\nvalue_type\x18\x02 \x01(\x0e\x32\x1f.istio.policy.v1beta1.ValueType\x1ah\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.istio.policy.v1beta1.AttributeManifest.AttributeInfo:\x02\x38\x01\"\xe2\x03\n\x04Rule\x12\r\n\x05match\x18\x01 \x01(\t\x12-\n\x07\x61\x63tions\x18\x02 \x03(\x0b\x32\x1c.istio.policy.v1beta1.Action\x12U\n\x19request_header_operations\x18\x03 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12V\n\x1aresponse_header_operations\x18\x04 \x03(\x0b\x32\x32.istio.policy.v1beta1.Rule.HeaderOperationTemplate\x12\x30\n\x08sampling\x18\x05 \x01(\x0b\x32\x1e.istio.policy.v1beta1.Sampling\x1a\xba\x01\n\x17HeaderOperationTemplate\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06values\x18\x02 \x03(\t\x12O\n\toperation\x18\x03 \x01(\x0e\x32<.istio.policy.v1beta1.Rule.HeaderOperationTemplate.Operation\"0\n\tOperation\x12\x0b\n\x07REPLACE\x10\x00\x12\n\n\x06REMOVE\x10\x01\x12\n\n\x06\x41PPEND\x10\x02\":\n\x06\x41\x63tion\x12\x0f\n\x07handler\x18\x02 \x01(\t\x12\x11\n\tinstances\x18\x03 \x03(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\"\xfe\x01\n\x08Instance\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x11\x63ompiled_template\x18\xf4\xed\xa9 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12Q\n\x12\x61ttribute_bindings\x18\x04 \x03(\x0b\x32\x35.istio.policy.v1beta1.Instance.AttributeBindingsEntry\x1a\x38\n\x16\x41ttributeBindingsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa4\x01\n\x07Handler\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x10\x63ompiled_adapter\x18\xf4\xed\xa9 \x01(\t\x12\x0f\n\x07\x61\x64\x61pter\x18\x02 \x01(\t\x12\'\n\x06params\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x34\n\nconnection\x18\x04 \x01(\x0b\x32 .istio.policy.v1beta1.Connection\"O\n\nConnection\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x30\n\x07timeout\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationB\x04\x98\xdf\x1f\x01\"}\n\x08Sampling\x12\x34\n\x06random\x18\x01 \x01(\x0b\x32$.istio.policy.v1beta1.RandomSampling\x12;\n\nrate_limit\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.RateLimitSampling\"\x94\x01\n\x0eRandomSampling\x12\x1c\n\x14\x61ttribute_expression\x18\x01 \x01(\t\x12@\n\x0fpercent_sampled\x18\x02 \x01(\x0b\x32\'.istio.policy.v1beta1.FractionalPercent\x12\"\n\x1ause_independent_randomness\x18\x03 \x01(\x08\"\x89\x01\n\x11RateLimitSampling\x12>\n\x11sampling_duration\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xc8\xde\x1f\x00\x98\xdf\x1f\x01\x12\x1d\n\x15max_unsampled_entries\x18\x02 \x01(\x03\x12\x15\n\rsampling_rate\x18\x03 \x01(\x03\"\xa6\x01\n\x11\x46ractionalPercent\x12\x11\n\tnumerator\x18\x01 \x01(\r\x12L\n\x0b\x64\x65nominator\x18\x02 \x01(\x0e\x32\x37.istio.policy.v1beta1.FractionalPercent.DenominatorType\"0\n\x0f\x44\x65nominatorType\x12\x0b\n\x07HUNDRED\x10\x00\x12\x10\n\x0cTEN_THOUSAND\x10\x01\x42\x1dZ\x1bistio.io/api/policy/v1beta1b\x06proto3')
,
dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,google_dot_protobuf_dot_struct__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,policy_dot_v1beta1_dot_value__type__pb2.DESCRIPTOR,])
@@ -72,8 +72,8 @@
],
containing_type=None,
options=None,
- serialized_start=2076,
- serialized_end=2124,
+ serialized_start=2082,
+ serialized_end=2130,
)
_sym_db.RegisterEnumDescriptor(_FRACTIONALPERCENT_DENOMINATORTYPE)
@@ -521,7 +521,7 @@
has_default_value=False, default_value=None,
message_type=None, enum_type=None, containing_type=None,
is_extension=False, extension_scope=None,
- options=None, file=DESCRIPTOR),
+ options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\230\337\037\001')), file=DESCRIPTOR),
],
extensions=[
],
@@ -535,7 +535,7 @@
oneofs=[
],
serialized_start=1464,
- serialized_end=1537,
+ serialized_end=1543,
)
@@ -572,8 +572,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1539,
- serialized_end=1664,
+ serialized_start=1545,
+ serialized_end=1670,
)
@@ -617,8 +617,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1667,
- serialized_end=1815,
+ serialized_start=1673,
+ serialized_end=1821,
)
@@ -662,8 +662,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1818,
- serialized_end=1955,
+ serialized_start=1824,
+ serialized_end=1961,
)
@@ -701,8 +701,8 @@
extension_ranges=[],
oneofs=[
],
- serialized_start=1958,
- serialized_end=2124,
+ serialized_start=1964,
+ serialized_end=2130,
)
_ATTRIBUTEMANIFEST_ATTRIBUTEINFO.fields_by_name['value_type'].enum_type = policy_dot_v1beta1_dot_value__type__pb2._VALUETYPE
@@ -850,6 +850,8 @@
_ATTRIBUTEMANIFEST_ATTRIBUTESENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_INSTANCE_ATTRIBUTEBINDINGSENTRY.has_options = True
_INSTANCE_ATTRIBUTEBINDINGSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
+_CONNECTION.fields_by_name['timeout'].has_options = True
+_CONNECTION.fields_by_name['timeout']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\230\337\037\001'))
_RATELIMITSAMPLING.fields_by_name['sampling_duration'].has_options = True
_RATELIMITSAMPLING.fields_by_name['sampling_duration']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\230\337\037\001'))
# @@protoc_insertion_point(module_scope)
diff --git a/scripts/pre-commit b/scripts/pre-commit
index 1c4dfe873f..7a9d2a96da 100755
--- a/scripts/pre-commit
+++ b/scripts/pre-commit
@@ -32,4 +32,10 @@ if [ $BRANCH_NAME != '(no branch)' ]; then
echo "generating pb.go files..."
scripts/generate-protos.sh
+
+ echo "Updating proto.lock"
+ make proto-commit
+
+ echo "Checking lint"
+ make lint
fi
diff --git a/tools/all/Dockerfile b/tools/all/Dockerfile
new file mode 100644
index 0000000000..0c8c47956e
--- /dev/null
+++ b/tools/all/Dockerfile
@@ -0,0 +1,24 @@
+FROM alpine:3.7 as prototool_download
+
+RUN apk update && \
+ apk add curl && \
+ curl -sSL https://github.com/uber/prototool/releases/download/v1.3.0/prototool-Linux-x86_64 \
+ -o /usr/bin/prototool && \
+ chmod +x /usr/bin/prototool
+
+FROM gcr.io/istio-testing/protolock:2018-10-23 as protolock
+
+FROM gcr.io/istio-testing/protoc:2018-06-12
+
+COPY --from=protolock \
+ /usr/bin/protolock \
+ /usr/bin/
+
+COPY --from=prototool_download \
+ /usr/bin/prototool \
+ /usr/bin/
+
+RUN apk update && \
+ apk add libc6-compat
+
+ENTRYPOINT []
diff --git a/tools/all/build-and-push.sh b/tools/all/build-and-push.sh
new file mode 100755
index 0000000000..4f4a2d5eb3
--- /dev/null
+++ b/tools/all/build-and-push.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+# This is a temporary script, only to be used until we have a better official
+# place and procedure for generation. PLEASE use with caution
+# (read: not for general usage).
+
+HUB=gcr.io/istio-testing
+VERSION=$(date +%Y-%m-%d)
+
+docker build --no-cache -t $HUB/api-build-tools:$VERSION .
+
+gcloud docker -- push $HUB/api-build-tools:$VERSION
diff --git a/docker/Dockerfile b/tools/protoc/Dockerfile
similarity index 100%
rename from docker/Dockerfile
rename to tools/protoc/Dockerfile
diff --git a/docker/build-and-push.sh b/tools/protoc/build-and-push.sh
similarity index 100%
rename from docker/build-and-push.sh
rename to tools/protoc/build-and-push.sh
diff --git a/tools/protolock/Dockerfile b/tools/protolock/Dockerfile
new file mode 100644
index 0000000000..fed68f2583
--- /dev/null
+++ b/tools/protolock/Dockerfile
@@ -0,0 +1,19 @@
+FROM alpine:3.7 as builder
+RUN apk update
+RUN apk add --no-cache go>1.10 git build-base
+ENV GOPATH=/go \
+ PATH=/go/bin/:$PATH \
+ OUTDIR=/out
+RUN mkdir -p ${OUTDIR}/usr/bin/
+RUN go get -u -v -ldflags '-w -s' \
+ github.com/nilslice/protolock/... \
+ && install ${GOPATH}/bin/protolock ${OUTDIR}/usr/bin/
+
+FROM znly/upx as packer
+COPY --from=builder /out/ /out/
+RUN upx --lzma \
+ /out/usr/bin/protolock
+
+FROM alpine:3.7
+COPY --from=packer /out/ /
+ENTRYPOINT ["/usr/bin/protolock"]
diff --git a/tools/protolock/build-and-push.sh b/tools/protolock/build-and-push.sh
new file mode 100755
index 0000000000..83473eb004
--- /dev/null
+++ b/tools/protolock/build-and-push.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+# This is a temporary script, only to be used until we have a better official
+# place and procedure for generation. PLEASE use with caution
+# (read: not for general usage).
+
+HUB=gcr.io/istio-testing
+VERSION=$(date +%Y-%m-%d)
+
+docker build --no-cache -t $HUB/protolock:$VERSION .
+
+gcloud docker -- push $HUB/protolock:$VERSION