From 05c4b96fc88f2495c8c12efe839660f1acfe449b Mon Sep 17 00:00:00 2001 From: llcao Date: Wed, 8 Jan 2020 01:09:18 -0800 Subject: [PATCH] add serviceAnnotation to KubernetesResourcesSpec. --- ARCHITECTURE.md | 1 + .../input/telemetry_k8s_settings.yaml | 2 + .../output/telemetry_k8s_settings.yaml | 7 +- .../output/default_values.yaml | 2 + .../reverseTranslateConfig-1.5.yaml | 3 +- data/translateConfig/translateConfig-1.5.yaml | 2 + .../v1alpha2/istiocontrolplane_types.pb.go | 341 +++++++++--------- .../v1alpha2/istiocontrolplane_types.proto | 3 + pkg/apis/istio/v1alpha2/v1alpha2.pb.html | 12 + pkg/vfs/assets.gen.go | 6 +- .../v1alpha2/istiocontrolplane_types_pb2.py | 159 +++++--- 11 files changed, 318 insertions(+), 220 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 791672e22..25850d377 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -156,6 +156,7 @@ imagePullPolicy| [ImagePullPolicy](https://kubernetes.io/docs/concepts/container priorityClassName | [priority class name](https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass) nodeSelector| [node selector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector) affinity | [affinity and anti-affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) +serviceAnnotations | [service annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/) These K8s setting are available for each component under the `k8s` field, for example: diff --git a/cmd/mesh/testdata/manifest-generate/input/telemetry_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/input/telemetry_k8s_settings.yaml index 1c5b7fea3..4f6c41bf2 100644 --- a/cmd/mesh/testdata/manifest-generate/input/telemetry_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/input/telemetry_k8s_settings.yaml @@ -50,3 +50,5 @@ spec: requests: cpu: 888m memory: 999Mi + serviceAnnotations: + cloud.google.com/load-balancer-type: "internal" diff --git a/cmd/mesh/testdata/manifest-generate/output/telemetry_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/output/telemetry_k8s_settings.yaml index 3118d10ff..f1a016255 100644 --- a/cmd/mesh/testdata/manifest-generate/output/telemetry_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/output/telemetry_k8s_settings.yaml @@ -7338,12 +7338,14 @@ spec: apiVersion: v1 kind: Service metadata: - name: istio-telemetry - namespace: istio-telemetry + annotations: + cloud.google.com/load-balancer-type: internal labels: app: mixer istio: mixer release: istio + name: istio-telemetry + namespace: istio-telemetry spec: ports: - name: grpc-mixer @@ -7357,6 +7359,7 @@ spec: selector: istio: mixer istio-mixer-type: telemetry + --- diff --git a/cmd/mesh/testdata/manifest-migrate/output/default_values.yaml b/cmd/mesh/testdata/manifest-migrate/output/default_values.yaml index 56a339594..b59887d79 100644 --- a/cmd/mesh/testdata/manifest-migrate/output/default_values.yaml +++ b/cmd/mesh/testdata/manifest-migrate/output/default_values.yaml @@ -71,6 +71,7 @@ spec: requests: cpu: 100m memory: 128Mi + serviceAnnotations: {} strategy: rollingUpdate: maxSurge: 100% @@ -103,6 +104,7 @@ spec: requests: cpu: 100m memory: 128Mi + serviceAnnotations: {} strategy: rollingUpdate: maxSurge: 100% diff --git a/data/translateConfig/reverseTranslateConfig-1.5.yaml b/data/translateConfig/reverseTranslateConfig-1.5.yaml index 058348361..403e0d50b 100644 --- a/data/translateConfig/reverseTranslateConfig-1.5.yaml +++ b/data/translateConfig/reverseTranslateConfig-1.5.yaml @@ -11,4 +11,5 @@ kubernetesPatternMapping: "{{.ValueComponentName}}.replicaCount": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.ReplicaCount" "{{.ValueComponentName}}.resources": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Resources" "{{.ValueComponentName}}.rollingMaxSurge": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Strategy" - "{{.ValueComponentName}}.rollingMaxUnavailable": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Strategy" \ No newline at end of file + "{{.ValueComponentName}}.rollingMaxUnavailable": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Strategy" + "{{.ValueComponentName}}.serviceAnnotations": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.ServiceAnnotations" diff --git a/data/translateConfig/translateConfig-1.5.yaml b/data/translateConfig/translateConfig-1.5.yaml index e96260d3e..4da1042e2 100644 --- a/data/translateConfig/translateConfig-1.5.yaml +++ b/data/translateConfig/translateConfig-1.5.yaml @@ -42,6 +42,8 @@ kubernetesMapping: outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.strategy" "{{.FeatureName}}.Components.{{.ComponentName}}.K8S.Tolerations": outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.template.spec.tolerations" + "{{.FeatureName}}.Components.{{.ComponentName}}.K8S.ServiceAnnotations": + outPath: "[Service:{{.ResourceName}}].metadata.annotations" toFeature: Base: Base Pilot: TrafficManagement diff --git a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go index e2472fdd3..2d9fbabc7 100644 --- a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go +++ b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go @@ -2272,6 +2272,9 @@ type KubernetesResourcesSpec struct { // k8s toleration // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ Tolerations []*v1.Toleration `protobuf:"bytes,14,rep,name=tolerations,proto3" json:"tolerations,omitempty"` + // k8s service annotations. + // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + ServiceAnnotations map[string]string `protobuf:"bytes,15,rep,name=service_annotations,json=serviceAnnotations,proto3" json:"service_annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Overlays for k8s resources in rendered manifests. Overlays []*K8SObjectOverlay `protobuf:"bytes,100,rep,name=overlays,proto3" json:"overlays,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -2402,6 +2405,13 @@ func (m *KubernetesResourcesSpec) GetTolerations() []*v1.Toleration { return nil } +func (m *KubernetesResourcesSpec) GetServiceAnnotations() map[string]string { + if m != nil { + return m.ServiceAnnotations + } + return nil +} + func (m *KubernetesResourcesSpec) GetOverlays() []*K8SObjectOverlay { if m != nil { return m.Overlays @@ -3233,6 +3243,7 @@ func init() { proto.RegisterType((*KubernetesResourcesSpec)(nil), "v1alpha2.KubernetesResourcesSpec") proto.RegisterMapType((map[string]string)(nil), "v1alpha2.KubernetesResourcesSpec.NodeSelectorEntry") proto.RegisterMapType((map[string]string)(nil), "v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry") + proto.RegisterMapType((map[string]string)(nil), "v1alpha2.KubernetesResourcesSpec.ServiceAnnotationsEntry") proto.RegisterType((*K8SObjectOverlay)(nil), "v1alpha2.k8sObjectOverlay") proto.RegisterType((*K8SObjectOverlay_PathValue)(nil), "v1alpha2.k8sObjectOverlay.PathValue") proto.RegisterType((*InstallStatus)(nil), "v1alpha2.InstallStatus") @@ -3257,168 +3268,170 @@ func init() { } var fileDescriptor_daac92937abd81a4 = []byte{ - // 2607 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0x4d, 0x70, 0x1c, 0x47, - 0xf5, 0xff, 0xcf, 0xea, 0x6b, 0xf5, 0xe4, 0xd5, 0x47, 0x5b, 0xb1, 0x27, 0x6b, 0xc7, 0x56, 0x26, - 0x89, 0xff, 0x26, 0x90, 0xdd, 0xd8, 0x22, 0x8e, 0x12, 0x93, 0x0f, 0x79, 0x2d, 0xcb, 0xaa, 0xd8, - 0xab, 0x65, 0x24, 0xbb, 0x92, 0x0b, 0x4b, 0xef, 0x4c, 0x6b, 0x77, 0xa2, 0xd9, 0xe9, 0x49, 0x4f, - 0xef, 0xc6, 0xcb, 0x1d, 0x0e, 0xdc, 0xe0, 0xc2, 0x81, 0xa2, 0x80, 0xa2, 0x28, 0xe0, 0xc4, 0x8d, - 0x0b, 0x55, 0x5c, 0xb9, 0xc1, 0x85, 0x3b, 0x47, 0x0e, 0x70, 0xe6, 0x92, 0x2a, 0x8a, 0xea, 0x8f, - 0xf9, 0xda, 0x9d, 0x55, 0x2c, 0x15, 0x54, 0x89, 0x93, 0x7a, 0xde, 0xfb, 0xbd, 0xd7, 0xef, 0xbd, - 0xee, 0xf7, 0xfa, 0xf5, 0xb6, 0xe0, 0xad, 0xf0, 0xb8, 0x5b, 0xc7, 0xa1, 0x17, 0xd5, 0xbd, 0x88, - 0x7b, 0xb4, 0x3e, 0xbc, 0x85, 0xfd, 0xb0, 0x87, 0x6f, 0xab, 0x4f, 0x87, 0x06, 0x9c, 0x51, 0x3f, - 0xf4, 0x71, 0x40, 0xda, 0x7c, 0x14, 0x92, 0xa8, 0x16, 0x32, 0xca, 0x29, 0x2a, 0xc7, 0xb8, 0xaa, - 0x75, 0xbc, 0x15, 0xd5, 0x3c, 0x2a, 0x74, 0xd4, 0x1d, 0xca, 0x48, 0x7d, 0x78, 0xab, 0xde, 0x25, - 0x01, 0x61, 0x98, 0x13, 0x57, 0xa1, 0xab, 0xb5, 0x0c, 0x06, 0x0f, 0x38, 0x8d, 0x1c, 0xec, 0x7b, - 0x41, 0xb7, 0x3e, 0xbc, 0xdd, 0x21, 0x1c, 0x4f, 0xe2, 0xbf, 0x9e, 0xe2, 0xfb, 0xd8, 0xe9, 0x79, - 0x01, 0x61, 0xa3, 0x7a, 0x62, 0x68, 0x9f, 0x70, 0x5c, 0x34, 0xcb, 0x87, 0x5d, 0x8f, 0xf7, 0x06, - 0x9d, 0x9a, 0x43, 0xfb, 0xf5, 0x2e, 0xed, 0xd2, 0xba, 0x24, 0x77, 0x06, 0x47, 0xe9, 0xa0, 0x4b, - 0x69, 0xd7, 0x27, 0xe9, 0xf7, 0xe7, 0x0c, 0x87, 0x21, 0x61, 0xda, 0x2b, 0xeb, 0xcf, 0x06, 0xac, - 0xed, 0x09, 0xbf, 0x1b, 0xca, 0xef, 0x96, 0xf0, 0x1b, 0x6d, 0xc2, 0x6c, 0x14, 0x12, 0xc7, 0x9c, - 0xd9, 0x30, 0x6e, 0x2e, 0xdd, 0xbe, 0x5e, 0x8b, 0x5d, 0xaf, 0x4d, 0x40, 0x0f, 0x42, 0xe2, 0xd8, - 0x12, 0x8c, 0xea, 0x30, 0x1f, 0x71, 0xcc, 0x07, 0x91, 0x39, 0x2b, 0xc5, 0x2e, 0x67, 0xc4, 0x82, - 0x88, 0x63, 0xdf, 0x3f, 0x90, 0x6c, 0x5b, 0xc3, 0x10, 0x82, 0xd9, 0x63, 0x2f, 0x70, 0xcd, 0xb9, - 0x0d, 0xe3, 0xe6, 0xa2, 0x2d, 0xc7, 0xe8, 0x1a, 0x00, 0x0e, 0xbd, 0xa7, 0x84, 0x45, 0x1e, 0x0d, - 0xcc, 0x79, 0xc9, 0xc9, 0x50, 0xd0, 0x06, 0x2c, 0x85, 0x3e, 0x76, 0x48, 0x8f, 0xfa, 0x2e, 0x61, - 0x26, 0x95, 0x80, 0x2c, 0xc9, 0xfa, 0xed, 0x02, 0xbc, 0x50, 0x68, 0x26, 0xfa, 0x2a, 0xac, 0xb9, - 0xe4, 0x08, 0x0f, 0x7c, 0xde, 0x0e, 0x70, 0x9f, 0x44, 0x21, 0x76, 0x88, 0x9e, 0x7c, 0x55, 0x33, - 0x9a, 0x31, 0x1d, 0xbd, 0x01, 0xb3, 0x1d, 0x1c, 0x11, 0x73, 0x5d, 0xfa, 0xf2, 0x62, 0xea, 0xcb, - 0x3d, 0x1c, 0x91, 0x07, 0x04, 0xf3, 0x01, 0xd3, 0xce, 0x0b, 0x18, 0x7a, 0x02, 0x88, 0x33, 0x7c, - 0x74, 0xe4, 0x39, 0xed, 0x3e, 0x0e, 0x70, 0x97, 0xf4, 0x49, 0xc0, 0xcd, 0x17, 0xa5, 0xf0, 0x8d, - 0x54, 0xf8, 0x50, 0x61, 0x1e, 0x27, 0x90, 0xac, 0xa6, 0x35, 0x3e, 0xce, 0x45, 0x9b, 0x30, 0x1f, - 0x52, 0xdf, 0x73, 0x46, 0x66, 0x55, 0xaa, 0xba, 0x92, 0xaa, 0x6a, 0x49, 0x7a, 0x56, 0x5e, 0x43, - 0xd1, 0x37, 0x60, 0x91, 0x13, 0x9f, 0xf4, 0x09, 0x67, 0x23, 0xf3, 0x8a, 0x94, 0xbb, 0x96, 0x31, - 0x21, 0x66, 0x65, 0x45, 0x53, 0x01, 0xf4, 0x0e, 0x94, 0x23, 0xe2, 0x0c, 0x98, 0xc7, 0x47, 0xe6, - 0x55, 0x29, 0xfc, 0x52, 0x2a, 0x7c, 0xa0, 0x39, 0x59, 0xd9, 0x04, 0x8e, 0x6c, 0x58, 0x73, 0x68, - 0x70, 0xe4, 0x75, 0xb3, 0x31, 0x78, 0x49, 0xea, 0x78, 0x2d, 0xd5, 0xd1, 0x90, 0x90, 0xe2, 0x10, - 0xac, 0x3a, 0x63, 0x4c, 0xb4, 0x07, 0xcb, 0x22, 0x7f, 0xda, 0x5e, 0xf0, 0x29, 0x71, 0xb8, 0xd8, - 0x14, 0xd7, 0xa4, 0x42, 0x2b, 0x55, 0xb8, 0x3d, 0xe0, 0x74, 0x2f, 0x66, 0x67, 0xb5, 0x55, 0x70, - 0x96, 0x83, 0xb6, 0xa0, 0xdc, 0xc5, 0x9c, 0x7c, 0x8e, 0x47, 0x91, 0x79, 0x5d, 0x2a, 0xb9, 0x9a, - 0x2a, 0xd9, 0x55, 0x9c, 0x9c, 0x63, 0x31, 0x1a, 0xbd, 0x0e, 0x33, 0x4e, 0xe0, 0x99, 0x1b, 0x52, - 0xc8, 0xcc, 0xb8, 0xd2, 0xdc, 0xcb, 0x0a, 0x08, 0x10, 0xba, 0x03, 0x0b, 0xa2, 0x28, 0xdc, 0x6f, - 0x1e, 0x98, 0x2f, 0x8f, 0x4f, 0xd2, 0x50, 0x8c, 0xac, 0x4c, 0x0c, 0x46, 0x5b, 0x30, 0x3f, 0xc4, - 0xfe, 0x80, 0x44, 0xe6, 0x6d, 0x29, 0xb6, 0x91, 0x59, 0xb2, 0x51, 0x48, 0x1e, 0xe3, 0xf0, 0x80, - 0x33, 0x2f, 0xe8, 0xee, 0x05, 0x9c, 0xb0, 0x23, 0xec, 0x10, 0x5b, 0xe3, 0x51, 0x13, 0xd6, 0x06, - 0xc1, 0x10, 0xfb, 0x9e, 0x2b, 0x4a, 0xc3, 0x53, 0xa5, 0x64, 0xf3, 0x39, 0x95, 0x4c, 0x8a, 0x22, - 0x13, 0x16, 0x42, 0x46, 0x8f, 0x3c, 0x9f, 0x98, 0xae, 0xcc, 0x8e, 0xf8, 0x13, 0xbd, 0x09, 0xeb, - 0x9e, 0x4a, 0xe5, 0x76, 0x88, 0x9d, 0x63, 0xdc, 0x25, 0xed, 0x10, 0xf3, 0x9e, 0x79, 0x24, 0x61, - 0x48, 0xf3, 0x5a, 0x8a, 0xd5, 0xc2, 0xbc, 0x87, 0x56, 0x61, 0xa6, 0x37, 0xe8, 0x98, 0x81, 0x04, - 0x88, 0xa1, 0xa0, 0x70, 0xdc, 0xd5, 0x99, 0x2b, 0x86, 0xd6, 0x9f, 0x0c, 0x58, 0x19, 0xcb, 0x2a, - 0x11, 0x45, 0x12, 0xe0, 0x8e, 0x4f, 0x5c, 0xd3, 0x18, 0x8f, 0xa2, 0xf0, 0xe4, 0x1e, 0xa5, 0xbe, - 0x34, 0xf7, 0x01, 0x65, 0xad, 0x7b, 0x76, 0x0c, 0x46, 0xf7, 0x01, 0x1c, 0xda, 0x0f, 0x69, 0x40, - 0x02, 0x1e, 0x47, 0xf2, 0xd5, 0xa9, 0xc9, 0x5b, 0x6b, 0x24, 0x58, 0x3b, 0x23, 0x57, 0x7d, 0x0f, - 0x20, 0xe5, 0xa0, 0x7a, 0xae, 0x14, 0x5c, 0xc9, 0x6b, 0x4b, 0x70, 0x69, 0x31, 0xb0, 0xfe, 0x50, - 0x82, 0xab, 0x27, 0x65, 0xfa, 0x99, 0xbd, 0xfb, 0x66, 0x81, 0x77, 0xb7, 0x9e, 0xaf, 0xba, 0x4c, - 0x73, 0xf5, 0x87, 0x46, 0xce, 0xd7, 0xab, 0xb0, 0x98, 0xd6, 0x46, 0x43, 0xae, 0x51, 0x4a, 0x40, - 0xb7, 0x61, 0x2e, 0xf4, 0x7c, 0xca, 0x75, 0x28, 0x32, 0x56, 0xb7, 0x04, 0x39, 0x1f, 0x0b, 0x05, - 0x95, 0x32, 0x8c, 0x3e, 0x1b, 0x99, 0x2f, 0x4c, 0xc8, 0x08, 0xf2, 0xb8, 0x8c, 0xa0, 0x59, 0xff, - 0x34, 0x60, 0x6d, 0xa2, 0xbe, 0x9d, 0x39, 0x6a, 0x0f, 0x0a, 0xa2, 0x76, 0xe3, 0x84, 0x42, 0x3a, - 0x2d, 0x54, 0xf8, 0x14, 0x91, 0x7a, 0x2b, 0x29, 0xdc, 0xeb, 0xe3, 0x35, 0x54, 0xcd, 0x97, 0xf7, - 0x5b, 0x83, 0xad, 0xef, 0x96, 0x60, 0xbd, 0xa8, 0x40, 0x9f, 0xd9, 0xf7, 0xbd, 0x02, 0xdf, 0xbf, - 0x72, 0xf2, 0x61, 0x30, 0xcd, 0xfd, 0x4f, 0x4f, 0xe1, 0xfe, 0xfb, 0xd9, 0x23, 0x68, 0x7d, 0xa2, - 0x14, 0xc5, 0xac, 0x7c, 0x10, 0x52, 0x11, 0xeb, 0x7b, 0x33, 0x70, 0xb1, 0xe0, 0xac, 0x39, 0x73, - 0x18, 0x1e, 0x16, 0x84, 0xe1, 0xe6, 0x89, 0xc7, 0xda, 0xb4, 0x28, 0xfc, 0xe3, 0x34, 0xf9, 0xb2, - 0x05, 0x0b, 0x8e, 0xc7, 0xb1, 0x4b, 0x7c, 0x1d, 0x84, 0xcc, 0x39, 0xdc, 0x50, 0x8c, 0x7c, 0x08, - 0x62, 0x38, 0xda, 0x81, 0x0b, 0x0e, 0x61, 0x5c, 0x1f, 0xa4, 0x4c, 0x27, 0x4f, 0xe6, 0xd0, 0x6b, - 0x10, 0xc6, 0x55, 0xa2, 0xb3, 0xbc, 0x8a, 0x25, 0x27, 0xe5, 0xa0, 0x0f, 0x00, 0x02, 0xea, 0x92, - 0x36, 0xee, 0x8a, 0xa3, 0xf8, 0xd2, 0xf8, 0x42, 0x34, 0xa9, 0x4b, 0xb6, 0x05, 0x6b, 0x6c, 0x21, - 0x82, 0x98, 0x6e, 0x7d, 0xbf, 0x04, 0x57, 0x4e, 0x38, 0xb0, 0xcf, 0xbc, 0x20, 0xad, 0x82, 0x05, - 0x79, 0xf3, 0xb9, 0x7a, 0x84, 0xff, 0x50, 0x76, 0x76, 0xb1, 0xef, 0x93, 0x82, 0xec, 0xdc, 0x95, - 0xf4, 0xb1, 0xec, 0x54, 0x60, 0xeb, 0x07, 0x25, 0x30, 0xa7, 0x35, 0x1b, 0x67, 0x8e, 0xc4, 0xe3, - 0x82, 0x48, 0xbc, 0xf1, 0xe5, 0xcd, 0xcd, 0xb4, 0x30, 0x04, 0xa7, 0x08, 0xc3, 0x3d, 0x28, 0xab, - 0xb6, 0x8a, 0x32, 0x1d, 0x88, 0x4c, 0x59, 0x3c, 0xf0, 0x5c, 0xe2, 0x60, 0xb6, 0xa7, 0x01, 0xf9, - 0x88, 0x24, 0x72, 0xd6, 0x5f, 0x4b, 0x80, 0x26, 0x7b, 0xa7, 0x33, 0x47, 0x63, 0xb7, 0x20, 0x1a, - 0xff, 0x7f, 0x52, 0x97, 0x36, 0x2d, 0x0e, 0x7f, 0x3c, 0x4d, 0x9e, 0x36, 0x61, 0xc5, 0x0b, 0xba, - 0x8c, 0x44, 0x51, 0x5b, 0xf7, 0x7c, 0xba, 0x41, 0x7c, 0x2d, 0x7b, 0x87, 0x91, 0x00, 0x6d, 0x41, - 0x3e, 0x1c, 0xcb, 0x5e, 0x8e, 0x89, 0x3e, 0x82, 0x65, 0x92, 0x57, 0xb7, 0x31, 0xde, 0x89, 0xec, - 0x4c, 0xd7, 0x56, 0x21, 0x59, 0x9e, 0xf5, 0x37, 0x03, 0x96, 0xf3, 0x8d, 0xe6, 0x99, 0xa3, 0xdb, - 0x28, 0x88, 0xee, 0x2b, 0xd3, 0xda, 0xd9, 0x69, 0x91, 0xfd, 0xf8, 0x14, 0x81, 0xfd, 0x9a, 0x6a, - 0x9c, 0xd5, 0xe6, 0xaa, 0xe6, 0x66, 0xca, 0xfb, 0x2c, 0x60, 0xd6, 0x17, 0x06, 0xa0, 0xc9, 0x16, - 0xf9, 0xbf, 0xb5, 0x97, 0x26, 0x67, 0x9a, 0xe6, 0xb1, 0x7b, 0xca, 0x92, 0xaf, 0xdb, 0xff, 0xc9, - 0x92, 0xaf, 0x18, 0xe3, 0x25, 0x5f, 0x51, 0xad, 0x8f, 0x60, 0x6d, 0xa2, 0xa1, 0x3c, 0xab, 0xef, - 0xd6, 0x4f, 0x0d, 0x40, 0x93, 0x3d, 0xd9, 0x99, 0x43, 0x99, 0xf3, 0xb9, 0x34, 0xee, 0xf3, 0x26, - 0xcc, 0x1c, 0x6f, 0x45, 0x66, 0x4b, 0x6a, 0x7c, 0x39, 0xd5, 0xf8, 0xd1, 0xa0, 0x43, 0x58, 0x40, - 0x38, 0x89, 0x6c, 0x12, 0xd1, 0x01, 0x73, 0x48, 0xa4, 0x16, 0xfb, 0x78, 0x2b, 0x52, 0x16, 0x4e, - 0x74, 0x80, 0xe7, 0xc9, 0xc2, 0xdf, 0x18, 0x70, 0xf5, 0xa4, 0x2a, 0x78, 0x9e, 0x6c, 0xfd, 0x99, - 0x01, 0x17, 0x0b, 0x1a, 0xcb, 0xf3, 0x64, 0xe2, 0x2f, 0x0c, 0xb8, 0x54, 0xdc, 0xf9, 0x9d, 0x27, - 0x2b, 0x7f, 0x6e, 0xc0, 0x7a, 0x51, 0x6b, 0x76, 0x9e, 0x6c, 0xfc, 0xa5, 0x01, 0xe6, 0xb4, 0xfe, - 0xef, 0xbc, 0xad, 0x78, 0x71, 0x8b, 0x79, 0xde, 0x52, 0xa7, 0xa0, 0xeb, 0x3b, 0x4f, 0x26, 0xfe, - 0xda, 0x80, 0x2b, 0x27, 0xf4, 0x1f, 0xe7, 0xc9, 0xd4, 0x5f, 0x19, 0x50, 0xdd, 0xf9, 0x9f, 0xb0, - 0xf4, 0x27, 0x06, 0xac, 0x8e, 0xf7, 0x21, 0xe7, 0xae, 0x12, 0x15, 0x74, 0x0c, 0xe7, 0xc9, 0xc6, - 0xbf, 0x94, 0xe1, 0xf2, 0x14, 0x00, 0xda, 0x82, 0x32, 0x3e, 0x3a, 0xf2, 0x02, 0x8f, 0x8f, 0x12, - 0x3b, 0xd5, 0x2b, 0x47, 0x0d, 0x87, 0x5e, 0x4d, 0xb4, 0x3d, 0xb5, 0xe1, 0xad, 0xda, 0xb6, 0xc6, - 0xd8, 0x09, 0x5a, 0x74, 0x8d, 0x24, 0x18, 0x9a, 0xa5, 0x8d, 0x19, 0xd9, 0x35, 0x16, 0x08, 0xed, - 0x04, 0xc3, 0xa7, 0x98, 0xd9, 0x02, 0x86, 0x9e, 0x42, 0xb9, 0x17, 0xe2, 0x76, 0xe6, 0xc1, 0xe2, - 0x6e, 0x56, 0x24, 0xf3, 0xfa, 0x52, 0xd3, 0xaf, 0x2f, 0xb5, 0x87, 0x94, 0x79, 0xdf, 0xa1, 0x01, - 0xc7, 0x7e, 0x8b, 0xba, 0xdb, 0x1a, 0x40, 0x98, 0xea, 0xc7, 0x7a, 0x21, 0x96, 0xf6, 0xbf, 0x0e, - 0x6b, 0x5e, 0x5f, 0xfe, 0xc4, 0x39, 0xf0, 0xfd, 0xb6, 0xfe, 0x35, 0x67, 0x56, 0x86, 0x6d, 0x45, - 0x32, 0x5a, 0x03, 0xdf, 0x57, 0x67, 0x2e, 0xfa, 0x18, 0x2a, 0xf2, 0x9e, 0x1d, 0x11, 0x5f, 0x5d, - 0xa7, 0xe6, 0xa4, 0xed, 0x9b, 0x5f, 0x1a, 0x46, 0x79, 0x05, 0x3f, 0xd0, 0x52, 0x3b, 0x01, 0x67, - 0x23, 0xfb, 0x42, 0x90, 0x21, 0xa1, 0x27, 0xf0, 0x42, 0x48, 0xdd, 0xb6, 0xeb, 0x45, 0x6c, 0x10, - 0x8a, 0x3b, 0x60, 0xbb, 0x33, 0x70, 0xbb, 0x84, 0xcb, 0xb7, 0x91, 0xdc, 0x42, 0xb5, 0xa8, 0x7b, - 0x3f, 0x41, 0xdd, 0x93, 0x20, 0xe9, 0xd0, 0xc5, 0x70, 0x92, 0x81, 0xbe, 0x05, 0x2b, 0x42, 0x2d, - 0x0e, 0x02, 0xca, 0xb1, 0xa0, 0x47, 0xe6, 0x82, 0x34, 0xf9, 0xad, 0x2f, 0x37, 0x59, 0xc4, 0x2c, - 0x95, 0x53, 0x46, 0x2f, 0x87, 0x39, 0x22, 0xaa, 0xc1, 0xc5, 0x90, 0x79, 0x94, 0x79, 0x7c, 0xd4, - 0x76, 0x7c, 0x1c, 0x45, 0xf2, 0xc9, 0xc5, 0x2c, 0xcb, 0xf0, 0xad, 0xc5, 0xac, 0x86, 0xe0, 0x34, - 0x71, 0x9f, 0xa0, 0x6d, 0x58, 0x61, 0x04, 0xbb, 0x5e, 0x20, 0x2e, 0x4d, 0x21, 0xa3, 0x1d, 0x62, - 0x2e, 0x8e, 0xff, 0xda, 0x6e, 0xc7, 0x80, 0x96, 0xe0, 0xdb, 0xcb, 0x2c, 0xf7, 0x8d, 0x5e, 0x81, - 0x0a, 0x23, 0xa1, 0xef, 0x39, 0xb8, 0xed, 0xd0, 0x41, 0xc0, 0x4d, 0xd8, 0x30, 0x6e, 0x56, 0xec, - 0x0b, 0x9a, 0xd8, 0x10, 0x34, 0x74, 0x0b, 0x16, 0x59, 0xec, 0x8c, 0xb9, 0x24, 0x67, 0xb8, 0x98, - 0x9d, 0x41, 0xb3, 0xec, 0x14, 0x85, 0xde, 0x81, 0x85, 0x88, 0xb0, 0xa1, 0xe7, 0x10, 0xf3, 0x82, - 0x7e, 0x0f, 0x2b, 0xd8, 0x91, 0x07, 0x0a, 0xa2, 0xb6, 0x90, 0xc6, 0x8b, 0x14, 0x88, 0x38, 0xc3, - 0x9c, 0x74, 0x47, 0x66, 0x65, 0x3c, 0x55, 0xef, 0x93, 0xd0, 0xa7, 0xa3, 0xbe, 0xc8, 0x6a, 0x8d, - 0xb1, 0x13, 0x34, 0xfa, 0x10, 0x96, 0x38, 0xf5, 0x09, 0xd3, 0x6b, 0xb3, 0x2c, 0xd7, 0xe6, 0x5a, - 0xd1, 0xc4, 0x87, 0x09, 0xcc, 0xce, 0x8a, 0xa0, 0x3b, 0x50, 0xa6, 0x43, 0xc2, 0x7c, 0x3c, 0x8a, - 0x4c, 0x57, 0x67, 0x52, 0x32, 0xf7, 0xf1, 0x56, 0xb4, 0xdf, 0x11, 0x2d, 0xed, 0xbe, 0x82, 0xd8, - 0x09, 0xb6, 0xfa, 0x01, 0xac, 0x4d, 0xec, 0x49, 0xb4, 0x0a, 0x33, 0xc7, 0x64, 0xa4, 0x6f, 0x3b, - 0x62, 0x88, 0xd6, 0x61, 0x4e, 0x3e, 0x3f, 0xe8, 0x42, 0xa2, 0x3e, 0xde, 0x2d, 0x6d, 0x19, 0xd5, - 0x6d, 0xd1, 0x89, 0x4e, 0xec, 0x90, 0xd3, 0xa8, 0xb0, 0xfe, 0x6e, 0xc0, 0xea, 0xb8, 0x89, 0xe8, - 0x3a, 0x2c, 0xe1, 0xd0, 0x6b, 0x0f, 0xf5, 0xdb, 0xa0, 0x31, 0xf1, 0x36, 0x18, 0xbf, 0x27, 0x96, - 0x32, 0xef, 0x89, 0x08, 0x66, 0xe5, 0xc6, 0x9b, 0x51, 0x34, 0x31, 0x46, 0xef, 0xc3, 0x42, 0x88, - 0xb9, 0xd3, 0x23, 0x91, 0x39, 0x2b, 0x03, 0xf3, 0xea, 0xf4, 0xc0, 0xd4, 0x5a, 0x98, 0xf7, 0x64, - 0x31, 0xb5, 0x63, 0xa1, 0x6a, 0x13, 0x16, 0x13, 0xaa, 0x98, 0x40, 0x3e, 0x81, 0x28, 0x73, 0xe4, - 0x18, 0xbd, 0x91, 0x75, 0x2c, 0xf7, 0x10, 0x2a, 0xca, 0x73, 0xfa, 0xf6, 0xa2, 0x50, 0xd6, 0x8f, - 0x66, 0xa0, 0x92, 0x7b, 0x21, 0x45, 0x77, 0x93, 0xa7, 0x54, 0x43, 0x1a, 0xf8, 0xca, 0x94, 0xa7, - 0xd4, 0x9a, 0xfa, 0xa3, 0x52, 0x50, 0x8b, 0x54, 0x7f, 0x6c, 0x40, 0x45, 0x87, 0x44, 0xab, 0x33, - 0x61, 0x21, 0x1f, 0xb5, 0xf8, 0x13, 0xdd, 0x49, 0x26, 0x12, 0xa6, 0x2e, 0x67, 0x2f, 0xab, 0x45, - 0x13, 0x25, 0x4f, 0xb7, 0x16, 0x5c, 0x50, 0x23, 0xf5, 0x9c, 0xa4, 0xc3, 0x9b, 0xa3, 0x89, 0xe5, - 0x25, 0x8c, 0x51, 0xa6, 0x6b, 0xa6, 0xfa, 0xa8, 0x7e, 0x1b, 0x96, 0x32, 0x46, 0x17, 0xec, 0x8a, - 0xbb, 0xf9, 0xe0, 0xbd, 0x36, 0xcd, 0xa2, 0x9c, 0x8b, 0xd9, 0xcd, 0xb3, 0x07, 0xf3, 0xda, 0xef, - 0x32, 0xcc, 0x36, 0xf7, 0x9b, 0x3b, 0xab, 0xff, 0x87, 0x2e, 0x40, 0xf9, 0x49, 0xeb, 0xfe, 0xf6, - 0xe1, 0x5e, 0x73, 0x77, 0xd5, 0x40, 0x4b, 0xb0, 0xf0, 0x70, 0x67, 0xfb, 0xd1, 0xe1, 0xc3, 0x4f, - 0x56, 0x4b, 0x68, 0x11, 0xe6, 0x76, 0x6c, 0x7b, 0xdf, 0x5e, 0x9d, 0x41, 0x2b, 0xb0, 0x64, 0xef, - 0x34, 0xf6, 0x9b, 0x8d, 0xbd, 0x47, 0x02, 0x38, 0x6b, 0x7d, 0x61, 0xc0, 0x62, 0x52, 0x13, 0xd0, - 0xdb, 0x30, 0xef, 0x7b, 0x7d, 0x8f, 0xc7, 0xab, 0x72, 0xbd, 0xa0, 0x70, 0xd4, 0x1e, 0x49, 0x84, - 0x5e, 0x11, 0x05, 0x47, 0xef, 0x41, 0x99, 0x91, 0xcf, 0x06, 0x24, 0xe2, 0x91, 0x3e, 0xd4, 0x5e, - 0x2e, 0x12, 0xb5, 0x35, 0x46, 0x09, 0x27, 0x22, 0xd5, 0x77, 0x60, 0x29, 0xa3, 0xf5, 0x54, 0xb9, - 0x78, 0x17, 0x2a, 0x39, 0xad, 0xa7, 0xca, 0xc2, 0x7f, 0x95, 0x60, 0x39, 0x5f, 0x73, 0xd1, 0x4d, - 0x98, 0x25, 0xcf, 0x88, 0xa3, 0xcf, 0xf3, 0xf5, 0xcc, 0xcf, 0x59, 0xcf, 0x88, 0xb3, 0x2d, 0x7f, - 0xa3, 0xb4, 0x25, 0x02, 0xdd, 0x82, 0x85, 0x1e, 0xe7, 0xe1, 0x2e, 0xe1, 0x93, 0x59, 0xf0, 0xf0, - 0xf0, 0xb0, 0xb5, 0x4b, 0xb8, 0xc6, 0xc7, 0x38, 0xf4, 0x36, 0x2c, 0x72, 0x27, 0x3c, 0xa0, 0xce, - 0x31, 0xe1, 0xfa, 0x24, 0xcf, 0xbc, 0xbb, 0x1f, 0x36, 0x5a, 0x8a, 0xa5, 0xc5, 0x52, 0x2c, 0x7a, - 0x13, 0x2e, 0x8a, 0xc6, 0xc1, 0xc3, 0xfe, 0x7d, 0xe2, 0xe3, 0xd1, 0x01, 0x71, 0x68, 0xe0, 0xaa, - 0x7f, 0x43, 0x98, 0xb3, 0x8b, 0x58, 0xe8, 0x06, 0x2c, 0x73, 0xaf, 0x4f, 0xe8, 0x80, 0xc7, 0xe0, - 0x39, 0x09, 0x1e, 0xa3, 0xa2, 0x57, 0xa1, 0x12, 0x12, 0xe6, 0x51, 0x37, 0x86, 0xcd, 0x4b, 0x58, - 0x9e, 0x88, 0x5e, 0x87, 0xd5, 0x68, 0xe0, 0x38, 0x24, 0x8a, 0x0e, 0x7b, 0x8c, 0x44, 0x3d, 0xea, - 0xbb, 0xe6, 0x82, 0x04, 0x4e, 0xd0, 0x05, 0xf6, 0x08, 0x7b, 0xfe, 0x80, 0x91, 0x14, 0x5b, 0x56, - 0xd8, 0x71, 0xba, 0x75, 0x03, 0x20, 0x8d, 0xab, 0xc8, 0x62, 0x87, 0xf6, 0xfb, 0x38, 0x70, 0xe5, - 0xfe, 0x5b, 0xb4, 0xe3, 0x4f, 0xeb, 0xf7, 0x06, 0x54, 0x72, 0x31, 0x2d, 0xac, 0x4a, 0xb7, 0x61, - 0x36, 0xa4, 0x2c, 0x5e, 0x8e, 0x6b, 0x13, 0x45, 0x69, 0x9f, 0xa9, 0xc4, 0x55, 0x5d, 0xa3, 0xc4, - 0x0a, 0x3d, 0x3d, 0x1a, 0xf1, 0xb8, 0x7c, 0x8a, 0x31, 0xba, 0x04, 0xf3, 0x91, 0xd3, 0x23, 0x7d, - 0xa2, 0x13, 0x5b, 0x7f, 0xa1, 0x3b, 0xb0, 0x24, 0x56, 0xf2, 0x21, 0xc1, 0x2e, 0x61, 0x91, 0xee, - 0x80, 0xd6, 0xf3, 0xab, 0xae, 0x98, 0x76, 0x16, 0x68, 0xdd, 0x01, 0x48, 0x59, 0x49, 0xc1, 0x36, - 0x32, 0x05, 0xbb, 0x70, 0x8b, 0x5a, 0x9f, 0xc0, 0xca, 0xd8, 0x9e, 0x48, 0x5c, 0x34, 0xce, 0xe0, - 0x62, 0x29, 0x75, 0xd1, 0xfa, 0x9d, 0x01, 0x97, 0xa7, 0xb4, 0x53, 0xa2, 0xf4, 0xf5, 0xbd, 0x60, - 0x7b, 0x88, 0x3d, 0x5f, 0xb4, 0xd5, 0x72, 0xae, 0x8a, 0x9d, 0xa3, 0xa1, 0x7d, 0x28, 0x27, 0x9d, - 0xa0, 0x0a, 0xf7, 0x66, 0xe6, 0xe8, 0x4e, 0xfe, 0xc1, 0xa7, 0x16, 0x1e, 0x77, 0x05, 0x21, 0xaa, - 0xf5, 0x09, 0xc7, 0xe2, 0x30, 0x7f, 0x84, 0x3b, 0xc4, 0x8f, 0x8f, 0x5e, 0x3b, 0x51, 0x22, 0xf6, - 0x6b, 0x1f, 0x3f, 0x7b, 0x12, 0xe0, 0x64, 0xda, 0x19, 0x39, 0xed, 0x18, 0xd5, 0xfa, 0x0c, 0xd0, - 0x64, 0x5b, 0x21, 0x5c, 0xe4, 0xa3, 0x30, 0x89, 0xa9, 0x18, 0xa3, 0x5d, 0xa8, 0x30, 0xea, 0x8b, - 0xae, 0xf8, 0x49, 0xe8, 0x62, 0x1e, 0x97, 0xdb, 0x6c, 0x61, 0xca, 0xb2, 0x53, 0xad, 0x76, 0x5e, - 0x4e, 0x5c, 0xa3, 0x2e, 0x4f, 0x81, 0xa2, 0x07, 0x13, 0x66, 0x3f, 0xdf, 0xca, 0x8c, 0x49, 0xa1, - 0x77, 0xa1, 0xdc, 0xc7, 0xcf, 0x0e, 0x06, 0xac, 0x4b, 0x9e, 0x73, 0xfb, 0x26, 0x78, 0xeb, 0x7d, - 0x00, 0x75, 0xa2, 0x3f, 0x26, 0x1c, 0x27, 0xdb, 0x6b, 0x2e, 0xb3, 0xbd, 0x72, 0xf7, 0xa2, 0xf9, - 0xb1, 0x7b, 0x91, 0x65, 0xc2, 0xa5, 0xe2, 0x7f, 0x9d, 0xb0, 0x56, 0xa0, 0x92, 0x3b, 0xcf, 0xad, - 0x4b, 0xb0, 0x5e, 0x64, 0x8c, 0xb5, 0x0e, 0x68, 0xf2, 0x5e, 0xd6, 0x99, 0x97, 0xff, 0x81, 0xb5, - 0xf9, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x78, 0x04, 0x2c, 0x12, 0x90, 0x26, 0x00, 0x00, + // 2636 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcb, 0x73, 0x1c, 0x49, + 0xd1, 0xff, 0x5a, 0xcf, 0x51, 0xca, 0xa3, 0x47, 0x49, 0x6b, 0xf7, 0xca, 0x5e, 0x5b, 0xdb, 0xbb, + 0xeb, 0xcf, 0x2c, 0xec, 0x68, 0x6d, 0xb1, 0x5e, 0x79, 0xcd, 0x3e, 0xe4, 0xb1, 0x2c, 0x2b, 0xd6, + 0x1e, 0x0d, 0x2d, 0xd9, 0xb1, 0x7b, 0x61, 0xa8, 0xe9, 0x2e, 0xcd, 0xf4, 0xaa, 0xa7, 0xab, 0xb7, + 0xba, 0x66, 0xd6, 0xc3, 0x1d, 0x88, 0xe0, 0x06, 0x17, 0x0e, 0x04, 0x01, 0x04, 0x41, 0x00, 0x27, + 0x6e, 0x5c, 0x88, 0xe0, 0xca, 0x0d, 0xfe, 0x04, 0x8e, 0x1c, 0xe0, 0xcc, 0x65, 0x23, 0x08, 0xa2, + 0x1e, 0xfd, 0x9a, 0xee, 0x91, 0x2d, 0x05, 0x44, 0x88, 0xd3, 0x74, 0x67, 0xfe, 0x32, 0x2b, 0x33, + 0xab, 0x32, 0x2b, 0x6b, 0xaa, 0xe1, 0x9d, 0xf0, 0xb8, 0xb3, 0x81, 0x43, 0x2f, 0xda, 0xf0, 0x22, + 0xee, 0xd1, 0x8d, 0xc1, 0x4d, 0xec, 0x87, 0x5d, 0x7c, 0x4b, 0xbd, 0x3a, 0x34, 0xe0, 0x8c, 0xfa, + 0xa1, 0x8f, 0x03, 0xd2, 0xe2, 0xc3, 0x90, 0x44, 0xb5, 0x90, 0x51, 0x4e, 0x51, 0x25, 0xc6, 0xad, + 0x59, 0xc7, 0x5b, 0x51, 0xcd, 0xa3, 0x42, 0xc7, 0x86, 0x43, 0x19, 0xd9, 0x18, 0xdc, 0xdc, 0xe8, + 0x90, 0x80, 0x30, 0xcc, 0x89, 0xab, 0xd0, 0x6b, 0xb5, 0x0c, 0x06, 0xf7, 0x39, 0x8d, 0x1c, 0xec, + 0x7b, 0x41, 0x67, 0x63, 0x70, 0xab, 0x4d, 0x38, 0x2e, 0xe2, 0xbf, 0x9e, 0xe2, 0x7b, 0xd8, 0xe9, + 0x7a, 0x01, 0x61, 0xc3, 0x8d, 0xc4, 0xd0, 0x1e, 0xe1, 0xb8, 0x6c, 0x94, 0x8f, 0x3a, 0x1e, 0xef, + 0xf6, 0xdb, 0x35, 0x87, 0xf6, 0x36, 0x3a, 0xb4, 0x43, 0x37, 0x24, 0xb9, 0xdd, 0x3f, 0x4a, 0x1f, + 0x3a, 0x94, 0x76, 0x7c, 0x92, 0xbe, 0x7f, 0xc1, 0x70, 0x18, 0x12, 0xa6, 0xbd, 0xb2, 0xfe, 0x62, + 0xc0, 0xf2, 0x9e, 0xf0, 0xbb, 0xae, 0xfc, 0x6e, 0x0a, 0xbf, 0xd1, 0x26, 0x4c, 0x45, 0x21, 0x71, + 0xcc, 0xc9, 0x75, 0xe3, 0xc6, 0xfc, 0xad, 0x6b, 0xb5, 0xd8, 0xf5, 0x5a, 0x01, 0x7a, 0x10, 0x12, + 0xc7, 0x96, 0x60, 0xb4, 0x01, 0x33, 0x11, 0xc7, 0xbc, 0x1f, 0x99, 0x53, 0x52, 0xec, 0x52, 0x46, + 0x2c, 0x88, 0x38, 0xf6, 0xfd, 0x03, 0xc9, 0xb6, 0x35, 0x0c, 0x21, 0x98, 0x3a, 0xf6, 0x02, 0xd7, + 0x9c, 0x5e, 0x37, 0x6e, 0xcc, 0xd9, 0xf2, 0x19, 0x5d, 0x05, 0xc0, 0xa1, 0xf7, 0x94, 0xb0, 0xc8, + 0xa3, 0x81, 0x39, 0x23, 0x39, 0x19, 0x0a, 0x5a, 0x87, 0xf9, 0xd0, 0xc7, 0x0e, 0xe9, 0x52, 0xdf, + 0x25, 0xcc, 0xa4, 0x12, 0x90, 0x25, 0x59, 0xbf, 0x9b, 0x85, 0x97, 0x4a, 0xcd, 0x44, 0x5f, 0x85, + 0x65, 0x97, 0x1c, 0xe1, 0xbe, 0xcf, 0x5b, 0x01, 0xee, 0x91, 0x28, 0xc4, 0x0e, 0xd1, 0x83, 0x2f, + 0x69, 0x46, 0x23, 0xa6, 0xa3, 0xb7, 0x60, 0xaa, 0x8d, 0x23, 0x62, 0xae, 0x4a, 0x5f, 0x5e, 0x4e, + 0x7d, 0xb9, 0x87, 0x23, 0xf2, 0x80, 0x60, 0xde, 0x67, 0xda, 0x79, 0x01, 0x43, 0x4f, 0x00, 0x71, + 0x86, 0x8f, 0x8e, 0x3c, 0xa7, 0xd5, 0xc3, 0x01, 0xee, 0x90, 0x1e, 0x09, 0xb8, 0xf9, 0xb2, 0x14, + 0xbe, 0x9e, 0x0a, 0x1f, 0x2a, 0xcc, 0xe3, 0x04, 0x92, 0xd5, 0xb4, 0xcc, 0x47, 0xb9, 0x68, 0x13, + 0x66, 0x42, 0xea, 0x7b, 0xce, 0xd0, 0x5c, 0x93, 0xaa, 0x2e, 0xa7, 0xaa, 0x9a, 0x92, 0x9e, 0x95, + 0xd7, 0x50, 0xf4, 0x0d, 0x98, 0xe3, 0xc4, 0x27, 0x3d, 0xc2, 0xd9, 0xd0, 0xbc, 0x2c, 0xe5, 0xae, + 0x66, 0x4c, 0x88, 0x59, 0x59, 0xd1, 0x54, 0x00, 0xdd, 0x81, 0x4a, 0x44, 0x9c, 0x3e, 0xf3, 0xf8, + 0xd0, 0xbc, 0x22, 0x85, 0x5f, 0x49, 0x85, 0x0f, 0x34, 0x27, 0x2b, 0x9b, 0xc0, 0x91, 0x0d, 0xcb, + 0x0e, 0x0d, 0x8e, 0xbc, 0x4e, 0x36, 0x06, 0xaf, 0x48, 0x1d, 0x6f, 0xa4, 0x3a, 0xea, 0x12, 0x52, + 0x1e, 0x82, 0x25, 0x67, 0x84, 0x89, 0xf6, 0x60, 0x41, 0xe4, 0x4f, 0xcb, 0x0b, 0x3e, 0x23, 0x0e, + 0x17, 0x8b, 0xe2, 0xaa, 0x54, 0x68, 0xa5, 0x0a, 0xb7, 0xfb, 0x9c, 0xee, 0xc5, 0xec, 0xac, 0xb6, + 0x2a, 0xce, 0x72, 0xd0, 0x16, 0x54, 0x3a, 0x98, 0x93, 0x2f, 0xf0, 0x30, 0x32, 0xaf, 0x49, 0x25, + 0x57, 0x52, 0x25, 0xbb, 0x8a, 0x93, 0x73, 0x2c, 0x46, 0xa3, 0x37, 0x61, 0xd2, 0x09, 0x3c, 0x73, + 0x5d, 0x0a, 0x99, 0x19, 0x57, 0x1a, 0x7b, 0x59, 0x01, 0x01, 0x42, 0xb7, 0x61, 0x56, 0x14, 0x85, + 0xfb, 0x8d, 0x03, 0xf3, 0xd5, 0xd1, 0x41, 0xea, 0x8a, 0x91, 0x95, 0x89, 0xc1, 0x68, 0x0b, 0x66, + 0x06, 0xd8, 0xef, 0x93, 0xc8, 0xbc, 0x25, 0xc5, 0xd6, 0x33, 0x53, 0x36, 0x0c, 0xc9, 0x63, 0x1c, + 0x1e, 0x70, 0xe6, 0x05, 0x9d, 0xbd, 0x80, 0x13, 0x76, 0x84, 0x1d, 0x62, 0x6b, 0x3c, 0x6a, 0xc0, + 0x72, 0x3f, 0x18, 0x60, 0xdf, 0x73, 0x45, 0x69, 0x78, 0xaa, 0x94, 0x6c, 0xbe, 0xa0, 0x92, 0xa2, + 0x28, 0x32, 0x61, 0x36, 0x64, 0xf4, 0xc8, 0xf3, 0x89, 0xe9, 0xca, 0xec, 0x88, 0x5f, 0xd1, 0xdb, + 0xb0, 0xea, 0xa9, 0x54, 0x6e, 0x85, 0xd8, 0x39, 0xc6, 0x1d, 0xd2, 0x0a, 0x31, 0xef, 0x9a, 0x47, + 0x12, 0x86, 0x34, 0xaf, 0xa9, 0x58, 0x4d, 0xcc, 0xbb, 0x68, 0x09, 0x26, 0xbb, 0xfd, 0xb6, 0x19, + 0x48, 0x80, 0x78, 0x14, 0x14, 0x8e, 0x3b, 0x3a, 0x73, 0xc5, 0xa3, 0xf5, 0x67, 0x03, 0x16, 0x47, + 0xb2, 0x4a, 0x44, 0x91, 0x04, 0xb8, 0xed, 0x13, 0xd7, 0x34, 0x46, 0xa3, 0x28, 0x3c, 0xb9, 0x47, + 0xa9, 0x2f, 0xcd, 0x7d, 0x40, 0x59, 0xf3, 0x9e, 0x1d, 0x83, 0xd1, 0x7d, 0x00, 0x87, 0xf6, 0x42, + 0x1a, 0x90, 0x80, 0xc7, 0x91, 0x7c, 0x7d, 0x6c, 0xf2, 0xd6, 0xea, 0x09, 0xd6, 0xce, 0xc8, 0xad, + 0xbd, 0x0f, 0x90, 0x72, 0xd0, 0x46, 0xae, 0x14, 0x5c, 0xce, 0x6b, 0x4b, 0x70, 0x69, 0x31, 0xb0, + 0xfe, 0x38, 0x01, 0x57, 0x4e, 0xca, 0xf4, 0x33, 0x7b, 0xf7, 0xcd, 0x12, 0xef, 0x6e, 0xbe, 0x58, + 0x75, 0x19, 0xe7, 0xea, 0x8f, 0x8c, 0x9c, 0xaf, 0x57, 0x60, 0x2e, 0xad, 0x8d, 0x86, 0x9c, 0xa3, + 0x94, 0x80, 0x6e, 0xc1, 0x74, 0xe8, 0xf9, 0x94, 0xeb, 0x50, 0x64, 0xac, 0x6e, 0x0a, 0x72, 0x3e, + 0x16, 0x0a, 0x2a, 0x65, 0x18, 0x7d, 0x36, 0x34, 0x5f, 0x2a, 0xc8, 0x08, 0xf2, 0xa8, 0x8c, 0xa0, + 0x59, 0xff, 0x34, 0x60, 0xb9, 0x50, 0xdf, 0xce, 0x1c, 0xb5, 0x07, 0x25, 0x51, 0xbb, 0x7e, 0x42, + 0x21, 0x1d, 0x17, 0x2a, 0x7c, 0x8a, 0x48, 0xbd, 0x93, 0x14, 0xee, 0xd5, 0xd1, 0x1a, 0xaa, 0xc6, + 0xcb, 0xfb, 0xad, 0xc1, 0xd6, 0x77, 0x27, 0x60, 0xb5, 0xac, 0x40, 0x9f, 0xd9, 0xf7, 0xbd, 0x12, + 0xdf, 0xbf, 0x72, 0xf2, 0x66, 0x30, 0xce, 0xfd, 0xcf, 0x4e, 0xe1, 0xfe, 0x07, 0xd9, 0x2d, 0x68, + 0xb5, 0x50, 0x8a, 0x62, 0x56, 0x3e, 0x08, 0xa9, 0x88, 0xf5, 0xbd, 0x49, 0x58, 0x29, 0xd9, 0x6b, + 0xce, 0x1c, 0x86, 0x87, 0x25, 0x61, 0xb8, 0x71, 0xe2, 0xb6, 0x36, 0x2e, 0x0a, 0xff, 0x38, 0x4d, + 0xbe, 0x6c, 0xc1, 0xac, 0xe3, 0x71, 0xec, 0x12, 0x5f, 0x07, 0x21, 0xb3, 0x0f, 0xd7, 0x15, 0x23, + 0x1f, 0x82, 0x18, 0x8e, 0x76, 0xe0, 0x82, 0x43, 0x18, 0xd7, 0x1b, 0x29, 0xd3, 0xc9, 0x93, 0xd9, + 0xf4, 0xea, 0x84, 0x71, 0x95, 0xe8, 0x2c, 0xaf, 0x62, 0xde, 0x49, 0x39, 0xe8, 0x43, 0x80, 0x80, + 0xba, 0xa4, 0x85, 0x3b, 0x62, 0x2b, 0xbe, 0x38, 0x3a, 0x11, 0x0d, 0xea, 0x92, 0x6d, 0xc1, 0x1a, + 0x99, 0x88, 0x20, 0xa6, 0x5b, 0x3f, 0x98, 0x80, 0xcb, 0x27, 0x6c, 0xd8, 0x67, 0x9e, 0x90, 0x66, + 0xc9, 0x84, 0xbc, 0xfd, 0x42, 0x3d, 0xc2, 0x7f, 0x28, 0x3b, 0x3b, 0xd8, 0xf7, 0x49, 0x49, 0x76, + 0xee, 0x4a, 0xfa, 0x48, 0x76, 0x2a, 0xb0, 0xf5, 0xc3, 0x09, 0x30, 0xc7, 0x35, 0x1b, 0x67, 0x8e, + 0xc4, 0xe3, 0x92, 0x48, 0xbc, 0xf5, 0xfc, 0xe6, 0x66, 0x5c, 0x18, 0x82, 0x53, 0x84, 0xe1, 0x1e, + 0x54, 0x54, 0x5b, 0x45, 0x99, 0x0e, 0x44, 0xa6, 0x2c, 0x1e, 0x78, 0x2e, 0x71, 0x30, 0xdb, 0xd3, + 0x80, 0x7c, 0x44, 0x12, 0x39, 0xeb, 0xaf, 0x13, 0x80, 0x8a, 0xbd, 0xd3, 0x99, 0xa3, 0xb1, 0x5b, + 0x12, 0x8d, 0xff, 0x3f, 0xa9, 0x4b, 0x1b, 0x17, 0x87, 0x3f, 0x9d, 0x26, 0x4f, 0x1b, 0xb0, 0xe8, + 0x05, 0x1d, 0x46, 0xa2, 0xa8, 0xa5, 0x7b, 0x3e, 0xdd, 0x20, 0xbe, 0x91, 0x3d, 0xc3, 0x48, 0x80, + 0xb6, 0x20, 0x1f, 0x8e, 0x05, 0x2f, 0xc7, 0x44, 0x1f, 0xc3, 0x02, 0xc9, 0xab, 0x5b, 0x1f, 0xed, + 0x44, 0x76, 0xc6, 0x6b, 0xab, 0x92, 0x2c, 0xcf, 0xfa, 0x9b, 0x01, 0x0b, 0xf9, 0x46, 0xf3, 0xcc, + 0xd1, 0xad, 0x97, 0x44, 0xf7, 0xb5, 0x71, 0xed, 0xec, 0xb8, 0xc8, 0x7e, 0x72, 0x8a, 0xc0, 0x7e, + 0x4d, 0x35, 0xce, 0x6a, 0x71, 0xad, 0xe5, 0x46, 0xca, 0xfb, 0x2c, 0x60, 0xd6, 0x97, 0x06, 0xa0, + 0x62, 0x8b, 0xfc, 0xdf, 0x5a, 0x4b, 0xc5, 0x91, 0xc6, 0x79, 0xec, 0x9e, 0xb2, 0xe4, 0xeb, 0xf6, + 0xbf, 0x58, 0xf2, 0x15, 0x63, 0xb4, 0xe4, 0x2b, 0xaa, 0xf5, 0x31, 0x2c, 0x17, 0x1a, 0xca, 0xb3, + 0xfa, 0x6e, 0xfd, 0xcc, 0x00, 0x54, 0xec, 0xc9, 0xce, 0x1c, 0xca, 0x9c, 0xcf, 0x13, 0xa3, 0x3e, + 0x6f, 0xc2, 0xe4, 0xf1, 0x56, 0x64, 0x36, 0xa5, 0xc6, 0x57, 0x53, 0x8d, 0x1f, 0xf7, 0xdb, 0x84, + 0x05, 0x84, 0x93, 0xc8, 0x26, 0x11, 0xed, 0x33, 0x87, 0x44, 0x6a, 0xb2, 0x8f, 0xb7, 0x22, 0x65, + 0x61, 0xa1, 0x03, 0x3c, 0x4f, 0x16, 0xfe, 0xd6, 0x80, 0x2b, 0x27, 0x55, 0xc1, 0xf3, 0x64, 0xeb, + 0xcf, 0x0d, 0x58, 0x29, 0x69, 0x2c, 0xcf, 0x93, 0x89, 0xbf, 0x34, 0xe0, 0x62, 0x79, 0xe7, 0x77, + 0x9e, 0xac, 0xfc, 0x85, 0x01, 0xab, 0x65, 0xad, 0xd9, 0x79, 0xb2, 0xf1, 0x57, 0x06, 0x98, 0xe3, + 0xfa, 0xbf, 0xf3, 0x36, 0xe3, 0xe5, 0x2d, 0xe6, 0x79, 0x4b, 0x9d, 0x92, 0xae, 0xef, 0x3c, 0x99, + 0xf8, 0x1b, 0x03, 0x2e, 0x9f, 0xd0, 0x7f, 0x9c, 0x27, 0x53, 0x7f, 0x6d, 0xc0, 0xda, 0xce, 0xff, + 0x84, 0xa5, 0x3f, 0x35, 0x60, 0x69, 0xb4, 0x0f, 0x39, 0x77, 0x95, 0xa8, 0xa4, 0x63, 0x38, 0x4f, + 0x36, 0x7e, 0x1f, 0xe0, 0xd2, 0x18, 0x00, 0xda, 0x82, 0x0a, 0x3e, 0x3a, 0xf2, 0x02, 0x8f, 0x0f, + 0x13, 0x3b, 0xd5, 0x2d, 0x47, 0x0d, 0x87, 0x5e, 0x4d, 0xb4, 0x3d, 0xb5, 0xc1, 0xcd, 0xda, 0xb6, + 0xc6, 0xd8, 0x09, 0x5a, 0x74, 0x8d, 0x24, 0x18, 0x98, 0x13, 0xeb, 0x93, 0xb2, 0x6b, 0x2c, 0x11, + 0xda, 0x09, 0x06, 0x4f, 0x31, 0xb3, 0x05, 0x0c, 0x3d, 0x85, 0x4a, 0x37, 0xc4, 0xad, 0xcc, 0x85, + 0xc5, 0xdd, 0xac, 0x48, 0xe6, 0xf6, 0xa5, 0xa6, 0x6f, 0x5f, 0x6a, 0x0f, 0x29, 0xf3, 0xbe, 0x43, + 0x03, 0x8e, 0xfd, 0x26, 0x75, 0xb7, 0x35, 0x80, 0x30, 0xd5, 0x8f, 0x75, 0x43, 0x2c, 0xed, 0x7f, + 0x13, 0x96, 0xbd, 0x9e, 0xfc, 0x8b, 0xb3, 0xef, 0xfb, 0x2d, 0xfd, 0x6f, 0xce, 0x94, 0x0c, 0xdb, + 0xa2, 0x64, 0x34, 0xfb, 0xbe, 0xaf, 0xf6, 0x5c, 0xf4, 0x09, 0x54, 0xe5, 0x39, 0x3b, 0x22, 0xbe, + 0x3a, 0x4e, 0x4d, 0x4b, 0xdb, 0x37, 0x9f, 0x1b, 0x46, 0x79, 0x04, 0x3f, 0xd0, 0x52, 0x3b, 0x01, + 0x67, 0x43, 0xfb, 0x42, 0x90, 0x21, 0xa1, 0x27, 0xf0, 0x52, 0x48, 0xdd, 0x96, 0xeb, 0x45, 0xac, + 0x1f, 0x8a, 0x33, 0x60, 0xab, 0xdd, 0x77, 0x3b, 0x84, 0xcb, 0xbb, 0x91, 0xdc, 0x44, 0x35, 0xa9, + 0x7b, 0x3f, 0x41, 0xdd, 0x93, 0x20, 0xe9, 0xd0, 0x4a, 0x58, 0x64, 0xa0, 0x6f, 0xc1, 0xa2, 0x50, + 0x8b, 0x83, 0x80, 0x72, 0x2c, 0xe8, 0x91, 0x39, 0x2b, 0x4d, 0x7e, 0xe7, 0xf9, 0x26, 0x8b, 0x98, + 0xa5, 0x72, 0xca, 0xe8, 0x85, 0x30, 0x47, 0x44, 0x35, 0x58, 0x09, 0x99, 0x47, 0x99, 0xc7, 0x87, + 0x2d, 0xc7, 0xc7, 0x51, 0x24, 0xaf, 0x5c, 0xcc, 0x8a, 0x0c, 0xdf, 0x72, 0xcc, 0xaa, 0x0b, 0x4e, + 0x03, 0xf7, 0x08, 0xda, 0x86, 0x45, 0x46, 0xb0, 0xeb, 0x05, 0xe2, 0xd0, 0x14, 0x32, 0xda, 0x26, + 0xe6, 0xdc, 0xe8, 0xbf, 0xed, 0x76, 0x0c, 0x68, 0x0a, 0xbe, 0xbd, 0xc0, 0x72, 0xef, 0xe8, 0x35, + 0xa8, 0x32, 0x12, 0xfa, 0x9e, 0x83, 0x5b, 0x0e, 0xed, 0x07, 0xdc, 0x84, 0x75, 0xe3, 0x46, 0xd5, + 0xbe, 0xa0, 0x89, 0x75, 0x41, 0x43, 0x37, 0x61, 0x8e, 0xc5, 0xce, 0x98, 0xf3, 0x72, 0x84, 0x95, + 0xec, 0x08, 0x9a, 0x65, 0xa7, 0x28, 0x74, 0x07, 0x66, 0x23, 0xc2, 0x06, 0x9e, 0x43, 0xcc, 0x0b, + 0xfa, 0x3e, 0xac, 0x64, 0x45, 0x1e, 0x28, 0x88, 0x5a, 0x42, 0x1a, 0x2f, 0x52, 0x20, 0xe2, 0x0c, + 0x73, 0xd2, 0x19, 0x9a, 0xd5, 0xd1, 0x54, 0xbd, 0x4f, 0x42, 0x9f, 0x0e, 0x7b, 0x22, 0xab, 0x35, + 0xc6, 0x4e, 0xd0, 0xe8, 0x23, 0x98, 0xe7, 0xd4, 0x27, 0x4c, 0xcf, 0xcd, 0x82, 0x9c, 0x9b, 0xab, + 0x65, 0x03, 0x1f, 0x26, 0x30, 0x3b, 0x2b, 0x82, 0x3e, 0x83, 0x15, 0x6d, 0x46, 0x6e, 0x96, 0x17, + 0xa5, 0xa6, 0x3b, 0xcf, 0x9f, 0x65, 0xed, 0x50, 0x61, 0xa6, 0x51, 0x54, 0x60, 0xa0, 0xdb, 0x50, + 0xa1, 0x03, 0xc2, 0x7c, 0x3c, 0x8c, 0x4c, 0x57, 0x67, 0x6d, 0x32, 0xc0, 0xf1, 0x56, 0xb4, 0xdf, + 0x16, 0xed, 0xf3, 0xbe, 0x82, 0xd8, 0x09, 0x76, 0xed, 0x43, 0x58, 0x2e, 0xac, 0x7f, 0xb4, 0x04, + 0x93, 0xc7, 0x64, 0xa8, 0x4f, 0x56, 0xe2, 0x11, 0xad, 0xc2, 0xb4, 0xbc, 0xea, 0xd0, 0x45, 0x4b, + 0xbd, 0xbc, 0x37, 0xb1, 0x65, 0xac, 0x6d, 0x8b, 0xae, 0xb7, 0xb0, 0x1a, 0x4f, 0xa5, 0x62, 0x07, + 0x2e, 0x8d, 0x71, 0xf5, 0x34, 0x6a, 0xac, 0xbf, 0x1b, 0xb0, 0x34, 0xea, 0x29, 0xba, 0x06, 0xf3, + 0x38, 0xf4, 0x5a, 0x03, 0x7d, 0x9d, 0x69, 0x14, 0xae, 0x33, 0xe3, 0x2b, 0xd0, 0x89, 0xcc, 0x15, + 0x28, 0x82, 0x29, 0x99, 0x2b, 0x93, 0x8a, 0x26, 0x9e, 0xd1, 0x07, 0x30, 0x1b, 0x62, 0xee, 0x74, + 0x49, 0x64, 0x4e, 0xc9, 0xf8, 0xbe, 0x3e, 0x3e, 0xbe, 0xb5, 0x26, 0xe6, 0x5d, 0x59, 0xff, 0xed, + 0x58, 0x68, 0xad, 0x01, 0x73, 0x09, 0x55, 0x0c, 0x20, 0x6f, 0x6d, 0x94, 0x39, 0xf2, 0x19, 0xbd, + 0x95, 0x75, 0x2c, 0x77, 0x77, 0x2b, 0x76, 0x94, 0xf4, 0xba, 0x48, 0xa1, 0xac, 0x1f, 0x4f, 0x42, + 0x35, 0x77, 0xa9, 0x8b, 0xee, 0x26, 0xb7, 0xbf, 0x86, 0x34, 0xf0, 0xb5, 0x31, 0xb7, 0xbf, 0x35, + 0xf5, 0xa3, 0xd6, 0x92, 0x16, 0x59, 0xfb, 0x89, 0x01, 0x55, 0x1d, 0x12, 0xad, 0xce, 0x84, 0xd9, + 0x7c, 0xd4, 0xe2, 0x57, 0x74, 0x3b, 0x19, 0x48, 0x98, 0xba, 0x90, 0x3d, 0x5f, 0x97, 0x0d, 0x94, + 0xdc, 0x36, 0x5b, 0x70, 0x41, 0x3d, 0xa9, 0x1b, 0x30, 0x1d, 0xde, 0x1c, 0x4d, 0x4c, 0x2f, 0x61, + 0x8c, 0x32, 0x5d, 0xe6, 0xd5, 0xcb, 0xda, 0xb7, 0x61, 0x3e, 0x63, 0x74, 0xc9, 0xaa, 0xb8, 0x9b, + 0x0f, 0xde, 0x1b, 0xe3, 0x2c, 0xca, 0xb9, 0x98, 0x5d, 0x3c, 0x7b, 0x30, 0xa3, 0xfd, 0xae, 0xc0, + 0x54, 0x63, 0xbf, 0xb1, 0xb3, 0xf4, 0x7f, 0xe8, 0x02, 0x54, 0x9e, 0x34, 0xef, 0x6f, 0x1f, 0xee, + 0x35, 0x76, 0x97, 0x0c, 0x34, 0x0f, 0xb3, 0x0f, 0x77, 0xb6, 0x1f, 0x1d, 0x3e, 0xfc, 0x74, 0x69, + 0x02, 0xcd, 0xc1, 0xf4, 0x8e, 0x6d, 0xef, 0xdb, 0x4b, 0x93, 0x68, 0x11, 0xe6, 0xed, 0x9d, 0xfa, + 0x7e, 0xa3, 0xbe, 0xf7, 0x48, 0x00, 0xa7, 0xac, 0x2f, 0x0d, 0x98, 0x4b, 0x12, 0x19, 0xbd, 0x0b, + 0x33, 0xbe, 0xd7, 0xf3, 0x78, 0x3c, 0x2b, 0xd7, 0x4a, 0x6a, 0x5d, 0xed, 0x91, 0x44, 0xe8, 0x19, + 0x51, 0x70, 0xf4, 0x3e, 0x54, 0x18, 0xf9, 0xbc, 0x4f, 0x22, 0x1e, 0xe9, 0x7d, 0xf8, 0xd5, 0x32, + 0x51, 0x5b, 0x63, 0x94, 0x70, 0x22, 0xb2, 0x76, 0x07, 0xe6, 0x33, 0x5a, 0x4f, 0x95, 0x8f, 0x77, + 0xa1, 0x9a, 0xd3, 0x7a, 0xaa, 0x2c, 0xfc, 0xd7, 0x04, 0x2c, 0xe4, 0xb7, 0x09, 0x74, 0x03, 0xa6, + 0xc8, 0x33, 0xe2, 0xe8, 0x16, 0x64, 0x35, 0xf3, 0x0f, 0xdc, 0x33, 0xe2, 0x6c, 0xcb, 0xbf, 0x55, + 0x6d, 0x89, 0x40, 0x37, 0x61, 0xb6, 0xcb, 0x79, 0xb8, 0x4b, 0x78, 0x31, 0x0b, 0x1e, 0x1e, 0x1e, + 0x36, 0x77, 0x09, 0xd7, 0xf8, 0x18, 0x87, 0xde, 0x85, 0x39, 0xee, 0x84, 0x07, 0xd4, 0x39, 0x26, + 0x5c, 0x37, 0x1f, 0x99, 0x4f, 0x05, 0x0e, 0xeb, 0x4d, 0xc5, 0xd2, 0x62, 0x29, 0x16, 0xbd, 0x0d, + 0x2b, 0xa2, 0xd7, 0xf1, 0xb0, 0x7f, 0x9f, 0xf8, 0x78, 0x78, 0x40, 0x1c, 0x1a, 0xb8, 0xea, 0xcb, + 0x89, 0x69, 0xbb, 0x8c, 0x85, 0xae, 0xc3, 0x02, 0xf7, 0x7a, 0x84, 0xf6, 0x79, 0x0c, 0x9e, 0x96, + 0xe0, 0x11, 0x2a, 0x7a, 0x1d, 0xaa, 0x21, 0x61, 0x1e, 0x75, 0x63, 0xd8, 0x8c, 0x84, 0xe5, 0x89, + 0xe8, 0x4d, 0x58, 0x8a, 0xfa, 0x8e, 0x43, 0xa2, 0xe8, 0xb0, 0xcb, 0x48, 0xd4, 0xa5, 0xbe, 0x6b, + 0xce, 0x4a, 0x60, 0x81, 0x2e, 0xb0, 0x47, 0xd8, 0xf3, 0xfb, 0x8c, 0xa4, 0xd8, 0x8a, 0xc2, 0x8e, + 0xd2, 0xad, 0xeb, 0x00, 0x69, 0x5c, 0x45, 0x16, 0x3b, 0xb4, 0xd7, 0xc3, 0x81, 0x2b, 0xd7, 0xdf, + 0x9c, 0x1d, 0xbf, 0x5a, 0x7f, 0x30, 0xa0, 0x9a, 0x8b, 0x69, 0x69, 0x55, 0xba, 0x05, 0x53, 0x21, + 0x65, 0xf1, 0x74, 0x5c, 0x2d, 0x14, 0xa5, 0x7d, 0xa6, 0x12, 0x57, 0x35, 0xba, 0x12, 0x2b, 0xf4, + 0x74, 0x69, 0xc4, 0xe3, 0xf2, 0x29, 0x9e, 0xd1, 0x45, 0x98, 0x89, 0x9c, 0x2e, 0xe9, 0x11, 0x9d, + 0xd8, 0xfa, 0x0d, 0xdd, 0x86, 0x79, 0x31, 0x93, 0x0f, 0x09, 0x76, 0x09, 0x8b, 0x74, 0xd3, 0xb6, + 0x9a, 0x9f, 0x75, 0xc5, 0xb4, 0xb3, 0x40, 0xeb, 0x36, 0x40, 0xca, 0x4a, 0x0a, 0xb6, 0x91, 0x29, + 0xd8, 0xa5, 0x4b, 0xd4, 0xfa, 0x14, 0x16, 0x47, 0xd6, 0x44, 0xe2, 0xa2, 0x71, 0x06, 0x17, 0x27, + 0x52, 0x17, 0xad, 0xdf, 0x1b, 0x70, 0x69, 0x4c, 0x07, 0x28, 0x4a, 0x5f, 0xcf, 0x0b, 0xb6, 0x07, + 0xd8, 0xf3, 0xc5, 0x49, 0x40, 0x8e, 0x55, 0xb5, 0x73, 0x34, 0xb4, 0x0f, 0x95, 0xa4, 0x79, 0x55, + 0xe1, 0xde, 0xcc, 0x74, 0x1b, 0xc9, 0x37, 0x49, 0xb5, 0xf0, 0xb8, 0x23, 0x08, 0x51, 0xad, 0x47, + 0x38, 0x16, 0xfd, 0xc7, 0x23, 0xdc, 0x26, 0x7e, 0xbc, 0x83, 0xdb, 0x89, 0x12, 0xb1, 0x5e, 0x7b, + 0xf8, 0xd9, 0x93, 0x00, 0x27, 0xc3, 0x4e, 0xca, 0x61, 0x47, 0xa8, 0xd6, 0xe7, 0x80, 0x8a, 0x9d, + 0x90, 0x70, 0x91, 0x0f, 0xc3, 0x24, 0xa6, 0xe2, 0x19, 0xed, 0x42, 0x95, 0x51, 0x5f, 0x34, 0xf2, + 0x4f, 0x42, 0x17, 0xf3, 0xb8, 0xdc, 0x66, 0x0b, 0x53, 0x96, 0x9d, 0x6a, 0xb5, 0xf3, 0x72, 0xe2, + 0xe4, 0x77, 0x69, 0x0c, 0x14, 0x3d, 0x28, 0x98, 0xfd, 0x62, 0x33, 0x33, 0x22, 0x85, 0xde, 0x83, + 0x4a, 0x0f, 0x3f, 0x3b, 0xe8, 0xb3, 0x0e, 0x79, 0xc1, 0xe5, 0x9b, 0xe0, 0xad, 0x0f, 0x00, 0xd4, + 0x8e, 0xfe, 0x98, 0x70, 0x9c, 0x2c, 0xaf, 0xe9, 0xcc, 0xf2, 0xca, 0x1d, 0xe5, 0x66, 0x46, 0x8e, + 0x72, 0x96, 0x09, 0x17, 0xcb, 0xbf, 0xf6, 0xb0, 0x16, 0xa1, 0x9a, 0xdb, 0xcf, 0xad, 0x8b, 0xb0, + 0x5a, 0x66, 0x8c, 0xb5, 0x0a, 0xa8, 0x78, 0x94, 0x6c, 0xcf, 0xc8, 0x8f, 0xc6, 0x36, 0xff, 0x1d, + 0x00, 0x00, 0xff, 0xff, 0x50, 0x3e, 0x31, 0xc2, 0x43, 0x27, 0x00, 0x00, } diff --git a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto index b1a97b540..d9519140d 100644 --- a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto +++ b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto @@ -532,6 +532,9 @@ message KubernetesResourcesSpec { // k8s toleration // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ repeated k8s.io.api.core.v1.Toleration tolerations = 14; + // k8s service annotations. + // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + map service_annotations = 15; // Overlays for k8s resources in rendered manifests. repeated k8sObjectOverlay overlays = 100; diff --git a/pkg/apis/istio/v1alpha2/v1alpha2.pb.html b/pkg/apis/istio/v1alpha2/v1alpha2.pb.html index 63d411a50..470eec8a1 100644 --- a/pkg/apis/istio/v1alpha2/v1alpha2.pb.html +++ b/pkg/apis/istio/v1alpha2/v1alpha2.pb.html @@ -1623,6 +1623,18 @@

KubernetesResourcesSpec

k8s toleration https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/

+ + +No + + + +serviceAnnotations +map<string, string> + +

k8s service annotations. +https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/

+ No diff --git a/pkg/vfs/assets.gen.go b/pkg/vfs/assets.gen.go index d92bab613..07481175d 100644 --- a/pkg/vfs/assets.gen.go +++ b/pkg/vfs/assets.gen.go @@ -40207,7 +40207,9 @@ var _translateconfigReversetranslateconfig15Yaml = []byte(`kubernetesPatternMapp "{{.ValueComponentName}}.replicaCount": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.ReplicaCount" "{{.ValueComponentName}}.resources": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Resources" "{{.ValueComponentName}}.rollingMaxSurge": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Strategy" - "{{.ValueComponentName}}.rollingMaxUnavailable": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Strategy"`) + "{{.ValueComponentName}}.rollingMaxUnavailable": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.Strategy" + "{{.ValueComponentName}}.serviceAnnotations": "{{.FeatureName}}.Components.{{.ComponentName}}.K8s.ServiceAnnotations" +`) func translateconfigReversetranslateconfig15YamlBytes() ([]byte, error) { return _translateconfigReversetranslateconfig15Yaml, nil @@ -40732,6 +40734,8 @@ kubernetesMapping: outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.strategy" "{{.FeatureName}}.Components.{{.ComponentName}}.K8S.Tolerations": outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.template.spec.tolerations" + "{{.FeatureName}}.Components.{{.ComponentName}}.K8S.ServiceAnnotations": + outPath: "[Service:{{.ResourceName}}].metadata.annotations" toFeature: Base: Base Pilot: TrafficManagement diff --git a/python/istio_api/pkg/apis/istio/v1alpha2/istiocontrolplane_types_pb2.py b/python/istio_api/pkg/apis/istio/v1alpha2/istiocontrolplane_types_pb2.py index 4c56be67b..a617e2dcf 100644 --- a/python/istio_api/pkg/apis/istio/v1alpha2/istiocontrolplane_types_pb2.py +++ b/python/istio_api/pkg/apis/istio/v1alpha2/istiocontrolplane_types_pb2.py @@ -24,7 +24,7 @@ package='v1alpha2', syntax='proto3', serialized_options=None, - serialized_pb=_b('\n5pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto\x12\x08v1alpha2\x1a\"k8s.io/api/core/v1/generated.proto\x1a.k8s.io/api/autoscaling/v2beta1/generated.proto\x1a\x34k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto\x1a@github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto\"\xa2\x01\n\x11IstioControlPlane\x12-\n\x04spec\x18\x03 \x01(\x0b\x32\x1f.v1alpha2.IstioControlPlaneSpec\x12\'\n\x06status\x18\x04 \x01(\x0b\x32\x17.v1alpha2.InstallStatus\x12\x0c\n\x04kind\x18\x05 \x01(\t\x12\x12\n\napiVersion\x18\x06 \x01(\t\x12\x13\n\x0bplaceholder\x18o \x01(\t\"\xec\x05\n\x15IstioControlPlaneSpec\x12\x19\n\x11\x64\x65\x66\x61ult_namespace\x18\x05 \x01(\t\x12\'\n\x04\x62\x61se\x18\x14 \x01(\x0b\x32\x19.v1alpha2.BaseFeatureSpec\x12\x42\n\x12traffic_management\x18\x19 \x01(\x0b\x32&.v1alpha2.TrafficManagementFeatureSpec\x12+\n\x06policy\x18\x1a \x01(\x0b\x32\x1b.v1alpha2.PolicyFeatureSpec\x12\x31\n\ttelemetry\x18\x1b \x01(\x0b\x32\x1e.v1alpha2.TelemetryFeatureSpec\x12/\n\x08security\x18\x1c \x01(\x0b\x32\x1d.v1alpha2.SecurityFeatureSpec\x12@\n\x11\x63onfig_management\x18\x1d \x01(\x0b\x32%.v1alpha2.ConfigManagementFeatureSpec\x12:\n\x0e\x61uto_injection\x18\x1e \x01(\x0b\x32\".v1alpha2.AutoInjectionFeatureSpec\x12.\n\x08gateways\x18\x1f \x01(\x0b\x32\x1c.v1alpha2.GatewayFeatureSpec\x12%\n\x03\x63ni\x18 \x01(\x0b\x32\x18.v1alpha2.CNIFeatureSpec\x12-\n\x07\x63oreDNS\x18! \x01(\x0b\x32\x1c.v1alpha2.CoreDNSFeatureSpec\x12\x30\n\x06values\x18\x32 \x01(\x0b\x32 .v1alpha2.TypeMapStringInterface\x12;\n\x11unvalidatedValues\x18\x33 \x01(\x0b\x32 .v1alpha2.TypeMapStringInterface\x12\x0f\n\x07profile\x18\x64 \x01(\t\x12\x1c\n\x14install_package_path\x18\x66 \x01(\t\x12\x0b\n\x03hub\x18n \x01(\t\x12\x0b\n\x03tag\x18o \x01(\t\"\xb3\x01\n\x0f\x42\x61seFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x38\n\ncomponents\x18\x32 \x01(\x0b\x32$.v1alpha2.BaseFeatureSpec.Components\x1a\x37\n\nComponents\x12)\n\x04\x62\x61se\x18\x14 \x01(\x0b\x32\x1b.v1alpha2.BaseComponentSpec\"\x8f\x02\n\x1cTrafficManagementFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x45\n\ncomponents\x18\x32 \x01(\x0b\x32\x31.v1alpha2.TrafficManagementFeatureSpec.Components\x1ay\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12+\n\x05pilot\x18\x14 \x01(\x0b\x32\x1c.v1alpha2.PilotComponentSpec\x12+\n\x05proxy\x18\x15 \x01(\x0b\x32\x1c.v1alpha2.ProxyComponentSpec\"\xce\x01\n\x11PolicyFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12:\n\ncomponents\x18\x32 \x01(\x0b\x32&.v1alpha2.PolicyFeatureSpec.Components\x1aN\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12-\n\x06policy\x18\x14 \x01(\x0b\x32\x1d.v1alpha2.PolicyComponentSpec\"\xda\x01\n\x14TelemetryFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12=\n\ncomponents\x18\x32 \x01(\x0b\x32).v1alpha2.TelemetryFeatureSpec.Components\x1aT\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x33\n\ttelemetry\x18\x14 \x01(\x0b\x32 .v1alpha2.TelemetryComponentSpec\"\xc5\x02\n\x13SecurityFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12<\n\ncomponents\x18\x32 \x01(\x0b\x32(.v1alpha2.SecurityFeatureSpec.Components\x1a\xc0\x01\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12/\n\x07\x63itadel\x18\x14 \x01(\x0b\x32\x1e.v1alpha2.CitadelComponentSpec\x12\x38\n\x0c\x63\x65rt_manager\x18\x15 \x01(\x0b\x32\".v1alpha2.CertManagerComponentSpec\x12\x34\n\nnode_agent\x18\x16 \x01(\x0b\x32 .v1alpha2.NodeAgentComponentSpec\"\xe2\x01\n\x1b\x43onfigManagementFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x44\n\ncomponents\x18\x32 \x01(\x0b\x32\x30.v1alpha2.ConfigManagementFeatureSpec.Components\x1aN\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12-\n\x06galley\x18\x14 \x01(\x0b\x32\x1d.v1alpha2.GalleyComponentSpec\"\xe7\x01\n\x18\x41utoInjectionFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x41\n\ncomponents\x18\x32 \x01(\x0b\x32-.v1alpha2.AutoInjectionFeatureSpec.Components\x1aY\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\x08injector\x18\x14 \x01(\x0b\x32&.v1alpha2.SidecarInjectorComponentSpec\"\xa0\x02\n\x12GatewayFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12;\n\ncomponents\x18\x32 \x01(\x0b\x32\'.v1alpha2.GatewayFeatureSpec.Components\x1a\x9d\x01\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12>\n\x0fingress_gateway\x18\x1f \x01(\x0b\x32%.v1alpha2.IngressGatewayComponentSpec\x12<\n\x0e\x65gress_gateway\x18 \x01(\x0b\x32$.v1alpha2.EgressGatewayComponentSpec\"\xc2\x01\n\x0e\x43NIFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x37\n\ncomponents\x18\x32 \x01(\x0b\x32#.v1alpha2.CNIFeatureSpec.Components\x1aH\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\'\n\x03\x63ni\x18\x14 \x01(\x0b\x32\x1a.v1alpha2.CNIComponentSpec\"\xd2\x01\n\x12\x43oreDNSFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12;\n\ncomponents\x18\x32 \x01(\x0b\x32\'.v1alpha2.CoreDNSFeatureSpec.Components\x1aP\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12/\n\x07\x63oreDNS\x18\x14 \x01(\x0b\x32\x1e.v1alpha2.CoreDNSComponentSpec\"B\n\x11\x42\x61seComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\"\x86\x01\n\x12PilotComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x86\x01\n\x12ProxyComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x90\x01\n\x1cSidecarInjectorComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x87\x01\n\x13PolicyComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8a\x01\n\x16TelemetryComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x88\x01\n\x14\x43itadelComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8c\x01\n\x18\x43\x65rtManagerComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8a\x01\n\x16NodeAgentComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x87\x01\n\x13GalleyComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8f\x01\n\x1bIngressGatewayComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8e\x01\n\x1a\x45gressGatewayComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x84\x01\n\x10\x43NIComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x88\x01\n\x14\x43oreDNSComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\xfa\x06\n\x17KubernetesResourcesSpec\x12.\n\x08\x61\x66\x66inity\x18\x01 \x01(\x0b\x32\x1c.k8s.io.api.core.v1.Affinity\x12\'\n\x03\x65nv\x18\x02 \x03(\x0b\x32\x1a.k8s.io.api.core.v1.EnvVar\x12M\n\x08hpa_spec\x18\x03 \x01(\x0b\x32;.k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec\x12\x19\n\x11image_pull_policy\x18\x04 \x01(\t\x12J\n\rnode_selector\x18\x05 \x03(\x0b\x32\x33.v1alpha2.KubernetesResourcesSpec.NodeSelectorEntry\x12@\n\x15pod_disruption_budget\x18\x06 \x01(\x0b\x32!.v1alpha2.PodDisruptionBudgetSpec\x12N\n\x0fpod_annotations\x18\x07 \x03(\x0b\x32\x35.v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry\x12\x1b\n\x13priority_class_name\x18\x08 \x01(\t\x12\x31\n\x0freadiness_probe\x18\t \x01(\x0b\x32\x18.v1alpha2.ReadinessProbe\x12\x15\n\rreplica_count\x18\n \x01(\r\x12&\n\tresources\x18\x0b \x01(\x0b\x32\x13.v1alpha2.Resources\x12\x30\n\x07service\x18\x0c \x01(\x0b\x32\x1f.k8s.io.api.core.v1.ServiceSpec\x12.\n\x08strategy\x18\r \x01(\x0b\x32\x1c.v1alpha2.DeploymentStrategy\x12\x33\n\x0btolerations\x18\x0e \x03(\x0b\x32\x1e.k8s.io.api.core.v1.Toleration\x12,\n\x08overlays\x18\x64 \x03(\x0b\x32\x1a.v1alpha2.k8sObjectOverlay\x1a\x33\n\x11NodeSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13PodAnnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbd\x01\n\x10k8sObjectOverlay\x12\x13\n\x0b\x61pi_version\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x35\n\x07patches\x18\x04 \x03(\x0b\x32$.v1alpha2.k8sObjectOverlay.PathValue\x1a\x41\n\tPathValue\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.v1alpha2.TypeInterface\"\xdc\x02\n\rInstallStatus\x12\x33\n\x06status\x18\x01 \x03(\x0b\x32#.v1alpha2.InstallStatus.StatusEntry\x1au\n\rVersionStatus\x12\x0f\n\x07version\x18\x01 \x01(\t\x12.\n\x06status\x18\x02 \x01(\x0e\x32\x1e.v1alpha2.InstallStatus.Status\x12\x14\n\x0cstatusString\x18\x03 \x01(\t\x12\r\n\x05\x65rror\x18\x04 \x01(\t\x1aT\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.v1alpha2.InstallStatus.VersionStatus:\x02\x38\x01\"I\n\x06Status\x12\x08\n\x04NONE\x10\x00\x12\x0c\n\x08UPDATING\x10\x01\x12\x0b\n\x07HEALTHY\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x12\x0f\n\x0bRECONCILING\x10\x04\"\xd1\x01\n\tResources\x12/\n\x06limits\x18\x01 \x03(\x0b\x32\x1f.v1alpha2.Resources.LimitsEntry\x12\x33\n\x08requests\x18\x02 \x03(\x0b\x32!.v1alpha2.Resources.RequestsEntry\x1a-\n\x0bLimitsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rRequestsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8c\x02\n\x0eReadinessProbe\x12\"\n\x04\x65xec\x18\x01 \x01(\x0b\x32\x14.v1alpha2.ExecAction\x12(\n\x07httpGet\x18\x02 \x01(\x0b\x32\x17.v1alpha2.HTTPGetAction\x12,\n\ttcpSocket\x18\x03 \x01(\x0b\x32\x19.v1alpha2.TCPSocketAction\x12\x1b\n\x13initialDelaySeconds\x18\x04 \x01(\x05\x12\x16\n\x0etimeoutSeconds\x18\x05 \x01(\x05\x12\x15\n\rperiodSeconds\x18\x06 \x01(\x05\x12\x18\n\x10successThreshold\x18\x07 \x01(\x05\x12\x18\n\x10\x66\x61ilureThreshold\x18\x08 \x01(\x05\"\x1d\n\nExecAction\x12\x0f\n\x07\x63ommand\x18\x01 \x03(\t\"\x94\x01\n\rHTTPGetAction\x12\x0c\n\x04path\x18\x01 \x01(\t\x12,\n\x04port\x18\x02 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x0c\n\x04host\x18\x03 \x01(\t\x12\x0e\n\x06scheme\x18\x04 \x01(\t\x12)\n\x0bhttpHeaders\x18\x05 \x03(\x0b\x32\x14.v1alpha2.HTTPHeader\")\n\nHTTPHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"M\n\x0fTCPSocketAction\x12,\n\x04port\x18\x01 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x0c\n\x04host\x18\x02 \x01(\t\"\x8e\x01\n\x17PodDisruptionBudgetSpec\x12\x14\n\x0cminAvailable\x18\x01 \x01(\r\x12\x45\n\x08selector\x18\x02 \x01(\x0b\x32\x33.k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector\x12\x16\n\x0emaxUnavailable\x18\x03 \x01(\r\"\\\n\x12\x44\x65ploymentStrategy\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x38\n\rrollingUpdate\x18\x02 \x01(\x0b\x32!.v1alpha2.RollingUpdateDeployment\"\x83\x01\n\x17RollingUpdateDeployment\x12\x36\n\x0emaxUnavailable\x18\x01 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x30\n\x08maxSurge\x18\x02 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\"-\n\nObjectMeta\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x11\n\tnamespace\x18\x06 \x01(\t\"\x18\n\x16TypeMapStringInterface\"\x0f\n\rTypeInterface\"\x16\n\x14TypeIntOrStringForPB\"\x14\n\x12TypeBoolValueForPBb\x06proto3') + serialized_pb=_b('\n5pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto\x12\x08v1alpha2\x1a\"k8s.io/api/core/v1/generated.proto\x1a.k8s.io/api/autoscaling/v2beta1/generated.proto\x1a\x34k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto\x1a@github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto\"\xa2\x01\n\x11IstioControlPlane\x12-\n\x04spec\x18\x03 \x01(\x0b\x32\x1f.v1alpha2.IstioControlPlaneSpec\x12\'\n\x06status\x18\x04 \x01(\x0b\x32\x17.v1alpha2.InstallStatus\x12\x0c\n\x04kind\x18\x05 \x01(\t\x12\x12\n\napiVersion\x18\x06 \x01(\t\x12\x13\n\x0bplaceholder\x18o \x01(\t\"\xec\x05\n\x15IstioControlPlaneSpec\x12\x19\n\x11\x64\x65\x66\x61ult_namespace\x18\x05 \x01(\t\x12\'\n\x04\x62\x61se\x18\x14 \x01(\x0b\x32\x19.v1alpha2.BaseFeatureSpec\x12\x42\n\x12traffic_management\x18\x19 \x01(\x0b\x32&.v1alpha2.TrafficManagementFeatureSpec\x12+\n\x06policy\x18\x1a \x01(\x0b\x32\x1b.v1alpha2.PolicyFeatureSpec\x12\x31\n\ttelemetry\x18\x1b \x01(\x0b\x32\x1e.v1alpha2.TelemetryFeatureSpec\x12/\n\x08security\x18\x1c \x01(\x0b\x32\x1d.v1alpha2.SecurityFeatureSpec\x12@\n\x11\x63onfig_management\x18\x1d \x01(\x0b\x32%.v1alpha2.ConfigManagementFeatureSpec\x12:\n\x0e\x61uto_injection\x18\x1e \x01(\x0b\x32\".v1alpha2.AutoInjectionFeatureSpec\x12.\n\x08gateways\x18\x1f \x01(\x0b\x32\x1c.v1alpha2.GatewayFeatureSpec\x12%\n\x03\x63ni\x18 \x01(\x0b\x32\x18.v1alpha2.CNIFeatureSpec\x12-\n\x07\x63oreDNS\x18! \x01(\x0b\x32\x1c.v1alpha2.CoreDNSFeatureSpec\x12\x30\n\x06values\x18\x32 \x01(\x0b\x32 .v1alpha2.TypeMapStringInterface\x12;\n\x11unvalidatedValues\x18\x33 \x01(\x0b\x32 .v1alpha2.TypeMapStringInterface\x12\x0f\n\x07profile\x18\x64 \x01(\t\x12\x1c\n\x14install_package_path\x18\x66 \x01(\t\x12\x0b\n\x03hub\x18n \x01(\t\x12\x0b\n\x03tag\x18o \x01(\t\"\xb3\x01\n\x0f\x42\x61seFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x38\n\ncomponents\x18\x32 \x01(\x0b\x32$.v1alpha2.BaseFeatureSpec.Components\x1a\x37\n\nComponents\x12)\n\x04\x62\x61se\x18\x14 \x01(\x0b\x32\x1b.v1alpha2.BaseComponentSpec\"\x8f\x02\n\x1cTrafficManagementFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x45\n\ncomponents\x18\x32 \x01(\x0b\x32\x31.v1alpha2.TrafficManagementFeatureSpec.Components\x1ay\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12+\n\x05pilot\x18\x14 \x01(\x0b\x32\x1c.v1alpha2.PilotComponentSpec\x12+\n\x05proxy\x18\x15 \x01(\x0b\x32\x1c.v1alpha2.ProxyComponentSpec\"\xce\x01\n\x11PolicyFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12:\n\ncomponents\x18\x32 \x01(\x0b\x32&.v1alpha2.PolicyFeatureSpec.Components\x1aN\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12-\n\x06policy\x18\x14 \x01(\x0b\x32\x1d.v1alpha2.PolicyComponentSpec\"\xda\x01\n\x14TelemetryFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12=\n\ncomponents\x18\x32 \x01(\x0b\x32).v1alpha2.TelemetryFeatureSpec.Components\x1aT\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x33\n\ttelemetry\x18\x14 \x01(\x0b\x32 .v1alpha2.TelemetryComponentSpec\"\xc5\x02\n\x13SecurityFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12<\n\ncomponents\x18\x32 \x01(\x0b\x32(.v1alpha2.SecurityFeatureSpec.Components\x1a\xc0\x01\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12/\n\x07\x63itadel\x18\x14 \x01(\x0b\x32\x1e.v1alpha2.CitadelComponentSpec\x12\x38\n\x0c\x63\x65rt_manager\x18\x15 \x01(\x0b\x32\".v1alpha2.CertManagerComponentSpec\x12\x34\n\nnode_agent\x18\x16 \x01(\x0b\x32 .v1alpha2.NodeAgentComponentSpec\"\xe2\x01\n\x1b\x43onfigManagementFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x44\n\ncomponents\x18\x32 \x01(\x0b\x32\x30.v1alpha2.ConfigManagementFeatureSpec.Components\x1aN\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12-\n\x06galley\x18\x14 \x01(\x0b\x32\x1d.v1alpha2.GalleyComponentSpec\"\xe7\x01\n\x18\x41utoInjectionFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x41\n\ncomponents\x18\x32 \x01(\x0b\x32-.v1alpha2.AutoInjectionFeatureSpec.Components\x1aY\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x38\n\x08injector\x18\x14 \x01(\x0b\x32&.v1alpha2.SidecarInjectorComponentSpec\"\xa0\x02\n\x12GatewayFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12;\n\ncomponents\x18\x32 \x01(\x0b\x32\'.v1alpha2.GatewayFeatureSpec.Components\x1a\x9d\x01\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12>\n\x0fingress_gateway\x18\x1f \x01(\x0b\x32%.v1alpha2.IngressGatewayComponentSpec\x12<\n\x0e\x65gress_gateway\x18 \x01(\x0b\x32$.v1alpha2.EgressGatewayComponentSpec\"\xc2\x01\n\x0e\x43NIFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x37\n\ncomponents\x18\x32 \x01(\x0b\x32#.v1alpha2.CNIFeatureSpec.Components\x1aH\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\'\n\x03\x63ni\x18\x14 \x01(\x0b\x32\x1a.v1alpha2.CNIComponentSpec\"\xd2\x01\n\x12\x43oreDNSFeatureSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12;\n\ncomponents\x18\x32 \x01(\x0b\x32\'.v1alpha2.CoreDNSFeatureSpec.Components\x1aP\n\nComponents\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12/\n\x07\x63oreDNS\x18\x14 \x01(\x0b\x32\x1e.v1alpha2.CoreDNSComponentSpec\"B\n\x11\x42\x61seComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\"\x86\x01\n\x12PilotComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x86\x01\n\x12ProxyComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x90\x01\n\x1cSidecarInjectorComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x87\x01\n\x13PolicyComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8a\x01\n\x16TelemetryComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x88\x01\n\x14\x43itadelComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8c\x01\n\x18\x43\x65rtManagerComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8a\x01\n\x16NodeAgentComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x87\x01\n\x13GalleyComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8f\x01\n\x1bIngressGatewayComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8e\x01\n\x1a\x45gressGatewayComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x84\x01\n\x10\x43NIComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x88\x01\n\x14\x43oreDNSComponentSpec\x12-\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1c.v1alpha2.TypeBoolValueForPB\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12.\n\x03k8s\x18P \x01(\x0b\x32!.v1alpha2.KubernetesResourcesSpec\"\x8d\x08\n\x17KubernetesResourcesSpec\x12.\n\x08\x61\x66\x66inity\x18\x01 \x01(\x0b\x32\x1c.k8s.io.api.core.v1.Affinity\x12\'\n\x03\x65nv\x18\x02 \x03(\x0b\x32\x1a.k8s.io.api.core.v1.EnvVar\x12M\n\x08hpa_spec\x18\x03 \x01(\x0b\x32;.k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec\x12\x19\n\x11image_pull_policy\x18\x04 \x01(\t\x12J\n\rnode_selector\x18\x05 \x03(\x0b\x32\x33.v1alpha2.KubernetesResourcesSpec.NodeSelectorEntry\x12@\n\x15pod_disruption_budget\x18\x06 \x01(\x0b\x32!.v1alpha2.PodDisruptionBudgetSpec\x12N\n\x0fpod_annotations\x18\x07 \x03(\x0b\x32\x35.v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry\x12\x1b\n\x13priority_class_name\x18\x08 \x01(\t\x12\x31\n\x0freadiness_probe\x18\t \x01(\x0b\x32\x18.v1alpha2.ReadinessProbe\x12\x15\n\rreplica_count\x18\n \x01(\r\x12&\n\tresources\x18\x0b \x01(\x0b\x32\x13.v1alpha2.Resources\x12\x30\n\x07service\x18\x0c \x01(\x0b\x32\x1f.k8s.io.api.core.v1.ServiceSpec\x12.\n\x08strategy\x18\r \x01(\x0b\x32\x1c.v1alpha2.DeploymentStrategy\x12\x33\n\x0btolerations\x18\x0e \x03(\x0b\x32\x1e.k8s.io.api.core.v1.Toleration\x12V\n\x13service_annotations\x18\x0f \x03(\x0b\x32\x39.v1alpha2.KubernetesResourcesSpec.ServiceAnnotationsEntry\x12,\n\x08overlays\x18\x64 \x03(\x0b\x32\x1a.v1alpha2.k8sObjectOverlay\x1a\x33\n\x11NodeSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x35\n\x13PodAnnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a\x39\n\x17ServiceAnnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xbd\x01\n\x10k8sObjectOverlay\x12\x13\n\x0b\x61pi_version\x18\x01 \x01(\t\x12\x0c\n\x04kind\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x35\n\x07patches\x18\x04 \x03(\x0b\x32$.v1alpha2.k8sObjectOverlay.PathValue\x1a\x41\n\tPathValue\x12\x0c\n\x04path\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.v1alpha2.TypeInterface\"\xdc\x02\n\rInstallStatus\x12\x33\n\x06status\x18\x01 \x03(\x0b\x32#.v1alpha2.InstallStatus.StatusEntry\x1au\n\rVersionStatus\x12\x0f\n\x07version\x18\x01 \x01(\t\x12.\n\x06status\x18\x02 \x01(\x0e\x32\x1e.v1alpha2.InstallStatus.Status\x12\x14\n\x0cstatusString\x18\x03 \x01(\t\x12\r\n\x05\x65rror\x18\x04 \x01(\t\x1aT\n\x0bStatusEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.v1alpha2.InstallStatus.VersionStatus:\x02\x38\x01\"I\n\x06Status\x12\x08\n\x04NONE\x10\x00\x12\x0c\n\x08UPDATING\x10\x01\x12\x0b\n\x07HEALTHY\x10\x02\x12\t\n\x05\x45RROR\x10\x03\x12\x0f\n\x0bRECONCILING\x10\x04\"\xd1\x01\n\tResources\x12/\n\x06limits\x18\x01 \x03(\x0b\x32\x1f.v1alpha2.Resources.LimitsEntry\x12\x33\n\x08requests\x18\x02 \x03(\x0b\x32!.v1alpha2.Resources.RequestsEntry\x1a-\n\x0bLimitsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rRequestsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x8c\x02\n\x0eReadinessProbe\x12\"\n\x04\x65xec\x18\x01 \x01(\x0b\x32\x14.v1alpha2.ExecAction\x12(\n\x07httpGet\x18\x02 \x01(\x0b\x32\x17.v1alpha2.HTTPGetAction\x12,\n\ttcpSocket\x18\x03 \x01(\x0b\x32\x19.v1alpha2.TCPSocketAction\x12\x1b\n\x13initialDelaySeconds\x18\x04 \x01(\x05\x12\x16\n\x0etimeoutSeconds\x18\x05 \x01(\x05\x12\x15\n\rperiodSeconds\x18\x06 \x01(\x05\x12\x18\n\x10successThreshold\x18\x07 \x01(\x05\x12\x18\n\x10\x66\x61ilureThreshold\x18\x08 \x01(\x05\"\x1d\n\nExecAction\x12\x0f\n\x07\x63ommand\x18\x01 \x03(\t\"\x94\x01\n\rHTTPGetAction\x12\x0c\n\x04path\x18\x01 \x01(\t\x12,\n\x04port\x18\x02 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x0c\n\x04host\x18\x03 \x01(\t\x12\x0e\n\x06scheme\x18\x04 \x01(\t\x12)\n\x0bhttpHeaders\x18\x05 \x03(\x0b\x32\x14.v1alpha2.HTTPHeader\")\n\nHTTPHeader\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"M\n\x0fTCPSocketAction\x12,\n\x04port\x18\x01 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x0c\n\x04host\x18\x02 \x01(\t\"\x8e\x01\n\x17PodDisruptionBudgetSpec\x12\x14\n\x0cminAvailable\x18\x01 \x01(\r\x12\x45\n\x08selector\x18\x02 \x01(\x0b\x32\x33.k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector\x12\x16\n\x0emaxUnavailable\x18\x03 \x01(\r\"\\\n\x12\x44\x65ploymentStrategy\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x38\n\rrollingUpdate\x18\x02 \x01(\x0b\x32!.v1alpha2.RollingUpdateDeployment\"\x83\x01\n\x17RollingUpdateDeployment\x12\x36\n\x0emaxUnavailable\x18\x01 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x30\n\x08maxSurge\x18\x02 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\"-\n\nObjectMeta\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x11\n\tnamespace\x18\x06 \x01(\t\"\x18\n\x16TypeMapStringInterface\"\x0f\n\rTypeInterface\"\x16\n\x14TypeIntOrStringForPB\"\x14\n\x12TypeBoolValueForPBb\x06proto3') , dependencies=[k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2.DESCRIPTOR,k8s_dot_io_dot_api_dot_autoscaling_dot_v2beta1_dot_generated__pb2.DESCRIPTOR,k8s_dot_io_dot_apimachinery_dot_pkg_dot_apis_dot_meta_dot_v1_dot_generated__pb2.DESCRIPTOR,github_dot_com_dot_gogo_dot_protobuf_dot_protobuf_dot_google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) @@ -59,8 +59,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=6820, - serialized_end=6893, + serialized_start=6967, + serialized_end=7040, ) _sym_db.RegisterEnumDescriptor(_INSTALLSTATUS_STATUS) @@ -1687,8 +1687,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6244, - serialized_end=6295, + serialized_start=6332, + serialized_end=6383, ) _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY = _descriptor.Descriptor( @@ -1724,8 +1724,45 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6297, - serialized_end=6350, + serialized_start=6385, + serialized_end=6438, +) + +_KUBERNETESRESOURCESSPEC_SERVICEANNOTATIONSENTRY = _descriptor.Descriptor( + name='ServiceAnnotationsEntry', + full_name='v1alpha2.KubernetesResourcesSpec.ServiceAnnotationsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='v1alpha2.KubernetesResourcesSpec.ServiceAnnotationsEntry.key', 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, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='value', full_name='v1alpha2.KubernetesResourcesSpec.ServiceAnnotationsEntry.value', 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, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=_b('8\001'), + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6440, + serialized_end=6497, ) _KUBERNETESRESOURCESSPEC = _descriptor.Descriptor( @@ -1834,7 +1871,14 @@ is_extension=False, extension_scope=None, serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='overlays', full_name='v1alpha2.KubernetesResourcesSpec.overlays', index=14, + name='service_annotations', full_name='v1alpha2.KubernetesResourcesSpec.service_annotations', index=14, + number=15, 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, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='overlays', full_name='v1alpha2.KubernetesResourcesSpec.overlays', index=15, number=100, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, @@ -1843,7 +1887,7 @@ ], extensions=[ ], - nested_types=[_KUBERNETESRESOURCESSPEC_NODESELECTORENTRY, _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY, ], + nested_types=[_KUBERNETESRESOURCESSPEC_NODESELECTORENTRY, _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY, _KUBERNETESRESOURCESSPEC_SERVICEANNOTATIONSENTRY, ], enum_types=[ ], serialized_options=None, @@ -1853,7 +1897,7 @@ oneofs=[ ], serialized_start=5460, - serialized_end=6350, + serialized_end=6497, ) @@ -1890,8 +1934,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6477, - serialized_end=6542, + serialized_start=6624, + serialized_end=6689, ) _K8SOBJECTOVERLAY = _descriptor.Descriptor( @@ -1941,8 +1985,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6353, - serialized_end=6542, + serialized_start=6500, + serialized_end=6689, ) @@ -1993,8 +2037,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6615, - serialized_end=6732, + serialized_start=6762, + serialized_end=6879, ) _INSTALLSTATUS_STATUSENTRY = _descriptor.Descriptor( @@ -2030,8 +2074,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6734, - serialized_end=6818, + serialized_start=6881, + serialized_end=6965, ) _INSTALLSTATUS = _descriptor.Descriptor( @@ -2061,8 +2105,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6545, - serialized_end=6893, + serialized_start=6692, + serialized_end=7040, ) @@ -2099,8 +2143,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7011, - serialized_end=7056, + serialized_start=7158, + serialized_end=7203, ) _RESOURCES_REQUESTSENTRY = _descriptor.Descriptor( @@ -2136,8 +2180,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7058, - serialized_end=7105, + serialized_start=7205, + serialized_end=7252, ) _RESOURCES = _descriptor.Descriptor( @@ -2173,8 +2217,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6896, - serialized_end=7105, + serialized_start=7043, + serialized_end=7252, ) @@ -2253,8 +2297,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7108, - serialized_end=7376, + serialized_start=7255, + serialized_end=7523, ) @@ -2284,8 +2328,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7378, - serialized_end=7407, + serialized_start=7525, + serialized_end=7554, ) @@ -2343,8 +2387,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7410, - serialized_end=7558, + serialized_start=7557, + serialized_end=7705, ) @@ -2381,8 +2425,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7560, - serialized_end=7601, + serialized_start=7707, + serialized_end=7748, ) @@ -2419,8 +2463,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7603, - serialized_end=7680, + serialized_start=7750, + serialized_end=7827, ) @@ -2464,8 +2508,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7683, - serialized_end=7825, + serialized_start=7830, + serialized_end=7972, ) @@ -2502,8 +2546,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7827, - serialized_end=7919, + serialized_start=7974, + serialized_end=8066, ) @@ -2540,8 +2584,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7922, - serialized_end=8053, + serialized_start=8069, + serialized_end=8200, ) @@ -2578,8 +2622,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8055, - serialized_end=8100, + serialized_start=8202, + serialized_end=8247, ) @@ -2602,8 +2646,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8102, - serialized_end=8126, + serialized_start=8249, + serialized_end=8273, ) @@ -2626,8 +2670,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8128, - serialized_end=8143, + serialized_start=8275, + serialized_end=8290, ) @@ -2650,8 +2694,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8145, - serialized_end=8167, + serialized_start=8292, + serialized_end=8314, ) @@ -2674,8 +2718,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8169, - serialized_end=8189, + serialized_start=8316, + serialized_end=8336, ) _ISTIOCONTROLPLANE.fields_by_name['spec'].message_type = _ISTIOCONTROLPLANESPEC @@ -2765,6 +2809,7 @@ _COREDNSCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC _KUBERNETESRESOURCESSPEC_NODESELECTORENTRY.containing_type = _KUBERNETESRESOURCESSPEC _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY.containing_type = _KUBERNETESRESOURCESSPEC +_KUBERNETESRESOURCESSPEC_SERVICEANNOTATIONSENTRY.containing_type = _KUBERNETESRESOURCESSPEC _KUBERNETESRESOURCESSPEC.fields_by_name['affinity'].message_type = k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2._AFFINITY _KUBERNETESRESOURCESSPEC.fields_by_name['env'].message_type = k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2._ENVVAR _KUBERNETESRESOURCESSPEC.fields_by_name['hpa_spec'].message_type = k8s_dot_io_dot_api_dot_autoscaling_dot_v2beta1_dot_generated__pb2._HORIZONTALPODAUTOSCALERSPEC @@ -2776,6 +2821,7 @@ _KUBERNETESRESOURCESSPEC.fields_by_name['service'].message_type = k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2._SERVICESPEC _KUBERNETESRESOURCESSPEC.fields_by_name['strategy'].message_type = _DEPLOYMENTSTRATEGY _KUBERNETESRESOURCESSPEC.fields_by_name['tolerations'].message_type = k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2._TOLERATION +_KUBERNETESRESOURCESSPEC.fields_by_name['service_annotations'].message_type = _KUBERNETESRESOURCESSPEC_SERVICEANNOTATIONSENTRY _KUBERNETESRESOURCESSPEC.fields_by_name['overlays'].message_type = _K8SOBJECTOVERLAY _K8SOBJECTOVERLAY_PATHVALUE.fields_by_name['value'].message_type = _TYPEINTERFACE _K8SOBJECTOVERLAY_PATHVALUE.containing_type = _K8SOBJECTOVERLAY @@ -3122,6 +3168,13 @@ # @@protoc_insertion_point(class_scope:v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry) }) , + + 'ServiceAnnotationsEntry' : _reflection.GeneratedProtocolMessageType('ServiceAnnotationsEntry', (_message.Message,), { + 'DESCRIPTOR' : _KUBERNETESRESOURCESSPEC_SERVICEANNOTATIONSENTRY, + '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' + # @@protoc_insertion_point(class_scope:v1alpha2.KubernetesResourcesSpec.ServiceAnnotationsEntry) + }) + , 'DESCRIPTOR' : _KUBERNETESRESOURCESSPEC, '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' # @@protoc_insertion_point(class_scope:v1alpha2.KubernetesResourcesSpec) @@ -3129,6 +3182,7 @@ _sym_db.RegisterMessage(KubernetesResourcesSpec) _sym_db.RegisterMessage(KubernetesResourcesSpec.NodeSelectorEntry) _sym_db.RegisterMessage(KubernetesResourcesSpec.PodAnnotationsEntry) +_sym_db.RegisterMessage(KubernetesResourcesSpec.ServiceAnnotationsEntry) k8sObjectOverlay = _reflection.GeneratedProtocolMessageType('k8sObjectOverlay', (_message.Message,), { @@ -3285,6 +3339,7 @@ _KUBERNETESRESOURCESSPEC_NODESELECTORENTRY._options = None _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY._options = None +_KUBERNETESRESOURCESSPEC_SERVICEANNOTATIONSENTRY._options = None _INSTALLSTATUS_STATUSENTRY._options = None _RESOURCES_LIMITSENTRY._options = None _RESOURCES_REQUESTSENTRY._options = None