From a009064b3af1781bfa9b7c134e34920128280638 Mon Sep 17 00:00:00 2001 From: Xinnan Wen Date: Thu, 19 Dec 2019 17:51:05 -0800 Subject: [PATCH 1/5] add service to k8s spec --- cmd/mesh/manifest-generate_test.go | 9 + .../input/ingressgateway_k8s_settings.yaml | 27 + .../output/ingressgateway_k8s_settings.yaml | 6225 +++++++++++++++++ data/translateConfig/translateConfig-1.4.yaml | 2 + pkg/vfs/assets.gen.go | 2 + 5 files changed, 6265 insertions(+) create mode 100644 cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml create mode 100644 cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml diff --git a/cmd/mesh/manifest-generate_test.go b/cmd/mesh/manifest-generate_test.go index 9f43e9e38..7865f9f2e 100644 --- a/cmd/mesh/manifest-generate_test.go +++ b/cmd/mesh/manifest-generate_test.go @@ -144,6 +144,15 @@ func TestManifestGenerateTelemetry(t *testing.T) { }) } +func TestManifestGenerateGateway(t *testing.T) { + runTestGroup(t, testGroup{ + { + desc: "ingressgateway_k8s_settings", + diffSelect: "Deployment:*:istio-ingressgateway, Service:*:istio-ingressgateway", + }, + }) +} + func TestManifestGenerateOrdered(t *testing.T) { testDataDir = filepath.Join(repoRootDir, "cmd/mesh/testdata/manifest-generate") // Since this is testing the special case of stable YAML output order, it diff --git a/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml new file mode 100644 index 000000000..f1d4d7ddd --- /dev/null +++ b/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml @@ -0,0 +1,27 @@ +apiVersion: install.istio.io/v1alpha2 +kind: IstioControlPlane +spec: + hub: docker.io/istio + tag: 1.1.4 + defaultNamespace: istio-control + trafficManagement: + enabled: false + policy: + enabled: false + security: + enabled: false + configManagement: + enabled: false + autoInjection: + enabled: false + gateways: + enabled: true + components: + ingressGateway: + enabled: true + k8s: + service: + externalTrafficPolicy: Local + + telemetry: + enabled: false diff --git a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml new file mode 100644 index 000000000..0fcb77511 --- /dev/null +++ b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml @@ -0,0 +1,6225 @@ +# Resources for Base component + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: istio-reader-istio-control + labels: + app: istio-reader + release: istio +rules: +- apiGroups: + - "config.istio.io" + - "rbac.istio.io" + - "security.istio.io" + - "networking.istio.io" + - "authentication.istio.io" + resources: ["*"] + verbs: ["get", "list", "watch"] +- apiGroups: [""] + resources: ["endpoints", "pods", "services", "nodes", "replicationcontrollers"] + verbs: ["get", "list", "watch"] +- apiGroups: ["apps"] + resources: ["replicasets"] + verbs: ["get", "list", "watch"] +--- + + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: istio-reader-istio-control + labels: + app: istio-reader + release: istio +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: istio-reader-istio-control +subjects: + - kind: ServiceAccount + name: istio-reader-service-account + namespace: istio-control +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: mixer + chart: istio + heritage: Tiller + istio: core + package: istio.io.mixer + release: istio + name: attributemanifests.config.istio.io +spec: + group: config.istio.io + names: + categories: + - istio-io + - policy-istio-io + kind: attributemanifest + plural: attributemanifests + singular: attributemanifest + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Describes the rules used to configure Mixer''s policy and + telemetry features. See more details at: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html' + properties: + attributes: + additionalProperties: + properties: + description: + description: A human-readable description of the attribute's purpose. + format: string + type: string + valueType: + description: The type of data carried by this attribute. + enum: + - VALUE_TYPE_UNSPECIFIED + - STRING + - INT64 + - DOUBLE + - BOOL + - TIMESTAMP + - IP_ADDRESS + - EMAIL_ADDRESS + - URI + - DNS_NAME + - DURATION + - STRING_MAP + type: string + type: object + description: The set of attributes this Istio component will be responsible + for producing at runtime. + type: object + name: + description: Name of the component producing these attributes. + format: string + type: string + revision: + description: The revision of this document. + format: string + type: string + type: object + type: object + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + heritage: Tiller + istio: security + release: istio + name: authorizationpolicies.security.istio.io +spec: + group: security.istio.io + names: + categories: + - istio-io + - security-istio-io + kind: AuthorizationPolicy + plural: authorizationpolicies + singular: authorizationpolicy + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration for access control on workloads. See more details + at: https://istio.io/docs/reference/config/security/authorization-policy.html' + properties: + rules: + description: Optional. + items: + properties: + from: + description: Optional. + items: + properties: + source: + description: Source specifies the source of a request. + properties: + ipBlocks: + description: Optional. + items: + format: string + type: string + type: array + namespaces: + description: Optional. + items: + format: string + type: string + type: array + principals: + description: Optional. + items: + format: string + type: string + type: array + requestPrincipals: + description: Optional. + items: + format: string + type: string + type: array + type: object + type: object + type: array + to: + description: Optional. + items: + properties: + operation: + description: Operation specifies the operation of a request. + properties: + hosts: + description: Optional. + items: + format: string + type: string + type: array + methods: + description: Optional. + items: + format: string + type: string + type: array + paths: + description: Optional. + items: + format: string + type: string + type: array + ports: + description: Optional. + items: + format: string + type: string + type: array + type: object + type: object + type: array + when: + description: Optional. + items: + properties: + key: + description: The name of an Istio attribute. + format: string + type: string + values: + description: The allowed values for the attribute. + items: + format: string + type: string + type: array + type: object + type: array + type: object + type: array + selector: + description: Optional. + properties: + matchLabels: + additionalProperties: + format: string + type: string + type: object + type: object + type: object + type: object + versions: + - name: v1beta1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + heritage: Tiller + istio: rbac + release: istio + name: clusterrbacconfigs.rbac.istio.io +spec: + group: rbac.istio.io + names: + categories: + - istio-io + - rbac-istio-io + kind: ClusterRbacConfig + plural: clusterrbacconfigs + singular: clusterrbacconfig + scope: Cluster + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration for Role Based Access Control. See more details + at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' + properties: + enforcementMode: + enum: + - ENFORCED + - PERMISSIVE + type: string + exclusion: + description: A list of services or namespaces that should not be enforced + by Istio RBAC policies. + properties: + namespaces: + description: A list of namespaces. + items: + format: string + type: string + type: array + services: + description: A list of services. + items: + format: string + type: string + type: array + type: object + inclusion: + description: A list of services or namespaces that should be enforced + by Istio RBAC policies. + properties: + namespaces: + description: A list of namespaces. + items: + format: string + type: string + type: array + services: + description: A list of services. + items: + format: string + type: string + type: array + type: object + mode: + description: Istio RBAC mode. + enum: + - "OFF" + - "ON" + - ON_WITH_INCLUSION + - ON_WITH_EXCLUSION + type: string + type: object + type: object + versions: + - name: v1alpha1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + chart: istio + heritage: Tiller + release: istio + name: destinationrules.networking.istio.io +spec: + additionalPrinterColumns: + - JSONPath: .spec.host + description: The name of a service from the service registry + name: Host + type: string + - JSONPath: .metadata.creationTimestamp + description: |- + CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + name: Age + type: date + group: networking.istio.io + names: + categories: + - istio-io + - networking-istio-io + kind: DestinationRule + listKind: DestinationRuleList + plural: destinationrules + shortNames: + - dr + singular: destinationrule + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration affecting load balancing, outlier detection, + etc. See more details at: https://istio.io/docs/reference/config/networking/destination-rule.html' + properties: + exportTo: + description: A list of namespaces to which this destination rule is + exported. + items: + format: string + type: string + type: array + host: + description: The name of a service from the service registry. + format: string + type: string + subsets: + items: + properties: + labels: + additionalProperties: + format: string + type: string + type: object + name: + description: Name of the subset. + format: string + type: string + trafficPolicy: + description: Traffic policies that apply to this subset. + properties: + connectionPool: + properties: + http: + description: HTTP connection pool settings. + properties: + h2UpgradePolicy: + description: Specify if http1.1 connection should + be upgraded to http2 for the associated destination. + enum: + - DEFAULT + - DO_NOT_UPGRADE + - UPGRADE + type: string + http1MaxPendingRequests: + description: Maximum number of pending HTTP requests + to a destination. + format: int32 + type: integer + http2MaxRequests: + description: Maximum number of requests to a backend. + format: int32 + type: integer + idleTimeout: + description: The idle timeout for upstream connection + pool connections. + type: string + maxRequestsPerConnection: + description: Maximum number of requests per connection + to a backend. + format: int32 + type: integer + maxRetries: + format: int32 + type: integer + type: object + tcp: + description: Settings common to both HTTP and TCP upstream + connections. + properties: + connectTimeout: + description: TCP connection timeout. + type: string + maxConnections: + description: Maximum number of HTTP1 /TCP connections + to a destination host. + format: int32 + type: integer + tcpKeepalive: + description: If set then set SO_KEEPALIVE on the socket + to enable TCP Keepalives. + properties: + interval: + description: The time duration between keep-alive + probes. + type: string + probes: + type: integer + time: + type: string + type: object + type: object + type: object + loadBalancer: + description: Settings controlling the load balancer algorithms. + oneOf: + - required: + - simple + - properties: + consistentHash: + oneOf: + - required: + - httpHeaderName + - required: + - httpCookie + - required: + - useSourceIp + required: + - consistentHash + properties: + consistentHash: + properties: + httpCookie: + description: Hash based on HTTP cookie. + properties: + name: + description: Name of the cookie. + format: string + type: string + path: + description: Path to set for the cookie. + format: string + type: string + ttl: + description: Lifetime of the cookie. + type: string + type: object + httpHeaderName: + description: Hash based on a specific HTTP header. + format: string + type: string + minimumRingSize: + type: integer + useSourceIp: + description: Hash based on the source IP address. + type: boolean + type: object + localityLbSetting: + properties: + distribute: + description: 'Optional: only one of distribute or + failover can be set.' + items: + properties: + from: + description: Originating locality, '/' separated, + e.g. + format: string + type: string + to: + additionalProperties: + type: integer + description: Map of upstream localities to traffic + distribution weights. + type: object + type: object + type: array + failover: + description: 'Optional: only failover or distribute + can be set.' + items: + properties: + from: + description: Originating region. + format: string + type: string + to: + format: string + type: string + type: object + type: array + type: object + simple: + enum: + - ROUND_ROBIN + - LEAST_CONN + - RANDOM + - PASSTHROUGH + type: string + type: object + outlierDetection: + properties: + baseEjectionTime: + description: Minimum ejection duration. + type: string + consecutiveErrors: + format: int32 + type: integer + interval: + description: Time interval between ejection sweep analysis. + type: string + maxEjectionPercent: + format: int32 + type: integer + minHealthPercent: + format: int32 + type: integer + type: object + portLevelSettings: + description: Traffic policies specific to individual ports. + items: + properties: + connectionPool: + properties: + http: + description: HTTP connection pool settings. + properties: + h2UpgradePolicy: + description: Specify if http1.1 connection should + be upgraded to http2 for the associated destination. + enum: + - DEFAULT + - DO_NOT_UPGRADE + - UPGRADE + type: string + http1MaxPendingRequests: + description: Maximum number of pending HTTP + requests to a destination. + format: int32 + type: integer + http2MaxRequests: + description: Maximum number of requests to a + backend. + format: int32 + type: integer + idleTimeout: + description: The idle timeout for upstream connection + pool connections. + type: string + maxRequestsPerConnection: + description: Maximum number of requests per + connection to a backend. + format: int32 + type: integer + maxRetries: + format: int32 + type: integer + type: object + tcp: + description: Settings common to both HTTP and TCP + upstream connections. + properties: + connectTimeout: + description: TCP connection timeout. + type: string + maxConnections: + description: Maximum number of HTTP1 /TCP connections + to a destination host. + format: int32 + type: integer + tcpKeepalive: + description: If set then set SO_KEEPALIVE on + the socket to enable TCP Keepalives. + properties: + interval: + description: The time duration between keep-alive + probes. + type: string + probes: + type: integer + time: + type: string + type: object + type: object + type: object + loadBalancer: + description: Settings controlling the load balancer + algorithms. + oneOf: + - required: + - simple + - properties: + consistentHash: + oneOf: + - required: + - httpHeaderName + - required: + - httpCookie + - required: + - useSourceIp + required: + - consistentHash + properties: + consistentHash: + properties: + httpCookie: + description: Hash based on HTTP cookie. + properties: + name: + description: Name of the cookie. + format: string + type: string + path: + description: Path to set for the cookie. + format: string + type: string + ttl: + description: Lifetime of the cookie. + type: string + type: object + httpHeaderName: + description: Hash based on a specific HTTP header. + format: string + type: string + minimumRingSize: + type: integer + useSourceIp: + description: Hash based on the source IP address. + type: boolean + type: object + localityLbSetting: + properties: + distribute: + description: 'Optional: only one of distribute + or failover can be set.' + items: + properties: + from: + description: Originating locality, '/' + separated, e.g. + format: string + type: string + to: + additionalProperties: + type: integer + description: Map of upstream localities + to traffic distribution weights. + type: object + type: object + type: array + failover: + description: 'Optional: only failover or distribute + can be set.' + items: + properties: + from: + description: Originating region. + format: string + type: string + to: + format: string + type: string + type: object + type: array + type: object + simple: + enum: + - ROUND_ROBIN + - LEAST_CONN + - RANDOM + - PASSTHROUGH + type: string + type: object + outlierDetection: + properties: + baseEjectionTime: + description: Minimum ejection duration. + type: string + consecutiveErrors: + format: int32 + type: integer + interval: + description: Time interval between ejection sweep + analysis. + type: string + maxEjectionPercent: + format: int32 + type: integer + minHealthPercent: + format: int32 + type: integer + type: object + port: + properties: + number: + type: integer + type: object + tls: + description: TLS related settings for connections to + the upstream service. + properties: + caCertificates: + format: string + type: string + clientCertificate: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + mode: + enum: + - DISABLE + - SIMPLE + - MUTUAL + - ISTIO_MUTUAL + type: string + privateKey: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + sni: + description: SNI string to present to the server + during TLS handshake. + format: string + type: string + subjectAltNames: + items: + format: string + type: string + type: array + type: object + type: object + type: array + tls: + description: TLS related settings for connections to the upstream + service. + properties: + caCertificates: + format: string + type: string + clientCertificate: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + mode: + enum: + - DISABLE + - SIMPLE + - MUTUAL + - ISTIO_MUTUAL + type: string + privateKey: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + sni: + description: SNI string to present to the server during + TLS handshake. + format: string + type: string + subjectAltNames: + items: + format: string + type: string + type: array + type: object + type: object + type: object + type: array + trafficPolicy: + properties: + connectionPool: + properties: + http: + description: HTTP connection pool settings. + properties: + h2UpgradePolicy: + description: Specify if http1.1 connection should be upgraded + to http2 for the associated destination. + enum: + - DEFAULT + - DO_NOT_UPGRADE + - UPGRADE + type: string + http1MaxPendingRequests: + description: Maximum number of pending HTTP requests to + a destination. + format: int32 + type: integer + http2MaxRequests: + description: Maximum number of requests to a backend. + format: int32 + type: integer + idleTimeout: + description: The idle timeout for upstream connection pool + connections. + type: string + maxRequestsPerConnection: + description: Maximum number of requests per connection to + a backend. + format: int32 + type: integer + maxRetries: + format: int32 + type: integer + type: object + tcp: + description: Settings common to both HTTP and TCP upstream connections. + properties: + connectTimeout: + description: TCP connection timeout. + type: string + maxConnections: + description: Maximum number of HTTP1 /TCP connections to + a destination host. + format: int32 + type: integer + tcpKeepalive: + description: If set then set SO_KEEPALIVE on the socket + to enable TCP Keepalives. + properties: + interval: + description: The time duration between keep-alive probes. + type: string + probes: + type: integer + time: + type: string + type: object + type: object + type: object + loadBalancer: + description: Settings controlling the load balancer algorithms. + oneOf: + - required: + - simple + - properties: + consistentHash: + oneOf: + - required: + - httpHeaderName + - required: + - httpCookie + - required: + - useSourceIp + required: + - consistentHash + properties: + consistentHash: + properties: + httpCookie: + description: Hash based on HTTP cookie. + properties: + name: + description: Name of the cookie. + format: string + type: string + path: + description: Path to set for the cookie. + format: string + type: string + ttl: + description: Lifetime of the cookie. + type: string + type: object + httpHeaderName: + description: Hash based on a specific HTTP header. + format: string + type: string + minimumRingSize: + type: integer + useSourceIp: + description: Hash based on the source IP address. + type: boolean + type: object + localityLbSetting: + properties: + distribute: + description: 'Optional: only one of distribute or failover + can be set.' + items: + properties: + from: + description: Originating locality, '/' separated, + e.g. + format: string + type: string + to: + additionalProperties: + type: integer + description: Map of upstream localities to traffic + distribution weights. + type: object + type: object + type: array + failover: + description: 'Optional: only failover or distribute can + be set.' + items: + properties: + from: + description: Originating region. + format: string + type: string + to: + format: string + type: string + type: object + type: array + type: object + simple: + enum: + - ROUND_ROBIN + - LEAST_CONN + - RANDOM + - PASSTHROUGH + type: string + type: object + outlierDetection: + properties: + baseEjectionTime: + description: Minimum ejection duration. + type: string + consecutiveErrors: + format: int32 + type: integer + interval: + description: Time interval between ejection sweep analysis. + type: string + maxEjectionPercent: + format: int32 + type: integer + minHealthPercent: + format: int32 + type: integer + type: object + portLevelSettings: + description: Traffic policies specific to individual ports. + items: + properties: + connectionPool: + properties: + http: + description: HTTP connection pool settings. + properties: + h2UpgradePolicy: + description: Specify if http1.1 connection should + be upgraded to http2 for the associated destination. + enum: + - DEFAULT + - DO_NOT_UPGRADE + - UPGRADE + type: string + http1MaxPendingRequests: + description: Maximum number of pending HTTP requests + to a destination. + format: int32 + type: integer + http2MaxRequests: + description: Maximum number of requests to a backend. + format: int32 + type: integer + idleTimeout: + description: The idle timeout for upstream connection + pool connections. + type: string + maxRequestsPerConnection: + description: Maximum number of requests per connection + to a backend. + format: int32 + type: integer + maxRetries: + format: int32 + type: integer + type: object + tcp: + description: Settings common to both HTTP and TCP upstream + connections. + properties: + connectTimeout: + description: TCP connection timeout. + type: string + maxConnections: + description: Maximum number of HTTP1 /TCP connections + to a destination host. + format: int32 + type: integer + tcpKeepalive: + description: If set then set SO_KEEPALIVE on the socket + to enable TCP Keepalives. + properties: + interval: + description: The time duration between keep-alive + probes. + type: string + probes: + type: integer + time: + type: string + type: object + type: object + type: object + loadBalancer: + description: Settings controlling the load balancer algorithms. + oneOf: + - required: + - simple + - properties: + consistentHash: + oneOf: + - required: + - httpHeaderName + - required: + - httpCookie + - required: + - useSourceIp + required: + - consistentHash + properties: + consistentHash: + properties: + httpCookie: + description: Hash based on HTTP cookie. + properties: + name: + description: Name of the cookie. + format: string + type: string + path: + description: Path to set for the cookie. + format: string + type: string + ttl: + description: Lifetime of the cookie. + type: string + type: object + httpHeaderName: + description: Hash based on a specific HTTP header. + format: string + type: string + minimumRingSize: + type: integer + useSourceIp: + description: Hash based on the source IP address. + type: boolean + type: object + localityLbSetting: + properties: + distribute: + description: 'Optional: only one of distribute or + failover can be set.' + items: + properties: + from: + description: Originating locality, '/' separated, + e.g. + format: string + type: string + to: + additionalProperties: + type: integer + description: Map of upstream localities to traffic + distribution weights. + type: object + type: object + type: array + failover: + description: 'Optional: only failover or distribute + can be set.' + items: + properties: + from: + description: Originating region. + format: string + type: string + to: + format: string + type: string + type: object + type: array + type: object + simple: + enum: + - ROUND_ROBIN + - LEAST_CONN + - RANDOM + - PASSTHROUGH + type: string + type: object + outlierDetection: + properties: + baseEjectionTime: + description: Minimum ejection duration. + type: string + consecutiveErrors: + format: int32 + type: integer + interval: + description: Time interval between ejection sweep analysis. + type: string + maxEjectionPercent: + format: int32 + type: integer + minHealthPercent: + format: int32 + type: integer + type: object + port: + properties: + number: + type: integer + type: object + tls: + description: TLS related settings for connections to the upstream + service. + properties: + caCertificates: + format: string + type: string + clientCertificate: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + mode: + enum: + - DISABLE + - SIMPLE + - MUTUAL + - ISTIO_MUTUAL + type: string + privateKey: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + sni: + description: SNI string to present to the server during + TLS handshake. + format: string + type: string + subjectAltNames: + items: + format: string + type: string + type: array + type: object + type: object + type: array + tls: + description: TLS related settings for connections to the upstream + service. + properties: + caCertificates: + format: string + type: string + clientCertificate: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + mode: + enum: + - DISABLE + - SIMPLE + - MUTUAL + - ISTIO_MUTUAL + type: string + privateKey: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + sni: + description: SNI string to present to the server during TLS + handshake. + format: string + type: string + subjectAltNames: + items: + format: string + type: string + type: array + type: object + type: object + type: object + type: object + versions: + - name: v1alpha3 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + chart: istio + heritage: Tiller + release: istio + name: envoyfilters.networking.istio.io +spec: + group: networking.istio.io + names: + categories: + - istio-io + - networking-istio-io + kind: EnvoyFilter + plural: envoyfilters + singular: envoyfilter + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Customizing Envoy configuration generated by Istio. See more + details at: https://istio.io/docs/reference/config/networking/envoy-filter.html' + properties: + configPatches: + description: One or more patches with match conditions. + items: + properties: + applyTo: + enum: + - INVALID + - LISTENER + - FILTER_CHAIN + - NETWORK_FILTER + - HTTP_FILTER + - ROUTE_CONFIGURATION + - VIRTUAL_HOST + - HTTP_ROUTE + - CLUSTER + type: string + match: + description: Match on listener/route configuration/cluster. + oneOf: + - required: + - listener + - required: + - routeConfiguration + - required: + - cluster + properties: + cluster: + description: Match on envoy cluster attributes. + properties: + name: + description: The exact name of the cluster to match. + format: string + type: string + portNumber: + description: The service port for which this cluster was + generated. + type: integer + service: + description: The fully qualified service name for this + cluster. + format: string + type: string + subset: + description: The subset associated with the service. + format: string + type: string + type: object + context: + description: The specific config generation context to match + on. + enum: + - ANY + - SIDECAR_INBOUND + - SIDECAR_OUTBOUND + - GATEWAY + type: string + listener: + description: Match on envoy listener attributes. + properties: + filterChain: + description: Match a specific filter chain in a listener. + properties: + applicationProtocols: + description: Applies only to sidecars. + format: string + type: string + filter: + description: The name of a specific filter to apply + the patch to. + properties: + name: + description: The filter name to match on. + format: string + type: string + subFilter: + properties: + name: + description: The filter name to match on. + format: string + type: string + type: object + type: object + name: + description: The name assigned to the filter chain. + format: string + type: string + sni: + description: The SNI value used by a filter chain's + match condition. + format: string + type: string + transportProtocol: + description: Applies only to SIDECAR_INBOUND context. + format: string + type: string + type: object + name: + description: Match a specific listener by its name. + format: string + type: string + portName: + format: string + type: string + portNumber: + type: integer + type: object + proxy: + description: Match on properties associated with a proxy. + properties: + metadata: + additionalProperties: + format: string + type: string + type: object + proxyVersion: + format: string + type: string + type: object + routeConfiguration: + description: Match on envoy HTTP route configuration attributes. + properties: + gateway: + format: string + type: string + name: + description: Route configuration name to match on. + format: string + type: string + portName: + description: Applicable only for GATEWAY context. + format: string + type: string + portNumber: + type: integer + vhost: + properties: + name: + format: string + type: string + route: + description: Match a specific route within the virtual + host. + properties: + action: + description: Match a route with specific action + type. + enum: + - ANY + - ROUTE + - REDIRECT + - DIRECT_RESPONSE + type: string + name: + format: string + type: string + type: object + type: object + type: object + type: object + patch: + description: The patch to apply along with the operation. + properties: + operation: + description: Determines how the patch should be applied. + enum: + - INVALID + - MERGE + - ADD + - REMOVE + - INSERT_BEFORE + - INSERT_AFTER + type: string + value: + description: The JSON config of the object being patched. + type: object + type: object + type: object + type: array + filters: + items: + properties: + filterConfig: + type: object + filterName: + description: The name of the filter to instantiate. + format: string + type: string + filterType: + description: The type of filter to instantiate. + enum: + - INVALID + - HTTP + - NETWORK + type: string + insertPosition: + description: Insert position in the filter chain. + properties: + index: + description: Position of this filter in the filter chain. + enum: + - FIRST + - LAST + - BEFORE + - AFTER + type: string + relativeTo: + format: string + type: string + type: object + listenerMatch: + properties: + address: + description: One or more IP addresses to which the listener + is bound. + items: + format: string + type: string + type: array + listenerProtocol: + description: Selects a class of listeners for the same protocol. + enum: + - ALL + - HTTP + - TCP + type: string + listenerType: + description: Inbound vs outbound sidecar listener or gateway + listener. + enum: + - ANY + - SIDECAR_INBOUND + - SIDECAR_OUTBOUND + - GATEWAY + type: string + portNamePrefix: + format: string + type: string + portNumber: + type: integer + type: object + type: object + type: array + workloadLabels: + additionalProperties: + format: string + type: string + description: Deprecated. + type: object + workloadSelector: + properties: + labels: + additionalProperties: + format: string + type: string + type: object + type: object + type: object + type: object + versions: + - name: v1alpha3 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + chart: istio + heritage: Tiller + release: istio + name: gateways.networking.istio.io +spec: + group: networking.istio.io + names: + categories: + - istio-io + - networking-istio-io + kind: Gateway + plural: gateways + shortNames: + - gw + singular: gateway + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration affecting edge load balancer. See more details + at: https://istio.io/docs/reference/config/networking/gateway.html' + properties: + selector: + additionalProperties: + format: string + type: string + type: object + servers: + description: A list of server specifications. + items: + properties: + bind: + format: string + type: string + defaultEndpoint: + format: string + type: string + hosts: + description: One or more hosts exposed by this gateway. + items: + format: string + type: string + type: array + port: + properties: + name: + description: Label assigned to the port. + format: string + type: string + number: + description: A valid non-negative integer port number. + type: integer + protocol: + description: The protocol exposed on the port. + format: string + type: string + type: object + tls: + description: Set of TLS related options that govern the server's + behavior. + properties: + caCertificates: + description: REQUIRED if mode is `MUTUAL`. + format: string + type: string + cipherSuites: + description: 'Optional: If specified, only support the specified + cipher list.' + items: + format: string + type: string + type: array + credentialName: + format: string + type: string + httpsRedirect: + type: boolean + maxProtocolVersion: + description: 'Optional: Maximum TLS protocol version.' + enum: + - TLS_AUTO + - TLSV1_0 + - TLSV1_1 + - TLSV1_2 + - TLSV1_3 + type: string + minProtocolVersion: + description: 'Optional: Minimum TLS protocol version.' + enum: + - TLS_AUTO + - TLSV1_0 + - TLSV1_1 + - TLSV1_2 + - TLSV1_3 + type: string + mode: + enum: + - PASSTHROUGH + - SIMPLE + - MUTUAL + - AUTO_PASSTHROUGH + - ISTIO_MUTUAL + type: string + privateKey: + description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. + format: string + type: string + serverCertificate: + description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. + format: string + type: string + subjectAltNames: + items: + format: string + type: string + type: array + verifyCertificateHash: + items: + format: string + type: string + type: array + verifyCertificateSpki: + items: + format: string + type: string + type: array + type: object + type: object + type: array + type: object + type: object + versions: + - name: v1alpha3 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-mixer + chart: istio + heritage: Tiller + release: istio + name: httpapispecbindings.config.istio.io +spec: + group: config.istio.io + names: + categories: + - istio-io + - apim-istio-io + kind: HTTPAPISpecBinding + plural: httpapispecbindings + singular: httpapispecbinding + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + api_specs: + items: + properties: + name: + description: The short name of the HTTPAPISpec. + format: string + type: string + namespace: + description: Optional namespace of the HTTPAPISpec. + format: string + type: string + type: object + type: array + apiSpecs: + items: + properties: + name: + description: The short name of the HTTPAPISpec. + format: string + type: string + namespace: + description: Optional namespace of the HTTPAPISpec. + format: string + type: string + type: object + type: array + services: + description: One or more services to map the listed HTTPAPISpec onto. + items: + properties: + domain: + description: Domain suffix used to construct the service FQDN + in implementations that support such specification. + format: string + type: string + labels: + additionalProperties: + format: string + type: string + description: Optional one or more labels that uniquely identify + the service version. + type: object + name: + description: The short name of the service such as "foo". + format: string + type: string + namespace: + description: Optional namespace of the service. + format: string + type: string + service: + description: The service FQDN. + format: string + type: string + type: object + type: array + type: object + type: object + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-mixer + chart: istio + heritage: Tiller + release: istio + name: httpapispecs.config.istio.io +spec: + group: config.istio.io + names: + categories: + - istio-io + - apim-istio-io + kind: HTTPAPISpec + plural: httpapispecs + singular: httpapispec + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + api_keys: + items: + oneOf: + - required: + - query + - required: + - header + - required: + - cookie + properties: + cookie: + format: string + type: string + header: + description: API key is sent in a request header. + format: string + type: string + query: + description: API Key is sent as a query parameter. + format: string + type: string + type: object + type: array + apiKeys: + items: + oneOf: + - required: + - query + - required: + - header + - required: + - cookie + properties: + cookie: + format: string + type: string + header: + description: API key is sent in a request header. + format: string + type: string + query: + description: API Key is sent as a query parameter. + format: string + type: string + type: object + type: array + attributes: + properties: + attributes: + additionalProperties: + oneOf: + - required: + - stringValue + - required: + - int64Value + - required: + - doubleValue + - required: + - boolValue + - required: + - bytesValue + - required: + - timestampValue + - required: + - durationValue + - required: + - stringMapValue + properties: + boolValue: + type: boolean + bytesValue: + format: binary + type: string + doubleValue: + format: double + type: number + durationValue: + type: string + int64Value: + format: int64 + type: integer + stringMapValue: + properties: + entries: + additionalProperties: + format: string + type: string + description: Holds a set of name/value pairs. + type: object + type: object + stringValue: + format: string + type: string + timestampValue: + format: dateTime + type: string + type: object + description: A map of attribute name to its value. + type: object + type: object + patterns: + description: List of HTTP patterns to match. + items: + oneOf: + - required: + - uriTemplate + - required: + - regex + properties: + attributes: + properties: + attributes: + additionalProperties: + oneOf: + - required: + - stringValue + - required: + - int64Value + - required: + - doubleValue + - required: + - boolValue + - required: + - bytesValue + - required: + - timestampValue + - required: + - durationValue + - required: + - stringMapValue + properties: + boolValue: + type: boolean + bytesValue: + format: binary + type: string + doubleValue: + format: double + type: number + durationValue: + type: string + int64Value: + format: int64 + type: integer + stringMapValue: + properties: + entries: + additionalProperties: + format: string + type: string + description: Holds a set of name/value pairs. + type: object + type: object + stringValue: + format: string + type: string + timestampValue: + format: dateTime + type: string + type: object + description: A map of attribute name to its value. + type: object + type: object + httpMethod: + format: string + type: string + regex: + format: string + type: string + uriTemplate: + format: string + type: string + type: object + type: array + type: object + type: object + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-citadel + chart: istio + heritage: Tiller + release: istio + name: meshpolicies.authentication.istio.io +spec: + group: authentication.istio.io + names: + categories: + - istio-io + - authentication-istio-io + kind: MeshPolicy + listKind: MeshPolicyList + plural: meshpolicies + singular: meshpolicy + scope: Cluster + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Authentication policy for Istio services. See more details + at: https://istio.io/docs/reference/config/security/istio.authentication.v1alpha1.html' + properties: + originIsOptional: + type: boolean + origins: + description: List of authentication methods that can be used for origin + authentication. + items: + properties: + jwt: + description: Jwt params for the method. + properties: + audiences: + items: + format: string + type: string + type: array + issuer: + description: Identifies the issuer that issued the JWT. + format: string + type: string + jwks: + description: JSON Web Key Set of public keys to validate signature + of the JWT. + format: string + type: string + jwks_uri: + format: string + type: string + jwksUri: + format: string + type: string + jwt_headers: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtHeaders: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtParams: + description: JWT is sent in a query parameter. + items: + format: string + type: string + type: array + trigger_rules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + triggerRules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + type: object + type: object + type: array + peerIsOptional: + type: boolean + peers: + description: List of authentication methods that can be used for peer + authentication. + items: + oneOf: + - required: + - mtls + - required: + - jwt + properties: + jwt: + properties: + audiences: + items: + format: string + type: string + type: array + issuer: + description: Identifies the issuer that issued the JWT. + format: string + type: string + jwks: + description: JSON Web Key Set of public keys to validate signature + of the JWT. + format: string + type: string + jwks_uri: + format: string + type: string + jwksUri: + format: string + type: string + jwt_headers: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtHeaders: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtParams: + description: JWT is sent in a query parameter. + items: + format: string + type: string + type: array + trigger_rules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + triggerRules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + type: object + mtls: + description: Set if mTLS is used. + properties: + allowTls: + description: WILL BE DEPRECATED, if set, will translates to + `TLS_PERMISSIVE` mode. + type: boolean + mode: + description: Defines the mode of mTLS authentication. + enum: + - STRICT + - PERMISSIVE + type: string + type: object + type: object + type: array + principalBinding: + description: Define whether peer or origin identity should be use for + principal. + enum: + - USE_PEER + - USE_ORIGIN + type: string + targets: + description: List rules to select workloads that the policy should be + applied on. + items: + properties: + name: + description: The name must be a short name from the service registry. + format: string + type: string + ports: + description: Specifies the ports. + items: + oneOf: + - required: + - number + - required: + - name + properties: + name: + format: string + type: string + number: + type: integer + type: object + type: array + type: object + type: array + type: object + type: object + versions: + - name: v1alpha1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-citadel + chart: istio + heritage: Tiller + release: istio + name: policies.authentication.istio.io +spec: + group: authentication.istio.io + names: + categories: + - istio-io + - authentication-istio-io + kind: Policy + plural: policies + singular: policy + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Authentication policy for Istio services. See more details + at: https://istio.io/docs/reference/config/security/istio.authentication.v1alpha1.html' + properties: + originIsOptional: + type: boolean + origins: + description: List of authentication methods that can be used for origin + authentication. + items: + properties: + jwt: + description: Jwt params for the method. + properties: + audiences: + items: + format: string + type: string + type: array + issuer: + description: Identifies the issuer that issued the JWT. + format: string + type: string + jwks: + description: JSON Web Key Set of public keys to validate signature + of the JWT. + format: string + type: string + jwks_uri: + format: string + type: string + jwksUri: + format: string + type: string + jwt_headers: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtHeaders: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtParams: + description: JWT is sent in a query parameter. + items: + format: string + type: string + type: array + trigger_rules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + triggerRules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + type: object + type: object + type: array + peerIsOptional: + type: boolean + peers: + description: List of authentication methods that can be used for peer + authentication. + items: + oneOf: + - required: + - mtls + - required: + - jwt + properties: + jwt: + properties: + audiences: + items: + format: string + type: string + type: array + issuer: + description: Identifies the issuer that issued the JWT. + format: string + type: string + jwks: + description: JSON Web Key Set of public keys to validate signature + of the JWT. + format: string + type: string + jwks_uri: + format: string + type: string + jwksUri: + format: string + type: string + jwt_headers: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtHeaders: + description: JWT is sent in a request header. + items: + format: string + type: string + type: array + jwtParams: + description: JWT is sent in a query parameter. + items: + format: string + type: string + type: array + trigger_rules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + triggerRules: + items: + properties: + excluded_paths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + excludedPaths: + description: List of paths to be excluded from the request. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + included_paths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + includedPaths: + description: List of paths that the request must include. + items: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - suffix + - required: + - regex + properties: + exact: + description: exact string match. + format: string + type: string + prefix: + description: prefix-based match. + format: string + type: string + regex: + description: ECMAscript style regex-based match + as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). + format: string + type: string + suffix: + description: suffix-based match. + format: string + type: string + type: object + type: array + type: object + type: array + type: object + mtls: + description: Set if mTLS is used. + properties: + allowTls: + description: WILL BE DEPRECATED, if set, will translates to + `TLS_PERMISSIVE` mode. + type: boolean + mode: + description: Defines the mode of mTLS authentication. + enum: + - STRICT + - PERMISSIVE + type: string + type: object + type: object + type: array + principalBinding: + description: Define whether peer or origin identity should be use for + principal. + enum: + - USE_PEER + - USE_ORIGIN + type: string + targets: + description: List rules to select workloads that the policy should be + applied on. + items: + properties: + name: + description: The name must be a short name from the service registry. + format: string + type: string + ports: + description: Specifies the ports. + items: + oneOf: + - required: + - number + - required: + - name + properties: + name: + format: string + type: string + number: + type: integer + type: object + type: array + type: object + type: array + type: object + type: object + versions: + - name: v1alpha1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-mixer + chart: istio + heritage: Tiller + release: istio + name: quotaspecbindings.config.istio.io +spec: + group: config.istio.io + names: + categories: + - istio-io + - apim-istio-io + kind: QuotaSpecBinding + plural: quotaspecbindings + singular: quotaspecbinding + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + properties: + quotaSpecs: + items: + properties: + name: + description: The short name of the QuotaSpec. + format: string + type: string + namespace: + description: Optional namespace of the QuotaSpec. + format: string + type: string + type: object + type: array + services: + description: One or more services to map the listed QuotaSpec onto. + items: + properties: + domain: + description: Domain suffix used to construct the service FQDN + in implementations that support such specification. + format: string + type: string + labels: + additionalProperties: + format: string + type: string + description: Optional one or more labels that uniquely identify + the service version. + type: object + name: + description: The short name of the service such as "foo". + format: string + type: string + namespace: + description: Optional namespace of the service. + format: string + type: string + service: + description: The service FQDN. + format: string + type: string + type: object + type: array + type: object + type: object + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-mixer + chart: istio + heritage: Tiller + release: istio + name: quotaspecs.config.istio.io +spec: + group: config.istio.io + names: + categories: + - istio-io + - apim-istio-io + kind: QuotaSpec + plural: quotaspecs + singular: quotaspec + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: Determines the quotas used for individual requests. + properties: + rules: + description: A list of Quota rules. + items: + properties: + match: + description: If empty, match all request. + items: + properties: + clause: + additionalProperties: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + description: Map of attribute names to StringMatch type. + type: object + type: object + type: array + quotas: + description: The list of quotas to charge. + items: + properties: + charge: + format: int32 + type: integer + quota: + format: string + type: string + type: object + type: array + type: object + type: array + type: object + type: object + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: mixer + chart: istio + heritage: Tiller + istio: rbac + package: istio.io.mixer + release: istio + name: rbacconfigs.rbac.istio.io +spec: + group: rbac.istio.io + names: + categories: + - istio-io + - rbac-istio-io + kind: RbacConfig + plural: rbacconfigs + singular: rbacconfig + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration for Role Based Access Control. See more details + at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' + properties: + enforcementMode: + enum: + - ENFORCED + - PERMISSIVE + type: string + exclusion: + description: A list of services or namespaces that should not be enforced + by Istio RBAC policies. + properties: + namespaces: + description: A list of namespaces. + items: + format: string + type: string + type: array + services: + description: A list of services. + items: + format: string + type: string + type: array + type: object + inclusion: + description: A list of services or namespaces that should be enforced + by Istio RBAC policies. + properties: + namespaces: + description: A list of namespaces. + items: + format: string + type: string + type: array + services: + description: A list of services. + items: + format: string + type: string + type: array + type: object + mode: + description: Istio RBAC mode. + enum: + - "OFF" + - "ON" + - ON_WITH_INCLUSION + - ON_WITH_EXCLUSION + type: string + type: object + type: object + versions: + - name: v1alpha1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + heritage: Tiller + istio: security + release: istio + name: requestauthentications.security.istio.io +spec: + group: security.istio.io + names: + categories: + - istio-io + - security-istio-io + kind: RequestAuthentication + plural: requestauthentications + singular: requestauthentication + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: RequestAuthentication defines what request authentication methods + are supported by a workload. + properties: + jwtRules: + description: Define the list of JWTs that can be validated at the selected + workloads' proxy. + items: + properties: + audiences: + items: + format: string + type: string + type: array + fromHeaders: + description: List of header locations from which JWT is expected. + items: + properties: + name: + description: The HTTP header name. + format: string + type: string + prefix: + description: The prefix that should be stripped before decoding + the token. + format: string + type: string + type: object + type: array + fromParams: + description: List of query parameters from which JWT is expected. + items: + format: string + type: string + type: array + issuer: + description: Identifies the issuer that issued the JWT. + format: string + type: string + jwks: + description: JSON Web Key Set of public keys to validate signature + of the JWT. + format: string + type: string + jwks_uri: + format: string + type: string + jwksUri: + format: string + type: string + type: object + type: array + selector: + description: The selector determines the workloads to apply the RequestAuthentication + on. + properties: + matchLabels: + additionalProperties: + format: string + type: string + type: object + type: object + type: object + type: object + versions: + - name: v1beta1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: mixer + chart: istio + heritage: Tiller + istio: core + package: istio.io.mixer + release: istio + name: rules.config.istio.io +spec: + group: config.istio.io + names: + categories: + - istio-io + - policy-istio-io + kind: rule + plural: rules + singular: rule + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Describes the rules used to configure Mixer''s policy and + telemetry features. See more details at: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html' + properties: + actions: + description: The actions that will be executed when match evaluates + to `true`. + items: + properties: + handler: + description: Fully qualified name of the handler to invoke. + format: string + type: string + instances: + items: + format: string + type: string + type: array + name: + description: A handle to refer to the results of the action. + format: string + type: string + type: object + type: array + match: + description: Match is an attribute based predicate. + format: string + type: string + requestHeaderOperations: + items: + properties: + name: + description: Header name literal value. + format: string + type: string + operation: + description: Header operation type. + enum: + - REPLACE + - REMOVE + - APPEND + type: string + values: + description: Header value expressions. + items: + format: string + type: string + type: array + type: object + type: array + responseHeaderOperations: + items: + properties: + name: + description: Header name literal value. + format: string + type: string + operation: + description: Header operation type. + enum: + - REPLACE + - REMOVE + - APPEND + type: string + values: + description: Header value expressions. + items: + format: string + type: string + type: array + type: object + type: array + sampling: + properties: + random: + description: Provides filtering of actions based on random selection + per request. + properties: + attributeExpression: + description: Specifies an attribute expression to use to override + the numerator in the `percent_sampled` field. + format: string + type: string + percentSampled: + description: The default sampling rate, expressed as a percentage. + properties: + denominator: + description: Specifies the denominator. + enum: + - HUNDRED + - TEN_THOUSAND + type: string + numerator: + description: Specifies the numerator. + type: integer + type: object + useIndependentRandomness: + description: By default sampling will be based on the value + of the request header `x-request-id`. + type: boolean + type: object + rateLimit: + properties: + maxUnsampledEntries: + description: Number of entries to allow during the `sampling_duration` + before sampling is enforced. + format: int64 + type: integer + samplingDuration: + description: Window in which to enforce the sampling rate. + type: string + samplingRate: + description: The rate at which to sample entries once the unsampled + limit has been reached. + format: int64 + type: integer + type: object + type: object + type: object + type: object + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + chart: istio + heritage: Tiller + release: istio + name: serviceentries.networking.istio.io +spec: + additionalPrinterColumns: + - JSONPath: .spec.hosts + description: The hosts associated with the ServiceEntry + name: Hosts + type: string + - JSONPath: .spec.location + description: Whether the service is external to the mesh or part of the mesh (MESH_EXTERNAL + or MESH_INTERNAL) + name: Location + type: string + - JSONPath: .spec.resolution + description: Service discovery mode for the hosts (NONE, STATIC, or DNS) + name: Resolution + type: string + - JSONPath: .metadata.creationTimestamp + description: |- + CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + name: Age + type: date + group: networking.istio.io + names: + categories: + - istio-io + - networking-istio-io + kind: ServiceEntry + listKind: ServiceEntryList + plural: serviceentries + shortNames: + - se + singular: serviceentry + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration affecting service registry. See more details + at: https://istio.io/docs/reference/config/networking/service-entry.html' + properties: + addresses: + description: The virtual IP addresses associated with the service. + items: + format: string + type: string + type: array + endpoints: + description: One or more endpoints associated with the service. + items: + properties: + address: + format: string + type: string + labels: + additionalProperties: + format: string + type: string + description: One or more labels associated with the endpoint. + type: object + locality: + description: The locality associated with the endpoint. + format: string + type: string + network: + format: string + type: string + ports: + additionalProperties: + type: integer + description: Set of ports associated with the endpoint. + type: object + weight: + description: The load balancing weight associated with the endpoint. + type: integer + type: object + type: array + exportTo: + description: A list of namespaces to which this service is exported. + items: + format: string + type: string + type: array + hosts: + description: The hosts associated with the ServiceEntry. + items: + format: string + type: string + type: array + location: + enum: + - MESH_EXTERNAL + - MESH_INTERNAL + type: string + ports: + description: The ports associated with the external service. + items: + properties: + name: + description: Label assigned to the port. + format: string + type: string + number: + description: A valid non-negative integer port number. + type: integer + protocol: + description: The protocol exposed on the port. + format: string + type: string + type: object + type: array + resolution: + description: Service discovery mode for the hosts. + enum: + - NONE + - STATIC + - DNS + type: string + subjectAltNames: + items: + format: string + type: string + type: array + type: object + type: object + versions: + - name: v1alpha3 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: mixer + chart: istio + heritage: Tiller + istio: rbac + package: istio.io.mixer + release: istio + name: servicerolebindings.rbac.istio.io +spec: + additionalPrinterColumns: + - JSONPath: .spec.roleRef.name + description: The name of the ServiceRole object being referenced + name: Reference + type: string + - JSONPath: .metadata.creationTimestamp + description: |- + CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + name: Age + type: date + group: rbac.istio.io + names: + categories: + - istio-io + - rbac-istio-io + kind: ServiceRoleBinding + plural: servicerolebindings + singular: servicerolebinding + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration for Role Based Access Control. See more details + at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' + properties: + actions: + items: + properties: + constraints: + description: Optional. + items: + properties: + key: + description: Key of the constraint. + format: string + type: string + values: + description: List of valid values for the constraint. + items: + format: string + type: string + type: array + type: object + type: array + hosts: + items: + format: string + type: string + type: array + methods: + description: Optional. + items: + format: string + type: string + type: array + notHosts: + items: + format: string + type: string + type: array + notMethods: + items: + format: string + type: string + type: array + notPaths: + items: + format: string + type: string + type: array + notPorts: + items: + format: int32 + type: integer + type: array + paths: + description: Optional. + items: + format: string + type: string + type: array + ports: + items: + format: int32 + type: integer + type: array + services: + description: A list of service names. + items: + format: string + type: string + type: array + type: object + type: array + mode: + enum: + - ENFORCED + - PERMISSIVE + type: string + role: + format: string + type: string + roleRef: + description: Reference to the ServiceRole object. + properties: + kind: + description: The type of the role being referenced. + format: string + type: string + name: + description: The name of the ServiceRole object being referenced. + format: string + type: string + type: object + subjects: + description: List of subjects that are assigned the ServiceRole object. + items: + properties: + group: + format: string + type: string + groups: + items: + format: string + type: string + type: array + ips: + items: + format: string + type: string + type: array + names: + items: + format: string + type: string + type: array + namespaces: + items: + format: string + type: string + type: array + notGroups: + items: + format: string + type: string + type: array + notIps: + items: + format: string + type: string + type: array + notNames: + items: + format: string + type: string + type: array + notNamespaces: + items: + format: string + type: string + type: array + properties: + additionalProperties: + format: string + type: string + description: Optional. + type: object + user: + description: Optional. + format: string + type: string + type: object + type: array + type: object + type: object + versions: + - name: v1alpha1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: mixer + chart: istio + heritage: Tiller + istio: rbac + package: istio.io.mixer + release: istio + name: serviceroles.rbac.istio.io +spec: + group: rbac.istio.io + names: + categories: + - istio-io + - rbac-istio-io + kind: ServiceRole + plural: serviceroles + singular: servicerole + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration for Role Based Access Control. See more details + at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' + properties: + rules: + description: The set of access rules (permissions) that the role has. + items: + properties: + constraints: + description: Optional. + items: + properties: + key: + description: Key of the constraint. + format: string + type: string + values: + description: List of valid values for the constraint. + items: + format: string + type: string + type: array + type: object + type: array + hosts: + items: + format: string + type: string + type: array + methods: + description: Optional. + items: + format: string + type: string + type: array + notHosts: + items: + format: string + type: string + type: array + notMethods: + items: + format: string + type: string + type: array + notPaths: + items: + format: string + type: string + type: array + notPorts: + items: + format: int32 + type: integer + type: array + paths: + description: Optional. + items: + format: string + type: string + type: array + ports: + items: + format: int32 + type: integer + type: array + services: + description: A list of service names. + items: + format: string + type: string + type: array + type: object + type: array + type: object + type: object + versions: + - name: v1alpha1 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + chart: istio + heritage: Tiller + release: istio + name: sidecars.networking.istio.io +spec: + group: networking.istio.io + names: + categories: + - istio-io + - networking-istio-io + kind: Sidecar + plural: sidecars + singular: sidecar + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration affecting network reachability of a sidecar. + See more details at: https://istio.io/docs/reference/config/networking/sidecar.html' + properties: + egress: + items: + properties: + bind: + format: string + type: string + captureMode: + enum: + - DEFAULT + - IPTABLES + - NONE + type: string + hosts: + items: + format: string + type: string + type: array + port: + description: The port associated with the listener. + properties: + name: + description: Label assigned to the port. + format: string + type: string + number: + description: A valid non-negative integer port number. + type: integer + protocol: + description: The protocol exposed on the port. + format: string + type: string + type: object + type: object + type: array + ingress: + items: + properties: + bind: + description: The IP to which the listener should be bound. + format: string + type: string + captureMode: + enum: + - DEFAULT + - IPTABLES + - NONE + type: string + defaultEndpoint: + format: string + type: string + port: + description: The port associated with the listener. + properties: + name: + description: Label assigned to the port. + format: string + type: string + number: + description: A valid non-negative integer port number. + type: integer + protocol: + description: The protocol exposed on the port. + format: string + type: string + type: object + type: object + type: array + outboundTrafficPolicy: + description: This allows to configure the outbound traffic policy. + properties: + mode: + enum: + - REGISTRY_ONLY + - ALLOW_ANY + type: string + type: object + workloadSelector: + properties: + labels: + additionalProperties: + format: string + type: string + type: object + type: object + type: object + type: object + versions: + - name: v1alpha3 + served: true + storage: true +--- + + +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + annotations: + "helm.sh/resource-policy": keep + creationTimestamp: null + labels: + app: istio-pilot + chart: istio + heritage: Tiller + release: istio + name: virtualservices.networking.istio.io +spec: + additionalPrinterColumns: + - JSONPath: .spec.gateways + description: The names of gateways and sidecars that should apply these routes + name: Gateways + type: string + - JSONPath: .spec.hosts + description: The destination hosts to which traffic is being sent + name: Hosts + type: string + - JSONPath: .metadata.creationTimestamp + description: |- + CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. + Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata + name: Age + type: date + group: networking.istio.io + names: + categories: + - istio-io + - networking-istio-io + kind: VirtualService + listKind: VirtualServiceList + plural: virtualservices + shortNames: + - vs + singular: virtualservice + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + properties: + spec: + description: 'Configuration affecting label/content routing, sni routing, + etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html' + properties: + exportTo: + description: A list of namespaces to which this virtual service is exported. + items: + format: string + type: string + type: array + gateways: + description: The names of gateways and sidecars that should apply these + routes. + items: + format: string + type: string + type: array + hosts: + description: The destination hosts to which traffic is being sent. + items: + format: string + type: string + type: array + http: + description: An ordered list of route rules for HTTP traffic. + items: + properties: + appendHeaders: + additionalProperties: + format: string + type: string + type: object + appendRequestHeaders: + additionalProperties: + format: string + type: string + type: object + appendResponseHeaders: + additionalProperties: + format: string + type: string + type: object + corsPolicy: + description: Cross-Origin Resource Sharing policy (CORS). + properties: + allowCredentials: + nullable: true + type: boolean + allowHeaders: + items: + format: string + type: string + type: array + allowMethods: + description: List of HTTP methods allowed to access the resource. + items: + format: string + type: string + type: array + allowOrigin: + description: The list of origins that are allowed to perform + CORS requests. + items: + format: string + type: string + type: array + exposeHeaders: + items: + format: string + type: string + type: array + maxAge: + type: string + type: object + fault: + description: Fault injection policy to apply on HTTP traffic at + the client side. + properties: + abort: + oneOf: + - properties: + percent: {} + required: + - httpStatus + - properties: + percent: {} + required: + - grpcStatus + - properties: + percent: {} + required: + - http2Error + properties: + grpcStatus: + format: string + type: string + http2Error: + format: string + type: string + httpStatus: + description: HTTP status code to use to abort the Http + request. + format: int32 + type: integer + percent: + description: Percentage of requests to be aborted with + the error code provided (0-100). + format: int32 + type: integer + percentage: + description: Percentage of requests to be aborted with + the error code provided. + properties: + value: + format: double + type: number + type: object + type: object + delay: + oneOf: + - properties: + percent: {} + required: + - fixedDelay + - properties: + percent: {} + required: + - exponentialDelay + properties: + exponentialDelay: + type: string + fixedDelay: + description: Add a fixed delay before forwarding the request. + type: string + percent: + description: Percentage of requests on which the delay + will be injected (0-100). + format: int32 + type: integer + percentage: + description: Percentage of requests on which the delay + will be injected. + properties: + value: + format: double + type: number + type: object + type: object + type: object + headers: + properties: + request: + properties: + add: + additionalProperties: + format: string + type: string + type: object + remove: + items: + format: string + type: string + type: array + set: + additionalProperties: + format: string + type: string + type: object + type: object + response: + properties: + add: + additionalProperties: + format: string + type: string + type: object + remove: + items: + format: string + type: string + type: array + set: + additionalProperties: + format: string + type: string + type: object + type: object + type: object + match: + items: + properties: + authority: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + gateways: + items: + format: string + type: string + type: array + headers: + additionalProperties: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + type: object + ignoreUriCase: + description: Flag to specify whether the URI matching should + be case-insensitive. + type: boolean + method: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + name: + description: The name assigned to a match. + format: string + type: string + port: + description: Specifies the ports on the host that is being + addressed. + type: integer + queryParams: + additionalProperties: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + description: Query parameters for matching. + type: object + scheme: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + sourceLabels: + additionalProperties: + format: string + type: string + type: object + uri: + oneOf: + - required: + - exact + - required: + - prefix + - required: + - regex + properties: + exact: + format: string + type: string + prefix: + format: string + type: string + regex: + format: string + type: string + type: object + type: object + type: array + mirror: + properties: + host: + description: The name of a service from the service registry. + format: string + type: string + port: + description: Specifies the port on the host that is being + addressed. + properties: + number: + type: integer + type: object + subset: + description: The name of a subset within the service. + format: string + type: string + type: object + mirror_percent: + description: Percentage of the traffic to be mirrored by the `mirror` + field. + nullable: true + type: integer + mirrorPercent: + description: Percentage of the traffic to be mirrored by the `mirror` + field. + nullable: true + type: integer + name: + description: The name assigned to the route for debugging purposes. + format: string + type: string + redirect: + description: A http rule can either redirect or forward (default) + traffic. + properties: + authority: + format: string + type: string + redirectCode: + type: integer + uri: + format: string + type: string + type: object + removeRequestHeaders: + items: + format: string + type: string + type: array + removeResponseHeaders: + items: + format: string + type: string + type: array + retries: + description: Retry policy for HTTP requests. + properties: + attempts: + description: Number of retries for a given request. + format: int32 + type: integer + perTryTimeout: + description: Timeout per retry attempt for a given request. + type: string + retryOn: + description: Specifies the conditions under which retry takes + place. + format: string + type: string + type: object + rewrite: + description: Rewrite HTTP URIs and Authority headers. + properties: + authority: + description: rewrite the Authority/Host header with this value. + format: string + type: string + uri: + format: string + type: string + type: object + route: + description: A http rule can either redirect or forward (default) + traffic. + items: + properties: + appendRequestHeaders: + additionalProperties: + format: string + type: string + description: Use of `append_request_headers` is deprecated. + type: object + appendResponseHeaders: + additionalProperties: + format: string + type: string + description: Use of `append_response_headers` is deprecated. + type: object + destination: + properties: + host: + description: The name of a service from the service + registry. + format: string + type: string + port: + description: Specifies the port on the host that is + being addressed. + properties: + number: + type: integer + type: object + subset: + description: The name of a subset within the service. + format: string + type: string + type: object + headers: + properties: + request: + properties: + add: + additionalProperties: + format: string + type: string + type: object + remove: + items: + format: string + type: string + type: array + set: + additionalProperties: + format: string + type: string + type: object + type: object + response: + properties: + add: + additionalProperties: + format: string + type: string + type: object + remove: + items: + format: string + type: string + type: array + set: + additionalProperties: + format: string + type: string + type: object + type: object + type: object + removeRequestHeaders: + description: Use of `remove_request_headers` is deprecated. + items: + format: string + type: string + type: array + removeResponseHeaders: + description: Use of `remove_response_header` is deprecated. + items: + format: string + type: string + type: array + weight: + format: int32 + type: integer + type: object + type: array + timeout: + description: Timeout for HTTP requests. + type: string + websocketUpgrade: + description: Deprecated. + type: boolean + type: object + type: array + tcp: + description: An ordered list of route rules for opaque TCP traffic. + items: + properties: + match: + items: + properties: + destinationSubnets: + description: IPv4 or IPv6 ip addresses of destination with + optional subnet. + items: + format: string + type: string + type: array + gateways: + description: Names of gateways where the rule should be + applied to. + items: + format: string + type: string + type: array + port: + description: Specifies the port on the host that is being + addressed. + type: integer + sourceLabels: + additionalProperties: + format: string + type: string + type: object + sourceSubnet: + description: IPv4 or IPv6 ip address of source with optional + subnet. + format: string + type: string + type: object + type: array + route: + description: The destination to which the connection should be + forwarded to. + items: + properties: + destination: + properties: + host: + description: The name of a service from the service + registry. + format: string + type: string + port: + description: Specifies the port on the host that is + being addressed. + properties: + number: + type: integer + type: object + subset: + description: The name of a subset within the service. + format: string + type: string + type: object + weight: + format: int32 + type: integer + type: object + type: array + type: object + type: array + tls: + items: + properties: + match: + items: + properties: + destinationSubnets: + description: IPv4 or IPv6 ip addresses of destination with + optional subnet. + items: + format: string + type: string + type: array + gateways: + description: Names of gateways where the rule should be + applied to. + items: + format: string + type: string + type: array + port: + description: Specifies the port on the host that is being + addressed. + type: integer + sniHosts: + description: SNI (server name indicator) to match on. + items: + format: string + type: string + type: array + sourceLabels: + additionalProperties: + format: string + type: string + type: object + sourceSubnet: + description: IPv4 or IPv6 ip address of source with optional + subnet. + format: string + type: string + type: object + type: array + route: + description: The destination to which the connection should be + forwarded to. + items: + properties: + destination: + properties: + host: + description: The name of a service from the service + registry. + format: string + type: string + port: + description: Specifies the port on the host that is + being addressed. + properties: + number: + type: integer + type: object + subset: + description: The name of a subset within the service. + format: string + type: string + type: object + weight: + format: int32 + type: integer + type: object + type: array + type: object + type: array + type: object + type: object + versions: + - name: v1alpha3 + served: true + storage: true +--- + + +kind: CustomResourceDefinition +apiVersion: apiextensions.k8s.io/v1beta1 +metadata: + name: adapters.config.istio.io + labels: + app: mixer + package: adapter + istio: mixer-adapter + chart: istio + heritage: Tiller + release: istio + annotations: + "helm.sh/resource-policy": keep +spec: + group: config.istio.io + names: + kind: adapter + plural: adapters + singular: adapter + categories: + - istio-io + - policy-istio-io + scope: Namespaced + subresources: + status: {} + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +kind: CustomResourceDefinition +apiVersion: apiextensions.k8s.io/v1beta1 +metadata: + name: instances.config.istio.io + labels: + app: mixer + package: instance + istio: mixer-instance + chart: istio + heritage: Tiller + release: istio + annotations: + "helm.sh/resource-policy": keep +spec: + group: config.istio.io + names: + kind: instance + plural: instances + singular: instance + categories: + - istio-io + - policy-istio-io + scope: Namespaced + subresources: + status: {} + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +kind: CustomResourceDefinition +apiVersion: apiextensions.k8s.io/v1beta1 +metadata: + name: templates.config.istio.io + labels: + app: mixer + package: template + istio: mixer-template + chart: istio + heritage: Tiller + release: istio + annotations: + "helm.sh/resource-policy": keep +spec: + group: config.istio.io + names: + kind: template + plural: templates + singular: template + categories: + - istio-io + - policy-istio-io + scope: Namespaced + subresources: + status: {} + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +kind: CustomResourceDefinition +apiVersion: apiextensions.k8s.io/v1beta1 +metadata: + name: handlers.config.istio.io + labels: + app: mixer + package: handler + istio: mixer-handler + chart: istio + heritage: Tiller + release: istio + annotations: + "helm.sh/resource-policy": keep +spec: + group: config.istio.io + names: + kind: handler + plural: handlers + singular: handler + categories: + - istio-io + - policy-istio-io + scope: Namespaced + subresources: + status: {} + versions: + - name: v1alpha2 + served: true + storage: true +--- + + +apiVersion: v1 +kind: Namespace +metadata: + name: istio-control + labels: + istio-operator-managed: Reconcile + istio-injection: disabled +--- + + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: istio-reader-service-account + namespace: istio-control + labels: + app: istio-reader + release: istio +--- + +# CertManager component is disabled. + +# Citadel component is disabled. + +# Cni component is disabled. + +# CoreDNS component is disabled. + +# EgressGateway component is disabled. + +# Galley component is disabled. + +# Grafana component is disabled. + +# Resources for IngressGateway component + +apiVersion: autoscaling/v2beta1 +kind: HorizontalPodAutoscaler +metadata: + labels: + app: istio-ingressgateway + istio: ingressgateway + release: istio + name: istio-ingressgateway + namespace: istio-control +spec: + maxReplicas: 5 + metrics: + - resource: + name: cpu + targetAverageUtilization: 80 + type: Resource + minReplicas: 1 + scaleTargetRef: + apiVersion: apps/v1 + kind: Deployment + name: istio-ingressgateway + +--- + + +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: istio-ingressgateway + istio: ingressgateway + release: istio + name: istio-ingressgateway + namespace: istio-control +spec: + selector: + matchLabels: + app: istio-ingressgateway + istio: ingressgateway + strategy: + rollingUpdate: + maxSurge: 100% + maxUnavailable: 25% + template: + metadata: + annotations: + sidecar.istio.io/inject: "false" + labels: + app: istio-ingressgateway + istio: ingressgateway + spec: + affinity: + nodeAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - amd64 + weight: 2 + - preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - ppc64le + weight: 2 + - preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - s390x + weight: 2 + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - amd64 + - ppc64le + - s390x + containers: + - args: + - proxy + - router + - --domain + - $(POD_NAMESPACE).svc.cluster.local + - --proxyLogLevel=warning + - --proxyComponentLogLevel=misc:error + - --log_output_level=default:info + - --drainDuration + - 45s + - --parentShutdownDuration + - 1m0s + - --connectTimeout + - 10s + - --serviceCluster + - istio-ingressgateway + - --zipkinAddress + - zipkin.istio-control:9411 + - --proxyAdminPort + - "15000" + - --statusPort + - "15020" + - --controlPlaneAuthPolicy + - MUTUAL_TLS + - --discoveryAddress + - istio-pilot.istio-control:15011 + - --trust-domain=cluster.local + env: + - name: NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: INSTANCE_IP + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: status.podIP + - name: HOST_IP + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: status.hostIP + - name: SERVICE_ACCOUNT + valueFrom: + fieldRef: + fieldPath: spec.serviceAccountName + - name: ISTIO_META_WORKLOAD_NAME + value: istio-ingressgateway + - name: ISTIO_META_OWNER + value: kubernetes://api/apps/v1/namespaces/istio-control/deployments/istio-ingressgateway + - name: ISTIO_META_MESH_ID + value: cluster.local + - name: ISTIO_META_POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: ISTIO_META_CONFIG_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: ISTIO_META_ROUTER_MODE + value: sni-dnat + - name: ISTIO_METAJSON_LABELS + value: | + {"app":"istio-ingressgateway","istio":"ingressgateway"} + - name: ISTIO_META_CLUSTER_ID + value: Kubernetes + - name: SDS_ENABLED + value: "false" + image: docker.io/istio/proxyv2:1.1.4 + imagePullPolicy: IfNotPresent + name: istio-proxy + ports: + - containerPort: 15020 + - containerPort: 80 + - containerPort: 443 + - containerPort: 15029 + - containerPort: 15030 + - containerPort: 15031 + - containerPort: 15032 + - containerPort: 15443 + - containerPort: 15011 + - containerPort: 8060 + - containerPort: 853 + - containerPort: 15090 + name: http-envoy-prom + protocol: TCP + readinessProbe: + failureThreshold: 30 + httpGet: + path: /healthz/ready + port: 15020 + scheme: HTTP + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 2000m + memory: 1024Mi + requests: + cpu: 100m + memory: 128Mi + volumeMounts: + - mountPath: /etc/certs + name: istio-certs + readOnly: true + - mountPath: /etc/istio/ingressgateway-certs + name: ingressgateway-certs + readOnly: true + - mountPath: /etc/istio/ingressgateway-ca-certs + name: ingressgateway-ca-certs + readOnly: true + serviceAccountName: istio-ingressgateway-service-account + volumes: + - name: istio-certs + secret: + optional: true + secretName: istio.istio-ingressgateway-service-account + - name: ingressgateway-certs + secret: + optional: true + secretName: istio-ingressgateway-certs + - name: ingressgateway-ca-certs + secret: + optional: true + secretName: istio-ingressgateway-ca-certs + +--- + + +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: ingressgateway + namespace: istio-control + labels: + release: istio +spec: + selector: + istio: ingressgateway + servers: + - port: + number: 80 + name: http + protocol: HTTP + hosts: + - "*" + # Additional ports in gateaway for the ingressPorts - apps using dedicated port instead of hostname +--- + + +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + name: ingressgateway + namespace: istio-control + labels: + app: istio-ingressgateway + release: istio + istio: ingressgateway +spec: + minAvailable: 1 + selector: + matchLabels: + app: istio-ingressgateway + release: istio + istio: ingressgateway +--- + + +apiVersion: v1 +kind: Service +metadata: + annotations: null + labels: + app: istio-ingressgateway + istio: ingressgateway + release: istio + name: istio-ingressgateway + namespace: istio-control +spec: + externalTrafficPolicy: Local + ports: + - name: status-port + port: 15020 + targetPort: 15020 + - name: http2 + port: 80 + targetPort: 80 + - name: https + port: 443 + - name: kiali + port: 15029 + targetPort: 15029 + - name: prometheus + port: 15030 + targetPort: 15030 + - name: grafana + port: 15031 + targetPort: 15031 + - name: tracing + port: 15032 + targetPort: 15032 + - name: tls + port: 15443 + targetPort: 15443 + selector: + app: istio-ingressgateway + type: LoadBalancer + +--- + + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: istio-ingressgateway-service-account + namespace: istio-control + labels: + app: istio-ingressgateway + release: istio +--- + + +apiVersion: networking.istio.io/v1alpha3 +kind: Sidecar +metadata: + name: default + namespace: istio-control + labels: + release: istio +spec: + egress: + - hosts: + - "*/*" +--- + +# Injector component is disabled. + +# Kiali component is disabled. + +# NodeAgent component is disabled. + +# Pilot component is disabled. + +# Policy component is disabled. + +# Resources for Prometheus component + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: prometheus-istio-control + labels: + app: prometheus + release: istio +rules: +- apiGroups: [""] + resources: + - nodes + - services + - endpoints + - pods + - nodes/proxy + verbs: ["get", "list", "watch"] +- apiGroups: [""] + resources: + - configmaps + verbs: ["get"] +- nonResourceURLs: ["/metrics"] + verbs: ["get"] +--- + + +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: prometheus-istio-control + labels: + app: prometheus + release: istio +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: prometheus-istio-control +subjects: +- kind: ServiceAccount + name: prometheus + namespace: istio-control +--- + + +apiVersion: v1 +kind: ConfigMap +metadata: + name: prometheus + namespace: istio-control + labels: + app: prometheus + release: istio +data: + prometheus.yml: |- + global: + scrape_interval: 15s + scrape_configs: + + # Mixer scrapping. Defaults to Prometheus and mixer on same namespace. + # + - job_name: 'istio-mesh' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - istio-control + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: istio-telemetry;prometheus + + # Scrape config for envoy stats + - job_name: 'envoy-stats' + metrics_path: /stats/prometheus + kubernetes_sd_configs: + - role: pod + + relabel_configs: + - source_labels: [__meta_kubernetes_pod_container_port_name] + action: keep + regex: '.*-envoy-prom' + - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] + action: replace + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: $1:15090 + target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: pod_name + + - job_name: 'istio-policy' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - istio-control + + + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: istio-policy;http-policy-monitoring + + - job_name: 'istio-telemetry' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - istio-control + + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: istio-telemetry;http-monitoring + + - job_name: 'pilot' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - istio-control + + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: istio-pilot;http-monitoring + + - job_name: 'galley' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - istio-control + + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: istio-galley;http-monitoring + + - job_name: 'citadel' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - istio-control + + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: istio-citadel;http-monitoring + + # scrape config for API servers + - job_name: 'kubernetes-apiservers' + kubernetes_sd_configs: + - role: endpoints + namespaces: + names: + - default + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + relabel_configs: + - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: kubernetes;https + + # scrape config for nodes (kubelet) + - job_name: 'kubernetes-nodes' + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + kubernetes_sd_configs: + - role: node + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics + + # Scrape config for Kubelet cAdvisor. + # + # This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics + # (those whose names begin with 'container_') have been removed from the + # Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to + # retrieve those metrics. + # + # In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor + # HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics" + # in that case (and ensure cAdvisor's HTTP server hasn't been disabled with + # the --cadvisor-port=0 Kubelet flag). + # + # This job is not necessary and should be removed in Kubernetes 1.6 and + # earlier versions, or it will cause the metrics to be scraped twice. + - job_name: 'kubernetes-cadvisor' + scheme: https + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + kubernetes_sd_configs: + - role: node + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor + + # scrape config for service endpoints. + - job_name: 'kubernetes-service-endpoints' + kubernetes_sd_configs: + - role: endpoints + relabel_configs: + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] + action: keep + regex: true + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] + action: replace + target_label: __scheme__ + regex: (https?) + - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] + action: replace + target_label: __metrics_path__ + regex: (.+) + - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] + action: replace + target_label: __address__ + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: $1:$2 + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_service_name] + action: replace + target_label: kubernetes_name + + - job_name: 'kubernetes-pods' + kubernetes_sd_configs: + - role: pod + relabel_configs: # If first two labels are present, pod should be scraped by the istio-secure job. + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] + action: keep + regex: true + - source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status] + action: drop + regex: (.+) + - source_labels: [__meta_kubernetes_pod_annotation_istio_mtls] + action: drop + regex: (true) + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] + action: replace + target_label: __metrics_path__ + regex: (.+) + - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] + action: replace + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: $1:$2 + target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: pod_name + - job_name: 'kubernetes-pods-istio-secure' + scheme: https + tls_config: + ca_file: /etc/istio-certs/root-cert.pem + cert_file: /etc/istio-certs/cert-chain.pem + key_file: /etc/istio-certs/key.pem + insecure_skip_verify: true # prometheus does not support secure naming. + kubernetes_sd_configs: + - role: pod + relabel_configs: + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] + action: keep + regex: true + # sidecar status annotation is added by sidecar injector and + # istio_workload_mtls_ability can be specifically placed on a pod to indicate its ability to receive mtls traffic. + - source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status, __meta_kubernetes_pod_annotation_istio_mtls] + action: keep + regex: (([^;]+);([^;]*))|(([^;]*);(true)) + - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] + action: replace + target_label: __metrics_path__ + regex: (.+) + - source_labels: [__address__] # Only keep address that is host:port + action: keep # otherwise an extra target with ':443' is added for https scheme + regex: ([^:]+):(\d+) + - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] + action: replace + regex: ([^:]+)(?::\d+)?;(\d+) + replacement: $1:$2 + target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: pod_name +--- + + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: prometheus + namespace: istio-control + labels: + app: prometheus + release: istio +spec: + replicas: 1 + selector: + matchLabels: + app: prometheus + template: + metadata: + labels: + app: prometheus + release: istio + annotations: + sidecar.istio.io/inject: "false" + spec: + serviceAccountName: prometheus + containers: + - name: prometheus + image: "docker.io/prom/prometheus:v2.12.0" + imagePullPolicy: IfNotPresent + args: + - '--storage.tsdb.retention=6h' + - '--config.file=/etc/prometheus/prometheus.yml' + ports: + - containerPort: 9090 + name: http + livenessProbe: + httpGet: + path: /-/healthy + port: 9090 + readinessProbe: + httpGet: + path: /-/ready + port: 9090 + resources: + requests: + cpu: 10m + + volumeMounts: + - name: config-volume + mountPath: /etc/prometheus + - mountPath: /etc/istio-certs + name: istio-certs + volumes: + - name: config-volume + configMap: + name: prometheus + - name: istio-certs + secret: + defaultMode: 420 + secretName: istio.default + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - amd64 + - ppc64le + - s390x + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 2 + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - amd64 + - weight: 2 + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - ppc64le + - weight: 2 + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - s390x +--- + + +apiVersion: v1 +kind: Service +metadata: + name: prometheus + namespace: istio-control + annotations: + prometheus.io/scrape: 'true' + labels: + app: prometheus + release: istio +spec: + selector: + app: prometheus + ports: + - name: http-prometheus + protocol: TCP + port: 9090 +--- + + +apiVersion: v1 +kind: ServiceAccount +metadata: + name: prometheus + namespace: istio-control + labels: + app: prometheus + release: istio +--- + +# PrometheusOperator component is disabled. + +# Telemetry component is disabled. + +# Tracing component is disabled. + diff --git a/data/translateConfig/translateConfig-1.4.yaml b/data/translateConfig/translateConfig-1.4.yaml index 840bb1892..cbea8269c 100644 --- a/data/translateConfig/translateConfig-1.4.yaml +++ b/data/translateConfig/translateConfig-1.4.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.Service": + outPath: "[Service:{{.ResourceName}}].spec" toFeature: Base: Base Pilot: TrafficManagement diff --git a/pkg/vfs/assets.gen.go b/pkg/vfs/assets.gen.go index 57e36330c..bce24b6e0 100644 --- a/pkg/vfs/assets.gen.go +++ b/pkg/vfs/assets.gen.go @@ -40465,6 +40465,8 @@ kubernetesMapping: outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.strategy" "{{.FeatureName}}.Components.{{.ComponentName}}.K8S.Tolerations": outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.template.spec.tolerations" + "{{.FeatureName}}.Components.{{.ComponentName}}.K8S.Service": + outPath: "[Service:{{.ResourceName}}].spec" toFeature: Base: Base Pilot: TrafficManagement From 3443194912abdbb18eec5442d976b417c198a790 Mon Sep 17 00:00:00 2001 From: Xinnan Wen Date: Fri, 20 Dec 2019 11:20:29 -0800 Subject: [PATCH 2/5] remove unnecessary output --- .../output/ingressgateway_k8s_settings.yaml | 5987 +---------------- 1 file changed, 2 insertions(+), 5985 deletions(-) diff --git a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml index 0fcb77511..04a59a5b4 100644 --- a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml @@ -1,5455 +1,3 @@ -# Resources for Base component - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: istio-reader-istio-control - labels: - app: istio-reader - release: istio -rules: -- apiGroups: - - "config.istio.io" - - "rbac.istio.io" - - "security.istio.io" - - "networking.istio.io" - - "authentication.istio.io" - resources: ["*"] - verbs: ["get", "list", "watch"] -- apiGroups: [""] - resources: ["endpoints", "pods", "services", "nodes", "replicationcontrollers"] - verbs: ["get", "list", "watch"] -- apiGroups: ["apps"] - resources: ["replicasets"] - verbs: ["get", "list", "watch"] ---- - - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: istio-reader-istio-control - labels: - app: istio-reader - release: istio -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: istio-reader-istio-control -subjects: - - kind: ServiceAccount - name: istio-reader-service-account - namespace: istio-control ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: mixer - chart: istio - heritage: Tiller - istio: core - package: istio.io.mixer - release: istio - name: attributemanifests.config.istio.io -spec: - group: config.istio.io - names: - categories: - - istio-io - - policy-istio-io - kind: attributemanifest - plural: attributemanifests - singular: attributemanifest - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Describes the rules used to configure Mixer''s policy and - telemetry features. See more details at: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html' - properties: - attributes: - additionalProperties: - properties: - description: - description: A human-readable description of the attribute's purpose. - format: string - type: string - valueType: - description: The type of data carried by this attribute. - enum: - - VALUE_TYPE_UNSPECIFIED - - STRING - - INT64 - - DOUBLE - - BOOL - - TIMESTAMP - - IP_ADDRESS - - EMAIL_ADDRESS - - URI - - DNS_NAME - - DURATION - - STRING_MAP - type: string - type: object - description: The set of attributes this Istio component will be responsible - for producing at runtime. - type: object - name: - description: Name of the component producing these attributes. - format: string - type: string - revision: - description: The revision of this document. - format: string - type: string - type: object - type: object - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - heritage: Tiller - istio: security - release: istio - name: authorizationpolicies.security.istio.io -spec: - group: security.istio.io - names: - categories: - - istio-io - - security-istio-io - kind: AuthorizationPolicy - plural: authorizationpolicies - singular: authorizationpolicy - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration for access control on workloads. See more details - at: https://istio.io/docs/reference/config/security/authorization-policy.html' - properties: - rules: - description: Optional. - items: - properties: - from: - description: Optional. - items: - properties: - source: - description: Source specifies the source of a request. - properties: - ipBlocks: - description: Optional. - items: - format: string - type: string - type: array - namespaces: - description: Optional. - items: - format: string - type: string - type: array - principals: - description: Optional. - items: - format: string - type: string - type: array - requestPrincipals: - description: Optional. - items: - format: string - type: string - type: array - type: object - type: object - type: array - to: - description: Optional. - items: - properties: - operation: - description: Operation specifies the operation of a request. - properties: - hosts: - description: Optional. - items: - format: string - type: string - type: array - methods: - description: Optional. - items: - format: string - type: string - type: array - paths: - description: Optional. - items: - format: string - type: string - type: array - ports: - description: Optional. - items: - format: string - type: string - type: array - type: object - type: object - type: array - when: - description: Optional. - items: - properties: - key: - description: The name of an Istio attribute. - format: string - type: string - values: - description: The allowed values for the attribute. - items: - format: string - type: string - type: array - type: object - type: array - type: object - type: array - selector: - description: Optional. - properties: - matchLabels: - additionalProperties: - format: string - type: string - type: object - type: object - type: object - type: object - versions: - - name: v1beta1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - heritage: Tiller - istio: rbac - release: istio - name: clusterrbacconfigs.rbac.istio.io -spec: - group: rbac.istio.io - names: - categories: - - istio-io - - rbac-istio-io - kind: ClusterRbacConfig - plural: clusterrbacconfigs - singular: clusterrbacconfig - scope: Cluster - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration for Role Based Access Control. See more details - at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' - properties: - enforcementMode: - enum: - - ENFORCED - - PERMISSIVE - type: string - exclusion: - description: A list of services or namespaces that should not be enforced - by Istio RBAC policies. - properties: - namespaces: - description: A list of namespaces. - items: - format: string - type: string - type: array - services: - description: A list of services. - items: - format: string - type: string - type: array - type: object - inclusion: - description: A list of services or namespaces that should be enforced - by Istio RBAC policies. - properties: - namespaces: - description: A list of namespaces. - items: - format: string - type: string - type: array - services: - description: A list of services. - items: - format: string - type: string - type: array - type: object - mode: - description: Istio RBAC mode. - enum: - - "OFF" - - "ON" - - ON_WITH_INCLUSION - - ON_WITH_EXCLUSION - type: string - type: object - type: object - versions: - - name: v1alpha1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - chart: istio - heritage: Tiller - release: istio - name: destinationrules.networking.istio.io -spec: - additionalPrinterColumns: - - JSONPath: .spec.host - description: The name of a service from the service registry - name: Host - type: string - - JSONPath: .metadata.creationTimestamp - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata - name: Age - type: date - group: networking.istio.io - names: - categories: - - istio-io - - networking-istio-io - kind: DestinationRule - listKind: DestinationRuleList - plural: destinationrules - shortNames: - - dr - singular: destinationrule - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration affecting load balancing, outlier detection, - etc. See more details at: https://istio.io/docs/reference/config/networking/destination-rule.html' - properties: - exportTo: - description: A list of namespaces to which this destination rule is - exported. - items: - format: string - type: string - type: array - host: - description: The name of a service from the service registry. - format: string - type: string - subsets: - items: - properties: - labels: - additionalProperties: - format: string - type: string - type: object - name: - description: Name of the subset. - format: string - type: string - trafficPolicy: - description: Traffic policies that apply to this subset. - properties: - connectionPool: - properties: - http: - description: HTTP connection pool settings. - properties: - h2UpgradePolicy: - description: Specify if http1.1 connection should - be upgraded to http2 for the associated destination. - enum: - - DEFAULT - - DO_NOT_UPGRADE - - UPGRADE - type: string - http1MaxPendingRequests: - description: Maximum number of pending HTTP requests - to a destination. - format: int32 - type: integer - http2MaxRequests: - description: Maximum number of requests to a backend. - format: int32 - type: integer - idleTimeout: - description: The idle timeout for upstream connection - pool connections. - type: string - maxRequestsPerConnection: - description: Maximum number of requests per connection - to a backend. - format: int32 - type: integer - maxRetries: - format: int32 - type: integer - type: object - tcp: - description: Settings common to both HTTP and TCP upstream - connections. - properties: - connectTimeout: - description: TCP connection timeout. - type: string - maxConnections: - description: Maximum number of HTTP1 /TCP connections - to a destination host. - format: int32 - type: integer - tcpKeepalive: - description: If set then set SO_KEEPALIVE on the socket - to enable TCP Keepalives. - properties: - interval: - description: The time duration between keep-alive - probes. - type: string - probes: - type: integer - time: - type: string - type: object - type: object - type: object - loadBalancer: - description: Settings controlling the load balancer algorithms. - oneOf: - - required: - - simple - - properties: - consistentHash: - oneOf: - - required: - - httpHeaderName - - required: - - httpCookie - - required: - - useSourceIp - required: - - consistentHash - properties: - consistentHash: - properties: - httpCookie: - description: Hash based on HTTP cookie. - properties: - name: - description: Name of the cookie. - format: string - type: string - path: - description: Path to set for the cookie. - format: string - type: string - ttl: - description: Lifetime of the cookie. - type: string - type: object - httpHeaderName: - description: Hash based on a specific HTTP header. - format: string - type: string - minimumRingSize: - type: integer - useSourceIp: - description: Hash based on the source IP address. - type: boolean - type: object - localityLbSetting: - properties: - distribute: - description: 'Optional: only one of distribute or - failover can be set.' - items: - properties: - from: - description: Originating locality, '/' separated, - e.g. - format: string - type: string - to: - additionalProperties: - type: integer - description: Map of upstream localities to traffic - distribution weights. - type: object - type: object - type: array - failover: - description: 'Optional: only failover or distribute - can be set.' - items: - properties: - from: - description: Originating region. - format: string - type: string - to: - format: string - type: string - type: object - type: array - type: object - simple: - enum: - - ROUND_ROBIN - - LEAST_CONN - - RANDOM - - PASSTHROUGH - type: string - type: object - outlierDetection: - properties: - baseEjectionTime: - description: Minimum ejection duration. - type: string - consecutiveErrors: - format: int32 - type: integer - interval: - description: Time interval between ejection sweep analysis. - type: string - maxEjectionPercent: - format: int32 - type: integer - minHealthPercent: - format: int32 - type: integer - type: object - portLevelSettings: - description: Traffic policies specific to individual ports. - items: - properties: - connectionPool: - properties: - http: - description: HTTP connection pool settings. - properties: - h2UpgradePolicy: - description: Specify if http1.1 connection should - be upgraded to http2 for the associated destination. - enum: - - DEFAULT - - DO_NOT_UPGRADE - - UPGRADE - type: string - http1MaxPendingRequests: - description: Maximum number of pending HTTP - requests to a destination. - format: int32 - type: integer - http2MaxRequests: - description: Maximum number of requests to a - backend. - format: int32 - type: integer - idleTimeout: - description: The idle timeout for upstream connection - pool connections. - type: string - maxRequestsPerConnection: - description: Maximum number of requests per - connection to a backend. - format: int32 - type: integer - maxRetries: - format: int32 - type: integer - type: object - tcp: - description: Settings common to both HTTP and TCP - upstream connections. - properties: - connectTimeout: - description: TCP connection timeout. - type: string - maxConnections: - description: Maximum number of HTTP1 /TCP connections - to a destination host. - format: int32 - type: integer - tcpKeepalive: - description: If set then set SO_KEEPALIVE on - the socket to enable TCP Keepalives. - properties: - interval: - description: The time duration between keep-alive - probes. - type: string - probes: - type: integer - time: - type: string - type: object - type: object - type: object - loadBalancer: - description: Settings controlling the load balancer - algorithms. - oneOf: - - required: - - simple - - properties: - consistentHash: - oneOf: - - required: - - httpHeaderName - - required: - - httpCookie - - required: - - useSourceIp - required: - - consistentHash - properties: - consistentHash: - properties: - httpCookie: - description: Hash based on HTTP cookie. - properties: - name: - description: Name of the cookie. - format: string - type: string - path: - description: Path to set for the cookie. - format: string - type: string - ttl: - description: Lifetime of the cookie. - type: string - type: object - httpHeaderName: - description: Hash based on a specific HTTP header. - format: string - type: string - minimumRingSize: - type: integer - useSourceIp: - description: Hash based on the source IP address. - type: boolean - type: object - localityLbSetting: - properties: - distribute: - description: 'Optional: only one of distribute - or failover can be set.' - items: - properties: - from: - description: Originating locality, '/' - separated, e.g. - format: string - type: string - to: - additionalProperties: - type: integer - description: Map of upstream localities - to traffic distribution weights. - type: object - type: object - type: array - failover: - description: 'Optional: only failover or distribute - can be set.' - items: - properties: - from: - description: Originating region. - format: string - type: string - to: - format: string - type: string - type: object - type: array - type: object - simple: - enum: - - ROUND_ROBIN - - LEAST_CONN - - RANDOM - - PASSTHROUGH - type: string - type: object - outlierDetection: - properties: - baseEjectionTime: - description: Minimum ejection duration. - type: string - consecutiveErrors: - format: int32 - type: integer - interval: - description: Time interval between ejection sweep - analysis. - type: string - maxEjectionPercent: - format: int32 - type: integer - minHealthPercent: - format: int32 - type: integer - type: object - port: - properties: - number: - type: integer - type: object - tls: - description: TLS related settings for connections to - the upstream service. - properties: - caCertificates: - format: string - type: string - clientCertificate: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - mode: - enum: - - DISABLE - - SIMPLE - - MUTUAL - - ISTIO_MUTUAL - type: string - privateKey: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - sni: - description: SNI string to present to the server - during TLS handshake. - format: string - type: string - subjectAltNames: - items: - format: string - type: string - type: array - type: object - type: object - type: array - tls: - description: TLS related settings for connections to the upstream - service. - properties: - caCertificates: - format: string - type: string - clientCertificate: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - mode: - enum: - - DISABLE - - SIMPLE - - MUTUAL - - ISTIO_MUTUAL - type: string - privateKey: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - sni: - description: SNI string to present to the server during - TLS handshake. - format: string - type: string - subjectAltNames: - items: - format: string - type: string - type: array - type: object - type: object - type: object - type: array - trafficPolicy: - properties: - connectionPool: - properties: - http: - description: HTTP connection pool settings. - properties: - h2UpgradePolicy: - description: Specify if http1.1 connection should be upgraded - to http2 for the associated destination. - enum: - - DEFAULT - - DO_NOT_UPGRADE - - UPGRADE - type: string - http1MaxPendingRequests: - description: Maximum number of pending HTTP requests to - a destination. - format: int32 - type: integer - http2MaxRequests: - description: Maximum number of requests to a backend. - format: int32 - type: integer - idleTimeout: - description: The idle timeout for upstream connection pool - connections. - type: string - maxRequestsPerConnection: - description: Maximum number of requests per connection to - a backend. - format: int32 - type: integer - maxRetries: - format: int32 - type: integer - type: object - tcp: - description: Settings common to both HTTP and TCP upstream connections. - properties: - connectTimeout: - description: TCP connection timeout. - type: string - maxConnections: - description: Maximum number of HTTP1 /TCP connections to - a destination host. - format: int32 - type: integer - tcpKeepalive: - description: If set then set SO_KEEPALIVE on the socket - to enable TCP Keepalives. - properties: - interval: - description: The time duration between keep-alive probes. - type: string - probes: - type: integer - time: - type: string - type: object - type: object - type: object - loadBalancer: - description: Settings controlling the load balancer algorithms. - oneOf: - - required: - - simple - - properties: - consistentHash: - oneOf: - - required: - - httpHeaderName - - required: - - httpCookie - - required: - - useSourceIp - required: - - consistentHash - properties: - consistentHash: - properties: - httpCookie: - description: Hash based on HTTP cookie. - properties: - name: - description: Name of the cookie. - format: string - type: string - path: - description: Path to set for the cookie. - format: string - type: string - ttl: - description: Lifetime of the cookie. - type: string - type: object - httpHeaderName: - description: Hash based on a specific HTTP header. - format: string - type: string - minimumRingSize: - type: integer - useSourceIp: - description: Hash based on the source IP address. - type: boolean - type: object - localityLbSetting: - properties: - distribute: - description: 'Optional: only one of distribute or failover - can be set.' - items: - properties: - from: - description: Originating locality, '/' separated, - e.g. - format: string - type: string - to: - additionalProperties: - type: integer - description: Map of upstream localities to traffic - distribution weights. - type: object - type: object - type: array - failover: - description: 'Optional: only failover or distribute can - be set.' - items: - properties: - from: - description: Originating region. - format: string - type: string - to: - format: string - type: string - type: object - type: array - type: object - simple: - enum: - - ROUND_ROBIN - - LEAST_CONN - - RANDOM - - PASSTHROUGH - type: string - type: object - outlierDetection: - properties: - baseEjectionTime: - description: Minimum ejection duration. - type: string - consecutiveErrors: - format: int32 - type: integer - interval: - description: Time interval between ejection sweep analysis. - type: string - maxEjectionPercent: - format: int32 - type: integer - minHealthPercent: - format: int32 - type: integer - type: object - portLevelSettings: - description: Traffic policies specific to individual ports. - items: - properties: - connectionPool: - properties: - http: - description: HTTP connection pool settings. - properties: - h2UpgradePolicy: - description: Specify if http1.1 connection should - be upgraded to http2 for the associated destination. - enum: - - DEFAULT - - DO_NOT_UPGRADE - - UPGRADE - type: string - http1MaxPendingRequests: - description: Maximum number of pending HTTP requests - to a destination. - format: int32 - type: integer - http2MaxRequests: - description: Maximum number of requests to a backend. - format: int32 - type: integer - idleTimeout: - description: The idle timeout for upstream connection - pool connections. - type: string - maxRequestsPerConnection: - description: Maximum number of requests per connection - to a backend. - format: int32 - type: integer - maxRetries: - format: int32 - type: integer - type: object - tcp: - description: Settings common to both HTTP and TCP upstream - connections. - properties: - connectTimeout: - description: TCP connection timeout. - type: string - maxConnections: - description: Maximum number of HTTP1 /TCP connections - to a destination host. - format: int32 - type: integer - tcpKeepalive: - description: If set then set SO_KEEPALIVE on the socket - to enable TCP Keepalives. - properties: - interval: - description: The time duration between keep-alive - probes. - type: string - probes: - type: integer - time: - type: string - type: object - type: object - type: object - loadBalancer: - description: Settings controlling the load balancer algorithms. - oneOf: - - required: - - simple - - properties: - consistentHash: - oneOf: - - required: - - httpHeaderName - - required: - - httpCookie - - required: - - useSourceIp - required: - - consistentHash - properties: - consistentHash: - properties: - httpCookie: - description: Hash based on HTTP cookie. - properties: - name: - description: Name of the cookie. - format: string - type: string - path: - description: Path to set for the cookie. - format: string - type: string - ttl: - description: Lifetime of the cookie. - type: string - type: object - httpHeaderName: - description: Hash based on a specific HTTP header. - format: string - type: string - minimumRingSize: - type: integer - useSourceIp: - description: Hash based on the source IP address. - type: boolean - type: object - localityLbSetting: - properties: - distribute: - description: 'Optional: only one of distribute or - failover can be set.' - items: - properties: - from: - description: Originating locality, '/' separated, - e.g. - format: string - type: string - to: - additionalProperties: - type: integer - description: Map of upstream localities to traffic - distribution weights. - type: object - type: object - type: array - failover: - description: 'Optional: only failover or distribute - can be set.' - items: - properties: - from: - description: Originating region. - format: string - type: string - to: - format: string - type: string - type: object - type: array - type: object - simple: - enum: - - ROUND_ROBIN - - LEAST_CONN - - RANDOM - - PASSTHROUGH - type: string - type: object - outlierDetection: - properties: - baseEjectionTime: - description: Minimum ejection duration. - type: string - consecutiveErrors: - format: int32 - type: integer - interval: - description: Time interval between ejection sweep analysis. - type: string - maxEjectionPercent: - format: int32 - type: integer - minHealthPercent: - format: int32 - type: integer - type: object - port: - properties: - number: - type: integer - type: object - tls: - description: TLS related settings for connections to the upstream - service. - properties: - caCertificates: - format: string - type: string - clientCertificate: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - mode: - enum: - - DISABLE - - SIMPLE - - MUTUAL - - ISTIO_MUTUAL - type: string - privateKey: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - sni: - description: SNI string to present to the server during - TLS handshake. - format: string - type: string - subjectAltNames: - items: - format: string - type: string - type: array - type: object - type: object - type: array - tls: - description: TLS related settings for connections to the upstream - service. - properties: - caCertificates: - format: string - type: string - clientCertificate: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - mode: - enum: - - DISABLE - - SIMPLE - - MUTUAL - - ISTIO_MUTUAL - type: string - privateKey: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - sni: - description: SNI string to present to the server during TLS - handshake. - format: string - type: string - subjectAltNames: - items: - format: string - type: string - type: array - type: object - type: object - type: object - type: object - versions: - - name: v1alpha3 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - chart: istio - heritage: Tiller - release: istio - name: envoyfilters.networking.istio.io -spec: - group: networking.istio.io - names: - categories: - - istio-io - - networking-istio-io - kind: EnvoyFilter - plural: envoyfilters - singular: envoyfilter - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Customizing Envoy configuration generated by Istio. See more - details at: https://istio.io/docs/reference/config/networking/envoy-filter.html' - properties: - configPatches: - description: One or more patches with match conditions. - items: - properties: - applyTo: - enum: - - INVALID - - LISTENER - - FILTER_CHAIN - - NETWORK_FILTER - - HTTP_FILTER - - ROUTE_CONFIGURATION - - VIRTUAL_HOST - - HTTP_ROUTE - - CLUSTER - type: string - match: - description: Match on listener/route configuration/cluster. - oneOf: - - required: - - listener - - required: - - routeConfiguration - - required: - - cluster - properties: - cluster: - description: Match on envoy cluster attributes. - properties: - name: - description: The exact name of the cluster to match. - format: string - type: string - portNumber: - description: The service port for which this cluster was - generated. - type: integer - service: - description: The fully qualified service name for this - cluster. - format: string - type: string - subset: - description: The subset associated with the service. - format: string - type: string - type: object - context: - description: The specific config generation context to match - on. - enum: - - ANY - - SIDECAR_INBOUND - - SIDECAR_OUTBOUND - - GATEWAY - type: string - listener: - description: Match on envoy listener attributes. - properties: - filterChain: - description: Match a specific filter chain in a listener. - properties: - applicationProtocols: - description: Applies only to sidecars. - format: string - type: string - filter: - description: The name of a specific filter to apply - the patch to. - properties: - name: - description: The filter name to match on. - format: string - type: string - subFilter: - properties: - name: - description: The filter name to match on. - format: string - type: string - type: object - type: object - name: - description: The name assigned to the filter chain. - format: string - type: string - sni: - description: The SNI value used by a filter chain's - match condition. - format: string - type: string - transportProtocol: - description: Applies only to SIDECAR_INBOUND context. - format: string - type: string - type: object - name: - description: Match a specific listener by its name. - format: string - type: string - portName: - format: string - type: string - portNumber: - type: integer - type: object - proxy: - description: Match on properties associated with a proxy. - properties: - metadata: - additionalProperties: - format: string - type: string - type: object - proxyVersion: - format: string - type: string - type: object - routeConfiguration: - description: Match on envoy HTTP route configuration attributes. - properties: - gateway: - format: string - type: string - name: - description: Route configuration name to match on. - format: string - type: string - portName: - description: Applicable only for GATEWAY context. - format: string - type: string - portNumber: - type: integer - vhost: - properties: - name: - format: string - type: string - route: - description: Match a specific route within the virtual - host. - properties: - action: - description: Match a route with specific action - type. - enum: - - ANY - - ROUTE - - REDIRECT - - DIRECT_RESPONSE - type: string - name: - format: string - type: string - type: object - type: object - type: object - type: object - patch: - description: The patch to apply along with the operation. - properties: - operation: - description: Determines how the patch should be applied. - enum: - - INVALID - - MERGE - - ADD - - REMOVE - - INSERT_BEFORE - - INSERT_AFTER - type: string - value: - description: The JSON config of the object being patched. - type: object - type: object - type: object - type: array - filters: - items: - properties: - filterConfig: - type: object - filterName: - description: The name of the filter to instantiate. - format: string - type: string - filterType: - description: The type of filter to instantiate. - enum: - - INVALID - - HTTP - - NETWORK - type: string - insertPosition: - description: Insert position in the filter chain. - properties: - index: - description: Position of this filter in the filter chain. - enum: - - FIRST - - LAST - - BEFORE - - AFTER - type: string - relativeTo: - format: string - type: string - type: object - listenerMatch: - properties: - address: - description: One or more IP addresses to which the listener - is bound. - items: - format: string - type: string - type: array - listenerProtocol: - description: Selects a class of listeners for the same protocol. - enum: - - ALL - - HTTP - - TCP - type: string - listenerType: - description: Inbound vs outbound sidecar listener or gateway - listener. - enum: - - ANY - - SIDECAR_INBOUND - - SIDECAR_OUTBOUND - - GATEWAY - type: string - portNamePrefix: - format: string - type: string - portNumber: - type: integer - type: object - type: object - type: array - workloadLabels: - additionalProperties: - format: string - type: string - description: Deprecated. - type: object - workloadSelector: - properties: - labels: - additionalProperties: - format: string - type: string - type: object - type: object - type: object - type: object - versions: - - name: v1alpha3 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - chart: istio - heritage: Tiller - release: istio - name: gateways.networking.istio.io -spec: - group: networking.istio.io - names: - categories: - - istio-io - - networking-istio-io - kind: Gateway - plural: gateways - shortNames: - - gw - singular: gateway - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration affecting edge load balancer. See more details - at: https://istio.io/docs/reference/config/networking/gateway.html' - properties: - selector: - additionalProperties: - format: string - type: string - type: object - servers: - description: A list of server specifications. - items: - properties: - bind: - format: string - type: string - defaultEndpoint: - format: string - type: string - hosts: - description: One or more hosts exposed by this gateway. - items: - format: string - type: string - type: array - port: - properties: - name: - description: Label assigned to the port. - format: string - type: string - number: - description: A valid non-negative integer port number. - type: integer - protocol: - description: The protocol exposed on the port. - format: string - type: string - type: object - tls: - description: Set of TLS related options that govern the server's - behavior. - properties: - caCertificates: - description: REQUIRED if mode is `MUTUAL`. - format: string - type: string - cipherSuites: - description: 'Optional: If specified, only support the specified - cipher list.' - items: - format: string - type: string - type: array - credentialName: - format: string - type: string - httpsRedirect: - type: boolean - maxProtocolVersion: - description: 'Optional: Maximum TLS protocol version.' - enum: - - TLS_AUTO - - TLSV1_0 - - TLSV1_1 - - TLSV1_2 - - TLSV1_3 - type: string - minProtocolVersion: - description: 'Optional: Minimum TLS protocol version.' - enum: - - TLS_AUTO - - TLSV1_0 - - TLSV1_1 - - TLSV1_2 - - TLSV1_3 - type: string - mode: - enum: - - PASSTHROUGH - - SIMPLE - - MUTUAL - - AUTO_PASSTHROUGH - - ISTIO_MUTUAL - type: string - privateKey: - description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. - format: string - type: string - serverCertificate: - description: REQUIRED if mode is `SIMPLE` or `MUTUAL`. - format: string - type: string - subjectAltNames: - items: - format: string - type: string - type: array - verifyCertificateHash: - items: - format: string - type: string - type: array - verifyCertificateSpki: - items: - format: string - type: string - type: array - type: object - type: object - type: array - type: object - type: object - versions: - - name: v1alpha3 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-mixer - chart: istio - heritage: Tiller - release: istio - name: httpapispecbindings.config.istio.io -spec: - group: config.istio.io - names: - categories: - - istio-io - - apim-istio-io - kind: HTTPAPISpecBinding - plural: httpapispecbindings - singular: httpapispecbinding - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - properties: - api_specs: - items: - properties: - name: - description: The short name of the HTTPAPISpec. - format: string - type: string - namespace: - description: Optional namespace of the HTTPAPISpec. - format: string - type: string - type: object - type: array - apiSpecs: - items: - properties: - name: - description: The short name of the HTTPAPISpec. - format: string - type: string - namespace: - description: Optional namespace of the HTTPAPISpec. - format: string - type: string - type: object - type: array - services: - description: One or more services to map the listed HTTPAPISpec onto. - items: - properties: - domain: - description: Domain suffix used to construct the service FQDN - in implementations that support such specification. - format: string - type: string - labels: - additionalProperties: - format: string - type: string - description: Optional one or more labels that uniquely identify - the service version. - type: object - name: - description: The short name of the service such as "foo". - format: string - type: string - namespace: - description: Optional namespace of the service. - format: string - type: string - service: - description: The service FQDN. - format: string - type: string - type: object - type: array - type: object - type: object - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-mixer - chart: istio - heritage: Tiller - release: istio - name: httpapispecs.config.istio.io -spec: - group: config.istio.io - names: - categories: - - istio-io - - apim-istio-io - kind: HTTPAPISpec - plural: httpapispecs - singular: httpapispec - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - properties: - api_keys: - items: - oneOf: - - required: - - query - - required: - - header - - required: - - cookie - properties: - cookie: - format: string - type: string - header: - description: API key is sent in a request header. - format: string - type: string - query: - description: API Key is sent as a query parameter. - format: string - type: string - type: object - type: array - apiKeys: - items: - oneOf: - - required: - - query - - required: - - header - - required: - - cookie - properties: - cookie: - format: string - type: string - header: - description: API key is sent in a request header. - format: string - type: string - query: - description: API Key is sent as a query parameter. - format: string - type: string - type: object - type: array - attributes: - properties: - attributes: - additionalProperties: - oneOf: - - required: - - stringValue - - required: - - int64Value - - required: - - doubleValue - - required: - - boolValue - - required: - - bytesValue - - required: - - timestampValue - - required: - - durationValue - - required: - - stringMapValue - properties: - boolValue: - type: boolean - bytesValue: - format: binary - type: string - doubleValue: - format: double - type: number - durationValue: - type: string - int64Value: - format: int64 - type: integer - stringMapValue: - properties: - entries: - additionalProperties: - format: string - type: string - description: Holds a set of name/value pairs. - type: object - type: object - stringValue: - format: string - type: string - timestampValue: - format: dateTime - type: string - type: object - description: A map of attribute name to its value. - type: object - type: object - patterns: - description: List of HTTP patterns to match. - items: - oneOf: - - required: - - uriTemplate - - required: - - regex - properties: - attributes: - properties: - attributes: - additionalProperties: - oneOf: - - required: - - stringValue - - required: - - int64Value - - required: - - doubleValue - - required: - - boolValue - - required: - - bytesValue - - required: - - timestampValue - - required: - - durationValue - - required: - - stringMapValue - properties: - boolValue: - type: boolean - bytesValue: - format: binary - type: string - doubleValue: - format: double - type: number - durationValue: - type: string - int64Value: - format: int64 - type: integer - stringMapValue: - properties: - entries: - additionalProperties: - format: string - type: string - description: Holds a set of name/value pairs. - type: object - type: object - stringValue: - format: string - type: string - timestampValue: - format: dateTime - type: string - type: object - description: A map of attribute name to its value. - type: object - type: object - httpMethod: - format: string - type: string - regex: - format: string - type: string - uriTemplate: - format: string - type: string - type: object - type: array - type: object - type: object - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-citadel - chart: istio - heritage: Tiller - release: istio - name: meshpolicies.authentication.istio.io -spec: - group: authentication.istio.io - names: - categories: - - istio-io - - authentication-istio-io - kind: MeshPolicy - listKind: MeshPolicyList - plural: meshpolicies - singular: meshpolicy - scope: Cluster - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Authentication policy for Istio services. See more details - at: https://istio.io/docs/reference/config/security/istio.authentication.v1alpha1.html' - properties: - originIsOptional: - type: boolean - origins: - description: List of authentication methods that can be used for origin - authentication. - items: - properties: - jwt: - description: Jwt params for the method. - properties: - audiences: - items: - format: string - type: string - type: array - issuer: - description: Identifies the issuer that issued the JWT. - format: string - type: string - jwks: - description: JSON Web Key Set of public keys to validate signature - of the JWT. - format: string - type: string - jwks_uri: - format: string - type: string - jwksUri: - format: string - type: string - jwt_headers: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtHeaders: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtParams: - description: JWT is sent in a query parameter. - items: - format: string - type: string - type: array - trigger_rules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - triggerRules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - type: object - type: object - type: array - peerIsOptional: - type: boolean - peers: - description: List of authentication methods that can be used for peer - authentication. - items: - oneOf: - - required: - - mtls - - required: - - jwt - properties: - jwt: - properties: - audiences: - items: - format: string - type: string - type: array - issuer: - description: Identifies the issuer that issued the JWT. - format: string - type: string - jwks: - description: JSON Web Key Set of public keys to validate signature - of the JWT. - format: string - type: string - jwks_uri: - format: string - type: string - jwksUri: - format: string - type: string - jwt_headers: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtHeaders: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtParams: - description: JWT is sent in a query parameter. - items: - format: string - type: string - type: array - trigger_rules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - triggerRules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - type: object - mtls: - description: Set if mTLS is used. - properties: - allowTls: - description: WILL BE DEPRECATED, if set, will translates to - `TLS_PERMISSIVE` mode. - type: boolean - mode: - description: Defines the mode of mTLS authentication. - enum: - - STRICT - - PERMISSIVE - type: string - type: object - type: object - type: array - principalBinding: - description: Define whether peer or origin identity should be use for - principal. - enum: - - USE_PEER - - USE_ORIGIN - type: string - targets: - description: List rules to select workloads that the policy should be - applied on. - items: - properties: - name: - description: The name must be a short name from the service registry. - format: string - type: string - ports: - description: Specifies the ports. - items: - oneOf: - - required: - - number - - required: - - name - properties: - name: - format: string - type: string - number: - type: integer - type: object - type: array - type: object - type: array - type: object - type: object - versions: - - name: v1alpha1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-citadel - chart: istio - heritage: Tiller - release: istio - name: policies.authentication.istio.io -spec: - group: authentication.istio.io - names: - categories: - - istio-io - - authentication-istio-io - kind: Policy - plural: policies - singular: policy - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Authentication policy for Istio services. See more details - at: https://istio.io/docs/reference/config/security/istio.authentication.v1alpha1.html' - properties: - originIsOptional: - type: boolean - origins: - description: List of authentication methods that can be used for origin - authentication. - items: - properties: - jwt: - description: Jwt params for the method. - properties: - audiences: - items: - format: string - type: string - type: array - issuer: - description: Identifies the issuer that issued the JWT. - format: string - type: string - jwks: - description: JSON Web Key Set of public keys to validate signature - of the JWT. - format: string - type: string - jwks_uri: - format: string - type: string - jwksUri: - format: string - type: string - jwt_headers: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtHeaders: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtParams: - description: JWT is sent in a query parameter. - items: - format: string - type: string - type: array - trigger_rules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - triggerRules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - type: object - type: object - type: array - peerIsOptional: - type: boolean - peers: - description: List of authentication methods that can be used for peer - authentication. - items: - oneOf: - - required: - - mtls - - required: - - jwt - properties: - jwt: - properties: - audiences: - items: - format: string - type: string - type: array - issuer: - description: Identifies the issuer that issued the JWT. - format: string - type: string - jwks: - description: JSON Web Key Set of public keys to validate signature - of the JWT. - format: string - type: string - jwks_uri: - format: string - type: string - jwksUri: - format: string - type: string - jwt_headers: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtHeaders: - description: JWT is sent in a request header. - items: - format: string - type: string - type: array - jwtParams: - description: JWT is sent in a query parameter. - items: - format: string - type: string - type: array - trigger_rules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - triggerRules: - items: - properties: - excluded_paths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - excludedPaths: - description: List of paths to be excluded from the request. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - included_paths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - includedPaths: - description: List of paths that the request must include. - items: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - suffix - - required: - - regex - properties: - exact: - description: exact string match. - format: string - type: string - prefix: - description: prefix-based match. - format: string - type: string - regex: - description: ECMAscript style regex-based match - as defined by [EDCA-262](http://en.cppreference.com/w/cpp/regex/ecmascript). - format: string - type: string - suffix: - description: suffix-based match. - format: string - type: string - type: object - type: array - type: object - type: array - type: object - mtls: - description: Set if mTLS is used. - properties: - allowTls: - description: WILL BE DEPRECATED, if set, will translates to - `TLS_PERMISSIVE` mode. - type: boolean - mode: - description: Defines the mode of mTLS authentication. - enum: - - STRICT - - PERMISSIVE - type: string - type: object - type: object - type: array - principalBinding: - description: Define whether peer or origin identity should be use for - principal. - enum: - - USE_PEER - - USE_ORIGIN - type: string - targets: - description: List rules to select workloads that the policy should be - applied on. - items: - properties: - name: - description: The name must be a short name from the service registry. - format: string - type: string - ports: - description: Specifies the ports. - items: - oneOf: - - required: - - number - - required: - - name - properties: - name: - format: string - type: string - number: - type: integer - type: object - type: array - type: object - type: array - type: object - type: object - versions: - - name: v1alpha1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-mixer - chart: istio - heritage: Tiller - release: istio - name: quotaspecbindings.config.istio.io -spec: - group: config.istio.io - names: - categories: - - istio-io - - apim-istio-io - kind: QuotaSpecBinding - plural: quotaspecbindings - singular: quotaspecbinding - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - properties: - quotaSpecs: - items: - properties: - name: - description: The short name of the QuotaSpec. - format: string - type: string - namespace: - description: Optional namespace of the QuotaSpec. - format: string - type: string - type: object - type: array - services: - description: One or more services to map the listed QuotaSpec onto. - items: - properties: - domain: - description: Domain suffix used to construct the service FQDN - in implementations that support such specification. - format: string - type: string - labels: - additionalProperties: - format: string - type: string - description: Optional one or more labels that uniquely identify - the service version. - type: object - name: - description: The short name of the service such as "foo". - format: string - type: string - namespace: - description: Optional namespace of the service. - format: string - type: string - service: - description: The service FQDN. - format: string - type: string - type: object - type: array - type: object - type: object - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-mixer - chart: istio - heritage: Tiller - release: istio - name: quotaspecs.config.istio.io -spec: - group: config.istio.io - names: - categories: - - istio-io - - apim-istio-io - kind: QuotaSpec - plural: quotaspecs - singular: quotaspec - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: Determines the quotas used for individual requests. - properties: - rules: - description: A list of Quota rules. - items: - properties: - match: - description: If empty, match all request. - items: - properties: - clause: - additionalProperties: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - description: Map of attribute names to StringMatch type. - type: object - type: object - type: array - quotas: - description: The list of quotas to charge. - items: - properties: - charge: - format: int32 - type: integer - quota: - format: string - type: string - type: object - type: array - type: object - type: array - type: object - type: object - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: mixer - chart: istio - heritage: Tiller - istio: rbac - package: istio.io.mixer - release: istio - name: rbacconfigs.rbac.istio.io -spec: - group: rbac.istio.io - names: - categories: - - istio-io - - rbac-istio-io - kind: RbacConfig - plural: rbacconfigs - singular: rbacconfig - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration for Role Based Access Control. See more details - at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' - properties: - enforcementMode: - enum: - - ENFORCED - - PERMISSIVE - type: string - exclusion: - description: A list of services or namespaces that should not be enforced - by Istio RBAC policies. - properties: - namespaces: - description: A list of namespaces. - items: - format: string - type: string - type: array - services: - description: A list of services. - items: - format: string - type: string - type: array - type: object - inclusion: - description: A list of services or namespaces that should be enforced - by Istio RBAC policies. - properties: - namespaces: - description: A list of namespaces. - items: - format: string - type: string - type: array - services: - description: A list of services. - items: - format: string - type: string - type: array - type: object - mode: - description: Istio RBAC mode. - enum: - - "OFF" - - "ON" - - ON_WITH_INCLUSION - - ON_WITH_EXCLUSION - type: string - type: object - type: object - versions: - - name: v1alpha1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - heritage: Tiller - istio: security - release: istio - name: requestauthentications.security.istio.io -spec: - group: security.istio.io - names: - categories: - - istio-io - - security-istio-io - kind: RequestAuthentication - plural: requestauthentications - singular: requestauthentication - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: RequestAuthentication defines what request authentication methods - are supported by a workload. - properties: - jwtRules: - description: Define the list of JWTs that can be validated at the selected - workloads' proxy. - items: - properties: - audiences: - items: - format: string - type: string - type: array - fromHeaders: - description: List of header locations from which JWT is expected. - items: - properties: - name: - description: The HTTP header name. - format: string - type: string - prefix: - description: The prefix that should be stripped before decoding - the token. - format: string - type: string - type: object - type: array - fromParams: - description: List of query parameters from which JWT is expected. - items: - format: string - type: string - type: array - issuer: - description: Identifies the issuer that issued the JWT. - format: string - type: string - jwks: - description: JSON Web Key Set of public keys to validate signature - of the JWT. - format: string - type: string - jwks_uri: - format: string - type: string - jwksUri: - format: string - type: string - type: object - type: array - selector: - description: The selector determines the workloads to apply the RequestAuthentication - on. - properties: - matchLabels: - additionalProperties: - format: string - type: string - type: object - type: object - type: object - type: object - versions: - - name: v1beta1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: mixer - chart: istio - heritage: Tiller - istio: core - package: istio.io.mixer - release: istio - name: rules.config.istio.io -spec: - group: config.istio.io - names: - categories: - - istio-io - - policy-istio-io - kind: rule - plural: rules - singular: rule - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Describes the rules used to configure Mixer''s policy and - telemetry features. See more details at: https://istio.io/docs/reference/config/policy-and-telemetry/istio.policy.v1beta1.html' - properties: - actions: - description: The actions that will be executed when match evaluates - to `true`. - items: - properties: - handler: - description: Fully qualified name of the handler to invoke. - format: string - type: string - instances: - items: - format: string - type: string - type: array - name: - description: A handle to refer to the results of the action. - format: string - type: string - type: object - type: array - match: - description: Match is an attribute based predicate. - format: string - type: string - requestHeaderOperations: - items: - properties: - name: - description: Header name literal value. - format: string - type: string - operation: - description: Header operation type. - enum: - - REPLACE - - REMOVE - - APPEND - type: string - values: - description: Header value expressions. - items: - format: string - type: string - type: array - type: object - type: array - responseHeaderOperations: - items: - properties: - name: - description: Header name literal value. - format: string - type: string - operation: - description: Header operation type. - enum: - - REPLACE - - REMOVE - - APPEND - type: string - values: - description: Header value expressions. - items: - format: string - type: string - type: array - type: object - type: array - sampling: - properties: - random: - description: Provides filtering of actions based on random selection - per request. - properties: - attributeExpression: - description: Specifies an attribute expression to use to override - the numerator in the `percent_sampled` field. - format: string - type: string - percentSampled: - description: The default sampling rate, expressed as a percentage. - properties: - denominator: - description: Specifies the denominator. - enum: - - HUNDRED - - TEN_THOUSAND - type: string - numerator: - description: Specifies the numerator. - type: integer - type: object - useIndependentRandomness: - description: By default sampling will be based on the value - of the request header `x-request-id`. - type: boolean - type: object - rateLimit: - properties: - maxUnsampledEntries: - description: Number of entries to allow during the `sampling_duration` - before sampling is enforced. - format: int64 - type: integer - samplingDuration: - description: Window in which to enforce the sampling rate. - type: string - samplingRate: - description: The rate at which to sample entries once the unsampled - limit has been reached. - format: int64 - type: integer - type: object - type: object - type: object - type: object - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - chart: istio - heritage: Tiller - release: istio - name: serviceentries.networking.istio.io -spec: - additionalPrinterColumns: - - JSONPath: .spec.hosts - description: The hosts associated with the ServiceEntry - name: Hosts - type: string - - JSONPath: .spec.location - description: Whether the service is external to the mesh or part of the mesh (MESH_EXTERNAL - or MESH_INTERNAL) - name: Location - type: string - - JSONPath: .spec.resolution - description: Service discovery mode for the hosts (NONE, STATIC, or DNS) - name: Resolution - type: string - - JSONPath: .metadata.creationTimestamp - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata - name: Age - type: date - group: networking.istio.io - names: - categories: - - istio-io - - networking-istio-io - kind: ServiceEntry - listKind: ServiceEntryList - plural: serviceentries - shortNames: - - se - singular: serviceentry - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration affecting service registry. See more details - at: https://istio.io/docs/reference/config/networking/service-entry.html' - properties: - addresses: - description: The virtual IP addresses associated with the service. - items: - format: string - type: string - type: array - endpoints: - description: One or more endpoints associated with the service. - items: - properties: - address: - format: string - type: string - labels: - additionalProperties: - format: string - type: string - description: One or more labels associated with the endpoint. - type: object - locality: - description: The locality associated with the endpoint. - format: string - type: string - network: - format: string - type: string - ports: - additionalProperties: - type: integer - description: Set of ports associated with the endpoint. - type: object - weight: - description: The load balancing weight associated with the endpoint. - type: integer - type: object - type: array - exportTo: - description: A list of namespaces to which this service is exported. - items: - format: string - type: string - type: array - hosts: - description: The hosts associated with the ServiceEntry. - items: - format: string - type: string - type: array - location: - enum: - - MESH_EXTERNAL - - MESH_INTERNAL - type: string - ports: - description: The ports associated with the external service. - items: - properties: - name: - description: Label assigned to the port. - format: string - type: string - number: - description: A valid non-negative integer port number. - type: integer - protocol: - description: The protocol exposed on the port. - format: string - type: string - type: object - type: array - resolution: - description: Service discovery mode for the hosts. - enum: - - NONE - - STATIC - - DNS - type: string - subjectAltNames: - items: - format: string - type: string - type: array - type: object - type: object - versions: - - name: v1alpha3 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: mixer - chart: istio - heritage: Tiller - istio: rbac - package: istio.io.mixer - release: istio - name: servicerolebindings.rbac.istio.io -spec: - additionalPrinterColumns: - - JSONPath: .spec.roleRef.name - description: The name of the ServiceRole object being referenced - name: Reference - type: string - - JSONPath: .metadata.creationTimestamp - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata - name: Age - type: date - group: rbac.istio.io - names: - categories: - - istio-io - - rbac-istio-io - kind: ServiceRoleBinding - plural: servicerolebindings - singular: servicerolebinding - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration for Role Based Access Control. See more details - at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' - properties: - actions: - items: - properties: - constraints: - description: Optional. - items: - properties: - key: - description: Key of the constraint. - format: string - type: string - values: - description: List of valid values for the constraint. - items: - format: string - type: string - type: array - type: object - type: array - hosts: - items: - format: string - type: string - type: array - methods: - description: Optional. - items: - format: string - type: string - type: array - notHosts: - items: - format: string - type: string - type: array - notMethods: - items: - format: string - type: string - type: array - notPaths: - items: - format: string - type: string - type: array - notPorts: - items: - format: int32 - type: integer - type: array - paths: - description: Optional. - items: - format: string - type: string - type: array - ports: - items: - format: int32 - type: integer - type: array - services: - description: A list of service names. - items: - format: string - type: string - type: array - type: object - type: array - mode: - enum: - - ENFORCED - - PERMISSIVE - type: string - role: - format: string - type: string - roleRef: - description: Reference to the ServiceRole object. - properties: - kind: - description: The type of the role being referenced. - format: string - type: string - name: - description: The name of the ServiceRole object being referenced. - format: string - type: string - type: object - subjects: - description: List of subjects that are assigned the ServiceRole object. - items: - properties: - group: - format: string - type: string - groups: - items: - format: string - type: string - type: array - ips: - items: - format: string - type: string - type: array - names: - items: - format: string - type: string - type: array - namespaces: - items: - format: string - type: string - type: array - notGroups: - items: - format: string - type: string - type: array - notIps: - items: - format: string - type: string - type: array - notNames: - items: - format: string - type: string - type: array - notNamespaces: - items: - format: string - type: string - type: array - properties: - additionalProperties: - format: string - type: string - description: Optional. - type: object - user: - description: Optional. - format: string - type: string - type: object - type: array - type: object - type: object - versions: - - name: v1alpha1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: mixer - chart: istio - heritage: Tiller - istio: rbac - package: istio.io.mixer - release: istio - name: serviceroles.rbac.istio.io -spec: - group: rbac.istio.io - names: - categories: - - istio-io - - rbac-istio-io - kind: ServiceRole - plural: serviceroles - singular: servicerole - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration for Role Based Access Control. See more details - at: https://istio.io/docs/reference/config/security/istio.rbac.v1alpha1.html' - properties: - rules: - description: The set of access rules (permissions) that the role has. - items: - properties: - constraints: - description: Optional. - items: - properties: - key: - description: Key of the constraint. - format: string - type: string - values: - description: List of valid values for the constraint. - items: - format: string - type: string - type: array - type: object - type: array - hosts: - items: - format: string - type: string - type: array - methods: - description: Optional. - items: - format: string - type: string - type: array - notHosts: - items: - format: string - type: string - type: array - notMethods: - items: - format: string - type: string - type: array - notPaths: - items: - format: string - type: string - type: array - notPorts: - items: - format: int32 - type: integer - type: array - paths: - description: Optional. - items: - format: string - type: string - type: array - ports: - items: - format: int32 - type: integer - type: array - services: - description: A list of service names. - items: - format: string - type: string - type: array - type: object - type: array - type: object - type: object - versions: - - name: v1alpha1 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - chart: istio - heritage: Tiller - release: istio - name: sidecars.networking.istio.io -spec: - group: networking.istio.io - names: - categories: - - istio-io - - networking-istio-io - kind: Sidecar - plural: sidecars - singular: sidecar - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration affecting network reachability of a sidecar. - See more details at: https://istio.io/docs/reference/config/networking/sidecar.html' - properties: - egress: - items: - properties: - bind: - format: string - type: string - captureMode: - enum: - - DEFAULT - - IPTABLES - - NONE - type: string - hosts: - items: - format: string - type: string - type: array - port: - description: The port associated with the listener. - properties: - name: - description: Label assigned to the port. - format: string - type: string - number: - description: A valid non-negative integer port number. - type: integer - protocol: - description: The protocol exposed on the port. - format: string - type: string - type: object - type: object - type: array - ingress: - items: - properties: - bind: - description: The IP to which the listener should be bound. - format: string - type: string - captureMode: - enum: - - DEFAULT - - IPTABLES - - NONE - type: string - defaultEndpoint: - format: string - type: string - port: - description: The port associated with the listener. - properties: - name: - description: Label assigned to the port. - format: string - type: string - number: - description: A valid non-negative integer port number. - type: integer - protocol: - description: The protocol exposed on the port. - format: string - type: string - type: object - type: object - type: array - outboundTrafficPolicy: - description: This allows to configure the outbound traffic policy. - properties: - mode: - enum: - - REGISTRY_ONLY - - ALLOW_ANY - type: string - type: object - workloadSelector: - properties: - labels: - additionalProperties: - format: string - type: string - type: object - type: object - type: object - type: object - versions: - - name: v1alpha3 - served: true - storage: true ---- - - -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: - "helm.sh/resource-policy": keep - creationTimestamp: null - labels: - app: istio-pilot - chart: istio - heritage: Tiller - release: istio - name: virtualservices.networking.istio.io -spec: - additionalPrinterColumns: - - JSONPath: .spec.gateways - description: The names of gateways and sidecars that should apply these routes - name: Gateways - type: string - - JSONPath: .spec.hosts - description: The destination hosts to which traffic is being sent - name: Hosts - type: string - - JSONPath: .metadata.creationTimestamp - description: |- - CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. - Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata - name: Age - type: date - group: networking.istio.io - names: - categories: - - istio-io - - networking-istio-io - kind: VirtualService - listKind: VirtualServiceList - plural: virtualservices - shortNames: - - vs - singular: virtualservice - scope: Namespaced - subresources: - status: {} - validation: - openAPIV3Schema: - properties: - spec: - description: 'Configuration affecting label/content routing, sni routing, - etc. See more details at: https://istio.io/docs/reference/config/networking/virtual-service.html' - properties: - exportTo: - description: A list of namespaces to which this virtual service is exported. - items: - format: string - type: string - type: array - gateways: - description: The names of gateways and sidecars that should apply these - routes. - items: - format: string - type: string - type: array - hosts: - description: The destination hosts to which traffic is being sent. - items: - format: string - type: string - type: array - http: - description: An ordered list of route rules for HTTP traffic. - items: - properties: - appendHeaders: - additionalProperties: - format: string - type: string - type: object - appendRequestHeaders: - additionalProperties: - format: string - type: string - type: object - appendResponseHeaders: - additionalProperties: - format: string - type: string - type: object - corsPolicy: - description: Cross-Origin Resource Sharing policy (CORS). - properties: - allowCredentials: - nullable: true - type: boolean - allowHeaders: - items: - format: string - type: string - type: array - allowMethods: - description: List of HTTP methods allowed to access the resource. - items: - format: string - type: string - type: array - allowOrigin: - description: The list of origins that are allowed to perform - CORS requests. - items: - format: string - type: string - type: array - exposeHeaders: - items: - format: string - type: string - type: array - maxAge: - type: string - type: object - fault: - description: Fault injection policy to apply on HTTP traffic at - the client side. - properties: - abort: - oneOf: - - properties: - percent: {} - required: - - httpStatus - - properties: - percent: {} - required: - - grpcStatus - - properties: - percent: {} - required: - - http2Error - properties: - grpcStatus: - format: string - type: string - http2Error: - format: string - type: string - httpStatus: - description: HTTP status code to use to abort the Http - request. - format: int32 - type: integer - percent: - description: Percentage of requests to be aborted with - the error code provided (0-100). - format: int32 - type: integer - percentage: - description: Percentage of requests to be aborted with - the error code provided. - properties: - value: - format: double - type: number - type: object - type: object - delay: - oneOf: - - properties: - percent: {} - required: - - fixedDelay - - properties: - percent: {} - required: - - exponentialDelay - properties: - exponentialDelay: - type: string - fixedDelay: - description: Add a fixed delay before forwarding the request. - type: string - percent: - description: Percentage of requests on which the delay - will be injected (0-100). - format: int32 - type: integer - percentage: - description: Percentage of requests on which the delay - will be injected. - properties: - value: - format: double - type: number - type: object - type: object - type: object - headers: - properties: - request: - properties: - add: - additionalProperties: - format: string - type: string - type: object - remove: - items: - format: string - type: string - type: array - set: - additionalProperties: - format: string - type: string - type: object - type: object - response: - properties: - add: - additionalProperties: - format: string - type: string - type: object - remove: - items: - format: string - type: string - type: array - set: - additionalProperties: - format: string - type: string - type: object - type: object - type: object - match: - items: - properties: - authority: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - gateways: - items: - format: string - type: string - type: array - headers: - additionalProperties: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - type: object - ignoreUriCase: - description: Flag to specify whether the URI matching should - be case-insensitive. - type: boolean - method: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - name: - description: The name assigned to a match. - format: string - type: string - port: - description: Specifies the ports on the host that is being - addressed. - type: integer - queryParams: - additionalProperties: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - description: Query parameters for matching. - type: object - scheme: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - sourceLabels: - additionalProperties: - format: string - type: string - type: object - uri: - oneOf: - - required: - - exact - - required: - - prefix - - required: - - regex - properties: - exact: - format: string - type: string - prefix: - format: string - type: string - regex: - format: string - type: string - type: object - type: object - type: array - mirror: - properties: - host: - description: The name of a service from the service registry. - format: string - type: string - port: - description: Specifies the port on the host that is being - addressed. - properties: - number: - type: integer - type: object - subset: - description: The name of a subset within the service. - format: string - type: string - type: object - mirror_percent: - description: Percentage of the traffic to be mirrored by the `mirror` - field. - nullable: true - type: integer - mirrorPercent: - description: Percentage of the traffic to be mirrored by the `mirror` - field. - nullable: true - type: integer - name: - description: The name assigned to the route for debugging purposes. - format: string - type: string - redirect: - description: A http rule can either redirect or forward (default) - traffic. - properties: - authority: - format: string - type: string - redirectCode: - type: integer - uri: - format: string - type: string - type: object - removeRequestHeaders: - items: - format: string - type: string - type: array - removeResponseHeaders: - items: - format: string - type: string - type: array - retries: - description: Retry policy for HTTP requests. - properties: - attempts: - description: Number of retries for a given request. - format: int32 - type: integer - perTryTimeout: - description: Timeout per retry attempt for a given request. - type: string - retryOn: - description: Specifies the conditions under which retry takes - place. - format: string - type: string - type: object - rewrite: - description: Rewrite HTTP URIs and Authority headers. - properties: - authority: - description: rewrite the Authority/Host header with this value. - format: string - type: string - uri: - format: string - type: string - type: object - route: - description: A http rule can either redirect or forward (default) - traffic. - items: - properties: - appendRequestHeaders: - additionalProperties: - format: string - type: string - description: Use of `append_request_headers` is deprecated. - type: object - appendResponseHeaders: - additionalProperties: - format: string - type: string - description: Use of `append_response_headers` is deprecated. - type: object - destination: - properties: - host: - description: The name of a service from the service - registry. - format: string - type: string - port: - description: Specifies the port on the host that is - being addressed. - properties: - number: - type: integer - type: object - subset: - description: The name of a subset within the service. - format: string - type: string - type: object - headers: - properties: - request: - properties: - add: - additionalProperties: - format: string - type: string - type: object - remove: - items: - format: string - type: string - type: array - set: - additionalProperties: - format: string - type: string - type: object - type: object - response: - properties: - add: - additionalProperties: - format: string - type: string - type: object - remove: - items: - format: string - type: string - type: array - set: - additionalProperties: - format: string - type: string - type: object - type: object - type: object - removeRequestHeaders: - description: Use of `remove_request_headers` is deprecated. - items: - format: string - type: string - type: array - removeResponseHeaders: - description: Use of `remove_response_header` is deprecated. - items: - format: string - type: string - type: array - weight: - format: int32 - type: integer - type: object - type: array - timeout: - description: Timeout for HTTP requests. - type: string - websocketUpgrade: - description: Deprecated. - type: boolean - type: object - type: array - tcp: - description: An ordered list of route rules for opaque TCP traffic. - items: - properties: - match: - items: - properties: - destinationSubnets: - description: IPv4 or IPv6 ip addresses of destination with - optional subnet. - items: - format: string - type: string - type: array - gateways: - description: Names of gateways where the rule should be - applied to. - items: - format: string - type: string - type: array - port: - description: Specifies the port on the host that is being - addressed. - type: integer - sourceLabels: - additionalProperties: - format: string - type: string - type: object - sourceSubnet: - description: IPv4 or IPv6 ip address of source with optional - subnet. - format: string - type: string - type: object - type: array - route: - description: The destination to which the connection should be - forwarded to. - items: - properties: - destination: - properties: - host: - description: The name of a service from the service - registry. - format: string - type: string - port: - description: Specifies the port on the host that is - being addressed. - properties: - number: - type: integer - type: object - subset: - description: The name of a subset within the service. - format: string - type: string - type: object - weight: - format: int32 - type: integer - type: object - type: array - type: object - type: array - tls: - items: - properties: - match: - items: - properties: - destinationSubnets: - description: IPv4 or IPv6 ip addresses of destination with - optional subnet. - items: - format: string - type: string - type: array - gateways: - description: Names of gateways where the rule should be - applied to. - items: - format: string - type: string - type: array - port: - description: Specifies the port on the host that is being - addressed. - type: integer - sniHosts: - description: SNI (server name indicator) to match on. - items: - format: string - type: string - type: array - sourceLabels: - additionalProperties: - format: string - type: string - type: object - sourceSubnet: - description: IPv4 or IPv6 ip address of source with optional - subnet. - format: string - type: string - type: object - type: array - route: - description: The destination to which the connection should be - forwarded to. - items: - properties: - destination: - properties: - host: - description: The name of a service from the service - registry. - format: string - type: string - port: - description: Specifies the port on the host that is - being addressed. - properties: - number: - type: integer - type: object - subset: - description: The name of a subset within the service. - format: string - type: string - type: object - weight: - format: int32 - type: integer - type: object - type: array - type: object - type: array - type: object - type: object - versions: - - name: v1alpha3 - served: true - storage: true ---- - - -kind: CustomResourceDefinition -apiVersion: apiextensions.k8s.io/v1beta1 -metadata: - name: adapters.config.istio.io - labels: - app: mixer - package: adapter - istio: mixer-adapter - chart: istio - heritage: Tiller - release: istio - annotations: - "helm.sh/resource-policy": keep -spec: - group: config.istio.io - names: - kind: adapter - plural: adapters - singular: adapter - categories: - - istio-io - - policy-istio-io - scope: Namespaced - subresources: - status: {} - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -kind: CustomResourceDefinition -apiVersion: apiextensions.k8s.io/v1beta1 -metadata: - name: instances.config.istio.io - labels: - app: mixer - package: instance - istio: mixer-instance - chart: istio - heritage: Tiller - release: istio - annotations: - "helm.sh/resource-policy": keep -spec: - group: config.istio.io - names: - kind: instance - plural: instances - singular: instance - categories: - - istio-io - - policy-istio-io - scope: Namespaced - subresources: - status: {} - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -kind: CustomResourceDefinition -apiVersion: apiextensions.k8s.io/v1beta1 -metadata: - name: templates.config.istio.io - labels: - app: mixer - package: template - istio: mixer-template - chart: istio - heritage: Tiller - release: istio - annotations: - "helm.sh/resource-policy": keep -spec: - group: config.istio.io - names: - kind: template - plural: templates - singular: template - categories: - - istio-io - - policy-istio-io - scope: Namespaced - subresources: - status: {} - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -kind: CustomResourceDefinition -apiVersion: apiextensions.k8s.io/v1beta1 -metadata: - name: handlers.config.istio.io - labels: - app: mixer - package: handler - istio: mixer-handler - chart: istio - heritage: Tiller - release: istio - annotations: - "helm.sh/resource-policy": keep -spec: - group: config.istio.io - names: - kind: handler - plural: handlers - singular: handler - categories: - - istio-io - - policy-istio-io - scope: Namespaced - subresources: - status: {} - versions: - - name: v1alpha2 - served: true - storage: true ---- - - -apiVersion: v1 -kind: Namespace -metadata: - name: istio-control - labels: - istio-operator-managed: Reconcile - istio-injection: disabled ---- - - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: istio-reader-service-account - namespace: istio-control - labels: - app: istio-reader - release: istio ---- - -# CertManager component is disabled. - -# Citadel component is disabled. - -# Cni component is disabled. - -# CoreDNS component is disabled. - -# EgressGateway component is disabled. - -# Galley component is disabled. - -# Grafana component is disabled. - -# Resources for IngressGateway component - -apiVersion: autoscaling/v2beta1 -kind: HorizontalPodAutoscaler -metadata: - labels: - app: istio-ingressgateway - istio: ingressgateway - release: istio - name: istio-ingressgateway - namespace: istio-control -spec: - maxReplicas: 5 - metrics: - - resource: - name: cpu - targetAverageUtilization: 80 - type: Resource - minReplicas: 1 - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: istio-ingressgateway - ---- - - apiVersion: apps/v1 kind: Deployment metadata: @@ -5570,7 +118,7 @@ spec: - name: ISTIO_META_WORKLOAD_NAME value: istio-ingressgateway - name: ISTIO_META_OWNER - value: kubernetes://api/apps/v1/namespaces/istio-control/deployments/istio-ingressgateway + value: kubernetes://apis/apps/v1/namespaces/istio-control/deployments/istio-ingressgateway - name: ISTIO_META_MESH_ID value: cluster.local - name: ISTIO_META_POD_NAME @@ -5653,47 +201,6 @@ spec: --- - -apiVersion: networking.istio.io/v1alpha3 -kind: Gateway -metadata: - name: ingressgateway - namespace: istio-control - labels: - release: istio -spec: - selector: - istio: ingressgateway - servers: - - port: - number: 80 - name: http - protocol: HTTP - hosts: - - "*" - # Additional ports in gateaway for the ingressPorts - apps using dedicated port instead of hostname ---- - - -apiVersion: policy/v1beta1 -kind: PodDisruptionBudget -metadata: - name: ingressgateway - namespace: istio-control - labels: - app: istio-ingressgateway - release: istio - istio: ingressgateway -spec: - minAvailable: 1 - selector: - matchLabels: - app: istio-ingressgateway - release: istio - istio: ingressgateway ---- - - apiVersion: v1 kind: Service metadata: @@ -5732,494 +239,4 @@ spec: targetPort: 15443 selector: app: istio-ingressgateway - type: LoadBalancer - ---- - - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: istio-ingressgateway-service-account - namespace: istio-control - labels: - app: istio-ingressgateway - release: istio ---- - - -apiVersion: networking.istio.io/v1alpha3 -kind: Sidecar -metadata: - name: default - namespace: istio-control - labels: - release: istio -spec: - egress: - - hosts: - - "*/*" ---- - -# Injector component is disabled. - -# Kiali component is disabled. - -# NodeAgent component is disabled. - -# Pilot component is disabled. - -# Policy component is disabled. - -# Resources for Prometheus component - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: prometheus-istio-control - labels: - app: prometheus - release: istio -rules: -- apiGroups: [""] - resources: - - nodes - - services - - endpoints - - pods - - nodes/proxy - verbs: ["get", "list", "watch"] -- apiGroups: [""] - resources: - - configmaps - verbs: ["get"] -- nonResourceURLs: ["/metrics"] - verbs: ["get"] ---- - - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: prometheus-istio-control - labels: - app: prometheus - release: istio -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: prometheus-istio-control -subjects: -- kind: ServiceAccount - name: prometheus - namespace: istio-control ---- - - -apiVersion: v1 -kind: ConfigMap -metadata: - name: prometheus - namespace: istio-control - labels: - app: prometheus - release: istio -data: - prometheus.yml: |- - global: - scrape_interval: 15s - scrape_configs: - - # Mixer scrapping. Defaults to Prometheus and mixer on same namespace. - # - - job_name: 'istio-mesh' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - istio-control - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: istio-telemetry;prometheus - - # Scrape config for envoy stats - - job_name: 'envoy-stats' - metrics_path: /stats/prometheus - kubernetes_sd_configs: - - role: pod - - relabel_configs: - - source_labels: [__meta_kubernetes_pod_container_port_name] - action: keep - regex: '.*-envoy-prom' - - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] - action: replace - regex: ([^:]+)(?::\d+)?;(\d+) - replacement: $1:15090 - target_label: __address__ - - action: labelmap - regex: __meta_kubernetes_pod_label_(.+) - - source_labels: [__meta_kubernetes_namespace] - action: replace - target_label: namespace - - source_labels: [__meta_kubernetes_pod_name] - action: replace - target_label: pod_name - - - job_name: 'istio-policy' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - istio-control - - - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: istio-policy;http-policy-monitoring - - - job_name: 'istio-telemetry' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - istio-control - - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: istio-telemetry;http-monitoring - - - job_name: 'pilot' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - istio-control - - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: istio-pilot;http-monitoring - - - job_name: 'galley' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - istio-control - - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: istio-galley;http-monitoring - - - job_name: 'citadel' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - istio-control - - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: istio-citadel;http-monitoring - - # scrape config for API servers - - job_name: 'kubernetes-apiservers' - kubernetes_sd_configs: - - role: endpoints - namespaces: - names: - - default - scheme: https - tls_config: - ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token - relabel_configs: - - source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] - action: keep - regex: kubernetes;https - - # scrape config for nodes (kubelet) - - job_name: 'kubernetes-nodes' - scheme: https - tls_config: - ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token - kubernetes_sd_configs: - - role: node - relabel_configs: - - action: labelmap - regex: __meta_kubernetes_node_label_(.+) - - target_label: __address__ - replacement: kubernetes.default.svc:443 - - source_labels: [__meta_kubernetes_node_name] - regex: (.+) - target_label: __metrics_path__ - replacement: /api/v1/nodes/${1}/proxy/metrics - - # Scrape config for Kubelet cAdvisor. - # - # This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics - # (those whose names begin with 'container_') have been removed from the - # Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to - # retrieve those metrics. - # - # In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor - # HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics" - # in that case (and ensure cAdvisor's HTTP server hasn't been disabled with - # the --cadvisor-port=0 Kubelet flag). - # - # This job is not necessary and should be removed in Kubernetes 1.6 and - # earlier versions, or it will cause the metrics to be scraped twice. - - job_name: 'kubernetes-cadvisor' - scheme: https - tls_config: - ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token - kubernetes_sd_configs: - - role: node - relabel_configs: - - action: labelmap - regex: __meta_kubernetes_node_label_(.+) - - target_label: __address__ - replacement: kubernetes.default.svc:443 - - source_labels: [__meta_kubernetes_node_name] - regex: (.+) - target_label: __metrics_path__ - replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor - - # scrape config for service endpoints. - - job_name: 'kubernetes-service-endpoints' - kubernetes_sd_configs: - - role: endpoints - relabel_configs: - - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] - action: keep - regex: true - - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme] - action: replace - target_label: __scheme__ - regex: (https?) - - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path] - action: replace - target_label: __metrics_path__ - regex: (.+) - - source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port] - action: replace - target_label: __address__ - regex: ([^:]+)(?::\d+)?;(\d+) - replacement: $1:$2 - - action: labelmap - regex: __meta_kubernetes_service_label_(.+) - - source_labels: [__meta_kubernetes_namespace] - action: replace - target_label: kubernetes_namespace - - source_labels: [__meta_kubernetes_service_name] - action: replace - target_label: kubernetes_name - - - job_name: 'kubernetes-pods' - kubernetes_sd_configs: - - role: pod - relabel_configs: # If first two labels are present, pod should be scraped by the istio-secure job. - - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] - action: keep - regex: true - - source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status] - action: drop - regex: (.+) - - source_labels: [__meta_kubernetes_pod_annotation_istio_mtls] - action: drop - regex: (true) - - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] - action: replace - target_label: __metrics_path__ - regex: (.+) - - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] - action: replace - regex: ([^:]+)(?::\d+)?;(\d+) - replacement: $1:$2 - target_label: __address__ - - action: labelmap - regex: __meta_kubernetes_pod_label_(.+) - - source_labels: [__meta_kubernetes_namespace] - action: replace - target_label: namespace - - source_labels: [__meta_kubernetes_pod_name] - action: replace - target_label: pod_name - - job_name: 'kubernetes-pods-istio-secure' - scheme: https - tls_config: - ca_file: /etc/istio-certs/root-cert.pem - cert_file: /etc/istio-certs/cert-chain.pem - key_file: /etc/istio-certs/key.pem - insecure_skip_verify: true # prometheus does not support secure naming. - kubernetes_sd_configs: - - role: pod - relabel_configs: - - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] - action: keep - regex: true - # sidecar status annotation is added by sidecar injector and - # istio_workload_mtls_ability can be specifically placed on a pod to indicate its ability to receive mtls traffic. - - source_labels: [__meta_kubernetes_pod_annotation_sidecar_istio_io_status, __meta_kubernetes_pod_annotation_istio_mtls] - action: keep - regex: (([^;]+);([^;]*))|(([^;]*);(true)) - - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] - action: replace - target_label: __metrics_path__ - regex: (.+) - - source_labels: [__address__] # Only keep address that is host:port - action: keep # otherwise an extra target with ':443' is added for https scheme - regex: ([^:]+):(\d+) - - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] - action: replace - regex: ([^:]+)(?::\d+)?;(\d+) - replacement: $1:$2 - target_label: __address__ - - action: labelmap - regex: __meta_kubernetes_pod_label_(.+) - - source_labels: [__meta_kubernetes_namespace] - action: replace - target_label: namespace - - source_labels: [__meta_kubernetes_pod_name] - action: replace - target_label: pod_name ---- - - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: prometheus - namespace: istio-control - labels: - app: prometheus - release: istio -spec: - replicas: 1 - selector: - matchLabels: - app: prometheus - template: - metadata: - labels: - app: prometheus - release: istio - annotations: - sidecar.istio.io/inject: "false" - spec: - serviceAccountName: prometheus - containers: - - name: prometheus - image: "docker.io/prom/prometheus:v2.12.0" - imagePullPolicy: IfNotPresent - args: - - '--storage.tsdb.retention=6h' - - '--config.file=/etc/prometheus/prometheus.yml' - ports: - - containerPort: 9090 - name: http - livenessProbe: - httpGet: - path: /-/healthy - port: 9090 - readinessProbe: - httpGet: - path: /-/ready - port: 9090 - resources: - requests: - cpu: 10m - - volumeMounts: - - name: config-volume - mountPath: /etc/prometheus - - mountPath: /etc/istio-certs - name: istio-certs - volumes: - - name: config-volume - configMap: - name: prometheus - - name: istio-certs - secret: - defaultMode: 420 - secretName: istio.default - affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - amd64 - - ppc64le - - s390x - preferredDuringSchedulingIgnoredDuringExecution: - - weight: 2 - preference: - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - amd64 - - weight: 2 - preference: - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - ppc64le - - weight: 2 - preference: - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - s390x ---- - - -apiVersion: v1 -kind: Service -metadata: - name: prometheus - namespace: istio-control - annotations: - prometheus.io/scrape: 'true' - labels: - app: prometheus - release: istio -spec: - selector: - app: prometheus - ports: - - name: http-prometheus - protocol: TCP - port: 9090 ---- - - -apiVersion: v1 -kind: ServiceAccount -metadata: - name: prometheus - namespace: istio-control - labels: - app: prometheus - release: istio ---- - -# PrometheusOperator component is disabled. - -# Telemetry component is disabled. - -# Tracing component is disabled. - + type: LoadBalancer \ No newline at end of file From b806a6283cdacf6ad6acb8e8a43f1fa177f125a0 Mon Sep 17 00:00:00 2001 From: Xinnan Wen Date: Mon, 30 Dec 2019 19:49:21 -0800 Subject: [PATCH 3/5] mirrors k8s service type for unmarshalling --- .../input/ingressgateway_k8s_settings.yaml | 5 + .../output/ingressgateway_k8s_settings.yaml | 3 + .../v1alpha2/istiocontrolplane_types.pb.go | 3755 +++++++++++++++++ .../v1alpha2/istiocontrolplane_types.proto | 726 ++++ pkg/apis/istio/v1alpha2/v1alpha2.pb.html | 3215 ++++++++++++++ .../v1alpha2/istiocontrolplane_types_pb2.py | 441 +- 6 files changed, 8094 insertions(+), 51 deletions(-) create mode 100644 pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go create mode 100644 pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto create mode 100644 pkg/apis/istio/v1alpha2/v1alpha2.pb.html diff --git a/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml index f1d4d7ddd..4b862bac7 100644 --- a/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml @@ -22,6 +22,11 @@ spec: k8s: service: externalTrafficPolicy: Local + ports: + - name: foo + port: 1234 + targetPort: 1234 + telemetry: enabled: false diff --git a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml index 04a59a5b4..d220c1c20 100644 --- a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml @@ -214,6 +214,9 @@ metadata: spec: externalTrafficPolicy: Local ports: + - name: foo + port: 1234 + targetPort: 1234 - name: status-port port: 15020 targetPort: 15020 diff --git a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go new file mode 100644 index 000000000..68e169005 --- /dev/null +++ b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go @@ -0,0 +1,3755 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto + +// IstioControlPlane is a schema for both defining and customizing Istio control plane installations. +// Running the operator with an empty user defined InstallSpec results in an control plane with default values, using the +// default charts. +// +// The simplest install specialization is to point the user InstallSpec profile to a different values file, for +// example an Istio minimal control plane, which will use the values associated with the minimal control plane profile for +// Istio. +// +// Deeper customization is possible at three levels: +// +// 1. New APIs defined in this file +// +// Feature API: this API groups an Istio install by features and allows enabling/disabling the features, selecting base +// control plane profiles, as well as some additional high level settings that are feature specific. Each feature contains +// one or more components, which correspond to Istio components (Pods) in the cluster. +// +// k8s API: this API is a pass through to k8s resource settings for Istio k8s resources. It allows customizing Istio k8s +// resources like Affinity, Resource requests/limits, PodDisruptionBudgetSpec, Selectors etc. in a more consistent and +// k8s specific way compared to values.yaml. See KubernetesResourcesSpec in this file for details. +// +// 1. values.yaml +// +// The entirety of values.yaml settings is accessible through InstallSpec (see CommonComponentSpec/Values). +// This API will gradually be deprecated and values there will be moved either into CRDs that are used to directly +// configure components or, in the case of k8s settings, will be replaced by the new API above. +// +// 1. k8s resource overlays +// +// Once a manifest is rendered from InstallSpec, a further customization can be applied by specifying k8s resource +// overlays. The concept is similar to kustomize, where JSON patches are applied for object paths. This allows +// customization at the lowest level and eliminates the need to create ad-hoc template parameters, or edit templates. +// +// Here are a few example uses: +// +// 1. Default Istio install +// +// ``` +// spec: +// ``` +// +// 1. Default minimal profile install +// +// ``` +// spec: +// profile: minimal +// ``` +// +// 1. Default install with telemetry disabled +// +// ``` +// spec: +// telemetry: +// enabled: false +// ``` +// +// 1. Default install with each feature installed to different namespace and security components in separate namespaces +// +// ``` +// spec: +// traffic_management: +// components: +// namespace: istio-traffic-management +// policy: +// components: +// namespace: istio-policy +// telemetry: +// components: +// namespace: istio-telemetry +// config_management: +// components: +// namespace: istio-config-management +// security: +// components: +// citadel: +// namespace: istio-citadel +// cert_manager: +// namespace: istio-cert-manager +// node_agent: +// namespace: istio-node-agent +// ``` +// +// 1. Default install with specialized k8s settings for pilot +// +// ``` +// spec: +// traffic_management: +// components: +// pilot: +// k8s: +// resources: +// limits: +// cpu: 444m +// memory: 333Mi +// requests: +// cpu: 222m +// memory: 111Mi +// readinessProbe: +// failureThreshold: 44 +// initialDelaySeconds: 11 +// periodSeconds: 22 +// successThreshold: 33 +// ``` +// +// 1. Default install with values.yaml customizations for proxy +// +// ``` +// spec: +// traffic_management: +// components: +// proxy: +// values: +// - global.proxy.enableCoreDump: true +// - global.proxy.dnsRefreshRate: 10s +// ``` +// +// 1. Default install with modification to container flag in galley +// +// ``` +// spec: +// configuration_management: +// components: +// galley: +// k8s: +// overlays: +// - apiVersion: extensions/v1beta1 +// kind: Deployment +// name: istio-galley +// patches: +// - path: spec.template.spec.containers.[name:galley].command.[--livenessProbeInterval] +// value: --livenessProbeInterval=123s +// ``` + +package v1alpha2 + +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/types" + proto "github.com/golang/protobuf/proto" + v2beta1 "k8s.io/api/autoscaling/v2beta1" + v1 "k8s.io/api/core/v1" + v11 "k8s.io/apimachinery/pkg/apis/meta/v1" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type InstallStatus_Status int32 + +const ( + InstallStatus_NONE InstallStatus_Status = 0 + InstallStatus_UPDATING InstallStatus_Status = 1 + InstallStatus_HEALTHY InstallStatus_Status = 2 + InstallStatus_ERROR InstallStatus_Status = 3 + InstallStatus_RECONCILING InstallStatus_Status = 4 +) + +var InstallStatus_Status_name = map[int32]string{ + 0: "NONE", + 1: "UPDATING", + 2: "HEALTHY", + 3: "ERROR", + 4: "RECONCILING", +} + +var InstallStatus_Status_value = map[string]int32{ + "NONE": 0, + "UPDATING": 1, + "HEALTHY": 2, + "ERROR": 3, + "RECONCILING": 4, +} + +func (x InstallStatus_Status) String() string { + return proto.EnumName(InstallStatus_Status_name, int32(x)) +} + +func (InstallStatus_Status) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{28, 0} +} + +// IstioControlPlane is a CustomResourceDefinition (CRD) describing an Istio control plane. +type IstioControlPlane struct { + // Spec defines the desired state of IstioControlPlane. + Spec *IstioControlPlaneSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` + // Status reports the status of the Istio control plane. + Status *InstallStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + Kind string `protobuf:"bytes,5,opt,name=kind,proto3" json:"kind,omitempty"` + ApiVersion string `protobuf:"bytes,6,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` + v11.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,7,opt,name=metadata"` + v11.TypeMeta `json:",inline"` + Placeholder string `protobuf:"bytes,111,opt,name=placeholder,proto3" json:"placeholder,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IstioControlPlane) Reset() { *m = IstioControlPlane{} } +func (m *IstioControlPlane) String() string { return proto.CompactTextString(m) } +func (*IstioControlPlane) ProtoMessage() {} +func (*IstioControlPlane) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{0} +} + +func (m *IstioControlPlane) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IstioControlPlane.Unmarshal(m, b) +} +func (m *IstioControlPlane) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IstioControlPlane.Marshal(b, m, deterministic) +} +func (m *IstioControlPlane) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioControlPlane.Merge(m, src) +} +func (m *IstioControlPlane) XXX_Size() int { + return xxx_messageInfo_IstioControlPlane.Size(m) +} +func (m *IstioControlPlane) XXX_DiscardUnknown() { + xxx_messageInfo_IstioControlPlane.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioControlPlane proto.InternalMessageInfo + +func (m *IstioControlPlane) GetSpec() *IstioControlPlaneSpec { + if m != nil { + return m.Spec + } + return nil +} + +func (m *IstioControlPlane) GetStatus() *InstallStatus { + if m != nil { + return m.Status + } + return nil +} + +func (m *IstioControlPlane) GetKind() string { + if m != nil { + return m.Kind + } + return "" +} + +func (m *IstioControlPlane) GetApiVersion() string { + if m != nil { + return m.ApiVersion + } + return "" +} + +func (m *IstioControlPlane) GetPlaceholder() string { + if m != nil { + return m.Placeholder + } + return "" +} + +// IstioControlPlaneSpec defines the desired state of IstioControlPlane. +// The spec is a used to define a customization of the default profile values that are supplied with each Istio release. +// It is grouped at the top level by feature, where behavior of Istio functional areas is specified. +// Each feature contains components, where k8s resource level defaults can be overridden. +// Because the spec is a customization API, specifying an empty InstallSpec results in a default Istio control plane. +type IstioControlPlaneSpec struct { + // Default namespace if feature or component namespaces are not set. + DefaultNamespace string `protobuf:"bytes,5,opt,name=default_namespace,json=defaultNamespace,proto3" json:"default_namespace,omitempty"` + // Base feature containing resources like CRDs, namespaces etc. + Base *BaseFeatureSpec `protobuf:"bytes,20,opt,name=base,proto3" json:"base,omitempty"` + // Selection and configuration of core Istio features. + TrafficManagement *TrafficManagementFeatureSpec `protobuf:"bytes,25,opt,name=traffic_management,json=trafficManagement,proto3" json:"traffic_management,omitempty"` + Policy *PolicyFeatureSpec `protobuf:"bytes,26,opt,name=policy,proto3" json:"policy,omitempty"` + Telemetry *TelemetryFeatureSpec `protobuf:"bytes,27,opt,name=telemetry,proto3" json:"telemetry,omitempty"` + Security *SecurityFeatureSpec `protobuf:"bytes,28,opt,name=security,proto3" json:"security,omitempty"` + ConfigManagement *ConfigManagementFeatureSpec `protobuf:"bytes,29,opt,name=config_management,json=configManagement,proto3" json:"config_management,omitempty"` + AutoInjection *AutoInjectionFeatureSpec `protobuf:"bytes,30,opt,name=auto_injection,json=autoInjection,proto3" json:"auto_injection,omitempty"` + Gateways *GatewayFeatureSpec `protobuf:"bytes,31,opt,name=gateways,proto3" json:"gateways,omitempty"` + Cni *CNIFeatureSpec `protobuf:"bytes,32,opt,name=cni,proto3" json:"cni,omitempty"` + CoreDNS *CoreDNSFeatureSpec `protobuf:"bytes,33,opt,name=coreDNS,proto3" json:"coreDNS,omitempty"` + // Overrides for default global values.yaml. + Values map[string]interface{} `protobuf:"bytes,50,opt,name=values,proto3" json:"values,omitempty"` + // Unvalidated overrides for default global values.yaml. + UnvalidatedValues map[string]interface{} `protobuf:"bytes,51,opt,name=unvalidatedValues,proto3" json:"unvalidatedValues,omitempty"` + // Path or name for the profile e.g. + // - minimal (looks in profiles dir for a file called minimal.yaml) + // - /tmp/istio/install/values/custom/custom-install.yaml (local file path) + // default profile is used if this field is unset. + Profile string `protobuf:"bytes,100,opt,name=profile,proto3" json:"profile,omitempty"` + // Path for the install package. e.g. + // - /tmp/istio-installer/nightly (local file path) + InstallPackagePath string `protobuf:"bytes,102,opt,name=install_package_path,json=installPackagePath,proto3" json:"install_package_path,omitempty"` + // Root for docker image paths e.g. docker.io/istio-release. + // Releases are published to docker hub under 'istio' project. + // Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly + Hub string `protobuf:"bytes,110,opt,name=hub,proto3" json:"hub,omitempty"` + // Version tag for docker images e.g. 1.0.6 + Tag string `protobuf:"bytes,111,opt,name=tag,proto3" json:"tag,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IstioControlPlaneSpec) Reset() { *m = IstioControlPlaneSpec{} } +func (m *IstioControlPlaneSpec) String() string { return proto.CompactTextString(m) } +func (*IstioControlPlaneSpec) ProtoMessage() {} +func (*IstioControlPlaneSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{1} +} + +func (m *IstioControlPlaneSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IstioControlPlaneSpec.Unmarshal(m, b) +} +func (m *IstioControlPlaneSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IstioControlPlaneSpec.Marshal(b, m, deterministic) +} +func (m *IstioControlPlaneSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_IstioControlPlaneSpec.Merge(m, src) +} +func (m *IstioControlPlaneSpec) XXX_Size() int { + return xxx_messageInfo_IstioControlPlaneSpec.Size(m) +} +func (m *IstioControlPlaneSpec) XXX_DiscardUnknown() { + xxx_messageInfo_IstioControlPlaneSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_IstioControlPlaneSpec proto.InternalMessageInfo + +func (m *IstioControlPlaneSpec) GetDefaultNamespace() string { + if m != nil { + return m.DefaultNamespace + } + return "" +} + +func (m *IstioControlPlaneSpec) GetBase() *BaseFeatureSpec { + if m != nil { + return m.Base + } + return nil +} + +func (m *IstioControlPlaneSpec) GetTrafficManagement() *TrafficManagementFeatureSpec { + if m != nil { + return m.TrafficManagement + } + return nil +} + +func (m *IstioControlPlaneSpec) GetPolicy() *PolicyFeatureSpec { + if m != nil { + return m.Policy + } + return nil +} + +func (m *IstioControlPlaneSpec) GetTelemetry() *TelemetryFeatureSpec { + if m != nil { + return m.Telemetry + } + return nil +} + +func (m *IstioControlPlaneSpec) GetSecurity() *SecurityFeatureSpec { + if m != nil { + return m.Security + } + return nil +} + +func (m *IstioControlPlaneSpec) GetConfigManagement() *ConfigManagementFeatureSpec { + if m != nil { + return m.ConfigManagement + } + return nil +} + +func (m *IstioControlPlaneSpec) GetAutoInjection() *AutoInjectionFeatureSpec { + if m != nil { + return m.AutoInjection + } + return nil +} + +func (m *IstioControlPlaneSpec) GetGateways() *GatewayFeatureSpec { + if m != nil { + return m.Gateways + } + return nil +} + +func (m *IstioControlPlaneSpec) GetCni() *CNIFeatureSpec { + if m != nil { + return m.Cni + } + return nil +} + +func (m *IstioControlPlaneSpec) GetCoreDNS() *CoreDNSFeatureSpec { + if m != nil { + return m.CoreDNS + } + return nil +} + +func (m *IstioControlPlaneSpec) GetValues() map[string]interface{} { + if m != nil { + return m.Values + } + return nil +} + +func (m *IstioControlPlaneSpec) GetUnvalidatedValues() map[string]interface{} { + if m != nil { + return m.UnvalidatedValues + } + return nil +} + +func (m *IstioControlPlaneSpec) GetProfile() string { + if m != nil { + return m.Profile + } + return "" +} + +func (m *IstioControlPlaneSpec) GetInstallPackagePath() string { + if m != nil { + return m.InstallPackagePath + } + return "" +} + +func (m *IstioControlPlaneSpec) GetHub() string { + if m != nil { + return m.Hub + } + return "" +} + +func (m *IstioControlPlaneSpec) GetTag() string { + if m != nil { + return m.Tag + } + return "" +} + +// Base feature settings. +type BaseFeatureSpec struct { + // Selects whether base feature is installed. Required for all Istio installs. + // Should only be disabled when generating partial Istio installation YAMLs. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *BaseFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BaseFeatureSpec) Reset() { *m = BaseFeatureSpec{} } +func (m *BaseFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*BaseFeatureSpec) ProtoMessage() {} +func (*BaseFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{2} +} + +func (m *BaseFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BaseFeatureSpec.Unmarshal(m, b) +} +func (m *BaseFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BaseFeatureSpec.Marshal(b, m, deterministic) +} +func (m *BaseFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_BaseFeatureSpec.Merge(m, src) +} +func (m *BaseFeatureSpec) XXX_Size() int { + return xxx_messageInfo_BaseFeatureSpec.Size(m) +} +func (m *BaseFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_BaseFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_BaseFeatureSpec proto.InternalMessageInfo + +func (m *BaseFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *BaseFeatureSpec) GetComponents() *BaseFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +// Component specific config. +type BaseFeatureSpec_Components struct { + Base *BaseComponentSpec `protobuf:"bytes,20,opt,name=base,proto3" json:"base,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BaseFeatureSpec_Components) Reset() { *m = BaseFeatureSpec_Components{} } +func (m *BaseFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*BaseFeatureSpec_Components) ProtoMessage() {} +func (*BaseFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{2, 0} +} + +func (m *BaseFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BaseFeatureSpec_Components.Unmarshal(m, b) +} +func (m *BaseFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BaseFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *BaseFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_BaseFeatureSpec_Components.Merge(m, src) +} +func (m *BaseFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_BaseFeatureSpec_Components.Size(m) +} +func (m *BaseFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_BaseFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_BaseFeatureSpec_Components proto.InternalMessageInfo + +func (m *BaseFeatureSpec_Components) GetBase() *BaseComponentSpec { + if m != nil { + return m.Base + } + return nil +} + +// Configuration options for traffic management. +type TrafficManagementFeatureSpec struct { + // Selects whether traffic management is installed. + // Must be enabled to enable any sub-component. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *TrafficManagementFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TrafficManagementFeatureSpec) Reset() { *m = TrafficManagementFeatureSpec{} } +func (m *TrafficManagementFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*TrafficManagementFeatureSpec) ProtoMessage() {} +func (*TrafficManagementFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{3} +} + +func (m *TrafficManagementFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TrafficManagementFeatureSpec.Unmarshal(m, b) +} +func (m *TrafficManagementFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TrafficManagementFeatureSpec.Marshal(b, m, deterministic) +} +func (m *TrafficManagementFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_TrafficManagementFeatureSpec.Merge(m, src) +} +func (m *TrafficManagementFeatureSpec) XXX_Size() int { + return xxx_messageInfo_TrafficManagementFeatureSpec.Size(m) +} +func (m *TrafficManagementFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_TrafficManagementFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_TrafficManagementFeatureSpec proto.InternalMessageInfo + +func (m *TrafficManagementFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *TrafficManagementFeatureSpec) GetComponents() *TrafficManagementFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +// Component specific config. +type TrafficManagementFeatureSpec_Components struct { + // Namespace that all traffic management components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Pilot *PilotComponentSpec `protobuf:"bytes,20,opt,name=pilot,proto3" json:"pilot,omitempty"` + Proxy *ProxyComponentSpec `protobuf:"bytes,21,opt,name=proxy,proto3" json:"proxy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TrafficManagementFeatureSpec_Components) Reset() { + *m = TrafficManagementFeatureSpec_Components{} +} +func (m *TrafficManagementFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*TrafficManagementFeatureSpec_Components) ProtoMessage() {} +func (*TrafficManagementFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{3, 0} +} + +func (m *TrafficManagementFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TrafficManagementFeatureSpec_Components.Unmarshal(m, b) +} +func (m *TrafficManagementFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TrafficManagementFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *TrafficManagementFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_TrafficManagementFeatureSpec_Components.Merge(m, src) +} +func (m *TrafficManagementFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_TrafficManagementFeatureSpec_Components.Size(m) +} +func (m *TrafficManagementFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_TrafficManagementFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_TrafficManagementFeatureSpec_Components proto.InternalMessageInfo + +func (m *TrafficManagementFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *TrafficManagementFeatureSpec_Components) GetPilot() *PilotComponentSpec { + if m != nil { + return m.Pilot + } + return nil +} + +func (m *TrafficManagementFeatureSpec_Components) GetProxy() *ProxyComponentSpec { + if m != nil { + return m.Proxy + } + return nil +} + +// Configuration options for the policy feature. +type PolicyFeatureSpec struct { + // Selects whether policy is installed. + // Must be enabled to enable any sub-component. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *PolicyFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PolicyFeatureSpec) Reset() { *m = PolicyFeatureSpec{} } +func (m *PolicyFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*PolicyFeatureSpec) ProtoMessage() {} +func (*PolicyFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{4} +} + +func (m *PolicyFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PolicyFeatureSpec.Unmarshal(m, b) +} +func (m *PolicyFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PolicyFeatureSpec.Marshal(b, m, deterministic) +} +func (m *PolicyFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_PolicyFeatureSpec.Merge(m, src) +} +func (m *PolicyFeatureSpec) XXX_Size() int { + return xxx_messageInfo_PolicyFeatureSpec.Size(m) +} +func (m *PolicyFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_PolicyFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_PolicyFeatureSpec proto.InternalMessageInfo + +func (m *PolicyFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *PolicyFeatureSpec) GetComponents() *PolicyFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +// Component specific config. +type PolicyFeatureSpec_Components struct { + // Namespace that all policy components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Policy *PolicyComponentSpec `protobuf:"bytes,20,opt,name=policy,proto3" json:"policy,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PolicyFeatureSpec_Components) Reset() { *m = PolicyFeatureSpec_Components{} } +func (m *PolicyFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*PolicyFeatureSpec_Components) ProtoMessage() {} +func (*PolicyFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{4, 0} +} + +func (m *PolicyFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PolicyFeatureSpec_Components.Unmarshal(m, b) +} +func (m *PolicyFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PolicyFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *PolicyFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_PolicyFeatureSpec_Components.Merge(m, src) +} +func (m *PolicyFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_PolicyFeatureSpec_Components.Size(m) +} +func (m *PolicyFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_PolicyFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_PolicyFeatureSpec_Components proto.InternalMessageInfo + +func (m *PolicyFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *PolicyFeatureSpec_Components) GetPolicy() *PolicyComponentSpec { + if m != nil { + return m.Policy + } + return nil +} + +// Configuration options for the telemetry feature. +type TelemetryFeatureSpec struct { + // Selects whether telemetry is installed. + // Must be enabled to enable any sub-component. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *TelemetryFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TelemetryFeatureSpec) Reset() { *m = TelemetryFeatureSpec{} } +func (m *TelemetryFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*TelemetryFeatureSpec) ProtoMessage() {} +func (*TelemetryFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{5} +} + +func (m *TelemetryFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TelemetryFeatureSpec.Unmarshal(m, b) +} +func (m *TelemetryFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TelemetryFeatureSpec.Marshal(b, m, deterministic) +} +func (m *TelemetryFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_TelemetryFeatureSpec.Merge(m, src) +} +func (m *TelemetryFeatureSpec) XXX_Size() int { + return xxx_messageInfo_TelemetryFeatureSpec.Size(m) +} +func (m *TelemetryFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_TelemetryFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_TelemetryFeatureSpec proto.InternalMessageInfo + +func (m *TelemetryFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *TelemetryFeatureSpec) GetComponents() *TelemetryFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +// Component specific config. +type TelemetryFeatureSpec_Components struct { + // Namespace that all telemetry components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Telemetry *TelemetryComponentSpec `protobuf:"bytes,20,opt,name=telemetry,proto3" json:"telemetry,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TelemetryFeatureSpec_Components) Reset() { *m = TelemetryFeatureSpec_Components{} } +func (m *TelemetryFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*TelemetryFeatureSpec_Components) ProtoMessage() {} +func (*TelemetryFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{5, 0} +} + +func (m *TelemetryFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TelemetryFeatureSpec_Components.Unmarshal(m, b) +} +func (m *TelemetryFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TelemetryFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *TelemetryFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_TelemetryFeatureSpec_Components.Merge(m, src) +} +func (m *TelemetryFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_TelemetryFeatureSpec_Components.Size(m) +} +func (m *TelemetryFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_TelemetryFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_TelemetryFeatureSpec_Components proto.InternalMessageInfo + +func (m *TelemetryFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *TelemetryFeatureSpec_Components) GetTelemetry() *TelemetryComponentSpec { + if m != nil { + return m.Telemetry + } + return nil +} + +// Configuration options for security feature. +type SecurityFeatureSpec struct { + // Selects whether security feature is installed. Must be set for any sub-component to be installed. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *SecurityFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SecurityFeatureSpec) Reset() { *m = SecurityFeatureSpec{} } +func (m *SecurityFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*SecurityFeatureSpec) ProtoMessage() {} +func (*SecurityFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{6} +} + +func (m *SecurityFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SecurityFeatureSpec.Unmarshal(m, b) +} +func (m *SecurityFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SecurityFeatureSpec.Marshal(b, m, deterministic) +} +func (m *SecurityFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_SecurityFeatureSpec.Merge(m, src) +} +func (m *SecurityFeatureSpec) XXX_Size() int { + return xxx_messageInfo_SecurityFeatureSpec.Size(m) +} +func (m *SecurityFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_SecurityFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_SecurityFeatureSpec proto.InternalMessageInfo + +func (m *SecurityFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *SecurityFeatureSpec) GetComponents() *SecurityFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +type SecurityFeatureSpec_Components struct { + // Namespace that security components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Citadel *CitadelComponentSpec `protobuf:"bytes,20,opt,name=citadel,proto3" json:"citadel,omitempty"` + CertManager *CertManagerComponentSpec `protobuf:"bytes,21,opt,name=cert_manager,json=certManager,proto3" json:"cert_manager,omitempty"` + NodeAgent *NodeAgentComponentSpec `protobuf:"bytes,22,opt,name=node_agent,json=nodeAgent,proto3" json:"node_agent,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SecurityFeatureSpec_Components) Reset() { *m = SecurityFeatureSpec_Components{} } +func (m *SecurityFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*SecurityFeatureSpec_Components) ProtoMessage() {} +func (*SecurityFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{6, 0} +} + +func (m *SecurityFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SecurityFeatureSpec_Components.Unmarshal(m, b) +} +func (m *SecurityFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SecurityFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *SecurityFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_SecurityFeatureSpec_Components.Merge(m, src) +} +func (m *SecurityFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_SecurityFeatureSpec_Components.Size(m) +} +func (m *SecurityFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_SecurityFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_SecurityFeatureSpec_Components proto.InternalMessageInfo + +func (m *SecurityFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *SecurityFeatureSpec_Components) GetCitadel() *CitadelComponentSpec { + if m != nil { + return m.Citadel + } + return nil +} + +func (m *SecurityFeatureSpec_Components) GetCertManager() *CertManagerComponentSpec { + if m != nil { + return m.CertManager + } + return nil +} + +func (m *SecurityFeatureSpec_Components) GetNodeAgent() *NodeAgentComponentSpec { + if m != nil { + return m.NodeAgent + } + return nil +} + +// Configuration options for configuration management feature. +type ConfigManagementFeatureSpec struct { + // Selects whether config management feature is installed. Must be set for any sub-component to be installed. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *ConfigManagementFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigManagementFeatureSpec) Reset() { *m = ConfigManagementFeatureSpec{} } +func (m *ConfigManagementFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*ConfigManagementFeatureSpec) ProtoMessage() {} +func (*ConfigManagementFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{7} +} + +func (m *ConfigManagementFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigManagementFeatureSpec.Unmarshal(m, b) +} +func (m *ConfigManagementFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigManagementFeatureSpec.Marshal(b, m, deterministic) +} +func (m *ConfigManagementFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigManagementFeatureSpec.Merge(m, src) +} +func (m *ConfigManagementFeatureSpec) XXX_Size() int { + return xxx_messageInfo_ConfigManagementFeatureSpec.Size(m) +} +func (m *ConfigManagementFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigManagementFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigManagementFeatureSpec proto.InternalMessageInfo + +func (m *ConfigManagementFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *ConfigManagementFeatureSpec) GetComponents() *ConfigManagementFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +type ConfigManagementFeatureSpec_Components struct { + // Namespace that security components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Galley *GalleyComponentSpec `protobuf:"bytes,20,opt,name=galley,proto3" json:"galley,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ConfigManagementFeatureSpec_Components) Reset() { + *m = ConfigManagementFeatureSpec_Components{} +} +func (m *ConfigManagementFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*ConfigManagementFeatureSpec_Components) ProtoMessage() {} +func (*ConfigManagementFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{7, 0} +} + +func (m *ConfigManagementFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ConfigManagementFeatureSpec_Components.Unmarshal(m, b) +} +func (m *ConfigManagementFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ConfigManagementFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *ConfigManagementFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConfigManagementFeatureSpec_Components.Merge(m, src) +} +func (m *ConfigManagementFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_ConfigManagementFeatureSpec_Components.Size(m) +} +func (m *ConfigManagementFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_ConfigManagementFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_ConfigManagementFeatureSpec_Components proto.InternalMessageInfo + +func (m *ConfigManagementFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *ConfigManagementFeatureSpec_Components) GetGalley() *GalleyComponentSpec { + if m != nil { + return m.Galley + } + return nil +} + +// Configuration options for auto injection feature. +type AutoInjectionFeatureSpec struct { + // Selects whether auto injection feature is installed. Must be set for any sub-component to be installed. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *AutoInjectionFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AutoInjectionFeatureSpec) Reset() { *m = AutoInjectionFeatureSpec{} } +func (m *AutoInjectionFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*AutoInjectionFeatureSpec) ProtoMessage() {} +func (*AutoInjectionFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{8} +} + +func (m *AutoInjectionFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AutoInjectionFeatureSpec.Unmarshal(m, b) +} +func (m *AutoInjectionFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AutoInjectionFeatureSpec.Marshal(b, m, deterministic) +} +func (m *AutoInjectionFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_AutoInjectionFeatureSpec.Merge(m, src) +} +func (m *AutoInjectionFeatureSpec) XXX_Size() int { + return xxx_messageInfo_AutoInjectionFeatureSpec.Size(m) +} +func (m *AutoInjectionFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_AutoInjectionFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_AutoInjectionFeatureSpec proto.InternalMessageInfo + +func (m *AutoInjectionFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *AutoInjectionFeatureSpec) GetComponents() *AutoInjectionFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +type AutoInjectionFeatureSpec_Components struct { + // Namespace that auto injections components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Injector *SidecarInjectorComponentSpec `protobuf:"bytes,20,opt,name=injector,proto3" json:"injector,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AutoInjectionFeatureSpec_Components) Reset() { *m = AutoInjectionFeatureSpec_Components{} } +func (m *AutoInjectionFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*AutoInjectionFeatureSpec_Components) ProtoMessage() {} +func (*AutoInjectionFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{8, 0} +} + +func (m *AutoInjectionFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AutoInjectionFeatureSpec_Components.Unmarshal(m, b) +} +func (m *AutoInjectionFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AutoInjectionFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *AutoInjectionFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_AutoInjectionFeatureSpec_Components.Merge(m, src) +} +func (m *AutoInjectionFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_AutoInjectionFeatureSpec_Components.Size(m) +} +func (m *AutoInjectionFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_AutoInjectionFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_AutoInjectionFeatureSpec_Components proto.InternalMessageInfo + +func (m *AutoInjectionFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *AutoInjectionFeatureSpec_Components) GetInjector() *SidecarInjectorComponentSpec { + if m != nil { + return m.Injector + } + return nil +} + +// Configuration options for gateway feature. +type GatewayFeatureSpec struct { + // Selects whether gateway feature is installed. Must be set for any sub-component to be installed. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *GatewayFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GatewayFeatureSpec) Reset() { *m = GatewayFeatureSpec{} } +func (m *GatewayFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*GatewayFeatureSpec) ProtoMessage() {} +func (*GatewayFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{9} +} + +func (m *GatewayFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GatewayFeatureSpec.Unmarshal(m, b) +} +func (m *GatewayFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GatewayFeatureSpec.Marshal(b, m, deterministic) +} +func (m *GatewayFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_GatewayFeatureSpec.Merge(m, src) +} +func (m *GatewayFeatureSpec) XXX_Size() int { + return xxx_messageInfo_GatewayFeatureSpec.Size(m) +} +func (m *GatewayFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_GatewayFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_GatewayFeatureSpec proto.InternalMessageInfo + +func (m *GatewayFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *GatewayFeatureSpec) GetComponents() *GatewayFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +type GatewayFeatureSpec_Components struct { + // Namespace that auto injections components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Ingress/egress gateway configuration. + IngressGateway *IngressGatewayComponentSpec `protobuf:"bytes,31,opt,name=ingress_gateway,json=ingressGateway,proto3" json:"ingress_gateway,omitempty"` + EgressGateway *EgressGatewayComponentSpec `protobuf:"bytes,32,opt,name=egress_gateway,json=egressGateway,proto3" json:"egress_gateway,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GatewayFeatureSpec_Components) Reset() { *m = GatewayFeatureSpec_Components{} } +func (m *GatewayFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*GatewayFeatureSpec_Components) ProtoMessage() {} +func (*GatewayFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{9, 0} +} + +func (m *GatewayFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GatewayFeatureSpec_Components.Unmarshal(m, b) +} +func (m *GatewayFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GatewayFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *GatewayFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_GatewayFeatureSpec_Components.Merge(m, src) +} +func (m *GatewayFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_GatewayFeatureSpec_Components.Size(m) +} +func (m *GatewayFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_GatewayFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_GatewayFeatureSpec_Components proto.InternalMessageInfo + +func (m *GatewayFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *GatewayFeatureSpec_Components) GetIngressGateway() *IngressGatewayComponentSpec { + if m != nil { + return m.IngressGateway + } + return nil +} + +func (m *GatewayFeatureSpec_Components) GetEgressGateway() *EgressGatewayComponentSpec { + if m != nil { + return m.EgressGateway + } + return nil +} + +// Configuration options for cni feature. +type CNIFeatureSpec struct { + // Selects whether CNI feature is installed. Must be set for any sub-component to be installed. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *CNIFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CNIFeatureSpec) Reset() { *m = CNIFeatureSpec{} } +func (m *CNIFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*CNIFeatureSpec) ProtoMessage() {} +func (*CNIFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{10} +} + +func (m *CNIFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CNIFeatureSpec.Unmarshal(m, b) +} +func (m *CNIFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CNIFeatureSpec.Marshal(b, m, deterministic) +} +func (m *CNIFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_CNIFeatureSpec.Merge(m, src) +} +func (m *CNIFeatureSpec) XXX_Size() int { + return xxx_messageInfo_CNIFeatureSpec.Size(m) +} +func (m *CNIFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_CNIFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_CNIFeatureSpec proto.InternalMessageInfo + +func (m *CNIFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *CNIFeatureSpec) GetComponents() *CNIFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +type CNIFeatureSpec_Components struct { + // Namespace that cni components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Cni *CNIComponentSpec `protobuf:"bytes,20,opt,name=cni,proto3" json:"cni,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CNIFeatureSpec_Components) Reset() { *m = CNIFeatureSpec_Components{} } +func (m *CNIFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*CNIFeatureSpec_Components) ProtoMessage() {} +func (*CNIFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{10, 0} +} + +func (m *CNIFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CNIFeatureSpec_Components.Unmarshal(m, b) +} +func (m *CNIFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CNIFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *CNIFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_CNIFeatureSpec_Components.Merge(m, src) +} +func (m *CNIFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_CNIFeatureSpec_Components.Size(m) +} +func (m *CNIFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_CNIFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_CNIFeatureSpec_Components proto.InternalMessageInfo + +func (m *CNIFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *CNIFeatureSpec_Components) GetCni() *CNIComponentSpec { + if m != nil { + return m.Cni + } + return nil +} + +// Configuration options for CoreDNS feature. +type CoreDNSFeatureSpec struct { + // Selects whether CoreDNS feature is installed. Must be set for any sub-component to be installed. + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Components *CoreDNSFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreDNSFeatureSpec) Reset() { *m = CoreDNSFeatureSpec{} } +func (m *CoreDNSFeatureSpec) String() string { return proto.CompactTextString(m) } +func (*CoreDNSFeatureSpec) ProtoMessage() {} +func (*CoreDNSFeatureSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{11} +} + +func (m *CoreDNSFeatureSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreDNSFeatureSpec.Unmarshal(m, b) +} +func (m *CoreDNSFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreDNSFeatureSpec.Marshal(b, m, deterministic) +} +func (m *CoreDNSFeatureSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreDNSFeatureSpec.Merge(m, src) +} +func (m *CoreDNSFeatureSpec) XXX_Size() int { + return xxx_messageInfo_CoreDNSFeatureSpec.Size(m) +} +func (m *CoreDNSFeatureSpec) XXX_DiscardUnknown() { + xxx_messageInfo_CoreDNSFeatureSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreDNSFeatureSpec proto.InternalMessageInfo + +func (m *CoreDNSFeatureSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *CoreDNSFeatureSpec) GetComponents() *CoreDNSFeatureSpec_Components { + if m != nil { + return m.Components + } + return nil +} + +type CoreDNSFeatureSpec_Components struct { + // Namespace that CoreDNS components are installed into. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + CoreDNS *CoreDNSComponentSpec `protobuf:"bytes,20,opt,name=coreDNS,proto3" json:"coreDNS,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreDNSFeatureSpec_Components) Reset() { *m = CoreDNSFeatureSpec_Components{} } +func (m *CoreDNSFeatureSpec_Components) String() string { return proto.CompactTextString(m) } +func (*CoreDNSFeatureSpec_Components) ProtoMessage() {} +func (*CoreDNSFeatureSpec_Components) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{11, 0} +} + +func (m *CoreDNSFeatureSpec_Components) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreDNSFeatureSpec_Components.Unmarshal(m, b) +} +func (m *CoreDNSFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreDNSFeatureSpec_Components.Marshal(b, m, deterministic) +} +func (m *CoreDNSFeatureSpec_Components) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreDNSFeatureSpec_Components.Merge(m, src) +} +func (m *CoreDNSFeatureSpec_Components) XXX_Size() int { + return xxx_messageInfo_CoreDNSFeatureSpec_Components.Size(m) +} +func (m *CoreDNSFeatureSpec_Components) XXX_DiscardUnknown() { + xxx_messageInfo_CoreDNSFeatureSpec_Components.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreDNSFeatureSpec_Components proto.InternalMessageInfo + +func (m *CoreDNSFeatureSpec_Components) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *CoreDNSFeatureSpec_Components) GetCoreDNS() *CoreDNSComponentSpec { + if m != nil { + return m.CoreDNS + } + return nil +} + +// Configuration options for the base component. +type BaseComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BaseComponentSpec) Reset() { *m = BaseComponentSpec{} } +func (m *BaseComponentSpec) String() string { return proto.CompactTextString(m) } +func (*BaseComponentSpec) ProtoMessage() {} +func (*BaseComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{12} +} + +func (m *BaseComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BaseComponentSpec.Unmarshal(m, b) +} +func (m *BaseComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BaseComponentSpec.Marshal(b, m, deterministic) +} +func (m *BaseComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_BaseComponentSpec.Merge(m, src) +} +func (m *BaseComponentSpec) XXX_Size() int { + return xxx_messageInfo_BaseComponentSpec.Size(m) +} +func (m *BaseComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_BaseComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_BaseComponentSpec proto.InternalMessageInfo + +func (m *BaseComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +// Configuration options for the pilot component. +type PilotComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PilotComponentSpec) Reset() { *m = PilotComponentSpec{} } +func (m *PilotComponentSpec) String() string { return proto.CompactTextString(m) } +func (*PilotComponentSpec) ProtoMessage() {} +func (*PilotComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{13} +} + +func (m *PilotComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PilotComponentSpec.Unmarshal(m, b) +} +func (m *PilotComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PilotComponentSpec.Marshal(b, m, deterministic) +} +func (m *PilotComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_PilotComponentSpec.Merge(m, src) +} +func (m *PilotComponentSpec) XXX_Size() int { + return xxx_messageInfo_PilotComponentSpec.Size(m) +} +func (m *PilotComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_PilotComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_PilotComponentSpec proto.InternalMessageInfo + +func (m *PilotComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *PilotComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *PilotComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for the proxy. +type ProxyComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProxyComponentSpec) Reset() { *m = ProxyComponentSpec{} } +func (m *ProxyComponentSpec) String() string { return proto.CompactTextString(m) } +func (*ProxyComponentSpec) ProtoMessage() {} +func (*ProxyComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{14} +} + +func (m *ProxyComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ProxyComponentSpec.Unmarshal(m, b) +} +func (m *ProxyComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ProxyComponentSpec.Marshal(b, m, deterministic) +} +func (m *ProxyComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProxyComponentSpec.Merge(m, src) +} +func (m *ProxyComponentSpec) XXX_Size() int { + return xxx_messageInfo_ProxyComponentSpec.Size(m) +} +func (m *ProxyComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ProxyComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ProxyComponentSpec proto.InternalMessageInfo + +func (m *ProxyComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *ProxyComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *ProxyComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for the sidecar injector component. +type SidecarInjectorComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SidecarInjectorComponentSpec) Reset() { *m = SidecarInjectorComponentSpec{} } +func (m *SidecarInjectorComponentSpec) String() string { return proto.CompactTextString(m) } +func (*SidecarInjectorComponentSpec) ProtoMessage() {} +func (*SidecarInjectorComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{15} +} + +func (m *SidecarInjectorComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SidecarInjectorComponentSpec.Unmarshal(m, b) +} +func (m *SidecarInjectorComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SidecarInjectorComponentSpec.Marshal(b, m, deterministic) +} +func (m *SidecarInjectorComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_SidecarInjectorComponentSpec.Merge(m, src) +} +func (m *SidecarInjectorComponentSpec) XXX_Size() int { + return xxx_messageInfo_SidecarInjectorComponentSpec.Size(m) +} +func (m *SidecarInjectorComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_SidecarInjectorComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_SidecarInjectorComponentSpec proto.InternalMessageInfo + +func (m *SidecarInjectorComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *SidecarInjectorComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *SidecarInjectorComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for the policy enforcement component. +type PolicyComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PolicyComponentSpec) Reset() { *m = PolicyComponentSpec{} } +func (m *PolicyComponentSpec) String() string { return proto.CompactTextString(m) } +func (*PolicyComponentSpec) ProtoMessage() {} +func (*PolicyComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{16} +} + +func (m *PolicyComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PolicyComponentSpec.Unmarshal(m, b) +} +func (m *PolicyComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PolicyComponentSpec.Marshal(b, m, deterministic) +} +func (m *PolicyComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_PolicyComponentSpec.Merge(m, src) +} +func (m *PolicyComponentSpec) XXX_Size() int { + return xxx_messageInfo_PolicyComponentSpec.Size(m) +} +func (m *PolicyComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_PolicyComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_PolicyComponentSpec proto.InternalMessageInfo + +func (m *PolicyComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *PolicyComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *PolicyComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for the telemetry component. +type TelemetryComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TelemetryComponentSpec) Reset() { *m = TelemetryComponentSpec{} } +func (m *TelemetryComponentSpec) String() string { return proto.CompactTextString(m) } +func (*TelemetryComponentSpec) ProtoMessage() {} +func (*TelemetryComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{17} +} + +func (m *TelemetryComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TelemetryComponentSpec.Unmarshal(m, b) +} +func (m *TelemetryComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TelemetryComponentSpec.Marshal(b, m, deterministic) +} +func (m *TelemetryComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_TelemetryComponentSpec.Merge(m, src) +} +func (m *TelemetryComponentSpec) XXX_Size() int { + return xxx_messageInfo_TelemetryComponentSpec.Size(m) +} +func (m *TelemetryComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_TelemetryComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_TelemetryComponentSpec proto.InternalMessageInfo + +func (m *TelemetryComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *TelemetryComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *TelemetryComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for Citadel component. +type CitadelComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CitadelComponentSpec) Reset() { *m = CitadelComponentSpec{} } +func (m *CitadelComponentSpec) String() string { return proto.CompactTextString(m) } +func (*CitadelComponentSpec) ProtoMessage() {} +func (*CitadelComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{18} +} + +func (m *CitadelComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CitadelComponentSpec.Unmarshal(m, b) +} +func (m *CitadelComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CitadelComponentSpec.Marshal(b, m, deterministic) +} +func (m *CitadelComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_CitadelComponentSpec.Merge(m, src) +} +func (m *CitadelComponentSpec) XXX_Size() int { + return xxx_messageInfo_CitadelComponentSpec.Size(m) +} +func (m *CitadelComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_CitadelComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_CitadelComponentSpec proto.InternalMessageInfo + +func (m *CitadelComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *CitadelComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *CitadelComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for certificate manager component. +type CertManagerComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CertManagerComponentSpec) Reset() { *m = CertManagerComponentSpec{} } +func (m *CertManagerComponentSpec) String() string { return proto.CompactTextString(m) } +func (*CertManagerComponentSpec) ProtoMessage() {} +func (*CertManagerComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{19} +} + +func (m *CertManagerComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CertManagerComponentSpec.Unmarshal(m, b) +} +func (m *CertManagerComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CertManagerComponentSpec.Marshal(b, m, deterministic) +} +func (m *CertManagerComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_CertManagerComponentSpec.Merge(m, src) +} +func (m *CertManagerComponentSpec) XXX_Size() int { + return xxx_messageInfo_CertManagerComponentSpec.Size(m) +} +func (m *CertManagerComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_CertManagerComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_CertManagerComponentSpec proto.InternalMessageInfo + +func (m *CertManagerComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *CertManagerComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *CertManagerComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for node agent component. +type NodeAgentComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NodeAgentComponentSpec) Reset() { *m = NodeAgentComponentSpec{} } +func (m *NodeAgentComponentSpec) String() string { return proto.CompactTextString(m) } +func (*NodeAgentComponentSpec) ProtoMessage() {} +func (*NodeAgentComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{20} +} + +func (m *NodeAgentComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_NodeAgentComponentSpec.Unmarshal(m, b) +} +func (m *NodeAgentComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_NodeAgentComponentSpec.Marshal(b, m, deterministic) +} +func (m *NodeAgentComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_NodeAgentComponentSpec.Merge(m, src) +} +func (m *NodeAgentComponentSpec) XXX_Size() int { + return xxx_messageInfo_NodeAgentComponentSpec.Size(m) +} +func (m *NodeAgentComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_NodeAgentComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_NodeAgentComponentSpec proto.InternalMessageInfo + +func (m *NodeAgentComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *NodeAgentComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *NodeAgentComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for galley component. +type GalleyComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GalleyComponentSpec) Reset() { *m = GalleyComponentSpec{} } +func (m *GalleyComponentSpec) String() string { return proto.CompactTextString(m) } +func (*GalleyComponentSpec) ProtoMessage() {} +func (*GalleyComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{21} +} + +func (m *GalleyComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GalleyComponentSpec.Unmarshal(m, b) +} +func (m *GalleyComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GalleyComponentSpec.Marshal(b, m, deterministic) +} +func (m *GalleyComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_GalleyComponentSpec.Merge(m, src) +} +func (m *GalleyComponentSpec) XXX_Size() int { + return xxx_messageInfo_GalleyComponentSpec.Size(m) +} +func (m *GalleyComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_GalleyComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_GalleyComponentSpec proto.InternalMessageInfo + +func (m *GalleyComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *GalleyComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *GalleyComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for ingress gateways. +type IngressGatewayComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IngressGatewayComponentSpec) Reset() { *m = IngressGatewayComponentSpec{} } +func (m *IngressGatewayComponentSpec) String() string { return proto.CompactTextString(m) } +func (*IngressGatewayComponentSpec) ProtoMessage() {} +func (*IngressGatewayComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{22} +} + +func (m *IngressGatewayComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IngressGatewayComponentSpec.Unmarshal(m, b) +} +func (m *IngressGatewayComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IngressGatewayComponentSpec.Marshal(b, m, deterministic) +} +func (m *IngressGatewayComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_IngressGatewayComponentSpec.Merge(m, src) +} +func (m *IngressGatewayComponentSpec) XXX_Size() int { + return xxx_messageInfo_IngressGatewayComponentSpec.Size(m) +} +func (m *IngressGatewayComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_IngressGatewayComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_IngressGatewayComponentSpec proto.InternalMessageInfo + +func (m *IngressGatewayComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *IngressGatewayComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *IngressGatewayComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for egress gateways. +type EgressGatewayComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *EgressGatewayComponentSpec) Reset() { *m = EgressGatewayComponentSpec{} } +func (m *EgressGatewayComponentSpec) String() string { return proto.CompactTextString(m) } +func (*EgressGatewayComponentSpec) ProtoMessage() {} +func (*EgressGatewayComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{23} +} + +func (m *EgressGatewayComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_EgressGatewayComponentSpec.Unmarshal(m, b) +} +func (m *EgressGatewayComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_EgressGatewayComponentSpec.Marshal(b, m, deterministic) +} +func (m *EgressGatewayComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_EgressGatewayComponentSpec.Merge(m, src) +} +func (m *EgressGatewayComponentSpec) XXX_Size() int { + return xxx_messageInfo_EgressGatewayComponentSpec.Size(m) +} +func (m *EgressGatewayComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_EgressGatewayComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_EgressGatewayComponentSpec proto.InternalMessageInfo + +func (m *EgressGatewayComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *EgressGatewayComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *EgressGatewayComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for cni component. +type CNIComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CNIComponentSpec) Reset() { *m = CNIComponentSpec{} } +func (m *CNIComponentSpec) String() string { return proto.CompactTextString(m) } +func (*CNIComponentSpec) ProtoMessage() {} +func (*CNIComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{24} +} + +func (m *CNIComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CNIComponentSpec.Unmarshal(m, b) +} +func (m *CNIComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CNIComponentSpec.Marshal(b, m, deterministic) +} +func (m *CNIComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_CNIComponentSpec.Merge(m, src) +} +func (m *CNIComponentSpec) XXX_Size() int { + return xxx_messageInfo_CNIComponentSpec.Size(m) +} +func (m *CNIComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_CNIComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_CNIComponentSpec proto.InternalMessageInfo + +func (m *CNIComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *CNIComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *CNIComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// Configuration options for CoreDNS component. +type CoreDNSComponentSpec struct { + Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CoreDNSComponentSpec) Reset() { *m = CoreDNSComponentSpec{} } +func (m *CoreDNSComponentSpec) String() string { return proto.CompactTextString(m) } +func (*CoreDNSComponentSpec) ProtoMessage() {} +func (*CoreDNSComponentSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{25} +} + +func (m *CoreDNSComponentSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CoreDNSComponentSpec.Unmarshal(m, b) +} +func (m *CoreDNSComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CoreDNSComponentSpec.Marshal(b, m, deterministic) +} +func (m *CoreDNSComponentSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_CoreDNSComponentSpec.Merge(m, src) +} +func (m *CoreDNSComponentSpec) XXX_Size() int { + return xxx_messageInfo_CoreDNSComponentSpec.Size(m) +} +func (m *CoreDNSComponentSpec) XXX_DiscardUnknown() { + xxx_messageInfo_CoreDNSComponentSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_CoreDNSComponentSpec proto.InternalMessageInfo + +func (m *CoreDNSComponentSpec) GetEnabled() *BoolValueForPB { + if m != nil { + return m.Enabled + } + return nil +} + +func (m *CoreDNSComponentSpec) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +func (m *CoreDNSComponentSpec) GetK8S() *KubernetesResourcesSpec { + if m != nil { + return m.K8S + } + return nil +} + +// KubernetesResourcesConfig is a common set of k8s resource configs for components. +type KubernetesResourcesSpec struct { + // k8s affinity. + // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + Affinity *v1.Affinity `protobuf:"bytes,1,opt,name=affinity,proto3" json:"affinity,omitempty"` + // Deployment environment variables. + // https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ + Env []*v1.EnvVar `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"` + // k8s HorizontalPodAutoscaler settings. + // https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ + HpaSpec *v2beta1.HorizontalPodAutoscalerSpec `protobuf:"bytes,3,opt,name=hpa_spec,json=hpaSpec,proto3" json:"hpa_spec,omitempty"` + // k8s imagePullPolicy. + // https://kubernetes.io/docs/concepts/containers/images/ + ImagePullPolicy string `protobuf:"bytes,4,opt,name=image_pull_policy,json=imagePullPolicy,proto3" json:"image_pull_policy,omitempty"` + // k8s nodeSelector. + // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + NodeSelector map[string]string `protobuf:"bytes,5,rep,name=node_selector,json=nodeSelector,proto3" json:"node_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // k8s PodDisruptionBudget settings. + // https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work + PodDisruptionBudget *PodDisruptionBudgetSpec `protobuf:"bytes,6,opt,name=pod_disruption_budget,json=podDisruptionBudget,proto3" json:"pod_disruption_budget,omitempty"` + // k8s pod annotations. + // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + PodAnnotations map[string]string `protobuf:"bytes,7,rep,name=pod_annotations,json=podAnnotations,proto3" json:"pod_annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // k8s priority_class_name. Default for all resources unless overridden. + // https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass + PriorityClassName string `protobuf:"bytes,8,opt,name=priority_class_name,json=priorityClassName,proto3" json:"priority_class_name,omitempty"` + // k8s readinessProbe settings. + // https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ + // k8s.io.api.core.v1.Probe readiness_probe = 9; + ReadinessProbe *ReadinessProbe `protobuf:"bytes,9,opt,name=readiness_probe,json=readinessProbe,proto3" json:"readiness_probe,omitempty"` + // k8s Deployment replicas setting. + // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ + ReplicaCount uint32 `protobuf:"varint,10,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"` + // k8s resources settings. + // https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container + Resources *Resources `protobuf:"bytes,11,opt,name=resources,proto3" json:"resources,omitempty"` + // k8s Service settings. + // https://kubernetes.io/docs/concepts/services-networking/service/ + Service *ServiceSpec `protobuf:"bytes,12,opt,name=service,proto3" json:"service,omitempty"` + // k8s deployment strategy. + // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ + Strategy *DeploymentStrategy `protobuf:"bytes,13,opt,name=strategy,proto3" json:"strategy,omitempty"` + // k8s toleration + // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + Tolerations []*v1.Toleration `protobuf:"bytes,14,rep,name=tolerations,proto3" json:"tolerations,omitempty"` + // Overlays for k8s resources in rendered manifests. + Overlays []*K8SObjectOverlay `protobuf:"bytes,100,rep,name=overlays,proto3" json:"overlays,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KubernetesResourcesSpec) Reset() { *m = KubernetesResourcesSpec{} } +func (m *KubernetesResourcesSpec) String() string { return proto.CompactTextString(m) } +func (*KubernetesResourcesSpec) ProtoMessage() {} +func (*KubernetesResourcesSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{26} +} + +func (m *KubernetesResourcesSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KubernetesResourcesSpec.Unmarshal(m, b) +} +func (m *KubernetesResourcesSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KubernetesResourcesSpec.Marshal(b, m, deterministic) +} +func (m *KubernetesResourcesSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_KubernetesResourcesSpec.Merge(m, src) +} +func (m *KubernetesResourcesSpec) XXX_Size() int { + return xxx_messageInfo_KubernetesResourcesSpec.Size(m) +} +func (m *KubernetesResourcesSpec) XXX_DiscardUnknown() { + xxx_messageInfo_KubernetesResourcesSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_KubernetesResourcesSpec proto.InternalMessageInfo + +func (m *KubernetesResourcesSpec) GetAffinity() *v1.Affinity { + if m != nil { + return m.Affinity + } + return nil +} + +func (m *KubernetesResourcesSpec) GetEnv() []*v1.EnvVar { + if m != nil { + return m.Env + } + return nil +} + +func (m *KubernetesResourcesSpec) GetHpaSpec() *v2beta1.HorizontalPodAutoscalerSpec { + if m != nil { + return m.HpaSpec + } + return nil +} + +func (m *KubernetesResourcesSpec) GetImagePullPolicy() string { + if m != nil { + return m.ImagePullPolicy + } + return "" +} + +func (m *KubernetesResourcesSpec) GetNodeSelector() map[string]string { + if m != nil { + return m.NodeSelector + } + return nil +} + +func (m *KubernetesResourcesSpec) GetPodDisruptionBudget() *PodDisruptionBudgetSpec { + if m != nil { + return m.PodDisruptionBudget + } + return nil +} + +func (m *KubernetesResourcesSpec) GetPodAnnotations() map[string]string { + if m != nil { + return m.PodAnnotations + } + return nil +} + +func (m *KubernetesResourcesSpec) GetPriorityClassName() string { + if m != nil { + return m.PriorityClassName + } + return "" +} + +func (m *KubernetesResourcesSpec) GetReadinessProbe() *ReadinessProbe { + if m != nil { + return m.ReadinessProbe + } + return nil +} + +func (m *KubernetesResourcesSpec) GetReplicaCount() uint32 { + if m != nil { + return m.ReplicaCount + } + return 0 +} + +func (m *KubernetesResourcesSpec) GetResources() *Resources { + if m != nil { + return m.Resources + } + return nil +} + +func (m *KubernetesResourcesSpec) GetService() *ServiceSpec { + if m != nil { + return m.Service + } + return nil +} + +func (m *KubernetesResourcesSpec) GetStrategy() *DeploymentStrategy { + if m != nil { + return m.Strategy + } + return nil +} + +func (m *KubernetesResourcesSpec) GetTolerations() []*v1.Toleration { + if m != nil { + return m.Tolerations + } + return nil +} + +func (m *KubernetesResourcesSpec) GetOverlays() []*K8SObjectOverlay { + if m != nil { + return m.Overlays + } + return nil +} + +// Patch for an existing k8s resource. +type K8SObjectOverlay struct { + // Resource API version. + ApiVersion string `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` + // Resource kind. + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + // Name of resource. + // Namespace is always the component namespace. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // List of patches to apply to resource. + Patches []*K8SObjectOverlay_PathValue `protobuf:"bytes,4,rep,name=patches,proto3" json:"patches,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *K8SObjectOverlay) Reset() { *m = K8SObjectOverlay{} } +func (m *K8SObjectOverlay) String() string { return proto.CompactTextString(m) } +func (*K8SObjectOverlay) ProtoMessage() {} +func (*K8SObjectOverlay) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{27} +} + +func (m *K8SObjectOverlay) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_K8SObjectOverlay.Unmarshal(m, b) +} +func (m *K8SObjectOverlay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_K8SObjectOverlay.Marshal(b, m, deterministic) +} +func (m *K8SObjectOverlay) XXX_Merge(src proto.Message) { + xxx_messageInfo_K8SObjectOverlay.Merge(m, src) +} +func (m *K8SObjectOverlay) XXX_Size() int { + return xxx_messageInfo_K8SObjectOverlay.Size(m) +} +func (m *K8SObjectOverlay) XXX_DiscardUnknown() { + xxx_messageInfo_K8SObjectOverlay.DiscardUnknown(m) +} + +var xxx_messageInfo_K8SObjectOverlay proto.InternalMessageInfo + +func (m *K8SObjectOverlay) GetApiVersion() string { + if m != nil { + return m.ApiVersion + } + return "" +} + +func (m *K8SObjectOverlay) GetKind() string { + if m != nil { + return m.Kind + } + return "" +} + +func (m *K8SObjectOverlay) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *K8SObjectOverlay) GetPatches() []*K8SObjectOverlay_PathValue { + if m != nil { + return m.Patches + } + return nil +} + +type K8SObjectOverlay_PathValue struct { + // Path of the form a.b:c.e.:f + // Where b:c is a list element selector of the form key:value and :f is a list selector of the form :value. + // All path intermediate nodes must exist. + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // Value to add, delete or replace. + // For add, the path should be a new leaf. + // For delete, value should be unset. + // For replace, path should reference an existing node. + // All values are strings but are converted into appropriate type based on schema. + Value interface{} `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *K8SObjectOverlay_PathValue) Reset() { *m = K8SObjectOverlay_PathValue{} } +func (m *K8SObjectOverlay_PathValue) String() string { return proto.CompactTextString(m) } +func (*K8SObjectOverlay_PathValue) ProtoMessage() {} +func (*K8SObjectOverlay_PathValue) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{27, 0} +} + +func (m *K8SObjectOverlay_PathValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_K8SObjectOverlay_PathValue.Unmarshal(m, b) +} +func (m *K8SObjectOverlay_PathValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_K8SObjectOverlay_PathValue.Marshal(b, m, deterministic) +} +func (m *K8SObjectOverlay_PathValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_K8SObjectOverlay_PathValue.Merge(m, src) +} +func (m *K8SObjectOverlay_PathValue) XXX_Size() int { + return xxx_messageInfo_K8SObjectOverlay_PathValue.Size(m) +} +func (m *K8SObjectOverlay_PathValue) XXX_DiscardUnknown() { + xxx_messageInfo_K8SObjectOverlay_PathValue.DiscardUnknown(m) +} + +var xxx_messageInfo_K8SObjectOverlay_PathValue proto.InternalMessageInfo + +func (m *K8SObjectOverlay_PathValue) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *K8SObjectOverlay_PathValue) GetValue() interface{} { + if m != nil { + return m.Value + } + return nil +} + +// Observed state of IstioControlPlane. +type InstallStatus struct { + Status map[string]*InstallStatus_VersionStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InstallStatus) Reset() { *m = InstallStatus{} } +func (m *InstallStatus) String() string { return proto.CompactTextString(m) } +func (*InstallStatus) ProtoMessage() {} +func (*InstallStatus) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{28} +} + +func (m *InstallStatus) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InstallStatus.Unmarshal(m, b) +} +func (m *InstallStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InstallStatus.Marshal(b, m, deterministic) +} +func (m *InstallStatus) XXX_Merge(src proto.Message) { + xxx_messageInfo_InstallStatus.Merge(m, src) +} +func (m *InstallStatus) XXX_Size() int { + return xxx_messageInfo_InstallStatus.Size(m) +} +func (m *InstallStatus) XXX_DiscardUnknown() { + xxx_messageInfo_InstallStatus.DiscardUnknown(m) +} + +var xxx_messageInfo_InstallStatus proto.InternalMessageInfo + +func (m *InstallStatus) GetStatus() map[string]*InstallStatus_VersionStatus { + if m != nil { + return m.Status + } + return nil +} + +type InstallStatus_VersionStatus struct { + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + Status InstallStatus_Status `protobuf:"varint,2,opt,name=status,proto3,enum=v1alpha2.InstallStatus_Status" json:"status,omitempty"` + StatusString string `protobuf:"bytes,3,opt,name=statusString,proto3" json:"statusString,omitempty"` + Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InstallStatus_VersionStatus) Reset() { *m = InstallStatus_VersionStatus{} } +func (m *InstallStatus_VersionStatus) String() string { return proto.CompactTextString(m) } +func (*InstallStatus_VersionStatus) ProtoMessage() {} +func (*InstallStatus_VersionStatus) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{28, 0} +} + +func (m *InstallStatus_VersionStatus) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InstallStatus_VersionStatus.Unmarshal(m, b) +} +func (m *InstallStatus_VersionStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InstallStatus_VersionStatus.Marshal(b, m, deterministic) +} +func (m *InstallStatus_VersionStatus) XXX_Merge(src proto.Message) { + xxx_messageInfo_InstallStatus_VersionStatus.Merge(m, src) +} +func (m *InstallStatus_VersionStatus) XXX_Size() int { + return xxx_messageInfo_InstallStatus_VersionStatus.Size(m) +} +func (m *InstallStatus_VersionStatus) XXX_DiscardUnknown() { + xxx_messageInfo_InstallStatus_VersionStatus.DiscardUnknown(m) +} + +var xxx_messageInfo_InstallStatus_VersionStatus proto.InternalMessageInfo + +func (m *InstallStatus_VersionStatus) GetVersion() string { + if m != nil { + return m.Version + } + return "" +} + +func (m *InstallStatus_VersionStatus) GetStatus() InstallStatus_Status { + if m != nil { + return m.Status + } + return InstallStatus_NONE +} + +func (m *InstallStatus_VersionStatus) GetStatusString() string { + if m != nil { + return m.StatusString + } + return "" +} + +func (m *InstallStatus_VersionStatus) GetError() string { + if m != nil { + return m.Error + } + return "" +} + +// Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling. +type Resources struct { + Limits map[string]string `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Requests map[string]string `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Resources) Reset() { *m = Resources{} } +func (m *Resources) String() string { return proto.CompactTextString(m) } +func (*Resources) ProtoMessage() {} +func (*Resources) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{29} +} + +func (m *Resources) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_Resources.Unmarshal(m, b) +} +func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_Resources.Marshal(b, m, deterministic) +} +func (m *Resources) XXX_Merge(src proto.Message) { + xxx_messageInfo_Resources.Merge(m, src) +} +func (m *Resources) XXX_Size() int { + return xxx_messageInfo_Resources.Size(m) +} +func (m *Resources) XXX_DiscardUnknown() { + xxx_messageInfo_Resources.DiscardUnknown(m) +} + +var xxx_messageInfo_Resources proto.InternalMessageInfo + +func (m *Resources) GetLimits() map[string]string { + if m != nil { + return m.Limits + } + return nil +} + +func (m *Resources) GetRequests() map[string]string { + if m != nil { + return m.Requests + } + return nil +} + +// Mirrors k8s.io.api.core.v1.Probe for unmarshaling +type ReadinessProbe struct { + Exec *ExecAction `protobuf:"bytes,1,opt,name=exec,proto3" json:"exec,omitempty"` + HttpGet *HTTPGetAction `protobuf:"bytes,2,opt,name=httpGet,proto3" json:"httpGet,omitempty"` + TcpSocket *TCPSocketAction `protobuf:"bytes,3,opt,name=tcpSocket,proto3" json:"tcpSocket,omitempty"` + InitialDelaySeconds int32 `protobuf:"varint,4,opt,name=initialDelaySeconds,proto3" json:"initialDelaySeconds,omitempty"` + TimeoutSeconds int32 `protobuf:"varint,5,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` + PeriodSeconds int32 `protobuf:"varint,6,opt,name=periodSeconds,proto3" json:"periodSeconds,omitempty"` + SuccessThreshold int32 `protobuf:"varint,7,opt,name=successThreshold,proto3" json:"successThreshold,omitempty"` + FailureThreshold int32 `protobuf:"varint,8,opt,name=failureThreshold,proto3" json:"failureThreshold,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ReadinessProbe) Reset() { *m = ReadinessProbe{} } +func (m *ReadinessProbe) String() string { return proto.CompactTextString(m) } +func (*ReadinessProbe) ProtoMessage() {} +func (*ReadinessProbe) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{30} +} + +func (m *ReadinessProbe) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ReadinessProbe.Unmarshal(m, b) +} +func (m *ReadinessProbe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ReadinessProbe.Marshal(b, m, deterministic) +} +func (m *ReadinessProbe) XXX_Merge(src proto.Message) { + xxx_messageInfo_ReadinessProbe.Merge(m, src) +} +func (m *ReadinessProbe) XXX_Size() int { + return xxx_messageInfo_ReadinessProbe.Size(m) +} +func (m *ReadinessProbe) XXX_DiscardUnknown() { + xxx_messageInfo_ReadinessProbe.DiscardUnknown(m) +} + +var xxx_messageInfo_ReadinessProbe proto.InternalMessageInfo + +func (m *ReadinessProbe) GetExec() *ExecAction { + if m != nil { + return m.Exec + } + return nil +} + +func (m *ReadinessProbe) GetHttpGet() *HTTPGetAction { + if m != nil { + return m.HttpGet + } + return nil +} + +func (m *ReadinessProbe) GetTcpSocket() *TCPSocketAction { + if m != nil { + return m.TcpSocket + } + return nil +} + +func (m *ReadinessProbe) GetInitialDelaySeconds() int32 { + if m != nil { + return m.InitialDelaySeconds + } + return 0 +} + +func (m *ReadinessProbe) GetTimeoutSeconds() int32 { + if m != nil { + return m.TimeoutSeconds + } + return 0 +} + +func (m *ReadinessProbe) GetPeriodSeconds() int32 { + if m != nil { + return m.PeriodSeconds + } + return 0 +} + +func (m *ReadinessProbe) GetSuccessThreshold() int32 { + if m != nil { + return m.SuccessThreshold + } + return 0 +} + +func (m *ReadinessProbe) GetFailureThreshold() int32 { + if m != nil { + return m.FailureThreshold + } + return 0 +} + +// Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling +type ExecAction struct { + Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExecAction) Reset() { *m = ExecAction{} } +func (m *ExecAction) String() string { return proto.CompactTextString(m) } +func (*ExecAction) ProtoMessage() {} +func (*ExecAction) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{31} +} + +func (m *ExecAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExecAction.Unmarshal(m, b) +} +func (m *ExecAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExecAction.Marshal(b, m, deterministic) +} +func (m *ExecAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExecAction.Merge(m, src) +} +func (m *ExecAction) XXX_Size() int { + return xxx_messageInfo_ExecAction.Size(m) +} +func (m *ExecAction) XXX_DiscardUnknown() { + xxx_messageInfo_ExecAction.DiscardUnknown(m) +} + +var xxx_messageInfo_ExecAction proto.InternalMessageInfo + +func (m *ExecAction) GetCommand() []string { + if m != nil { + return m.Command + } + return nil +} + +// Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling +type HTTPGetAction struct { + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Port *IntOrStringForPB `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"` + Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"` + HttpHeaders []*HTTPHeader `protobuf:"bytes,5,rep,name=httpHeaders,proto3" json:"httpHeaders,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPGetAction) Reset() { *m = HTTPGetAction{} } +func (m *HTTPGetAction) String() string { return proto.CompactTextString(m) } +func (*HTTPGetAction) ProtoMessage() {} +func (*HTTPGetAction) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{32} +} + +func (m *HTTPGetAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HTTPGetAction.Unmarshal(m, b) +} +func (m *HTTPGetAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HTTPGetAction.Marshal(b, m, deterministic) +} +func (m *HTTPGetAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPGetAction.Merge(m, src) +} +func (m *HTTPGetAction) XXX_Size() int { + return xxx_messageInfo_HTTPGetAction.Size(m) +} +func (m *HTTPGetAction) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPGetAction.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPGetAction proto.InternalMessageInfo + +func (m *HTTPGetAction) GetPath() string { + if m != nil { + return m.Path + } + return "" +} + +func (m *HTTPGetAction) GetPort() *IntOrStringForPB { + if m != nil { + return m.Port + } + return nil +} + +func (m *HTTPGetAction) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +func (m *HTTPGetAction) GetScheme() string { + if m != nil { + return m.Scheme + } + return "" +} + +func (m *HTTPGetAction) GetHttpHeaders() []*HTTPHeader { + if m != nil { + return m.HttpHeaders + } + return nil +} + +// Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling +type HTTPHeader struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HTTPHeader) Reset() { *m = HTTPHeader{} } +func (m *HTTPHeader) String() string { return proto.CompactTextString(m) } +func (*HTTPHeader) ProtoMessage() {} +func (*HTTPHeader) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{33} +} + +func (m *HTTPHeader) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_HTTPHeader.Unmarshal(m, b) +} +func (m *HTTPHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_HTTPHeader.Marshal(b, m, deterministic) +} +func (m *HTTPHeader) XXX_Merge(src proto.Message) { + xxx_messageInfo_HTTPHeader.Merge(m, src) +} +func (m *HTTPHeader) XXX_Size() int { + return xxx_messageInfo_HTTPHeader.Size(m) +} +func (m *HTTPHeader) XXX_DiscardUnknown() { + xxx_messageInfo_HTTPHeader.DiscardUnknown(m) +} + +var xxx_messageInfo_HTTPHeader proto.InternalMessageInfo + +func (m *HTTPHeader) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *HTTPHeader) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + +// Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling +type TCPSocketAction struct { + Port *IntOrStringForPB `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` + Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } +func (m *TCPSocketAction) String() string { return proto.CompactTextString(m) } +func (*TCPSocketAction) ProtoMessage() {} +func (*TCPSocketAction) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{34} +} + +func (m *TCPSocketAction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_TCPSocketAction.Unmarshal(m, b) +} +func (m *TCPSocketAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_TCPSocketAction.Marshal(b, m, deterministic) +} +func (m *TCPSocketAction) XXX_Merge(src proto.Message) { + xxx_messageInfo_TCPSocketAction.Merge(m, src) +} +func (m *TCPSocketAction) XXX_Size() int { + return xxx_messageInfo_TCPSocketAction.Size(m) +} +func (m *TCPSocketAction) XXX_DiscardUnknown() { + xxx_messageInfo_TCPSocketAction.DiscardUnknown(m) +} + +var xxx_messageInfo_TCPSocketAction proto.InternalMessageInfo + +func (m *TCPSocketAction) GetPort() *IntOrStringForPB { + if m != nil { + return m.Port + } + return nil +} + +func (m *TCPSocketAction) GetHost() string { + if m != nil { + return m.Host + } + return "" +} + +// Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling. +type PodDisruptionBudgetSpec struct { + MinAvailable uint32 `protobuf:"varint,1,opt,name=minAvailable,proto3" json:"minAvailable,omitempty"` + Selector *v11.LabelSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` + MaxUnavailable uint32 `protobuf:"varint,3,opt,name=maxUnavailable,proto3" json:"maxUnavailable,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PodDisruptionBudgetSpec) Reset() { *m = PodDisruptionBudgetSpec{} } +func (m *PodDisruptionBudgetSpec) String() string { return proto.CompactTextString(m) } +func (*PodDisruptionBudgetSpec) ProtoMessage() {} +func (*PodDisruptionBudgetSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{35} +} + +func (m *PodDisruptionBudgetSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_PodDisruptionBudgetSpec.Unmarshal(m, b) +} +func (m *PodDisruptionBudgetSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_PodDisruptionBudgetSpec.Marshal(b, m, deterministic) +} +func (m *PodDisruptionBudgetSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_PodDisruptionBudgetSpec.Merge(m, src) +} +func (m *PodDisruptionBudgetSpec) XXX_Size() int { + return xxx_messageInfo_PodDisruptionBudgetSpec.Size(m) +} +func (m *PodDisruptionBudgetSpec) XXX_DiscardUnknown() { + xxx_messageInfo_PodDisruptionBudgetSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_PodDisruptionBudgetSpec proto.InternalMessageInfo + +func (m *PodDisruptionBudgetSpec) GetMinAvailable() uint32 { + if m != nil { + return m.MinAvailable + } + return 0 +} + +func (m *PodDisruptionBudgetSpec) GetSelector() *v11.LabelSelector { + if m != nil { + return m.Selector + } + return nil +} + +func (m *PodDisruptionBudgetSpec) GetMaxUnavailable() uint32 { + if m != nil { + return m.MaxUnavailable + } + return 0 +} + +// Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling. +type DeploymentStrategy struct { + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + RollingUpdate *RollingUpdateDeployment `protobuf:"bytes,2,opt,name=rollingUpdate,proto3" json:"rollingUpdate,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} } +func (m *DeploymentStrategy) String() string { return proto.CompactTextString(m) } +func (*DeploymentStrategy) ProtoMessage() {} +func (*DeploymentStrategy) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{36} +} + +func (m *DeploymentStrategy) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeploymentStrategy.Unmarshal(m, b) +} +func (m *DeploymentStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeploymentStrategy.Marshal(b, m, deterministic) +} +func (m *DeploymentStrategy) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeploymentStrategy.Merge(m, src) +} +func (m *DeploymentStrategy) XXX_Size() int { + return xxx_messageInfo_DeploymentStrategy.Size(m) +} +func (m *DeploymentStrategy) XXX_DiscardUnknown() { + xxx_messageInfo_DeploymentStrategy.DiscardUnknown(m) +} + +var xxx_messageInfo_DeploymentStrategy proto.InternalMessageInfo + +func (m *DeploymentStrategy) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *DeploymentStrategy) GetRollingUpdate() *RollingUpdateDeployment { + if m != nil { + return m.RollingUpdate + } + return nil +} + +// Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling. +type RollingUpdateDeployment struct { + MaxUnavailable *IntOrStringForPB `protobuf:"bytes,1,opt,name=maxUnavailable,proto3" json:"maxUnavailable,omitempty"` + MaxSurge *IntOrStringForPB `protobuf:"bytes,2,opt,name=maxSurge,proto3" json:"maxSurge,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} } +func (m *RollingUpdateDeployment) String() string { return proto.CompactTextString(m) } +func (*RollingUpdateDeployment) ProtoMessage() {} +func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{37} +} + +func (m *RollingUpdateDeployment) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RollingUpdateDeployment.Unmarshal(m, b) +} +func (m *RollingUpdateDeployment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RollingUpdateDeployment.Marshal(b, m, deterministic) +} +func (m *RollingUpdateDeployment) XXX_Merge(src proto.Message) { + xxx_messageInfo_RollingUpdateDeployment.Merge(m, src) +} +func (m *RollingUpdateDeployment) XXX_Size() int { + return xxx_messageInfo_RollingUpdateDeployment.Size(m) +} +func (m *RollingUpdateDeployment) XXX_DiscardUnknown() { + xxx_messageInfo_RollingUpdateDeployment.DiscardUnknown(m) +} + +var xxx_messageInfo_RollingUpdateDeployment proto.InternalMessageInfo + +func (m *RollingUpdateDeployment) GetMaxUnavailable() *IntOrStringForPB { + if m != nil { + return m.MaxUnavailable + } + return nil +} + +func (m *RollingUpdateDeployment) GetMaxSurge() *IntOrStringForPB { + if m != nil { + return m.MaxSurge + } + return nil +} + +type ObjectMeta struct { + // From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Namespace string `protobuf:"bytes,6,opt,name=namespace,proto3" json:"namespace,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ObjectMeta) Reset() { *m = ObjectMeta{} } +func (m *ObjectMeta) String() string { return proto.CompactTextString(m) } +func (*ObjectMeta) ProtoMessage() {} +func (*ObjectMeta) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{38} +} + +func (m *ObjectMeta) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ObjectMeta.Unmarshal(m, b) +} +func (m *ObjectMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ObjectMeta.Marshal(b, m, deterministic) +} +func (m *ObjectMeta) XXX_Merge(src proto.Message) { + xxx_messageInfo_ObjectMeta.Merge(m, src) +} +func (m *ObjectMeta) XXX_Size() int { + return xxx_messageInfo_ObjectMeta.Size(m) +} +func (m *ObjectMeta) XXX_DiscardUnknown() { + xxx_messageInfo_ObjectMeta.DiscardUnknown(m) +} + +var xxx_messageInfo_ObjectMeta proto.InternalMessageInfo + +func (m *ObjectMeta) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ObjectMeta) GetNamespace() string { + if m != nil { + return m.Namespace + } + return "" +} + +// Mirrors k8s.io.core.v1.ServiceSpec for unmarshalling. +type ServiceSpec struct { + Ports []*ServicePort `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` + Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ClusterIP string `protobuf:"bytes,3,opt,name=clusterIP,proto3" json:"clusterIP,omitempty"` + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` + ExternalIPs []string `protobuf:"bytes,5,rep,name=externalIPs,proto3" json:"externalIPs,omitempty"` + SessionAffinity string `protobuf:"bytes,7,opt,name=sessionAffinity,proto3" json:"sessionAffinity,omitempty"` + LoadBalancerIP string `protobuf:"bytes,8,opt,name=loadBalancerIP,proto3" json:"loadBalancerIP,omitempty"` + LoadBalancerSourceRanges []string `protobuf:"bytes,9,rep,name=loadBalancerSourceRanges,proto3" json:"loadBalancerSourceRanges,omitempty"` + ExternalName string `protobuf:"bytes,10,opt,name=externalName,proto3" json:"externalName,omitempty"` + ExternalTrafficPolicy string `protobuf:"bytes,11,opt,name=externalTrafficPolicy,proto3" json:"externalTrafficPolicy,omitempty"` + HealthCheckNodePort int32 `protobuf:"varint,12,opt,name=healthCheckNodePort,proto3" json:"healthCheckNodePort,omitempty"` + PublishNotReadyAddresses bool `protobuf:"varint,13,opt,name=publishNotReadyAddresses,proto3" json:"publishNotReadyAddresses,omitempty"` + SessionAffinityConfig *SessionAffinityConfig `protobuf:"bytes,14,opt,name=sessionAffinityConfig,proto3" json:"sessionAffinityConfig,omitempty"` + IpFamily string `protobuf:"bytes,15,opt,name=ipFamily,proto3" json:"ipFamily,omitempty"` + TopologyKeys []string `protobuf:"bytes,16,rep,name=topologyKeys,proto3" json:"topologyKeys,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } +func (m *ServiceSpec) String() string { return proto.CompactTextString(m) } +func (*ServiceSpec) ProtoMessage() {} +func (*ServiceSpec) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{39} +} + +func (m *ServiceSpec) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ServiceSpec.Unmarshal(m, b) +} +func (m *ServiceSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ServiceSpec.Marshal(b, m, deterministic) +} +func (m *ServiceSpec) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServiceSpec.Merge(m, src) +} +func (m *ServiceSpec) XXX_Size() int { + return xxx_messageInfo_ServiceSpec.Size(m) +} +func (m *ServiceSpec) XXX_DiscardUnknown() { + xxx_messageInfo_ServiceSpec.DiscardUnknown(m) +} + +var xxx_messageInfo_ServiceSpec proto.InternalMessageInfo + +func (m *ServiceSpec) GetPorts() []*ServicePort { + if m != nil { + return m.Ports + } + return nil +} + +func (m *ServiceSpec) GetSelector() map[string]string { + if m != nil { + return m.Selector + } + return nil +} + +func (m *ServiceSpec) GetClusterIP() string { + if m != nil { + return m.ClusterIP + } + return "" +} + +func (m *ServiceSpec) GetType() string { + if m != nil { + return m.Type + } + return "" +} + +func (m *ServiceSpec) GetExternalIPs() []string { + if m != nil { + return m.ExternalIPs + } + return nil +} + +func (m *ServiceSpec) GetSessionAffinity() string { + if m != nil { + return m.SessionAffinity + } + return "" +} + +func (m *ServiceSpec) GetLoadBalancerIP() string { + if m != nil { + return m.LoadBalancerIP + } + return "" +} + +func (m *ServiceSpec) GetLoadBalancerSourceRanges() []string { + if m != nil { + return m.LoadBalancerSourceRanges + } + return nil +} + +func (m *ServiceSpec) GetExternalName() string { + if m != nil { + return m.ExternalName + } + return "" +} + +func (m *ServiceSpec) GetExternalTrafficPolicy() string { + if m != nil { + return m.ExternalTrafficPolicy + } + return "" +} + +func (m *ServiceSpec) GetHealthCheckNodePort() int32 { + if m != nil { + return m.HealthCheckNodePort + } + return 0 +} + +func (m *ServiceSpec) GetPublishNotReadyAddresses() bool { + if m != nil { + return m.PublishNotReadyAddresses + } + return false +} + +func (m *ServiceSpec) GetSessionAffinityConfig() *SessionAffinityConfig { + if m != nil { + return m.SessionAffinityConfig + } + return nil +} + +func (m *ServiceSpec) GetIpFamily() string { + if m != nil { + return m.IpFamily + } + return "" +} + +func (m *ServiceSpec) GetTopologyKeys() []string { + if m != nil { + return m.TopologyKeys + } + return nil +} + +// Mirrors k8s.io.core.v1.ServicePort for unmarshalling. +type ServicePort struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` + TargetPort *IntOrStringForPB `protobuf:"bytes,4,opt,name=targetPort,proto3" json:"targetPort,omitempty"` + NodePort int32 `protobuf:"varint,5,opt,name=nodePort,proto3" json:"nodePort,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ServicePort) Reset() { *m = ServicePort{} } +func (m *ServicePort) String() string { return proto.CompactTextString(m) } +func (*ServicePort) ProtoMessage() {} +func (*ServicePort) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{40} +} + +func (m *ServicePort) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ServicePort.Unmarshal(m, b) +} +func (m *ServicePort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ServicePort.Marshal(b, m, deterministic) +} +func (m *ServicePort) XXX_Merge(src proto.Message) { + xxx_messageInfo_ServicePort.Merge(m, src) +} +func (m *ServicePort) XXX_Size() int { + return xxx_messageInfo_ServicePort.Size(m) +} +func (m *ServicePort) XXX_DiscardUnknown() { + xxx_messageInfo_ServicePort.DiscardUnknown(m) +} + +var xxx_messageInfo_ServicePort proto.InternalMessageInfo + +func (m *ServicePort) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ServicePort) GetProtocol() string { + if m != nil { + return m.Protocol + } + return "" +} + +func (m *ServicePort) GetPort() int32 { + if m != nil { + return m.Port + } + return 0 +} + +func (m *ServicePort) GetTargetPort() *IntOrStringForPB { + if m != nil { + return m.TargetPort + } + return nil +} + +func (m *ServicePort) GetNodePort() int32 { + if m != nil { + return m.NodePort + } + return 0 +} + +// Mirrors k8s.io.core.v1.SessionAffinityConfig for unmarshalling. +type SessionAffinityConfig struct { + ClientIP *ClientIPConfig `protobuf:"bytes,1,opt,name=clientIP,proto3" json:"clientIP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SessionAffinityConfig) Reset() { *m = SessionAffinityConfig{} } +func (m *SessionAffinityConfig) String() string { return proto.CompactTextString(m) } +func (*SessionAffinityConfig) ProtoMessage() {} +func (*SessionAffinityConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{41} +} + +func (m *SessionAffinityConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SessionAffinityConfig.Unmarshal(m, b) +} +func (m *SessionAffinityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SessionAffinityConfig.Marshal(b, m, deterministic) +} +func (m *SessionAffinityConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_SessionAffinityConfig.Merge(m, src) +} +func (m *SessionAffinityConfig) XXX_Size() int { + return xxx_messageInfo_SessionAffinityConfig.Size(m) +} +func (m *SessionAffinityConfig) XXX_DiscardUnknown() { + xxx_messageInfo_SessionAffinityConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_SessionAffinityConfig proto.InternalMessageInfo + +func (m *SessionAffinityConfig) GetClientIP() *ClientIPConfig { + if m != nil { + return m.ClientIP + } + return nil +} + +// Mirrors k8s.io.core.v1.ClientIPConfig for unmarshalling. +type ClientIPConfig struct { + TimeoutSeconds int32 `protobuf:"varint,1,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ClientIPConfig) Reset() { *m = ClientIPConfig{} } +func (m *ClientIPConfig) String() string { return proto.CompactTextString(m) } +func (*ClientIPConfig) ProtoMessage() {} +func (*ClientIPConfig) Descriptor() ([]byte, []int) { + return fileDescriptor_daac92937abd81a4, []int{42} +} + +func (m *ClientIPConfig) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ClientIPConfig.Unmarshal(m, b) +} +func (m *ClientIPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ClientIPConfig.Marshal(b, m, deterministic) +} +func (m *ClientIPConfig) XXX_Merge(src proto.Message) { + xxx_messageInfo_ClientIPConfig.Merge(m, src) +} +func (m *ClientIPConfig) XXX_Size() int { + return xxx_messageInfo_ClientIPConfig.Size(m) +} +func (m *ClientIPConfig) XXX_DiscardUnknown() { + xxx_messageInfo_ClientIPConfig.DiscardUnknown(m) +} + +var xxx_messageInfo_ClientIPConfig proto.InternalMessageInfo + +func (m *ClientIPConfig) GetTimeoutSeconds() int32 { + if m != nil { + return m.TimeoutSeconds + } + return 0 +} + + + + + +func init() { + proto.RegisterEnum("v1alpha2.InstallStatus_Status", InstallStatus_Status_name, InstallStatus_Status_value) + proto.RegisterType((*IstioControlPlane)(nil), "v1alpha2.IstioControlPlane") + proto.RegisterType((*IstioControlPlaneSpec)(nil), "v1alpha2.IstioControlPlaneSpec") + proto.RegisterType((*BaseFeatureSpec)(nil), "v1alpha2.BaseFeatureSpec") + proto.RegisterType((*BaseFeatureSpec_Components)(nil), "v1alpha2.BaseFeatureSpec.Components") + proto.RegisterType((*TrafficManagementFeatureSpec)(nil), "v1alpha2.TrafficManagementFeatureSpec") + proto.RegisterType((*TrafficManagementFeatureSpec_Components)(nil), "v1alpha2.TrafficManagementFeatureSpec.Components") + proto.RegisterType((*PolicyFeatureSpec)(nil), "v1alpha2.PolicyFeatureSpec") + proto.RegisterType((*PolicyFeatureSpec_Components)(nil), "v1alpha2.PolicyFeatureSpec.Components") + proto.RegisterType((*TelemetryFeatureSpec)(nil), "v1alpha2.TelemetryFeatureSpec") + proto.RegisterType((*TelemetryFeatureSpec_Components)(nil), "v1alpha2.TelemetryFeatureSpec.Components") + proto.RegisterType((*SecurityFeatureSpec)(nil), "v1alpha2.SecurityFeatureSpec") + proto.RegisterType((*SecurityFeatureSpec_Components)(nil), "v1alpha2.SecurityFeatureSpec.Components") + proto.RegisterType((*ConfigManagementFeatureSpec)(nil), "v1alpha2.ConfigManagementFeatureSpec") + proto.RegisterType((*ConfigManagementFeatureSpec_Components)(nil), "v1alpha2.ConfigManagementFeatureSpec.Components") + proto.RegisterType((*AutoInjectionFeatureSpec)(nil), "v1alpha2.AutoInjectionFeatureSpec") + proto.RegisterType((*AutoInjectionFeatureSpec_Components)(nil), "v1alpha2.AutoInjectionFeatureSpec.Components") + proto.RegisterType((*GatewayFeatureSpec)(nil), "v1alpha2.GatewayFeatureSpec") + proto.RegisterType((*GatewayFeatureSpec_Components)(nil), "v1alpha2.GatewayFeatureSpec.Components") + proto.RegisterType((*CNIFeatureSpec)(nil), "v1alpha2.CNIFeatureSpec") + proto.RegisterType((*CNIFeatureSpec_Components)(nil), "v1alpha2.CNIFeatureSpec.Components") + proto.RegisterType((*CoreDNSFeatureSpec)(nil), "v1alpha2.CoreDNSFeatureSpec") + proto.RegisterType((*CoreDNSFeatureSpec_Components)(nil), "v1alpha2.CoreDNSFeatureSpec.Components") + proto.RegisterType((*BaseComponentSpec)(nil), "v1alpha2.BaseComponentSpec") + proto.RegisterType((*PilotComponentSpec)(nil), "v1alpha2.PilotComponentSpec") + proto.RegisterType((*ProxyComponentSpec)(nil), "v1alpha2.ProxyComponentSpec") + proto.RegisterType((*SidecarInjectorComponentSpec)(nil), "v1alpha2.SidecarInjectorComponentSpec") + proto.RegisterType((*PolicyComponentSpec)(nil), "v1alpha2.PolicyComponentSpec") + proto.RegisterType((*TelemetryComponentSpec)(nil), "v1alpha2.TelemetryComponentSpec") + proto.RegisterType((*CitadelComponentSpec)(nil), "v1alpha2.CitadelComponentSpec") + proto.RegisterType((*CertManagerComponentSpec)(nil), "v1alpha2.CertManagerComponentSpec") + proto.RegisterType((*NodeAgentComponentSpec)(nil), "v1alpha2.NodeAgentComponentSpec") + proto.RegisterType((*GalleyComponentSpec)(nil), "v1alpha2.GalleyComponentSpec") + proto.RegisterType((*IngressGatewayComponentSpec)(nil), "v1alpha2.IngressGatewayComponentSpec") + proto.RegisterType((*EgressGatewayComponentSpec)(nil), "v1alpha2.EgressGatewayComponentSpec") + proto.RegisterType((*CNIComponentSpec)(nil), "v1alpha2.CNIComponentSpec") + proto.RegisterType((*CoreDNSComponentSpec)(nil), "v1alpha2.CoreDNSComponentSpec") + 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.RegisterType((*K8SObjectOverlay)(nil), "v1alpha2.k8sObjectOverlay") + proto.RegisterType((*K8SObjectOverlay_PathValue)(nil), "v1alpha2.k8sObjectOverlay.PathValue") + proto.RegisterType((*InstallStatus)(nil), "v1alpha2.InstallStatus") + proto.RegisterMapType((map[string]*InstallStatus_VersionStatus)(nil), "v1alpha2.InstallStatus.StatusEntry") + proto.RegisterType((*InstallStatus_VersionStatus)(nil), "v1alpha2.InstallStatus.VersionStatus") + proto.RegisterType((*Resources)(nil), "v1alpha2.Resources") + proto.RegisterMapType((map[string]string)(nil), "v1alpha2.Resources.LimitsEntry") + proto.RegisterMapType((map[string]string)(nil), "v1alpha2.Resources.RequestsEntry") + proto.RegisterType((*ReadinessProbe)(nil), "v1alpha2.ReadinessProbe") + proto.RegisterType((*ExecAction)(nil), "v1alpha2.ExecAction") + proto.RegisterType((*HTTPGetAction)(nil), "v1alpha2.HTTPGetAction") + proto.RegisterType((*HTTPHeader)(nil), "v1alpha2.HTTPHeader") + proto.RegisterType((*TCPSocketAction)(nil), "v1alpha2.TCPSocketAction") + proto.RegisterType((*PodDisruptionBudgetSpec)(nil), "v1alpha2.PodDisruptionBudgetSpec") + proto.RegisterType((*DeploymentStrategy)(nil), "v1alpha2.DeploymentStrategy") + proto.RegisterType((*RollingUpdateDeployment)(nil), "v1alpha2.RollingUpdateDeployment") + proto.RegisterType((*ObjectMeta)(nil), "v1alpha2.ObjectMeta") + proto.RegisterType((*ServiceSpec)(nil), "v1alpha2.ServiceSpec") + proto.RegisterMapType((map[string]string)(nil), "v1alpha2.ServiceSpec.SelectorEntry") + proto.RegisterType((*ServicePort)(nil), "v1alpha2.ServicePort") + proto.RegisterType((*SessionAffinityConfig)(nil), "v1alpha2.SessionAffinityConfig") + proto.RegisterType((*ClientIPConfig)(nil), "v1alpha2.ClientIPConfig") +} + +func init() { + proto.RegisterFile("pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto", fileDescriptor_daac92937abd81a4) +} + +var fileDescriptor_daac92937abd81a4 = []byte{ + // 2955 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x6f, 0x1c, 0xc7, + 0xb1, 0x7f, 0xc3, 0xcf, 0xdd, 0xa2, 0x96, 0x1f, 0x2d, 0x4a, 0x1a, 0xaf, 0x64, 0x89, 0x1e, 0xdb, + 0x7a, 0x7a, 0xf6, 0xf3, 0xd2, 0x12, 0x6d, 0x99, 0xb6, 0x9e, 0x65, 0x53, 0x14, 0x45, 0x11, 0x92, + 0x96, 0xfb, 0x86, 0x94, 0x60, 0x5f, 0xb2, 0xe9, 0x9d, 0x69, 0xee, 0x8e, 0x39, 0x3b, 0x3d, 0xee, + 0xe9, 0xa5, 0xb5, 0xb9, 0x27, 0x87, 0xdc, 0x92, 0x4b, 0x0e, 0x41, 0x90, 0x04, 0x41, 0x90, 0xe4, + 0x10, 0xe4, 0x96, 0x4b, 0x80, 0x5c, 0x03, 0xe4, 0x90, 0xfc, 0x09, 0x39, 0xe6, 0x90, 0x9c, 0x03, + 0x04, 0x06, 0x82, 0xa0, 0x3f, 0xe6, 0x73, 0x67, 0x69, 0x91, 0x48, 0x00, 0xe6, 0xb4, 0x33, 0x55, + 0xbf, 0xaa, 0xae, 0xaa, 0xee, 0xaa, 0xae, 0xde, 0x1e, 0x78, 0x37, 0x3c, 0xec, 0xae, 0xe2, 0xd0, + 0x8b, 0x56, 0xbd, 0x88, 0x7b, 0x74, 0xf5, 0xe8, 0x26, 0xf6, 0xc3, 0x1e, 0xbe, 0xa5, 0x5e, 0x1d, + 0x1a, 0x70, 0x46, 0xfd, 0xd0, 0xc7, 0x01, 0x69, 0xf3, 0x61, 0x48, 0xa2, 0x46, 0xc8, 0x28, 0xa7, + 0xa8, 0x12, 0xe3, 0xea, 0xd6, 0xe1, 0x7a, 0xd4, 0xf0, 0xa8, 0xd0, 0xb1, 0xea, 0x50, 0x46, 0x56, + 0x8f, 0x6e, 0xae, 0x76, 0x49, 0x40, 0x18, 0xe6, 0xc4, 0x55, 0xe8, 0x7a, 0x23, 0x83, 0xc1, 0x03, + 0x4e, 0x23, 0x07, 0xfb, 0x5e, 0xd0, 0x5d, 0x3d, 0xba, 0xd5, 0x21, 0x1c, 0x8f, 0xe2, 0xdf, 0x49, + 0xf1, 0x7d, 0xec, 0xf4, 0xbc, 0x80, 0xb0, 0xe1, 0x6a, 0x62, 0x68, 0x9f, 0x70, 0x5c, 0x36, 0xca, + 0xc7, 0x5d, 0x8f, 0xf7, 0x06, 0x9d, 0x86, 0x43, 0xfb, 0xab, 0x5d, 0xda, 0xa5, 0xab, 0x92, 0xdc, + 0x19, 0x1c, 0xa4, 0x0f, 0x5d, 0x4a, 0xbb, 0x3e, 0x49, 0xdf, 0xbf, 0x60, 0x38, 0x0c, 0x09, 0xd3, + 0x5e, 0x59, 0x7f, 0x34, 0x60, 0x69, 0x47, 0xf8, 0xbd, 0xa9, 0xfc, 0x6e, 0x09, 0xbf, 0xd1, 0x1a, + 0x4c, 0x45, 0x21, 0x71, 0xcc, 0xc9, 0x15, 0xe3, 0xc6, 0xdc, 0xad, 0x6b, 0x8d, 0xd8, 0xf5, 0xc6, + 0x08, 0x74, 0x2f, 0x24, 0x8e, 0x2d, 0xc1, 0x68, 0x15, 0x66, 0x22, 0x8e, 0xf9, 0x20, 0x32, 0xa7, + 0xa4, 0xd8, 0xa5, 0x8c, 0x58, 0x10, 0x71, 0xec, 0xfb, 0x7b, 0x92, 0x6d, 0x6b, 0x18, 0x42, 0x30, + 0x75, 0xe8, 0x05, 0xae, 0x39, 0xbd, 0x62, 0xdc, 0xa8, 0xda, 0xf2, 0x19, 0x5d, 0x05, 0xc0, 0xa1, + 0xf7, 0x8c, 0xb0, 0xc8, 0xa3, 0x81, 0x39, 0x23, 0x39, 0x19, 0x0a, 0x5a, 0x81, 0xb9, 0xd0, 0xc7, + 0x0e, 0xe9, 0x51, 0xdf, 0x25, 0xcc, 0xa4, 0x12, 0x90, 0x25, 0x59, 0xbf, 0x9a, 0x85, 0x0b, 0xa5, + 0x66, 0xa2, 0x37, 0x61, 0xc9, 0x25, 0x07, 0x78, 0xe0, 0xf3, 0x76, 0x80, 0xfb, 0x24, 0x0a, 0xb1, + 0x43, 0xf4, 0xe0, 0x8b, 0x9a, 0xd1, 0x8c, 0xe9, 0xe8, 0x2d, 0x98, 0xea, 0xe0, 0x88, 0x98, 0xcb, + 0xd2, 0x97, 0x97, 0x52, 0x5f, 0xee, 0xe1, 0x88, 0x3c, 0x20, 0x98, 0x0f, 0x98, 0x76, 0x5e, 0xc0, + 0xd0, 0x53, 0x40, 0x9c, 0xe1, 0x83, 0x03, 0xcf, 0x69, 0xf7, 0x71, 0x80, 0xbb, 0xa4, 0x4f, 0x02, + 0x6e, 0xbe, 0x24, 0x85, 0xaf, 0xa7, 0xc2, 0xfb, 0x0a, 0xf3, 0x24, 0x81, 0x64, 0x35, 0x2d, 0xf1, + 0x22, 0x17, 0xad, 0xc1, 0x4c, 0x48, 0x7d, 0xcf, 0x19, 0x9a, 0x75, 0xa9, 0xea, 0x72, 0xaa, 0xaa, + 0x25, 0xe9, 0x59, 0x79, 0x0d, 0x45, 0xff, 0x07, 0x55, 0x4e, 0x7c, 0xd2, 0x27, 0x9c, 0x0d, 0xcd, + 0xcb, 0x52, 0xee, 0x6a, 0xc6, 0x84, 0x98, 0x95, 0x15, 0x4d, 0x05, 0xd0, 0xfb, 0x50, 0x89, 0x88, + 0x33, 0x60, 0x1e, 0x1f, 0x9a, 0x57, 0xa4, 0xf0, 0xcb, 0xa9, 0xf0, 0x9e, 0xe6, 0x64, 0x65, 0x13, + 0x38, 0xb2, 0x61, 0xc9, 0xa1, 0xc1, 0x81, 0xd7, 0xcd, 0xc6, 0xe0, 0x65, 0xa9, 0xe3, 0xf5, 0x54, + 0xc7, 0xa6, 0x84, 0x94, 0x87, 0x60, 0xd1, 0x29, 0x30, 0xd1, 0x0e, 0xcc, 0x8b, 0xfc, 0x69, 0x7b, + 0xc1, 0x67, 0xc4, 0xe1, 0x62, 0x51, 0x5c, 0x95, 0x0a, 0xad, 0x54, 0xe1, 0xc6, 0x80, 0xd3, 0x9d, + 0x98, 0x9d, 0xd5, 0x56, 0xc3, 0x59, 0x0e, 0x5a, 0x87, 0x4a, 0x17, 0x73, 0xf2, 0x05, 0x1e, 0x46, + 0xe6, 0x35, 0xa9, 0xe4, 0x4a, 0xaa, 0x64, 0x5b, 0x71, 0x72, 0x8e, 0xc5, 0x68, 0xf4, 0x06, 0x4c, + 0x3a, 0x81, 0x67, 0xae, 0x48, 0x21, 0x33, 0xe3, 0x4a, 0x73, 0x27, 0x2b, 0x20, 0x40, 0xe8, 0x36, + 0xcc, 0x8a, 0xa2, 0x70, 0xbf, 0xb9, 0x67, 0xbe, 0x52, 0x1c, 0x64, 0x53, 0x31, 0xb2, 0x32, 0x31, + 0x18, 0xad, 0xc3, 0xcc, 0x11, 0xf6, 0x07, 0x24, 0x32, 0x6f, 0x49, 0xb1, 0x95, 0xcc, 0x94, 0x0d, + 0x43, 0xf2, 0x04, 0x87, 0x7b, 0x9c, 0x79, 0x41, 0x77, 0x27, 0xe0, 0x84, 0x1d, 0x60, 0x87, 0xd8, + 0x1a, 0x8f, 0x9a, 0xb0, 0x34, 0x08, 0x8e, 0xb0, 0xef, 0xb9, 0xa2, 0x34, 0x3c, 0x53, 0x4a, 0xd6, + 0x5e, 0x50, 0xc9, 0xa8, 0x28, 0x32, 0x61, 0x36, 0x64, 0xf4, 0xc0, 0xf3, 0x89, 0xe9, 0xca, 0xec, + 0x88, 0x5f, 0xd1, 0xdb, 0xb0, 0xec, 0xa9, 0x54, 0x6e, 0x87, 0xd8, 0x39, 0xc4, 0x5d, 0xd2, 0x0e, + 0x31, 0xef, 0x99, 0x07, 0x12, 0x86, 0x34, 0xaf, 0xa5, 0x58, 0x2d, 0xcc, 0x7b, 0x68, 0x11, 0x26, + 0x7b, 0x83, 0x8e, 0x19, 0x48, 0x80, 0x78, 0x14, 0x14, 0x8e, 0xbb, 0x3a, 0x73, 0xc5, 0xa3, 0xf5, + 0x07, 0x03, 0x16, 0x0a, 0x59, 0x25, 0xa2, 0x48, 0x02, 0xdc, 0xf1, 0x89, 0x6b, 0x1a, 0xc5, 0x28, + 0x0a, 0x4f, 0xee, 0x51, 0xea, 0x4b, 0x73, 0x1f, 0x50, 0xd6, 0xba, 0x67, 0xc7, 0x60, 0x74, 0x1f, + 0xc0, 0xa1, 0xfd, 0x90, 0x06, 0x24, 0xe0, 0x71, 0x24, 0x5f, 0x1b, 0x9b, 0xbc, 0x8d, 0xcd, 0x04, + 0x6b, 0x67, 0xe4, 0xea, 0x1f, 0x02, 0xa4, 0x1c, 0xb4, 0x9a, 0x2b, 0x05, 0x97, 0xf3, 0xda, 0x12, + 0x5c, 0x5a, 0x0c, 0xac, 0xdf, 0x4e, 0xc0, 0x95, 0xe3, 0x32, 0xfd, 0xd4, 0xde, 0xfd, 0x7f, 0x89, + 0x77, 0x37, 0x5f, 0xac, 0xba, 0x8c, 0x73, 0xf5, 0xbb, 0x46, 0xce, 0xd7, 0x2b, 0x50, 0x4d, 0x6b, + 0xa3, 0x21, 0xe7, 0x28, 0x25, 0xa0, 0x5b, 0x30, 0x1d, 0x7a, 0x3e, 0xe5, 0x3a, 0x14, 0x19, 0xab, + 0x5b, 0x82, 0x9c, 0x8f, 0x85, 0x82, 0x4a, 0x19, 0x46, 0x9f, 0x0f, 0xcd, 0x0b, 0x23, 0x32, 0x82, + 0x5c, 0x94, 0x11, 0x34, 0xeb, 0x6f, 0x06, 0x2c, 0x8d, 0xd4, 0xb7, 0x53, 0x47, 0xed, 0x41, 0x49, + 0xd4, 0xae, 0x1f, 0x53, 0x48, 0xc7, 0x85, 0x0a, 0x9f, 0x20, 0x52, 0xef, 0x26, 0x85, 0x7b, 0xb9, + 0x58, 0x43, 0xd5, 0x78, 0x79, 0xbf, 0x35, 0xd8, 0xfa, 0xe6, 0x04, 0x2c, 0x97, 0x15, 0xe8, 0x53, + 0xfb, 0xbe, 0x53, 0xe2, 0xfb, 0xff, 0x1c, 0xbf, 0x19, 0x8c, 0x73, 0xff, 0xb3, 0x13, 0xb8, 0x7f, + 0x37, 0xbb, 0x05, 0x2d, 0x8f, 0x94, 0xa2, 0x98, 0x95, 0x0f, 0x42, 0x2a, 0x62, 0x7d, 0x6b, 0x12, + 0xce, 0x97, 0xec, 0x35, 0xa7, 0x0e, 0xc3, 0xc3, 0x92, 0x30, 0xdc, 0x38, 0x76, 0x5b, 0x1b, 0x17, + 0x85, 0xbf, 0x9e, 0x24, 0x5f, 0xd6, 0x61, 0xd6, 0xf1, 0x38, 0x76, 0x89, 0xaf, 0x83, 0x90, 0xd9, + 0x87, 0x37, 0x15, 0x23, 0x1f, 0x82, 0x18, 0x8e, 0xb6, 0xe0, 0x9c, 0x43, 0x18, 0xd7, 0x1b, 0x29, + 0xd3, 0xc9, 0x93, 0xd9, 0xf4, 0x36, 0x09, 0xe3, 0x2a, 0xd1, 0x59, 0x5e, 0xc5, 0x9c, 0x93, 0x72, + 0xd0, 0x47, 0x00, 0x01, 0x75, 0x49, 0x1b, 0x77, 0xc5, 0x56, 0x7c, 0xb1, 0x38, 0x11, 0x4d, 0xea, + 0x92, 0x0d, 0xc1, 0x2a, 0x4c, 0x44, 0x10, 0xd3, 0xad, 0x6f, 0x4f, 0xc0, 0xe5, 0x63, 0x36, 0xec, + 0x53, 0x4f, 0x48, 0xab, 0x64, 0x42, 0xde, 0x7e, 0xa1, 0x1e, 0xe1, 0x5f, 0x94, 0x9d, 0x5d, 0xec, + 0xfb, 0xa4, 0x24, 0x3b, 0xb7, 0x25, 0xbd, 0x90, 0x9d, 0x0a, 0x6c, 0x7d, 0x67, 0x02, 0xcc, 0x71, + 0xcd, 0xc6, 0xa9, 0x23, 0xf1, 0xa4, 0x24, 0x12, 0x6f, 0x7d, 0x75, 0x73, 0x33, 0x2e, 0x0c, 0xc1, + 0x09, 0xc2, 0x70, 0x0f, 0x2a, 0xaa, 0xad, 0xa2, 0x4c, 0x07, 0x22, 0x53, 0x16, 0xf7, 0x3c, 0x97, + 0x38, 0x98, 0xed, 0x68, 0x40, 0x3e, 0x22, 0x89, 0x9c, 0xf5, 0xa7, 0x09, 0x40, 0xa3, 0xbd, 0xd3, + 0xa9, 0xa3, 0xb1, 0x5d, 0x12, 0x8d, 0xff, 0x3e, 0xae, 0x4b, 0x1b, 0x17, 0x87, 0xdf, 0x9d, 0x24, + 0x4f, 0x9b, 0xb0, 0xe0, 0x05, 0x5d, 0x46, 0xa2, 0xa8, 0xad, 0x7b, 0x3e, 0xdd, 0x20, 0xbe, 0x9e, + 0x3d, 0xc3, 0x48, 0x80, 0xb6, 0x20, 0x1f, 0x8e, 0x79, 0x2f, 0xc7, 0x44, 0x8f, 0x60, 0x9e, 0xe4, + 0xd5, 0xad, 0x14, 0x3b, 0x91, 0xad, 0xf1, 0xda, 0x6a, 0x24, 0xcb, 0xb3, 0xfe, 0x6c, 0xc0, 0x7c, + 0xbe, 0xd1, 0x3c, 0x75, 0x74, 0x37, 0x4b, 0xa2, 0xfb, 0xea, 0xb8, 0x76, 0x76, 0x5c, 0x64, 0x3f, + 0x39, 0x41, 0x60, 0xff, 0x57, 0x35, 0xce, 0x6a, 0x71, 0xd5, 0x73, 0x23, 0xe5, 0x7d, 0x16, 0x30, + 0xeb, 0x4b, 0x03, 0xd0, 0x68, 0x8b, 0xfc, 0xef, 0x5a, 0x4b, 0xa3, 0x23, 0x8d, 0xf3, 0xd8, 0x3d, + 0x61, 0xc9, 0xd7, 0xed, 0xff, 0x68, 0xc9, 0x57, 0x8c, 0x62, 0xc9, 0x57, 0x54, 0xeb, 0x11, 0x2c, + 0x8d, 0x34, 0x94, 0xa7, 0xf5, 0xdd, 0xfa, 0xa1, 0x01, 0x68, 0xb4, 0x27, 0x3b, 0x75, 0x28, 0x73, + 0x3e, 0x4f, 0x14, 0x7d, 0x5e, 0x83, 0xc9, 0xc3, 0xf5, 0xc8, 0x6c, 0x49, 0x8d, 0xaf, 0xa4, 0x1a, + 0x1f, 0x0d, 0x3a, 0x84, 0x05, 0x84, 0x93, 0xc8, 0x26, 0x11, 0x1d, 0x30, 0x87, 0x44, 0x6a, 0xb2, + 0x0f, 0xd7, 0x23, 0x65, 0xe1, 0x48, 0x07, 0x78, 0x96, 0x2c, 0xfc, 0x85, 0x01, 0x57, 0x8e, 0xab, + 0x82, 0x67, 0xc9, 0xd6, 0x1f, 0x19, 0x70, 0xbe, 0xa4, 0xb1, 0x3c, 0x4b, 0x26, 0xfe, 0xc4, 0x80, + 0x8b, 0xe5, 0x9d, 0xdf, 0x59, 0xb2, 0xf2, 0xc7, 0x06, 0x2c, 0x97, 0xb5, 0x66, 0x67, 0xc9, 0xc6, + 0x9f, 0x1a, 0x60, 0x8e, 0xeb, 0xff, 0xce, 0xda, 0x8c, 0x97, 0xb7, 0x98, 0x67, 0x2d, 0x75, 0x4a, + 0xba, 0xbe, 0xb3, 0x64, 0xe2, 0xcf, 0x0d, 0xb8, 0x7c, 0x4c, 0xff, 0x71, 0x96, 0x4c, 0xfd, 0x99, + 0x01, 0xf5, 0xad, 0xff, 0x08, 0x4b, 0x7f, 0x60, 0xc0, 0x62, 0xb1, 0x0f, 0x39, 0x73, 0x95, 0xa8, + 0xa4, 0x63, 0x38, 0x4b, 0x36, 0xfe, 0xbe, 0x02, 0x97, 0xc6, 0x00, 0xd0, 0x3a, 0x54, 0xf0, 0xc1, + 0x81, 0x17, 0x78, 0x7c, 0x98, 0xd8, 0xa9, 0x6e, 0x39, 0x1a, 0x38, 0xf4, 0x1a, 0xa2, 0xed, 0x69, + 0x1c, 0xdd, 0x6c, 0x6c, 0x68, 0x8c, 0x9d, 0xa0, 0x45, 0xd7, 0x48, 0x82, 0x23, 0x73, 0x62, 0x65, + 0x52, 0x76, 0x8d, 0x25, 0x42, 0x5b, 0xc1, 0xd1, 0x33, 0xcc, 0x6c, 0x01, 0x43, 0xcf, 0xa0, 0xd2, + 0x0b, 0x71, 0x3b, 0x73, 0x61, 0x71, 0x27, 0x2b, 0x92, 0xb9, 0x7d, 0x69, 0xe8, 0xdb, 0x97, 0xc6, + 0x43, 0xca, 0xbc, 0x6f, 0xd0, 0x80, 0x63, 0xbf, 0x45, 0xdd, 0x0d, 0x0d, 0x20, 0x4c, 0xf5, 0x63, + 0xbd, 0x10, 0x4b, 0xfb, 0xdf, 0x80, 0x25, 0xaf, 0x2f, 0xff, 0xe2, 0x1c, 0xf8, 0x7e, 0x5b, 0xff, + 0x9b, 0x33, 0x25, 0xc3, 0xb6, 0x20, 0x19, 0xad, 0x81, 0xef, 0xab, 0x3d, 0x17, 0x7d, 0x02, 0x35, + 0x79, 0xce, 0x8e, 0x88, 0xaf, 0x8e, 0x53, 0xd3, 0xd2, 0xf6, 0xb5, 0xaf, 0x0c, 0xa3, 0x3c, 0x82, + 0xef, 0x69, 0xa9, 0xad, 0x80, 0xb3, 0xa1, 0x7d, 0x2e, 0xc8, 0x90, 0xd0, 0x53, 0xb8, 0x10, 0x52, + 0xb7, 0xed, 0x7a, 0x11, 0x1b, 0x84, 0xe2, 0x0c, 0xd8, 0xee, 0x0c, 0xdc, 0x2e, 0xe1, 0xf2, 0x6e, + 0x24, 0x37, 0x51, 0x2d, 0xea, 0xde, 0x4f, 0x50, 0xf7, 0x24, 0x48, 0x3a, 0x74, 0x3e, 0x1c, 0x65, + 0xa0, 0xaf, 0xc1, 0x82, 0x50, 0x8b, 0x83, 0x80, 0x72, 0x2c, 0xe8, 0x91, 0x39, 0x2b, 0x4d, 0x7e, + 0xf7, 0xab, 0x4d, 0x16, 0x31, 0x4b, 0xe5, 0x94, 0xd1, 0xf3, 0x61, 0x8e, 0x88, 0x1a, 0x70, 0x3e, + 0x64, 0x1e, 0x65, 0x1e, 0x1f, 0xb6, 0x1d, 0x1f, 0x47, 0x91, 0xbc, 0x72, 0x31, 0x2b, 0x32, 0x7c, + 0x4b, 0x31, 0x6b, 0x53, 0x70, 0x9a, 0xb8, 0x4f, 0xd0, 0x06, 0x2c, 0x30, 0x82, 0x5d, 0x2f, 0x10, + 0x87, 0xa6, 0x90, 0xd1, 0x0e, 0x31, 0xab, 0xc5, 0x7f, 0xdb, 0xed, 0x18, 0xd0, 0x12, 0x7c, 0x7b, + 0x9e, 0xe5, 0xde, 0xd1, 0xab, 0x50, 0x63, 0x24, 0xf4, 0x3d, 0x07, 0xb7, 0x1d, 0x3a, 0x08, 0xb8, + 0x09, 0x2b, 0xc6, 0x8d, 0x9a, 0x7d, 0x4e, 0x13, 0x37, 0x05, 0x0d, 0xdd, 0x84, 0x2a, 0x8b, 0x9d, + 0x31, 0xe7, 0xe4, 0x08, 0xe7, 0xb3, 0x23, 0x68, 0x96, 0x9d, 0xa2, 0xd0, 0x2a, 0xcc, 0x46, 0x84, + 0x1d, 0x79, 0x0e, 0x31, 0xcf, 0x49, 0x81, 0x0b, 0xd9, 0x3f, 0x8e, 0x24, 0x43, 0x2d, 0x1c, 0x8d, + 0x12, 0x0b, 0x3f, 0xe2, 0x0c, 0x73, 0xd2, 0x1d, 0x9a, 0xb5, 0x62, 0x82, 0xde, 0x27, 0xa1, 0x4f, + 0x87, 0x7d, 0x91, 0xcb, 0x1a, 0x63, 0x27, 0x68, 0xf4, 0x31, 0xcc, 0x71, 0xea, 0x13, 0xa6, 0x67, + 0x64, 0x5e, 0xce, 0xc8, 0xd5, 0xb2, 0x04, 0xd8, 0x4f, 0x60, 0x76, 0x56, 0x04, 0xdd, 0x86, 0x0a, + 0x3d, 0x22, 0xcc, 0xc7, 0xc3, 0xc8, 0x74, 0x75, 0xfe, 0x24, 0x63, 0x1f, 0xae, 0x47, 0xbb, 0x1d, + 0xd1, 0xc8, 0xee, 0x2a, 0x88, 0x9d, 0x60, 0xeb, 0x1f, 0xc1, 0xd2, 0xc8, 0x4a, 0x44, 0x8b, 0x30, + 0x79, 0x48, 0x86, 0xfa, 0x8c, 0x23, 0x1e, 0xd1, 0x32, 0x4c, 0xcb, 0x4b, 0x07, 0x5d, 0x3e, 0xd4, + 0xcb, 0x07, 0x13, 0xeb, 0x46, 0x7d, 0x43, 0xf4, 0x9f, 0x23, 0xeb, 0xe2, 0x24, 0x2a, 0xac, 0xbf, + 0x18, 0xb0, 0x58, 0x34, 0x11, 0x5d, 0x83, 0x39, 0x1c, 0x7a, 0xed, 0x23, 0x7d, 0x23, 0x68, 0x8c, + 0xdc, 0x08, 0xc6, 0xb7, 0x88, 0x13, 0x99, 0x5b, 0x44, 0x04, 0x53, 0x72, 0xb9, 0x4d, 0x2a, 0x9a, + 0x78, 0x46, 0x77, 0x61, 0x36, 0xc4, 0xdc, 0xe9, 0x91, 0xc8, 0x9c, 0x92, 0x81, 0x79, 0x6d, 0x7c, + 0x60, 0x1a, 0x2d, 0xcc, 0x7b, 0xb2, 0x84, 0xda, 0xb1, 0x50, 0xbd, 0x09, 0xd5, 0x84, 0x2a, 0x06, + 0x90, 0x17, 0x1f, 0xca, 0x1c, 0xf9, 0x8c, 0xde, 0xca, 0x3a, 0x96, 0xbb, 0xfe, 0x14, 0x45, 0x39, + 0xbd, 0x71, 0x51, 0x28, 0xeb, 0x7b, 0x93, 0x50, 0xcb, 0xdd, 0x8b, 0xa2, 0x3b, 0xc9, 0x05, 0xaa, + 0x21, 0x0d, 0x7c, 0x75, 0xcc, 0x05, 0x6a, 0x43, 0xfd, 0xa8, 0xc4, 0xd3, 0x22, 0xf5, 0xef, 0x1b, + 0x50, 0xd3, 0x21, 0xd1, 0xea, 0x4c, 0x98, 0xcd, 0x47, 0x2d, 0x7e, 0x45, 0xb7, 0x93, 0x81, 0x84, + 0xa9, 0xf3, 0xd9, 0x23, 0x6a, 0xd9, 0x40, 0xc9, 0x85, 0xad, 0x05, 0xe7, 0xd4, 0x93, 0xba, 0x44, + 0xd2, 0xe1, 0xcd, 0xd1, 0xc4, 0xf4, 0x12, 0xc6, 0x28, 0xd3, 0x95, 0x52, 0xbd, 0xd4, 0xbf, 0x0e, + 0x73, 0x19, 0xa3, 0x4b, 0x56, 0xc5, 0x9d, 0x7c, 0xf0, 0x5e, 0x1f, 0x67, 0x51, 0xce, 0xc5, 0xec, + 0xe2, 0xd9, 0x81, 0x19, 0xed, 0x77, 0x05, 0xa6, 0x9a, 0xbb, 0xcd, 0xad, 0xc5, 0xff, 0x42, 0xe7, + 0xa0, 0xf2, 0xb4, 0x75, 0x7f, 0x63, 0x7f, 0xa7, 0xb9, 0xbd, 0x68, 0xa0, 0x39, 0x98, 0x7d, 0xb8, + 0xb5, 0xf1, 0x78, 0xff, 0xe1, 0xa7, 0x8b, 0x13, 0xa8, 0x0a, 0xd3, 0x5b, 0xb6, 0xbd, 0x6b, 0x2f, + 0x4e, 0xa2, 0x05, 0x98, 0xb3, 0xb7, 0x36, 0x77, 0x9b, 0x9b, 0x3b, 0x8f, 0x05, 0x70, 0xca, 0xfa, + 0xd2, 0x80, 0x6a, 0x52, 0x09, 0xd0, 0x7b, 0x30, 0xe3, 0x7b, 0x7d, 0x8f, 0xc7, 0xb3, 0x72, 0xad, + 0xa4, 0x5c, 0x34, 0x1e, 0x4b, 0x84, 0x9e, 0x11, 0x05, 0x47, 0x1f, 0x42, 0x85, 0x91, 0xcf, 0x07, + 0x24, 0xe2, 0x91, 0xde, 0xca, 0x5e, 0x29, 0x13, 0xb5, 0x35, 0x46, 0x09, 0x27, 0x22, 0xf5, 0xf7, + 0x61, 0x2e, 0xa3, 0xf5, 0x44, 0xb9, 0x78, 0x07, 0x6a, 0x39, 0xad, 0x27, 0xca, 0xc2, 0x7f, 0x4c, + 0xc0, 0x7c, 0xbe, 0xd2, 0xa2, 0x1b, 0x30, 0x45, 0x9e, 0x13, 0x47, 0xef, 0xe2, 0xcb, 0x99, 0x3f, + 0xb1, 0x9e, 0x13, 0x67, 0x43, 0xfe, 0x33, 0x69, 0x4b, 0x04, 0xba, 0x09, 0xb3, 0x3d, 0xce, 0xc3, + 0x6d, 0xc2, 0x47, 0xb3, 0xe0, 0xe1, 0xfe, 0x7e, 0x6b, 0x9b, 0x70, 0x8d, 0x8f, 0x71, 0xe8, 0x3d, + 0xa8, 0x72, 0x27, 0xdc, 0xa3, 0xce, 0x21, 0xe1, 0x7a, 0xff, 0xce, 0xdc, 0xb6, 0xef, 0x6f, 0xb6, + 0x14, 0x4b, 0x8b, 0xa5, 0x58, 0xf4, 0x36, 0x9c, 0x17, 0xed, 0x82, 0x87, 0xfd, 0xfb, 0xc4, 0xc7, + 0xc3, 0x3d, 0xe2, 0xd0, 0xc0, 0x55, 0x1f, 0x1f, 0x4c, 0xdb, 0x65, 0x2c, 0x74, 0x1d, 0xe6, 0xb9, + 0xd7, 0x27, 0x74, 0xc0, 0x63, 0xf0, 0xb4, 0x04, 0x17, 0xa8, 0xe8, 0x35, 0xa8, 0x85, 0x84, 0x79, + 0xd4, 0x8d, 0x61, 0x33, 0x12, 0x96, 0x27, 0xa2, 0x37, 0x60, 0x31, 0x1a, 0x38, 0x0e, 0x89, 0xa2, + 0xfd, 0x1e, 0x23, 0x51, 0x8f, 0xfa, 0xae, 0x39, 0x2b, 0x81, 0x23, 0x74, 0x81, 0x3d, 0xc0, 0x9e, + 0x3f, 0x60, 0x24, 0xc5, 0x56, 0x14, 0xb6, 0x48, 0xb7, 0xae, 0x03, 0xa4, 0x71, 0x15, 0x59, 0xec, + 0xd0, 0x7e, 0x1f, 0x07, 0xae, 0x5c, 0x7f, 0x55, 0x3b, 0x7e, 0xb5, 0x7e, 0x63, 0x40, 0x2d, 0x17, + 0xd3, 0xd2, 0xaa, 0x74, 0x0b, 0xa6, 0x42, 0xca, 0xe2, 0xe9, 0xb8, 0x3a, 0x52, 0x94, 0x76, 0x99, + 0x4a, 0x5c, 0xd5, 0x2b, 0x4a, 0xac, 0xd0, 0xd3, 0xa3, 0x11, 0x8f, 0xcb, 0xa7, 0x78, 0x46, 0x17, + 0x61, 0x26, 0x72, 0x7a, 0xa4, 0x4f, 0x74, 0x62, 0xeb, 0x37, 0x74, 0x1b, 0xe6, 0xc4, 0x4c, 0x3e, + 0x24, 0xd8, 0x25, 0x2c, 0xd2, 0x7d, 0xcf, 0x72, 0x7e, 0xd6, 0x15, 0xd3, 0xce, 0x02, 0xad, 0xdb, + 0x00, 0x29, 0x2b, 0x29, 0xd8, 0x46, 0xa6, 0x60, 0x97, 0x2e, 0x51, 0xeb, 0x53, 0x58, 0x28, 0xac, + 0x89, 0xc4, 0x45, 0xe3, 0x14, 0x2e, 0x4e, 0xa4, 0x2e, 0x5a, 0xbf, 0x36, 0xe0, 0xd2, 0x98, 0x26, + 0x4a, 0x94, 0xbe, 0xbe, 0x17, 0x6c, 0x1c, 0x61, 0xcf, 0x17, 0xcd, 0xb4, 0x1c, 0xab, 0x66, 0xe7, + 0x68, 0x68, 0x17, 0x2a, 0x49, 0xff, 0xa7, 0xc2, 0xbd, 0x96, 0xd9, 0xba, 0x93, 0xcf, 0x7a, 0x1a, + 0xe1, 0x61, 0x57, 0x10, 0xa2, 0x46, 0x9f, 0x70, 0x2c, 0x36, 0xf3, 0xc7, 0xb8, 0x43, 0xfc, 0x78, + 0xeb, 0xb5, 0x13, 0x25, 0x62, 0xbd, 0xf6, 0xf1, 0xf3, 0xa7, 0x01, 0x4e, 0x86, 0x9d, 0x94, 0xc3, + 0x16, 0xa8, 0xd6, 0xe7, 0x80, 0x46, 0xdb, 0x0a, 0xe1, 0x22, 0x1f, 0x86, 0x49, 0x4c, 0xc5, 0x33, + 0xda, 0x86, 0x1a, 0xa3, 0xbe, 0xe8, 0x85, 0x9f, 0x86, 0x2e, 0xe6, 0x71, 0xb9, 0xcd, 0x16, 0xa6, + 0x2c, 0x3b, 0xd5, 0x6a, 0xe7, 0xe5, 0xc4, 0xe1, 0xe9, 0xd2, 0x18, 0x28, 0x7a, 0x30, 0x62, 0xf6, + 0x8b, 0xcd, 0x4c, 0x41, 0x0a, 0x7d, 0x00, 0x95, 0x3e, 0x7e, 0xbe, 0x37, 0x60, 0x5d, 0xf2, 0x82, + 0xcb, 0x37, 0xc1, 0x5b, 0x77, 0x01, 0xd4, 0x8e, 0xfe, 0x84, 0x70, 0x9c, 0x2c, 0xaf, 0xe9, 0xcc, + 0xf2, 0xca, 0x9d, 0x86, 0x66, 0x0a, 0xa7, 0x21, 0xeb, 0xef, 0xd3, 0x30, 0x97, 0x69, 0xee, 0xd0, + 0x9b, 0x30, 0x2d, 0xd6, 0x4d, 0xbc, 0x09, 0x8c, 0xb6, 0x80, 0x2d, 0xca, 0xb8, 0xad, 0x30, 0xe8, + 0xa3, 0xdc, 0x42, 0x28, 0x6c, 0xe5, 0x19, 0xad, 0x8d, 0x7c, 0xe3, 0x9f, 0x4e, 0xfc, 0x15, 0xa8, + 0x3a, 0xfe, 0x20, 0xe2, 0x84, 0xed, 0xb4, 0x74, 0x16, 0xa6, 0x84, 0x64, 0x62, 0xa7, 0x32, 0x13, + 0xbb, 0x02, 0x73, 0xe4, 0x39, 0x27, 0x2c, 0xc0, 0xfe, 0x4e, 0x4b, 0xa5, 0x61, 0xd5, 0xce, 0x92, + 0xd0, 0x0d, 0x58, 0x88, 0x48, 0x24, 0x36, 0xcf, 0xf8, 0xc4, 0x25, 0xab, 0x55, 0xd5, 0x2e, 0x92, + 0xc5, 0xb2, 0xf3, 0x29, 0x76, 0xef, 0x61, 0x1f, 0x07, 0x8e, 0x34, 0x41, 0xb5, 0xed, 0x05, 0x2a, + 0xfa, 0x00, 0xcc, 0x2c, 0x65, 0x4f, 0x6e, 0x68, 0x36, 0x0e, 0xba, 0x24, 0x32, 0xab, 0xd2, 0x80, + 0xb1, 0x7c, 0x91, 0x4f, 0xb1, 0x71, 0xa2, 0xff, 0x97, 0xbd, 0x7a, 0xd5, 0xce, 0xd1, 0xd0, 0x3b, + 0x70, 0x21, 0x7e, 0xd7, 0x5f, 0x36, 0xa8, 0xd3, 0x96, 0xec, 0xdb, 0xab, 0x76, 0x39, 0x53, 0x6c, + 0x0b, 0x3d, 0x82, 0x7d, 0xde, 0xdb, 0xec, 0x11, 0xe7, 0x50, 0x34, 0xb5, 0x62, 0x6a, 0x64, 0xeb, + 0x3e, 0x6d, 0x97, 0xb1, 0x84, 0x1f, 0xe1, 0xa0, 0xe3, 0x7b, 0x51, 0xaf, 0x49, 0xb9, 0xd8, 0xfa, + 0x86, 0x1b, 0xae, 0xcb, 0x48, 0x14, 0x91, 0x48, 0xf6, 0xef, 0x15, 0x7b, 0x2c, 0x5f, 0x1c, 0xcf, + 0x0a, 0xe1, 0x53, 0x57, 0x97, 0xe6, 0x7c, 0xf1, 0xd3, 0xb9, 0xbd, 0x32, 0x98, 0x5d, 0x2e, 0x8d, + 0xea, 0x50, 0xf1, 0xc2, 0x07, 0xb8, 0xef, 0xf9, 0x43, 0x73, 0x41, 0x7a, 0x9b, 0xbc, 0x8b, 0xd0, + 0x71, 0x1a, 0x52, 0x9f, 0x76, 0x87, 0x8f, 0xc8, 0x30, 0x32, 0x17, 0x65, 0xa8, 0x73, 0x34, 0xd1, + 0x01, 0x9c, 0xba, 0x95, 0xb7, 0x7e, 0x69, 0x24, 0x6b, 0xbf, 0xa5, 0x6b, 0xe5, 0x48, 0x71, 0xae, + 0x43, 0x45, 0x7e, 0x40, 0xe8, 0x50, 0x5f, 0x2b, 0x48, 0xde, 0xe5, 0x36, 0x24, 0x42, 0x3e, 0x29, + 0x43, 0xae, 0xea, 0xed, 0x5d, 0x00, 0x8e, 0x59, 0x97, 0x70, 0x39, 0x19, 0x53, 0x2f, 0x94, 0xcd, + 0x19, 0x09, 0x31, 0x5e, 0x10, 0x4f, 0xa5, 0xda, 0xb4, 0x93, 0x77, 0xeb, 0x09, 0x5c, 0x28, 0x0d, + 0x2e, 0x7a, 0x07, 0x2a, 0x8e, 0xef, 0x91, 0x80, 0xef, 0xb4, 0x74, 0x09, 0xca, 0x7e, 0xbb, 0xa5, + 0x39, 0x7a, 0x22, 0x12, 0xa4, 0xb5, 0x0e, 0xf3, 0x79, 0x5e, 0x49, 0xdf, 0x60, 0x94, 0xf5, 0x0d, + 0x96, 0x09, 0x17, 0xcb, 0xbf, 0xb2, 0xb2, 0x16, 0xa0, 0x96, 0x3b, 0x04, 0x58, 0x17, 0x61, 0xb9, + 0xcc, 0x67, 0x6b, 0x19, 0xd0, 0xe8, 0x5f, 0x38, 0x9d, 0x19, 0x19, 0xdb, 0xb5, 0x7f, 0x06, 0x00, + 0x00, 0xff, 0xff, 0x0d, 0xe3, 0x57, 0x91, 0xbb, 0x2a, 0x00, 0x00, +} diff --git a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto new file mode 100644 index 000000000..62f9a273b --- /dev/null +++ b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto @@ -0,0 +1,726 @@ +// Copyright 2019 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"; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/api/autoscaling/v2beta1/generated.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto"; + +// $title: Installation Options (istioctl) +// $description: Configuration options for Istio control plane installation using istioctl. +// $weight: 10 +// $location: https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb.html +// +// TODO: for some reason the below fails proto compilation in this repo. +// https://github.com/istio/istio/issues/16899 +// package istio.operator.v1alpha2; +// option go_package="istio.io/operator/pkg/apis/istio/v1alpha2"; + +// IstioControlPlane is a schema for both defining and customizing Istio control plane installations. +// Running the operator with an empty user defined InstallSpec results in an control plane with default values, using the +// default charts. +// +// The simplest install specialization is to point the user InstallSpec profile to a different values file, for +// example an Istio minimal control plane, which will use the values associated with the minimal control plane profile for +// Istio. +// +// Deeper customization is possible at three levels: +// +// 1. New APIs defined in this file +// +// Feature API: this API groups an Istio install by features and allows enabling/disabling the features, selecting base +// control plane profiles, as well as some additional high level settings that are feature specific. Each feature contains +// one or more components, which correspond to Istio components (Pods) in the cluster. +// +// k8s API: this API is a pass through to k8s resource settings for Istio k8s resources. It allows customizing Istio k8s +// resources like Affinity, Resource requests/limits, PodDisruptionBudgetSpec, Selectors etc. in a more consistent and +// k8s specific way compared to values.yaml. See KubernetesResourcesSpec in this file for details. +// +// 1. values.yaml +// +// The entirety of values.yaml settings is accessible through InstallSpec (see CommonComponentSpec/Values). +// This API will gradually be deprecated and values there will be moved either into CRDs that are used to directly +// configure components or, in the case of k8s settings, will be replaced by the new API above. +// +// 1. k8s resource overlays +// +// Once a manifest is rendered from InstallSpec, a further customization can be applied by specifying k8s resource +// overlays. The concept is similar to kustomize, where JSON patches are applied for object paths. This allows +// customization at the lowest level and eliminates the need to create ad-hoc template parameters, or edit templates. +// +// Here are a few example uses: +// +// 1. Default Istio install +// +// ``` +// spec: +// ``` +// +// 1. Default minimal profile install +// +// ``` +// spec: +// profile: minimal +// ``` +// +// 1. Default install with telemetry disabled +// +// ``` +// spec: +// telemetry: +// enabled: false +// ``` +// +// 1. Default install with each feature installed to different namespace and security components in separate namespaces +// +// ``` +// spec: +// traffic_management: +// components: +// namespace: istio-traffic-management +// policy: +// components: +// namespace: istio-policy +// telemetry: +// components: +// namespace: istio-telemetry +// config_management: +// components: +// namespace: istio-config-management +// security: +// components: +// citadel: +// namespace: istio-citadel +// cert_manager: +// namespace: istio-cert-manager +// node_agent: +// namespace: istio-node-agent +// ``` +// +// 1. Default install with specialized k8s settings for pilot +// +// ``` +// spec: +// traffic_management: +// components: +// pilot: +// k8s: +// resources: +// limits: +// cpu: 444m +// memory: 333Mi +// requests: +// cpu: 222m +// memory: 111Mi +// readinessProbe: +// failureThreshold: 44 +// initialDelaySeconds: 11 +// periodSeconds: 22 +// successThreshold: 33 +// ``` +// +// 1. Default install with values.yaml customizations for proxy +// +// ``` +// spec: +// traffic_management: +// components: +// proxy: +// values: +// - global.proxy.enableCoreDump: true +// - global.proxy.dnsRefreshRate: 10s +// ``` +// +// 1. Default install with modification to container flag in galley +// +// ``` +// spec: +// configuration_management: +// components: +// galley: +// k8s: +// overlays: +// - apiVersion: extensions/v1beta1 +// kind: Deployment +// name: istio-galley +// patches: +// - path: spec.template.spec.containers.[name:galley].command.[--livenessProbeInterval] +// value: --livenessProbeInterval=123s +// ``` +package v1alpha2; + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// IstioControlPlane is a CustomResourceDefinition (CRD) describing an Istio control plane. +message IstioControlPlane { + // Spec defines the desired state of IstioControlPlane. + IstioControlPlaneSpec spec = 3; + // Status reports the status of the Istio control plane. + InstallStatus status = 4; + string kind = 5; + string apiVersion = 6; + // GOFIELD:v11.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,7,opt,name=metadata"` + // GOFIELD:v11.TypeMeta `json:",inline"` + string placeholder = 111; +} + +// IstioControlPlaneSpec defines the desired state of IstioControlPlane. +// The spec is a used to define a customization of the default profile values that are supplied with each Istio release. +// It is grouped at the top level by feature, where behavior of Istio functional areas is specified. +// Each feature contains components, where k8s resource level defaults can be overridden. +// Because the spec is a customization API, specifying an empty InstallSpec results in a default Istio control plane. +message IstioControlPlaneSpec { + // Default namespace if feature or component namespaces are not set. + string default_namespace = 5; + + // Base feature containing resources like CRDs, namespaces etc. + BaseFeatureSpec base = 20; + + // Selection and configuration of core Istio features. + TrafficManagementFeatureSpec traffic_management = 25; + PolicyFeatureSpec policy = 26; + TelemetryFeatureSpec telemetry = 27; + SecurityFeatureSpec security = 28; + ConfigManagementFeatureSpec config_management = 29; + AutoInjectionFeatureSpec auto_injection = 30; + GatewayFeatureSpec gateways = 31; + CNIFeatureSpec cni = 32; + CoreDNSFeatureSpec coreDNS = 33; + // Overrides for default global values.yaml. + TypeMapStringInterface values = 50; + // Unvalidated overrides for default global values.yaml. + TypeMapStringInterface unvalidatedValues = 51; + // Path or name for the profile e.g. + // - minimal (looks in profiles dir for a file called minimal.yaml) + // - /tmp/istio/install/values/custom/custom-install.yaml (local file path) + // default profile is used if this field is unset. + string profile = 100; + // Path for the install package. e.g. + // - /tmp/istio-installer/nightly (local file path) + string install_package_path = 102; + // Root for docker image paths e.g. docker.io/istio-release. + // Releases are published to docker hub under 'istio' project. + // Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly + string hub = 110; + // Version tag for docker images e.g. 1.0.6 + string tag = 111; +} + +// Base feature settings. +message BaseFeatureSpec { + // Selects whether base feature is installed. Required for all Istio installs. + // Should only be disabled when generating partial Istio installation YAMLs. + TypeBoolValueForPB enabled = 1; + + // Component specific config. + message Components { + BaseComponentSpec base = 20; + } + + Components components = 50; +} + +// Configuration options for traffic management. +message TrafficManagementFeatureSpec { + // Selects whether traffic management is installed. + // Must be enabled to enable any sub-component. + TypeBoolValueForPB enabled = 1; + + // Component specific config. + message Components { + // Namespace that all traffic management components are installed into. + string namespace = 1; + + PilotComponentSpec pilot = 20; + ProxyComponentSpec proxy = 21; + } + + Components components = 50; +} + +// Configuration options for the policy feature. +message PolicyFeatureSpec { + // Selects whether policy is installed. + // Must be enabled to enable any sub-component. + TypeBoolValueForPB enabled = 1; + + // Component specific config. + message Components { + // Namespace that all policy components are installed into. + string namespace = 1; + + PolicyComponentSpec policy = 20; + } + + Components components = 50; +} + +// Configuration options for the telemetry feature. +message TelemetryFeatureSpec { + // Selects whether telemetry is installed. + // Must be enabled to enable any sub-component. + TypeBoolValueForPB enabled = 1; + + // Component specific config. + message Components { + // Namespace that all telemetry components are installed into. + string namespace = 1; + + TelemetryComponentSpec telemetry = 20; + } + + Components components = 50; +} + +// Configuration options for security feature. +message SecurityFeatureSpec { + // Selects whether security feature is installed. Must be set for any sub-component to be installed. + TypeBoolValueForPB enabled = 1; + + message Components { + // Namespace that security components are installed into. + string namespace = 1; + + CitadelComponentSpec citadel = 20; + CertManagerComponentSpec cert_manager = 21; + NodeAgentComponentSpec node_agent = 22; + } + + Components components = 50; +} + +// Configuration options for configuration management feature. +message ConfigManagementFeatureSpec { + // Selects whether config management feature is installed. Must be set for any sub-component to be installed. + TypeBoolValueForPB enabled = 1; + + message Components { + // Namespace that security components are installed into. + string namespace = 1; + + GalleyComponentSpec galley = 20; + } + + Components components = 50; +} + +// Configuration options for auto injection feature. +message AutoInjectionFeatureSpec { + // Selects whether auto injection feature is installed. Must be set for any sub-component to be installed. + TypeBoolValueForPB enabled = 1; + + message Components { + // Namespace that auto injections components are installed into. + string namespace = 1; + + SidecarInjectorComponentSpec injector = 20; + } + + Components components = 50; +} + +// Configuration options for gateway feature. +message GatewayFeatureSpec { + // Selects whether gateway feature is installed. Must be set for any sub-component to be installed. + TypeBoolValueForPB enabled = 1; + + message Components { + // Namespace that auto injections components are installed into. + string namespace = 1; + + // Ingress/egress gateway configuration. + IngressGatewayComponentSpec ingress_gateway = 31; + EgressGatewayComponentSpec egress_gateway = 32; + } + + Components components = 50; +} + +// Configuration options for cni feature. +message CNIFeatureSpec { + // Selects whether CNI feature is installed. Must be set for any sub-component to be installed. + TypeBoolValueForPB enabled = 1; + + message Components { + // Namespace that cni components are installed into. + string namespace = 1; + + CNIComponentSpec cni = 20; + } + + Components components = 50; +} + +// Configuration options for CoreDNS feature. +message CoreDNSFeatureSpec { + // Selects whether CoreDNS feature is installed. Must be set for any sub-component to be installed. + TypeBoolValueForPB enabled = 1; + + message Components { + // Namespace that CoreDNS components are installed into. + string namespace = 1; + + CoreDNSComponentSpec coreDNS = 20; + } + + Components components = 50; +} + +// Configuration common to all components. + +// Selects whether this component is installed. +// TypeBoolValueForPB enabled = 1; + +// Namespace that all resources for this component are installed into. Overrides the parent feature namespace and +// IstioControlPlaneSpec.DefaultNamespace. +// string namespace = 2; + +// Kubernetes resource spec. +// KubernetesResourcesSpec k8s = 80; + +// Configuration options for the base component. +message BaseComponentSpec { + TypeBoolValueForPB enabled = 1; +} + +// Configuration options for the pilot component. +message PilotComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for the proxy. +message ProxyComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for the sidecar injector component. +message SidecarInjectorComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for the policy enforcement component. +message PolicyComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for the telemetry component. +message TelemetryComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for Citadel component. +message CitadelComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for certificate manager component. +message CertManagerComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for node agent component. +message NodeAgentComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for galley component. +message GalleyComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for ingress gateways. +message IngressGatewayComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for egress gateways. +message EgressGatewayComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for cni component. +message CNIComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// Configuration options for CoreDNS component. +message CoreDNSComponentSpec { + TypeBoolValueForPB enabled = 1; + string namespace = 2; + KubernetesResourcesSpec k8s = 80; +} + +// KubernetesResourcesConfig is a common set of k8s resource configs for components. +message KubernetesResourcesSpec { + // k8s affinity. + // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + k8s.io.api.core.v1.Affinity affinity = 1; + // Deployment environment variables. + // https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ + repeated k8s.io.api.core.v1.EnvVar env = 2; + // k8s HorizontalPodAutoscaler settings. + // https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ + k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec hpa_spec = 3; + // k8s imagePullPolicy. + // https://kubernetes.io/docs/concepts/containers/images/ + string image_pull_policy = 4; + // k8s nodeSelector. + // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector + map node_selector = 5; + // k8s PodDisruptionBudget settings. + // https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work + PodDisruptionBudgetSpec pod_disruption_budget = 6; + // k8s pod annotations. + // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + map pod_annotations = 7; + // k8s priority_class_name. Default for all resources unless overridden. + // https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass + string priority_class_name = 8; + // k8s readinessProbe settings. + // https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ + // k8s.io.api.core.v1.Probe readiness_probe = 9; + ReadinessProbe readiness_probe = 9; + // k8s Deployment replicas setting. + // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ + uint32 replica_count = 10; + // k8s resources settings. + // https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container + Resources resources = 11; + // k8s Service settings. + // https://kubernetes.io/docs/concepts/services-networking/service/ + ServiceSpec service = 12; + // k8s deployment strategy. + // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ + DeploymentStrategy strategy = 13; + // k8s toleration + // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + repeated k8s.io.api.core.v1.Toleration tolerations = 14; + + // Overlays for k8s resources in rendered manifests. + repeated k8sObjectOverlay overlays = 100; +} + +// Patch for an existing k8s resource. +message k8sObjectOverlay { + message PathValue { + // Path of the form a.b:c.e.:f + // Where b:c is a list element selector of the form key:value and :f is a list selector of the form :value. + // All path intermediate nodes must exist. + string path = 1; + // Value to add, delete or replace. + // For add, the path should be a new leaf. + // For delete, value should be unset. + // For replace, path should reference an existing node. + // All values are strings but are converted into appropriate type based on schema. + TypeInterface value = 2; + } + // Resource API version. + string api_version = 1; + // Resource kind. + string kind = 2; + // Name of resource. + // Namespace is always the component namespace. + string name = 3; + + // List of patches to apply to resource. + repeated PathValue patches = 4; +} + +// Observed state of IstioControlPlane. +message InstallStatus { + enum Status { + NONE = 0; + UPDATING = 1; + HEALTHY = 2; + ERROR = 3; + RECONCILING = 4; + } + message VersionStatus { + string version = 1; + Status status = 2; + string statusString = 3; + string error = 4; + } + + map status = 1; +} + +// Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling. +message Resources { + map limits = 1; + map requests = 2; +} + +// Mirrors k8s.io.api.core.v1.Probe for unmarshaling +message ReadinessProbe { + ExecAction exec = 1; + HTTPGetAction httpGet = 2; + TCPSocketAction tcpSocket = 3; + int32 initialDelaySeconds = 4; + int32 timeoutSeconds = 5; + int32 periodSeconds = 6; + int32 successThreshold = 7; + int32 failureThreshold = 8; +} + +// Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling +message ExecAction { + repeated string command = 1; +} + +// Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling +message HTTPGetAction { + string path = 1; + TypeIntOrStringForPB port = 2; + string host = 3; + string scheme = 4; + repeated HTTPHeader httpHeaders = 5; +} + +// Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling +message HTTPHeader { + string name = 1; + string value = 2; +} + +// Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling +message TCPSocketAction { + TypeIntOrStringForPB port = 1; + string host = 2; +} + +// Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling. +message PodDisruptionBudgetSpec { + uint32 minAvailable = 1; + k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; + uint32 maxUnavailable = 3; +} + +// Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling. +message DeploymentStrategy { + string type = 1; + RollingUpdateDeployment rollingUpdate = 2; +} + +// Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling. +message RollingUpdateDeployment { + TypeIntOrStringForPB maxUnavailable = 1; + TypeIntOrStringForPB maxSurge = 2; +} + +message ObjectMeta { + // From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta + string name = 5; + string namespace = 6; +} + +// Mirrors k8s.io.core.v1.ServiceSpec for unmarshalling. +message ServiceSpec { + + repeated ServicePort ports = 1; + + map selector = 2; + + string clusterIP = 3; + + string type = 4; + + repeated string externalIPs = 5; + + string sessionAffinity = 7; + + string loadBalancerIP = 8; + + repeated string loadBalancerSourceRanges = 9; + + string externalName = 10; + + string externalTrafficPolicy = 11; + + int32 healthCheckNodePort = 12; + + bool publishNotReadyAddresses = 13; + + SessionAffinityConfig sessionAffinityConfig = 14; + + string ipFamily = 15; + + repeated string topologyKeys = 16; +} + +// Mirrors k8s.io.core.v1.ServicePort for unmarshalling. +message ServicePort { + + string name = 1; + + string protocol = 2; + + int32 port = 3; + + TypeIntOrStringForPB targetPort = 4; + + int32 nodePort = 5; +} + +// Mirrors k8s.io.core.v1.SessionAffinityConfig for unmarshalling. +message SessionAffinityConfig { + + ClientIPConfig clientIP = 1; +} + +// Mirrors k8s.io.core.v1.ClientIPConfig for unmarshalling. +message ClientIPConfig { + + int32 timeoutSeconds = 1; +} + +// GOTYPE: map[string]interface{} +message TypeMapStringInterface {} + +// GOTYPE: interface{} +message TypeInterface {} + +// GOTYPE: *IntOrStringForPB +message TypeIntOrStringForPB {} + +// GOTYPE: *BoolValueForPB +message TypeBoolValueForPB {} + + diff --git a/pkg/apis/istio/v1alpha2/v1alpha2.pb.html b/pkg/apis/istio/v1alpha2/v1alpha2.pb.html new file mode 100644 index 000000000..c3fb0c177 --- /dev/null +++ b/pkg/apis/istio/v1alpha2/v1alpha2.pb.html @@ -0,0 +1,3215 @@ +--- +title: Installation Options (istioctl) +description: Configuration options for Istio control plane installation using istioctl. +location: https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb.html +layout: protoc-gen-docs +generator: protoc-gen-docs +weight: 10 +number_of_entries: 65 +--- +

IstioControlPlane is a schema for both defining and customizing Istio control plane installations. +Running the operator with an empty user defined InstallSpec results in an control plane with default values, using the +default charts.

+ +

The simplest install specialization is to point the user InstallSpec profile to a different values file, for +example an Istio minimal control plane, which will use the values associated with the minimal control plane profile for +Istio.

+ +

Deeper customization is possible at three levels:

+ +
    +
  1. New APIs defined in this file

    + +

    Feature API: this API groups an Istio install by features and allows enabling/disabling the features, selecting base +control plane profiles, as well as some additional high level settings that are feature specific. Each feature contains +one or more components, which correspond to Istio components (Pods) in the cluster.

    + +

    k8s API: this API is a pass through to k8s resource settings for Istio k8s resources. It allows customizing Istio k8s +resources like Affinity, Resource requests/limits, PodDisruptionBudgetSpec, Selectors etc. in a more consistent and +k8s specific way compared to values.yaml. See KubernetesResourcesSpec in this file for details.

  2. + +
  3. values.yaml

    + +

    The entirety of values.yaml settings is accessible through InstallSpec (see CommonComponentSpec/Values). +This API will gradually be deprecated and values there will be moved either into CRDs that are used to directly +configure components or, in the case of k8s settings, will be replaced by the new API above.

  4. + +
  5. k8s resource overlays

    + +

    Once a manifest is rendered from InstallSpec, a further customization can be applied by specifying k8s resource +overlays. The concept is similar to kustomize, where JSON patches are applied for object paths. This allows +customization at the lowest level and eliminates the need to create ad-hoc template parameters, or edit templates.

  6. +
+ +

Here are a few example uses:

+ +
    +
  1. Default Istio install

    + +
    spec:
    +
  2. + +
  3. Default minimal profile install

    + +
    spec:
    +  profile: minimal
    +
  4. + +
  5. Default install with telemetry disabled

    + +
    spec:
    +  telemetry:
    +    enabled: false
    +
  6. + +
  7. Default install with each feature installed to different namespace and security components in separate namespaces

    + +
    spec:
    +  traffic_management:
    +    components:
    +      namespace: istio-traffic-management
    +  policy:
    +    components:
    +      namespace: istio-policy
    +  telemetry:
    +    components:
    +      namespace: istio-telemetry
    +  config_management:
    +    components:
    +      namespace: istio-config-management
    +  security:
    +    components:
    +      citadel:
    +        namespace: istio-citadel
    +      cert_manager:
    +        namespace: istio-cert-manager
    +      node_agent:
    +        namespace: istio-node-agent
    +
  8. + +
  9. Default install with specialized k8s settings for pilot

    + +
    spec:
    +  traffic_management:
    +    components:
    +      pilot:
    +        k8s:
    +          resources:
    +            limits:
    +              cpu: 444m
    +              memory: 333Mi
    +            requests:
    +              cpu: 222m
    +              memory: 111Mi
    +          readinessProbe:
    +            failureThreshold: 44
    +            initialDelaySeconds: 11
    +            periodSeconds: 22
    +            successThreshold: 33
    +
  10. + +
  11. Default install with values.yaml customizations for proxy

    + +
    spec:
    +  traffic_management:
    +    components:
    +      proxy:
    +        values:
    +        - global.proxy.enableCoreDump: true
    +        - global.proxy.dnsRefreshRate: 10s
    +
  12. + +
  13. Default install with modification to container flag in galley

    + +
    spec:
    +  configuration_management:
    +    components:
    +      galley:
    +        k8s:
    +          overlays:
    +          - apiVersion: extensions/v1beta1
    +            kind: Deployment
    +            name: istio-galley
    +            patches:
    +            - path: spec.template.spec.containers.[name:galley].command.[--livenessProbeInterval]
    +              value: --livenessProbeInterval=123s
    +
  14. +
+ +

AutoInjectionFeatureSpec

+
+

Configuration options for auto injection feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether auto injection feature is installed. Must be set for any sub-component to be installed.

+ +
+No +
componentsComponents + +No +
+
+

AutoInjectionFeatureSpec.Components

+
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that auto injections components are installed into.

+ +
+No +
injectorSidecarInjectorComponentSpec + +No +
+
+

BaseComponentSpec

+
+

Configuration options for the base component.

+ + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
+
+

BaseFeatureSpec

+
+

Base feature settings.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether base feature is installed. Required for all Istio installs. +Should only be disabled when generating partial Istio installation YAMLs.

+ +
+No +
componentsComponents + +No +
+
+

BaseFeatureSpec.Components

+
+

Component specific config.

+ + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
baseBaseComponentSpec + +No +
+
+

CNIComponentSpec

+
+

Configuration options for cni component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

CNIFeatureSpec

+
+

Configuration options for cni feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether CNI feature is installed. Must be set for any sub-component to be installed.

+ +
+No +
componentsComponents + +No +
+
+

CNIFeatureSpec.Components

+
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that cni components are installed into.

+ +
+No +
cniCNIComponentSpec + +No +
+
+

CertManagerComponentSpec

+
+

Configuration options for certificate manager component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

CitadelComponentSpec

+
+

Configuration options for Citadel component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

ClientIPConfig

+
+

Mirrors k8s.io.core.v1.ClientIPConfig for unmarshalling.

+ + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
timeoutSecondsint32 + +No +
+
+

ConfigManagementFeatureSpec

+
+

Configuration options for configuration management feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether config management feature is installed. Must be set for any sub-component to be installed.

+ +
+No +
componentsComponents + +No +
+
+

ConfigManagementFeatureSpec.Components

+
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that security components are installed into.

+ +
+No +
galleyGalleyComponentSpec + +No +
+
+

CoreDNSComponentSpec

+
+

Configuration options for CoreDNS component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

CoreDNSFeatureSpec

+
+

Configuration options for CoreDNS feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether CoreDNS feature is installed. Must be set for any sub-component to be installed.

+ +
+No +
componentsComponents + +No +
+
+

CoreDNSFeatureSpec.Components

+
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that CoreDNS components are installed into.

+ +
+No +
coreDNSCoreDNSComponentSpec + +No +
+
+

DeploymentStrategy

+
+

Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
typestring + +No +
rollingUpdateRollingUpdateDeployment + +No +
+
+

EgressGatewayComponentSpec

+
+

Configuration options for egress gateways.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

ExecAction

+
+

Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling

+ + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
commandstring[] + +No +
+
+

GalleyComponentSpec

+
+

Configuration options for galley component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

GatewayFeatureSpec

+
+

Configuration options for gateway feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether gateway feature is installed. Must be set for any sub-component to be installed.

+ +
+No +
componentsComponents + +No +
+
+

GatewayFeatureSpec.Components

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that auto injections components are installed into.

+ +
+No +
ingressGatewayIngressGatewayComponentSpec +

Ingress/egress gateway configuration.

+ +
+No +
egressGatewayEgressGatewayComponentSpec + +No +
+
+

HTTPGetAction

+
+

Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
pathstring + +No +
portTypeIntOrStringForPB + +No +
hoststring + +No +
schemestring + +No +
httpHeadersHTTPHeader[] + +No +
+
+

HTTPHeader

+
+

Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namestring + +No +
valuestring + +No +
+
+

IngressGatewayComponentSpec

+
+

Configuration options for ingress gateways.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

InstallStatus

+
+

Observed state of IstioControlPlane.

+ + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
statusmap<string, VersionStatus> + +No +
+
+

InstallStatus.Status

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDescription
NONE +
UPDATING +
HEALTHY +
ERROR +
RECONCILING +
+
+

InstallStatus.VersionStatus

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
versionstring + +No +
statusStatus + +No +
statusStringstring + +No +
errorstring + +No +
+
+

IstioControlPlane

+
+

IstioControlPlane is a CustomResourceDefinition (CRD) describing an Istio control plane.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
specIstioControlPlaneSpec +

Spec defines the desired state of IstioControlPlane.

+ +
+No +
statusInstallStatus +

Status reports the status of the Istio control plane.

+ +
+No +
kindstring + +No +
apiVersionstring + +No +
placeholderstring +

GOFIELD:v11.ObjectMeta json:"metadata,omitempty" protobuf:"bytes,7,opt,name=metadata" +GOFIELD:v11.TypeMeta json:",inline"

+ +
+No +
+
+

IstioControlPlaneSpec

+
+

IstioControlPlaneSpec defines the desired state of IstioControlPlane. +The spec is a used to define a customization of the default profile values that are supplied with each Istio release. +It is grouped at the top level by feature, where behavior of Istio functional areas is specified. +Each feature contains components, where k8s resource level defaults can be overridden. +Because the spec is a customization API, specifying an empty InstallSpec results in a default Istio control plane.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
defaultNamespacestring +

Default namespace if feature or component namespaces are not set.

+ +
+No +
baseBaseFeatureSpec +

Base feature containing resources like CRDs, namespaces etc.

+ +
+No +
trafficManagementTrafficManagementFeatureSpec +

Selection and configuration of core Istio features.

+ +
+No +
policyPolicyFeatureSpec + +No +
telemetryTelemetryFeatureSpec + +No +
securitySecurityFeatureSpec + +No +
configManagementConfigManagementFeatureSpec + +No +
autoInjectionAutoInjectionFeatureSpec + +No +
gatewaysGatewayFeatureSpec + +No +
cniCNIFeatureSpec + +No +
coreDNSCoreDNSFeatureSpec + +No +
valuesTypeMapStringInterface +

Overrides for default global values.yaml.

+ +
+No +
unvalidatedValuesTypeMapStringInterface +

Unvalidated overrides for default global values.yaml.

+ +
+No +
profilestring +

Path or name for the profile e.g. + - minimal (looks in profiles dir for a file called minimal.yaml) + - /tmp/istio/install/values/custom/custom-install.yaml (local file path) +default profile is used if this field is unset.

+ +
+No +
installPackagePathstring +

Path for the install package. e.g. + - /tmp/istio-installer/nightly (local file path)

+ +
+No +
hubstring +

Root for docker image paths e.g. docker.io/istio-release. +Releases are published to docker hub under ‘istio’ project. +Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly

+ +
+No +
tagstring +

Version tag for docker images e.g. 1.0.6

+ +
+No +
+
+

KubernetesResourcesSpec

+
+

KubernetesResourcesConfig is a common set of k8s resource configs for components.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
affinityAffinity +

k8s affinity. +https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

+ +
+No +
envEnvVar[] +

Deployment environment variables. +https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/

+ +
+No +
hpaSpecHorizontalPodAutoscalerSpec +

k8s HorizontalPodAutoscaler settings. +https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

+ +
+No +
imagePullPolicystring +

k8s imagePullPolicy. +https://kubernetes.io/docs/concepts/containers/images/

+ +
+No +
nodeSelectormap<string, string> +

k8s nodeSelector. +https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector

+ +
+No +
podDisruptionBudgetPodDisruptionBudgetSpec +

k8s PodDisruptionBudget settings. +https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work

+ +
+No +
podAnnotationsmap<string, string> +

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

+ +
+No +
priorityClassNamestring +

k8s priorityclassname. Default for all resources unless overridden. +https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass

+ +
+No +
readinessProbeReadinessProbe +

k8s readinessProbe settings. +https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ +k8s.io.api.core.v1.Probe readiness_probe = 9;

+ +
+No +
replicaCountuint32 +

k8s Deployment replicas setting. +https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

+ +
+No +
resourcesResources +

k8s resources settings. +https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container

+ +
+No +
serviceServiceSpec +

k8s Service settings. +https://kubernetes.io/docs/concepts/services-networking/service/

+ +
+No +
strategyDeploymentStrategy +

k8s deployment strategy. +https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

+ +
+No +
tolerationsToleration[] +

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

+ +
+No +
overlaysk8sObjectOverlay[] +

Overlays for k8s resources in rendered manifests.

+ +
+No +
+
+

NodeAgentComponentSpec

+
+

Configuration options for node agent component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

ObjectMeta

+
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namestring +

From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta

+ +
+No +
namespacestring + +No +
+
+

PilotComponentSpec

+
+

Configuration options for the pilot component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

PodDisruptionBudgetSpec

+
+

Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
minAvailableuint32 + +No +
selectorLabelSelector + +No +
maxUnavailableuint32 + +No +
+
+

PolicyComponentSpec

+
+

Configuration options for the policy enforcement component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

PolicyFeatureSpec

+
+

Configuration options for the policy feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether policy is installed. +Must be enabled to enable any sub-component.

+ +
+No +
componentsComponents + +No +
+
+

PolicyFeatureSpec.Components

+
+

Component specific config.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that all policy components are installed into.

+ +
+No +
policyPolicyComponentSpec + +No +
+
+

ProxyComponentSpec

+
+

Configuration options for the proxy.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

ReadinessProbe

+
+

Mirrors k8s.io.api.core.v1.Probe for unmarshaling

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
execExecAction + +No +
httpGetHTTPGetAction + +No +
tcpSocketTCPSocketAction + +No +
initialDelaySecondsint32 + +No +
timeoutSecondsint32 + +No +
periodSecondsint32 + +No +
successThresholdint32 + +No +
failureThresholdint32 + +No +
+
+

Resources

+
+

Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
limitsmap<string, string> + +No +
requestsmap<string, string> + +No +
+
+

RollingUpdateDeployment

+
+

Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
maxUnavailableTypeIntOrStringForPB + +No +
maxSurgeTypeIntOrStringForPB + +No +
+
+

SecurityFeatureSpec

+
+

Configuration options for security feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether security feature is installed. Must be set for any sub-component to be installed.

+ +
+No +
componentsComponents + +No +
+
+

SecurityFeatureSpec.Components

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that security components are installed into.

+ +
+No +
citadelCitadelComponentSpec + +No +
certManagerCertManagerComponentSpec + +No +
nodeAgentNodeAgentComponentSpec + +No +
+
+

ServicePort

+
+

Mirrors k8s.io.core.v1.ServicePort for unmarshalling.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namestring + +No +
protocolstring + +No +
portint32 + +No +
targetPortTypeIntOrStringForPB + +No +
nodePortint32 + +No +
+
+

ServiceSpec

+
+

Mirrors k8s.io.core.v1.ServiceSpec for unmarshalling.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
portsServicePort[] + +No +
selectormap<string, string> + +No +
clusterIPstring + +No +
typestring + +No +
externalIPsstring[] + +No +
sessionAffinitystring + +No +
loadBalancerIPstring + +No +
loadBalancerSourceRangesstring[] + +No +
externalNamestring + +No +
externalTrafficPolicystring + +No +
healthCheckNodePortint32 + +No +
publishNotReadyAddressesbool + +No +
sessionAffinityConfigSessionAffinityConfig + +No +
ipFamilystring + +No +
topologyKeysstring[] + +No +
+
+

SessionAffinityConfig

+
+

Mirrors k8s.io.core.v1.SessionAffinityConfig for unmarshalling.

+ + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
clientIPClientIPConfig + +No +
+
+

SidecarInjectorComponentSpec

+
+

Configuration options for the sidecar injector component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

TCPSocketAction

+
+

Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
portTypeIntOrStringForPB + +No +
hoststring + +No +
+
+

TelemetryComponentSpec

+
+

Configuration options for the telemetry component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB + +No +
namespacestring + +No +
k8sKubernetesResourcesSpec + +No +
+
+

TelemetryFeatureSpec

+
+

Configuration options for the telemetry feature.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether telemetry is installed. +Must be enabled to enable any sub-component.

+ +
+No +
componentsComponents + +No +
+
+

TelemetryFeatureSpec.Components

+
+

Component specific config.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that all telemetry components are installed into.

+ +
+No +
telemetryTelemetryComponentSpec + +No +
+
+

TrafficManagementFeatureSpec

+
+

Configuration options for traffic management.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB +

Selects whether traffic management is installed. +Must be enabled to enable any sub-component.

+ +
+No +
componentsComponents + +No +
+
+

TrafficManagementFeatureSpec.Components

+
+

Component specific config.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namespacestring +

Namespace that all traffic management components are installed into.

+ +
+No +
pilotPilotComponentSpec + +No +
proxyProxyComponentSpec + +No +
+
+

TypeBoolValueForPB

+
+

GOTYPE: *BoolValueForPB

+ +
+

TypeIntOrStringForPB

+
+

GOTYPE: *IntOrStringForPB

+ +
+

TypeInterface

+
+

GOTYPE: interface{}

+ +
+

TypeMapStringInterface

+
+

GOTYPE: map[string]interface{}

+ +
+

k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec

+
+

HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
scaleTargetRefCrossVersionObjectReference +

scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics +should be collected, as well as to actually change the replica count.

+ +
+No +
minReplicasint32 +

minReplicas is the lower limit for the number of replicas to which the autoscaler +can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the +alpha feature gate HPAScaleToZero is enabled and at least one Object or External +metric is configured. Scaling is active as long as at least one metric value is +available. ++optional

+ +
+No +
maxReplicasint32 +

maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. +It cannot be less that minReplicas.

+ +
+No +
metricsMetricSpec[] +

metrics contains the specifications for which to use to calculate the +desired replica count (the maximum replica count across all metrics will +be used). The desired replica count is calculated multiplying the +ratio between the target value and the current value by the current +number of pods. Ergo, metrics used must decrease as the pod count is +increased, and vice-versa. See the individual metric source types for +more information about how each type of metric must respond. ++optional

+ +
+No +
+
+

k8s.io.api.core.v1.Affinity

+
+

Affinity is a group of affinity scheduling rules.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
nodeAffinityNodeAffinity +

Describes node affinity scheduling rules for the pod. ++optional

+ +
+No +
podAffinityPodAffinity +

Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). ++optional

+ +
+No +
podAntiAffinityPodAntiAffinity +

Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). ++optional

+ +
+No +
+
+

k8s.io.api.core.v1.EnvVar

+
+

EnvVar represents an environment variable present in a Container.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
namestring +

Name of the environment variable. Must be a C_IDENTIFIER.

+ +
+No +
valuestring +

Variable references $(VARNAME) are expanded +using the previous defined environment variables in the container and +any service environment variables. If a variable cannot be resolved, +the reference in the input string will be unchanged. The $(VARNAME) +syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped +references will never be expanded, regardless of whether the variable +exists or not. +Defaults to “”. ++optional

+ +
+No +
valueFromEnvVarSource +

Source for the environment variable’s value. Cannot be used if value is not empty. ++optional

+ +
+No +
+
+

k8s.io.api.core.v1.Toleration

+
+

The pod this Toleration is attached to tolerates any taint that matches +the triple <key,value,effect> using the matching operator <operator>.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
keystring +

Key is the taint key that the toleration applies to. Empty means match all taint keys. +If the key is empty, operator must be Exists; this combination means to match all values and all keys. ++optional

+ +
+No +
operatorstring +

Operator represents a key’s relationship to the value. +Valid operators are Exists and Equal. Defaults to Equal. +Exists is equivalent to wildcard for value, so that a pod can +tolerate all taints of a particular category. ++optional

+ +
+No +
valuestring +

Value is the taint value the toleration matches to. +If the operator is Exists, the value should be empty, otherwise just a regular string. ++optional

+ +
+No +
effectstring +

Effect indicates the taint effect to match. Empty means match all taint effects. +When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. ++optional

+ +
+No +
tolerationSecondsint64 +

TolerationSeconds represents the period of time the toleration (which must be +of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, +it is not set, which means tolerate the taint forever (do not evict). Zero and +negative values will be treated as 0 (evict immediately) by the system. ++optional

+ +
+No +
+
+

k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector

+
+

A label selector is a label query over a set of resources. The result of matchLabels and +matchExpressions are ANDed. An empty label selector matches all objects. A null +label selector matches no objects.

+ + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
matchLabelsmap<string, string> +

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels +map is equivalent to an element of matchExpressions, whose key field is “key”, the +operator is “In”, and the values array contains only “value”. The requirements are ANDed. ++optional

+ +
+No +
matchExpressionsLabelSelectorRequirement[] +

matchExpressions is a list of label selector requirements. The requirements are ANDed. ++optional

+ +
+No +
+
+

k8sObjectOverlay

+
+

Patch for an existing k8s resource.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
apiVersionstring +

Resource API version.

+ +
+No +
kindstring +

Resource kind.

+ +
+No +
namestring +

Name of resource. +Namespace is always the component namespace.

+ +
+No +
patchesPathValue[] +

List of patches to apply to resource.

+ +
+No +
+
+

k8sObjectOverlay.PathValue

+
+ + + + + + + + + + + + + + + + + + + + + + + +
FieldTypeDescriptionRequired
pathstring +

Path of the form a.b:c.e.:f +Where b:c is a list element selector of the form key:value and :f is a list selector of the form :value. +All path intermediate nodes must exist.

+ +
+No +
valueTypeInterface +

Value to add, delete or replace. +For add, the path should be a new leaf. +For delete, value should be unset. +For replace, path should reference an existing node. +All values are strings but are converted into appropriate type based on schema.

+ +
+No +
+
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 54ae26ff2..71ae9ffb2 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\"\xf0\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&\n\x07service\x18\x0c \x01(\x0b\x32\x15.v1alpha2.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\"\x80\x04\n\x0bServiceSpec\x12$\n\x05ports\x18\x01 \x03(\x0b\x32\x15.v1alpha2.ServicePort\x12\x35\n\x08selector\x18\x02 \x03(\x0b\x32#.v1alpha2.ServiceSpec.SelectorEntry\x12\x11\n\tclusterIP\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x13\n\x0b\x65xternalIPs\x18\x05 \x03(\t\x12\x17\n\x0fsessionAffinity\x18\x07 \x01(\t\x12\x16\n\x0eloadBalancerIP\x18\x08 \x01(\t\x12 \n\x18loadBalancerSourceRanges\x18\t \x03(\t\x12\x14\n\x0c\x65xternalName\x18\n \x01(\t\x12\x1d\n\x15\x65xternalTrafficPolicy\x18\x0b \x01(\t\x12\x1b\n\x13healthCheckNodePort\x18\x0c \x01(\x05\x12 \n\x18publishNotReadyAddresses\x18\r \x01(\x08\x12>\n\x15sessionAffinityConfig\x18\x0e \x01(\x0b\x32\x1f.v1alpha2.SessionAffinityConfig\x12\x10\n\x08ipFamily\x18\x0f \x01(\t\x12\x14\n\x0ctopologyKeys\x18\x10 \x03(\t\x1a/\n\rSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x81\x01\n\x0bServicePort\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x32\n\ntargetPort\x18\x04 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x10\n\x08nodePort\x18\x05 \x01(\x05\"C\n\x15SessionAffinityConfig\x12*\n\x08\x63lientIP\x18\x01 \x01(\x0b\x32\x18.v1alpha2.ClientIPConfig\"(\n\x0e\x43lientIPConfig\x12\x16\n\x0etimeoutSeconds\x18\x01 \x01(\x05\"\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=6810, + serialized_end=6883, ) _sym_db.RegisterEnumDescriptor(_INSTALLSTATUS_STATUS) @@ -1687,8 +1687,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6244, - serialized_end=6295, + serialized_start=6234, + serialized_end=6285, ) _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY = _descriptor.Descriptor( @@ -1724,8 +1724,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6297, - serialized_end=6350, + serialized_start=6287, + serialized_end=6340, ) _KUBERNETESRESOURCESSPEC = _descriptor.Descriptor( @@ -1853,7 +1853,7 @@ oneofs=[ ], serialized_start=5460, - serialized_end=6350, + serialized_end=6340, ) @@ -1890,8 +1890,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6477, - serialized_end=6542, + serialized_start=6467, + serialized_end=6532, ) _K8SOBJECTOVERLAY = _descriptor.Descriptor( @@ -1941,8 +1941,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6353, - serialized_end=6542, + serialized_start=6343, + serialized_end=6532, ) @@ -1993,8 +1993,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6615, - serialized_end=6732, + serialized_start=6605, + serialized_end=6722, ) _INSTALLSTATUS_STATUSENTRY = _descriptor.Descriptor( @@ -2030,8 +2030,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6734, - serialized_end=6818, + serialized_start=6724, + serialized_end=6808, ) _INSTALLSTATUS = _descriptor.Descriptor( @@ -2061,8 +2061,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6545, - serialized_end=6893, + serialized_start=6535, + serialized_end=6883, ) @@ -2099,8 +2099,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7011, - serialized_end=7056, + serialized_start=7001, + serialized_end=7046, ) _RESOURCES_REQUESTSENTRY = _descriptor.Descriptor( @@ -2136,8 +2136,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7058, - serialized_end=7105, + serialized_start=7048, + serialized_end=7095, ) _RESOURCES = _descriptor.Descriptor( @@ -2173,8 +2173,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=6896, - serialized_end=7105, + serialized_start=6886, + serialized_end=7095, ) @@ -2253,8 +2253,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7108, - serialized_end=7376, + serialized_start=7098, + serialized_end=7366, ) @@ -2284,8 +2284,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7378, - serialized_end=7407, + serialized_start=7368, + serialized_end=7397, ) @@ -2343,8 +2343,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7410, - serialized_end=7558, + serialized_start=7400, + serialized_end=7548, ) @@ -2381,8 +2381,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7560, - serialized_end=7601, + serialized_start=7550, + serialized_end=7591, ) @@ -2419,8 +2419,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7603, - serialized_end=7680, + serialized_start=7593, + serialized_end=7670, ) @@ -2464,8 +2464,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7683, - serialized_end=7825, + serialized_start=7673, + serialized_end=7815, ) @@ -2502,8 +2502,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7827, - serialized_end=7919, + serialized_start=7817, + serialized_end=7909, ) @@ -2540,8 +2540,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=7922, - serialized_end=8053, + serialized_start=7912, + serialized_end=8043, ) @@ -2578,8 +2578,295 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8055, - serialized_end=8100, + serialized_start=8045, + serialized_end=8090, +) + + +_SERVICESPEC_SELECTORENTRY = _descriptor.Descriptor( + name='SelectorEntry', + full_name='v1alpha2.ServiceSpec.SelectorEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='v1alpha2.ServiceSpec.SelectorEntry.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.ServiceSpec.SelectorEntry.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=8558, + serialized_end=8605, +) + +_SERVICESPEC = _descriptor.Descriptor( + name='ServiceSpec', + full_name='v1alpha2.ServiceSpec', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='ports', full_name='v1alpha2.ServiceSpec.ports', 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, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='selector', full_name='v1alpha2.ServiceSpec.selector', index=1, + number=2, 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='clusterIP', full_name='v1alpha2.ServiceSpec.clusterIP', index=2, + number=3, 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='type', full_name='v1alpha2.ServiceSpec.type', index=3, + number=4, 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='externalIPs', full_name='v1alpha2.ServiceSpec.externalIPs', index=4, + number=5, 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, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sessionAffinity', full_name='v1alpha2.ServiceSpec.sessionAffinity', index=5, + number=7, 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='loadBalancerIP', full_name='v1alpha2.ServiceSpec.loadBalancerIP', index=6, + number=8, 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='loadBalancerSourceRanges', full_name='v1alpha2.ServiceSpec.loadBalancerSourceRanges', index=7, + number=9, 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, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='externalName', full_name='v1alpha2.ServiceSpec.externalName', index=8, + number=10, 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='externalTrafficPolicy', full_name='v1alpha2.ServiceSpec.externalTrafficPolicy', index=9, + number=11, 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='healthCheckNodePort', full_name='v1alpha2.ServiceSpec.healthCheckNodePort', index=10, + number=12, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='publishNotReadyAddresses', full_name='v1alpha2.ServiceSpec.publishNotReadyAddresses', index=11, + number=13, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sessionAffinityConfig', full_name='v1alpha2.ServiceSpec.sessionAffinityConfig', index=12, + number=14, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ipFamily', full_name='v1alpha2.ServiceSpec.ipFamily', index=13, + number=15, 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='topologyKeys', full_name='v1alpha2.ServiceSpec.topologyKeys', index=14, + number=16, 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, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[_SERVICESPEC_SELECTORENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8093, + serialized_end=8605, +) + + +_SERVICEPORT = _descriptor.Descriptor( + name='ServicePort', + full_name='v1alpha2.ServicePort', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='v1alpha2.ServicePort.name', 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='protocol', full_name='v1alpha2.ServicePort.protocol', 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), + _descriptor.FieldDescriptor( + name='port', full_name='v1alpha2.ServicePort.port', index=2, + number=3, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='targetPort', full_name='v1alpha2.ServicePort.targetPort', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='nodePort', full_name='v1alpha2.ServicePort.nodePort', index=4, + number=5, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + 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=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8608, + serialized_end=8737, +) + + +_SESSIONAFFINITYCONFIG = _descriptor.Descriptor( + name='SessionAffinityConfig', + full_name='v1alpha2.SessionAffinityConfig', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='clientIP', full_name='v1alpha2.SessionAffinityConfig.clientIP', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + 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=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8739, + serialized_end=8806, +) + + +_CLIENTIPCONFIG = _descriptor.Descriptor( + name='ClientIPConfig', + full_name='v1alpha2.ClientIPConfig', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='timeoutSeconds', full_name='v1alpha2.ClientIPConfig.timeoutSeconds', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, + 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=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8808, + serialized_end=8848, ) @@ -2602,8 +2889,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8102, - serialized_end=8126, + serialized_start=8850, + serialized_end=8874, ) @@ -2626,8 +2913,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8128, - serialized_end=8143, + serialized_start=8876, + serialized_end=8891, ) @@ -2650,8 +2937,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8145, - serialized_end=8167, + serialized_start=8893, + serialized_end=8915, ) @@ -2674,8 +2961,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=8169, - serialized_end=8189, + serialized_start=8917, + serialized_end=8937, ) _ISTIOCONTROLPLANE.fields_by_name['spec'].message_type = _ISTIOCONTROLPLANESPEC @@ -2773,7 +3060,7 @@ _KUBERNETESRESOURCESSPEC.fields_by_name['pod_annotations'].message_type = _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY _KUBERNETESRESOURCESSPEC.fields_by_name['readiness_probe'].message_type = _READINESSPROBE _KUBERNETESRESOURCESSPEC.fields_by_name['resources'].message_type = _RESOURCES -_KUBERNETESRESOURCESSPEC.fields_by_name['service'].message_type = k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2._SERVICESPEC +_KUBERNETESRESOURCESSPEC.fields_by_name['service'].message_type = _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['overlays'].message_type = _K8SOBJECTOVERLAY @@ -2800,8 +3087,19 @@ _DEPLOYMENTSTRATEGY.fields_by_name['rollingUpdate'].message_type = _ROLLINGUPDATEDEPLOYMENT _ROLLINGUPDATEDEPLOYMENT.fields_by_name['maxUnavailable'].message_type = _TYPEINTORSTRINGFORPB _ROLLINGUPDATEDEPLOYMENT.fields_by_name['maxSurge'].message_type = _TYPEINTORSTRINGFORPB +<<<<<<< HEAD DESCRIPTOR.message_types_by_name['IstioOperator'] = _ISTIOCONTROLPLANE DESCRIPTOR.message_types_by_name['IstioOperatorSpec'] = _ISTIOCONTROLPLANESPEC +======= +_SERVICESPEC_SELECTORENTRY.containing_type = _SERVICESPEC +_SERVICESPEC.fields_by_name['ports'].message_type = _SERVICEPORT +_SERVICESPEC.fields_by_name['selector'].message_type = _SERVICESPEC_SELECTORENTRY +_SERVICESPEC.fields_by_name['sessionAffinityConfig'].message_type = _SESSIONAFFINITYCONFIG +_SERVICEPORT.fields_by_name['targetPort'].message_type = _TYPEINTORSTRINGFORPB +_SESSIONAFFINITYCONFIG.fields_by_name['clientIP'].message_type = _CLIENTIPCONFIG +DESCRIPTOR.message_types_by_name['IstioControlPlane'] = _ISTIOCONTROLPLANE +DESCRIPTOR.message_types_by_name['IstioControlPlaneSpec'] = _ISTIOCONTROLPLANESPEC +>>>>>>> mirrors k8s service type for unmarshalling DESCRIPTOR.message_types_by_name['BaseFeatureSpec'] = _BASEFEATURESPEC DESCRIPTOR.message_types_by_name['TrafficManagementFeatureSpec'] = _TRAFFICMANAGEMENTFEATURESPEC DESCRIPTOR.message_types_by_name['PolicyFeatureSpec'] = _POLICYFEATURESPEC @@ -2839,6 +3137,10 @@ DESCRIPTOR.message_types_by_name['DeploymentStrategy'] = _DEPLOYMENTSTRATEGY DESCRIPTOR.message_types_by_name['RollingUpdateDeployment'] = _ROLLINGUPDATEDEPLOYMENT DESCRIPTOR.message_types_by_name['ObjectMeta'] = _OBJECTMETA +DESCRIPTOR.message_types_by_name['ServiceSpec'] = _SERVICESPEC +DESCRIPTOR.message_types_by_name['ServicePort'] = _SERVICEPORT +DESCRIPTOR.message_types_by_name['SessionAffinityConfig'] = _SESSIONAFFINITYCONFIG +DESCRIPTOR.message_types_by_name['ClientIPConfig'] = _CLIENTIPCONFIG DESCRIPTOR.message_types_by_name['TypeMapStringInterface'] = _TYPEMAPSTRINGINTERFACE DESCRIPTOR.message_types_by_name['TypeInterface'] = _TYPEINTERFACE DESCRIPTOR.message_types_by_name['TypeIntOrStringForPB'] = _TYPEINTORSTRINGFORPB @@ -3254,6 +3556,42 @@ }) _sym_db.RegisterMessage(ObjectMeta) +ServiceSpec = _reflection.GeneratedProtocolMessageType('ServiceSpec', (_message.Message,), { + + 'SelectorEntry' : _reflection.GeneratedProtocolMessageType('SelectorEntry', (_message.Message,), { + 'DESCRIPTOR' : _SERVICESPEC_SELECTORENTRY, + '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' + # @@protoc_insertion_point(class_scope:v1alpha2.ServiceSpec.SelectorEntry) + }) + , + 'DESCRIPTOR' : _SERVICESPEC, + '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' + # @@protoc_insertion_point(class_scope:v1alpha2.ServiceSpec) + }) +_sym_db.RegisterMessage(ServiceSpec) +_sym_db.RegisterMessage(ServiceSpec.SelectorEntry) + +ServicePort = _reflection.GeneratedProtocolMessageType('ServicePort', (_message.Message,), { + 'DESCRIPTOR' : _SERVICEPORT, + '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' + # @@protoc_insertion_point(class_scope:v1alpha2.ServicePort) + }) +_sym_db.RegisterMessage(ServicePort) + +SessionAffinityConfig = _reflection.GeneratedProtocolMessageType('SessionAffinityConfig', (_message.Message,), { + 'DESCRIPTOR' : _SESSIONAFFINITYCONFIG, + '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' + # @@protoc_insertion_point(class_scope:v1alpha2.SessionAffinityConfig) + }) +_sym_db.RegisterMessage(SessionAffinityConfig) + +ClientIPConfig = _reflection.GeneratedProtocolMessageType('ClientIPConfig', (_message.Message,), { + 'DESCRIPTOR' : _CLIENTIPCONFIG, + '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' + # @@protoc_insertion_point(class_scope:v1alpha2.ClientIPConfig) + }) +_sym_db.RegisterMessage(ClientIPConfig) + TypeMapStringInterface = _reflection.GeneratedProtocolMessageType('TypeMapStringInterface', (_message.Message,), { 'DESCRIPTOR' : _TYPEMAPSTRINGINTERFACE, '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' @@ -3288,4 +3626,5 @@ _INSTALLSTATUS_STATUSENTRY._options = None _RESOURCES_LIMITSENTRY._options = None _RESOURCES_REQUESTSENTRY._options = None +_SERVICESPEC_SELECTORENTRY._options = None # @@protoc_insertion_point(module_scope) From 6ada23ba0c2228b9d1901a9f44e65f1ee8038bf7 Mon Sep 17 00:00:00 2001 From: Xinnan Wen Date: Tue, 31 Dec 2019 02:48:55 -0800 Subject: [PATCH 4/5] fix test --- .../manifest-generate/output/ingressgateway_k8s_settings.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml index d220c1c20..3a8c997a6 100644 --- a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml @@ -121,6 +121,8 @@ spec: value: kubernetes://apis/apps/v1/namespaces/istio-control/deployments/istio-ingressgateway - name: ISTIO_META_MESH_ID value: cluster.local + - name: ISTIO_AUTO_MTLS_ENABLED + value: "true" - name: ISTIO_META_POD_NAME valueFrom: fieldRef: From c829065c58e6bf5cb5b29a08f031c5f0fdaba299 Mon Sep 17 00:00:00 2001 From: Xinnan Wen Date: Sat, 11 Jan 2020 19:58:08 -0800 Subject: [PATCH 5/5] integrate with latest api change --- .../input/ingressgateway_k8s_settings.yaml | 57 +- .../output/ingressgateway_k8s_settings.yaml | 388 +- data/translateConfig/translateConfig-1.5.yaml | 2 + .../v1alpha2/istiocontrolplane_types.pb.go | 3755 ----------------- .../v1alpha2/istiocontrolplane_types.proto | 726 ---- pkg/apis/istio/v1alpha2/v1alpha2.pb.html | 3215 -------------- pkg/vfs/assets.gen.go | 2 + .../v1alpha2/istiocontrolplane_types_pb2.py | 3630 ---------------- 8 files changed, 234 insertions(+), 11541 deletions(-) delete mode 100644 pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go delete mode 100644 pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto delete mode 100644 pkg/apis/istio/v1alpha2/v1alpha2.pb.html delete mode 100644 python/istio_api/pkg/apis/istio/v1alpha2/istiocontrolplane_types_pb2.py diff --git a/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml index 4b862bac7..71ed52ef6 100644 --- a/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/input/ingressgateway_k8s_settings.yaml @@ -1,32 +1,27 @@ -apiVersion: install.istio.io/v1alpha2 -kind: IstioControlPlane +apiVersion: install.istio.io/v1alpha1 +kind: IstioOperator spec: - hub: docker.io/istio - tag: 1.1.4 - defaultNamespace: istio-control - trafficManagement: - enabled: false - policy: - enabled: false - security: - enabled: false - configManagement: - enabled: false - autoInjection: - enabled: false - gateways: - enabled: true - components: - ingressGateway: - enabled: true - k8s: - service: - externalTrafficPolicy: Local - ports: - - name: foo - port: 1234 - targetPort: 1234 - - - telemetry: - enabled: false + components: + pilot: + enabled: false + policy: + enabled: false + citadel: + enabled: false + galley: + enabled: false + sidecarInjector: + enabled: false + ingressGateways: + - namespace: istio-system + name: istio-ingressgateway + enabled: true + k8s: + service: + externalTrafficPolicy: Local + ports: + - name: foo + port: 1234 +# targetPort: 1234 + telemetry: + enabled: false diff --git a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml index 3a8c997a6..617094d5c 100644 --- a/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml +++ b/cmd/mesh/testdata/manifest-generate/output/ingressgateway_k8s_settings.yaml @@ -1,12 +1,13 @@ apiVersion: apps/v1 kind: Deployment metadata: + name: istio-ingressgateway + namespace: istio-system labels: app: istio-ingressgateway istio: ingressgateway + release: istio - name: istio-ingressgateway - namespace: istio-control spec: selector: matchLabels: @@ -18,202 +19,224 @@ spec: maxUnavailable: 25% template: metadata: - annotations: - sidecar.istio.io/inject: "false" labels: app: istio-ingressgateway istio: ingressgateway + heritage: Tiller + release: istio + chart: gateways + annotations: + sidecar.istio.io/inject: "false" spec: + serviceAccountName: istio-ingressgateway-service-account + containers: + - name: istio-proxy + image: "gcr.io/istio-testing/proxyv2:latest" + imagePullPolicy: IfNotPresent + ports: + - containerPort: 15020 + - containerPort: 80 + - containerPort: 443 + - containerPort: 15029 + - containerPort: 15030 + - containerPort: 15031 + - containerPort: 15032 + - containerPort: 15443 + - containerPort: 15011 + - containerPort: 8060 + - containerPort: 853 + - containerPort: 15090 + protocol: TCP + name: http-envoy-prom + args: + - proxy + - router + - --domain + - $(POD_NAMESPACE).svc.cluster.local + - --proxyLogLevel=warning + - --proxyComponentLogLevel=misc:error + - --log_output_level=default:info + - --drainDuration + - '45s' #drainDuration + - --parentShutdownDuration + - '1m0s' #parentShutdownDuration + - --connectTimeout + - '10s' #connectTimeout + - --serviceCluster + - istio-ingressgateway + - --zipkinAddress + - zipkin.istio-system:9411 + - --proxyAdminPort + - "15000" + - --statusPort + - "15020" + - --controlPlaneAuthPolicy + - NONE + - --discoveryAddress + - istio-pilot.istio-system.svc:15012 + - --trust-domain=cluster.local + readinessProbe: + failureThreshold: 30 + httpGet: + path: /healthz/ready + port: 15020 + scheme: HTTP + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + timeoutSeconds: 1 + resources: + limits: + cpu: 2000m + memory: 1024Mi + requests: + cpu: 100m + memory: 128Mi + + env: + - name: "ISTIO_META_USER_SDS" + value: "true" + - name: CA_ADDR + value: istio-pilot.istio-system.svc:15012 + - name: NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: POD_NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + - name: INSTANCE_IP + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: status.podIP + - name: HOST_IP + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: status.hostIP + - name: SERVICE_ACCOUNT + valueFrom: + fieldRef: + fieldPath: spec.serviceAccountName + - name: ISTIO_META_WORKLOAD_NAME + value: istio-ingressgateway + - name: ISTIO_META_OWNER + value: kubernetes://apis/apps/v1/namespaces/istio-system/deployments/istio-ingressgateway + - name: ISTIO_META_MESH_ID + value: "cluster.local" + - name: ISTIO_AUTO_MTLS_ENABLED + value: "true" + - name: ISTIO_META_POD_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.name + - name: ISTIO_META_CONFIG_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: ISTIO_META_ROUTER_MODE + value: sni-dnat + + - name: ISTIO_METAJSON_LABELS + value: | + {"app":"istio-ingressgateway","istio":"ingressgateway"} + - name: ISTIO_META_CLUSTER_ID + value: "Kubernetes" + - name: SDS_ENABLED + value: "false" + volumeMounts: + - name: istio-token + mountPath: /var/run/secrets/tokens + readOnly: true + + - name: istio-certs + mountPath: /etc/certs + readOnly: true + - name: ingressgateway-certs + mountPath: "/etc/istio/ingressgateway-certs" + readOnly: true + - name: ingressgateway-ca-certs + mountPath: "/etc/istio/ingressgateway-ca-certs" + readOnly: true + volumes: + - name: istio-token + projected: + sources: + - serviceAccountToken: + path: istio-token + expirationSeconds: 43200 + audience: istio-ca + - name: istio-certs + secret: + secretName: istio.istio-ingressgateway-service-account + optional: true + - name: ingressgateway-certs + secret: + secretName: "istio-ingressgateway-certs" + optional: true + - name: ingressgateway-ca-certs + secret: + secretName: "istio-ingressgateway-ca-certs" + optional: true affinity: nodeAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - preference: - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - amd64 - weight: 2 - - preference: - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - ppc64le - weight: 2 - - preference: - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - s390x - weight: 2 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - - matchExpressions: - - key: beta.kubernetes.io/arch - operator: In - values: - - amd64 - - ppc64le - - s390x - containers: - - args: - - proxy - - router - - --domain - - $(POD_NAMESPACE).svc.cluster.local - - --proxyLogLevel=warning - - --proxyComponentLogLevel=misc:error - - --log_output_level=default:info - - --drainDuration - - 45s - - --parentShutdownDuration - - 1m0s - - --connectTimeout - - 10s - - --serviceCluster - - istio-ingressgateway - - --zipkinAddress - - zipkin.istio-control:9411 - - --proxyAdminPort - - "15000" - - --statusPort - - "15020" - - --controlPlaneAuthPolicy - - MUTUAL_TLS - - --discoveryAddress - - istio-pilot.istio-control:15011 - - --trust-domain=cluster.local - env: - - name: NODE_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: spec.nodeName - - name: POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - - name: POD_NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - - name: INSTANCE_IP - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: status.podIP - - name: HOST_IP - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: status.hostIP - - name: SERVICE_ACCOUNT - valueFrom: - fieldRef: - fieldPath: spec.serviceAccountName - - name: ISTIO_META_WORKLOAD_NAME - value: istio-ingressgateway - - name: ISTIO_META_OWNER - value: kubernetes://apis/apps/v1/namespaces/istio-control/deployments/istio-ingressgateway - - name: ISTIO_META_MESH_ID - value: cluster.local - - name: ISTIO_AUTO_MTLS_ENABLED - value: "true" - - name: ISTIO_META_POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - - name: ISTIO_META_CONFIG_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: ISTIO_META_ROUTER_MODE - value: sni-dnat - - name: ISTIO_METAJSON_LABELS - value: | - {"app":"istio-ingressgateway","istio":"ingressgateway"} - - name: ISTIO_META_CLUSTER_ID - value: Kubernetes - - name: SDS_ENABLED - value: "false" - image: docker.io/istio/proxyv2:1.1.4 - imagePullPolicy: IfNotPresent - name: istio-proxy - ports: - - containerPort: 15020 - - containerPort: 80 - - containerPort: 443 - - containerPort: 15029 - - containerPort: 15030 - - containerPort: 15031 - - containerPort: 15032 - - containerPort: 15443 - - containerPort: 15011 - - containerPort: 8060 - - containerPort: 853 - - containerPort: 15090 - name: http-envoy-prom - protocol: TCP - readinessProbe: - failureThreshold: 30 - httpGet: - path: /healthz/ready - port: 15020 - scheme: HTTP - initialDelaySeconds: 1 - periodSeconds: 2 - successThreshold: 1 - timeoutSeconds: 1 - resources: - limits: - cpu: 2000m - memory: 1024Mi - requests: - cpu: 100m - memory: 128Mi - volumeMounts: - - mountPath: /etc/certs - name: istio-certs - readOnly: true - - mountPath: /etc/istio/ingressgateway-certs - name: ingressgateway-certs - readOnly: true - - mountPath: /etc/istio/ingressgateway-ca-certs - name: ingressgateway-ca-certs - readOnly: true - serviceAccountName: istio-ingressgateway-service-account - volumes: - - name: istio-certs - secret: - optional: true - secretName: istio.istio-ingressgateway-service-account - - name: ingressgateway-certs - secret: - optional: true - secretName: istio-ingressgateway-certs - - name: ingressgateway-ca-certs - secret: - optional: true - secretName: istio-ingressgateway-ca-certs - + - matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - "amd64" + - "ppc64le" + - "s390x" + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 2 + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - "amd64" + - weight: 2 + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - "ppc64le" + - weight: 2 + preference: + matchExpressions: + - key: beta.kubernetes.io/arch + operator: In + values: + - "s390x" --- apiVersion: v1 kind: Service metadata: - annotations: null + name: istio-ingressgateway + namespace: istio-system + annotations: labels: app: istio-ingressgateway - istio: ingressgateway release: istio - name: istio-ingressgateway - namespace: istio-control + istio: ingressgateway spec: + type: LoadBalancer + selector: + app: istio-ingressgateway externalTrafficPolicy: Local ports: - name: foo @@ -242,6 +265,3 @@ spec: - name: tls port: 15443 targetPort: 15443 - selector: - app: istio-ingressgateway - type: LoadBalancer \ No newline at end of file diff --git a/data/translateConfig/translateConfig-1.5.yaml b/data/translateConfig/translateConfig-1.5.yaml index 7243fa8ee..61f35dbaf 100644 --- a/data/translateConfig/translateConfig-1.5.yaml +++ b/data/translateConfig/translateConfig-1.5.yaml @@ -34,6 +34,8 @@ kubernetesMapping: outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.strategy" "Components.{{.ComponentName}}.K8S.Tolerations": outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.template.spec.tolerations" + "Components.{{.ComponentName}}.K8S.Service": + outPath: "[Service:{{.ResourceName}}].spec" globalNamespaces: Pilot: "istioNamespace" Galley: "configNamespace" diff --git a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go deleted file mode 100644 index 68e169005..000000000 --- a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.pb.go +++ /dev/null @@ -1,3755 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// source: pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto - -// IstioControlPlane is a schema for both defining and customizing Istio control plane installations. -// Running the operator with an empty user defined InstallSpec results in an control plane with default values, using the -// default charts. -// -// The simplest install specialization is to point the user InstallSpec profile to a different values file, for -// example an Istio minimal control plane, which will use the values associated with the minimal control plane profile for -// Istio. -// -// Deeper customization is possible at three levels: -// -// 1. New APIs defined in this file -// -// Feature API: this API groups an Istio install by features and allows enabling/disabling the features, selecting base -// control plane profiles, as well as some additional high level settings that are feature specific. Each feature contains -// one or more components, which correspond to Istio components (Pods) in the cluster. -// -// k8s API: this API is a pass through to k8s resource settings for Istio k8s resources. It allows customizing Istio k8s -// resources like Affinity, Resource requests/limits, PodDisruptionBudgetSpec, Selectors etc. in a more consistent and -// k8s specific way compared to values.yaml. See KubernetesResourcesSpec in this file for details. -// -// 1. values.yaml -// -// The entirety of values.yaml settings is accessible through InstallSpec (see CommonComponentSpec/Values). -// This API will gradually be deprecated and values there will be moved either into CRDs that are used to directly -// configure components or, in the case of k8s settings, will be replaced by the new API above. -// -// 1. k8s resource overlays -// -// Once a manifest is rendered from InstallSpec, a further customization can be applied by specifying k8s resource -// overlays. The concept is similar to kustomize, where JSON patches are applied for object paths. This allows -// customization at the lowest level and eliminates the need to create ad-hoc template parameters, or edit templates. -// -// Here are a few example uses: -// -// 1. Default Istio install -// -// ``` -// spec: -// ``` -// -// 1. Default minimal profile install -// -// ``` -// spec: -// profile: minimal -// ``` -// -// 1. Default install with telemetry disabled -// -// ``` -// spec: -// telemetry: -// enabled: false -// ``` -// -// 1. Default install with each feature installed to different namespace and security components in separate namespaces -// -// ``` -// spec: -// traffic_management: -// components: -// namespace: istio-traffic-management -// policy: -// components: -// namespace: istio-policy -// telemetry: -// components: -// namespace: istio-telemetry -// config_management: -// components: -// namespace: istio-config-management -// security: -// components: -// citadel: -// namespace: istio-citadel -// cert_manager: -// namespace: istio-cert-manager -// node_agent: -// namespace: istio-node-agent -// ``` -// -// 1. Default install with specialized k8s settings for pilot -// -// ``` -// spec: -// traffic_management: -// components: -// pilot: -// k8s: -// resources: -// limits: -// cpu: 444m -// memory: 333Mi -// requests: -// cpu: 222m -// memory: 111Mi -// readinessProbe: -// failureThreshold: 44 -// initialDelaySeconds: 11 -// periodSeconds: 22 -// successThreshold: 33 -// ``` -// -// 1. Default install with values.yaml customizations for proxy -// -// ``` -// spec: -// traffic_management: -// components: -// proxy: -// values: -// - global.proxy.enableCoreDump: true -// - global.proxy.dnsRefreshRate: 10s -// ``` -// -// 1. Default install with modification to container flag in galley -// -// ``` -// spec: -// configuration_management: -// components: -// galley: -// k8s: -// overlays: -// - apiVersion: extensions/v1beta1 -// kind: Deployment -// name: istio-galley -// patches: -// - path: spec.template.spec.containers.[name:galley].command.[--livenessProbeInterval] -// value: --livenessProbeInterval=123s -// ``` - -package v1alpha2 - -import ( - fmt "fmt" - _ "github.com/gogo/protobuf/types" - proto "github.com/golang/protobuf/proto" - v2beta1 "k8s.io/api/autoscaling/v2beta1" - v1 "k8s.io/api/core/v1" - v11 "k8s.io/apimachinery/pkg/apis/meta/v1" - math "math" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package - -type InstallStatus_Status int32 - -const ( - InstallStatus_NONE InstallStatus_Status = 0 - InstallStatus_UPDATING InstallStatus_Status = 1 - InstallStatus_HEALTHY InstallStatus_Status = 2 - InstallStatus_ERROR InstallStatus_Status = 3 - InstallStatus_RECONCILING InstallStatus_Status = 4 -) - -var InstallStatus_Status_name = map[int32]string{ - 0: "NONE", - 1: "UPDATING", - 2: "HEALTHY", - 3: "ERROR", - 4: "RECONCILING", -} - -var InstallStatus_Status_value = map[string]int32{ - "NONE": 0, - "UPDATING": 1, - "HEALTHY": 2, - "ERROR": 3, - "RECONCILING": 4, -} - -func (x InstallStatus_Status) String() string { - return proto.EnumName(InstallStatus_Status_name, int32(x)) -} - -func (InstallStatus_Status) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{28, 0} -} - -// IstioControlPlane is a CustomResourceDefinition (CRD) describing an Istio control plane. -type IstioControlPlane struct { - // Spec defines the desired state of IstioControlPlane. - Spec *IstioControlPlaneSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` - // Status reports the status of the Istio control plane. - Status *InstallStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` - Kind string `protobuf:"bytes,5,opt,name=kind,proto3" json:"kind,omitempty"` - ApiVersion string `protobuf:"bytes,6,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - v11.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,7,opt,name=metadata"` - v11.TypeMeta `json:",inline"` - Placeholder string `protobuf:"bytes,111,opt,name=placeholder,proto3" json:"placeholder,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *IstioControlPlane) Reset() { *m = IstioControlPlane{} } -func (m *IstioControlPlane) String() string { return proto.CompactTextString(m) } -func (*IstioControlPlane) ProtoMessage() {} -func (*IstioControlPlane) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{0} -} - -func (m *IstioControlPlane) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IstioControlPlane.Unmarshal(m, b) -} -func (m *IstioControlPlane) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IstioControlPlane.Marshal(b, m, deterministic) -} -func (m *IstioControlPlane) XXX_Merge(src proto.Message) { - xxx_messageInfo_IstioControlPlane.Merge(m, src) -} -func (m *IstioControlPlane) XXX_Size() int { - return xxx_messageInfo_IstioControlPlane.Size(m) -} -func (m *IstioControlPlane) XXX_DiscardUnknown() { - xxx_messageInfo_IstioControlPlane.DiscardUnknown(m) -} - -var xxx_messageInfo_IstioControlPlane proto.InternalMessageInfo - -func (m *IstioControlPlane) GetSpec() *IstioControlPlaneSpec { - if m != nil { - return m.Spec - } - return nil -} - -func (m *IstioControlPlane) GetStatus() *InstallStatus { - if m != nil { - return m.Status - } - return nil -} - -func (m *IstioControlPlane) GetKind() string { - if m != nil { - return m.Kind - } - return "" -} - -func (m *IstioControlPlane) GetApiVersion() string { - if m != nil { - return m.ApiVersion - } - return "" -} - -func (m *IstioControlPlane) GetPlaceholder() string { - if m != nil { - return m.Placeholder - } - return "" -} - -// IstioControlPlaneSpec defines the desired state of IstioControlPlane. -// The spec is a used to define a customization of the default profile values that are supplied with each Istio release. -// It is grouped at the top level by feature, where behavior of Istio functional areas is specified. -// Each feature contains components, where k8s resource level defaults can be overridden. -// Because the spec is a customization API, specifying an empty InstallSpec results in a default Istio control plane. -type IstioControlPlaneSpec struct { - // Default namespace if feature or component namespaces are not set. - DefaultNamespace string `protobuf:"bytes,5,opt,name=default_namespace,json=defaultNamespace,proto3" json:"default_namespace,omitempty"` - // Base feature containing resources like CRDs, namespaces etc. - Base *BaseFeatureSpec `protobuf:"bytes,20,opt,name=base,proto3" json:"base,omitempty"` - // Selection and configuration of core Istio features. - TrafficManagement *TrafficManagementFeatureSpec `protobuf:"bytes,25,opt,name=traffic_management,json=trafficManagement,proto3" json:"traffic_management,omitempty"` - Policy *PolicyFeatureSpec `protobuf:"bytes,26,opt,name=policy,proto3" json:"policy,omitempty"` - Telemetry *TelemetryFeatureSpec `protobuf:"bytes,27,opt,name=telemetry,proto3" json:"telemetry,omitempty"` - Security *SecurityFeatureSpec `protobuf:"bytes,28,opt,name=security,proto3" json:"security,omitempty"` - ConfigManagement *ConfigManagementFeatureSpec `protobuf:"bytes,29,opt,name=config_management,json=configManagement,proto3" json:"config_management,omitempty"` - AutoInjection *AutoInjectionFeatureSpec `protobuf:"bytes,30,opt,name=auto_injection,json=autoInjection,proto3" json:"auto_injection,omitempty"` - Gateways *GatewayFeatureSpec `protobuf:"bytes,31,opt,name=gateways,proto3" json:"gateways,omitempty"` - Cni *CNIFeatureSpec `protobuf:"bytes,32,opt,name=cni,proto3" json:"cni,omitempty"` - CoreDNS *CoreDNSFeatureSpec `protobuf:"bytes,33,opt,name=coreDNS,proto3" json:"coreDNS,omitempty"` - // Overrides for default global values.yaml. - Values map[string]interface{} `protobuf:"bytes,50,opt,name=values,proto3" json:"values,omitempty"` - // Unvalidated overrides for default global values.yaml. - UnvalidatedValues map[string]interface{} `protobuf:"bytes,51,opt,name=unvalidatedValues,proto3" json:"unvalidatedValues,omitempty"` - // Path or name for the profile e.g. - // - minimal (looks in profiles dir for a file called minimal.yaml) - // - /tmp/istio/install/values/custom/custom-install.yaml (local file path) - // default profile is used if this field is unset. - Profile string `protobuf:"bytes,100,opt,name=profile,proto3" json:"profile,omitempty"` - // Path for the install package. e.g. - // - /tmp/istio-installer/nightly (local file path) - InstallPackagePath string `protobuf:"bytes,102,opt,name=install_package_path,json=installPackagePath,proto3" json:"install_package_path,omitempty"` - // Root for docker image paths e.g. docker.io/istio-release. - // Releases are published to docker hub under 'istio' project. - // Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly - Hub string `protobuf:"bytes,110,opt,name=hub,proto3" json:"hub,omitempty"` - // Version tag for docker images e.g. 1.0.6 - Tag string `protobuf:"bytes,111,opt,name=tag,proto3" json:"tag,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *IstioControlPlaneSpec) Reset() { *m = IstioControlPlaneSpec{} } -func (m *IstioControlPlaneSpec) String() string { return proto.CompactTextString(m) } -func (*IstioControlPlaneSpec) ProtoMessage() {} -func (*IstioControlPlaneSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{1} -} - -func (m *IstioControlPlaneSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IstioControlPlaneSpec.Unmarshal(m, b) -} -func (m *IstioControlPlaneSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IstioControlPlaneSpec.Marshal(b, m, deterministic) -} -func (m *IstioControlPlaneSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_IstioControlPlaneSpec.Merge(m, src) -} -func (m *IstioControlPlaneSpec) XXX_Size() int { - return xxx_messageInfo_IstioControlPlaneSpec.Size(m) -} -func (m *IstioControlPlaneSpec) XXX_DiscardUnknown() { - xxx_messageInfo_IstioControlPlaneSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_IstioControlPlaneSpec proto.InternalMessageInfo - -func (m *IstioControlPlaneSpec) GetDefaultNamespace() string { - if m != nil { - return m.DefaultNamespace - } - return "" -} - -func (m *IstioControlPlaneSpec) GetBase() *BaseFeatureSpec { - if m != nil { - return m.Base - } - return nil -} - -func (m *IstioControlPlaneSpec) GetTrafficManagement() *TrafficManagementFeatureSpec { - if m != nil { - return m.TrafficManagement - } - return nil -} - -func (m *IstioControlPlaneSpec) GetPolicy() *PolicyFeatureSpec { - if m != nil { - return m.Policy - } - return nil -} - -func (m *IstioControlPlaneSpec) GetTelemetry() *TelemetryFeatureSpec { - if m != nil { - return m.Telemetry - } - return nil -} - -func (m *IstioControlPlaneSpec) GetSecurity() *SecurityFeatureSpec { - if m != nil { - return m.Security - } - return nil -} - -func (m *IstioControlPlaneSpec) GetConfigManagement() *ConfigManagementFeatureSpec { - if m != nil { - return m.ConfigManagement - } - return nil -} - -func (m *IstioControlPlaneSpec) GetAutoInjection() *AutoInjectionFeatureSpec { - if m != nil { - return m.AutoInjection - } - return nil -} - -func (m *IstioControlPlaneSpec) GetGateways() *GatewayFeatureSpec { - if m != nil { - return m.Gateways - } - return nil -} - -func (m *IstioControlPlaneSpec) GetCni() *CNIFeatureSpec { - if m != nil { - return m.Cni - } - return nil -} - -func (m *IstioControlPlaneSpec) GetCoreDNS() *CoreDNSFeatureSpec { - if m != nil { - return m.CoreDNS - } - return nil -} - -func (m *IstioControlPlaneSpec) GetValues() map[string]interface{} { - if m != nil { - return m.Values - } - return nil -} - -func (m *IstioControlPlaneSpec) GetUnvalidatedValues() map[string]interface{} { - if m != nil { - return m.UnvalidatedValues - } - return nil -} - -func (m *IstioControlPlaneSpec) GetProfile() string { - if m != nil { - return m.Profile - } - return "" -} - -func (m *IstioControlPlaneSpec) GetInstallPackagePath() string { - if m != nil { - return m.InstallPackagePath - } - return "" -} - -func (m *IstioControlPlaneSpec) GetHub() string { - if m != nil { - return m.Hub - } - return "" -} - -func (m *IstioControlPlaneSpec) GetTag() string { - if m != nil { - return m.Tag - } - return "" -} - -// Base feature settings. -type BaseFeatureSpec struct { - // Selects whether base feature is installed. Required for all Istio installs. - // Should only be disabled when generating partial Istio installation YAMLs. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *BaseFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BaseFeatureSpec) Reset() { *m = BaseFeatureSpec{} } -func (m *BaseFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*BaseFeatureSpec) ProtoMessage() {} -func (*BaseFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{2} -} - -func (m *BaseFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BaseFeatureSpec.Unmarshal(m, b) -} -func (m *BaseFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BaseFeatureSpec.Marshal(b, m, deterministic) -} -func (m *BaseFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_BaseFeatureSpec.Merge(m, src) -} -func (m *BaseFeatureSpec) XXX_Size() int { - return xxx_messageInfo_BaseFeatureSpec.Size(m) -} -func (m *BaseFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_BaseFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_BaseFeatureSpec proto.InternalMessageInfo - -func (m *BaseFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *BaseFeatureSpec) GetComponents() *BaseFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -// Component specific config. -type BaseFeatureSpec_Components struct { - Base *BaseComponentSpec `protobuf:"bytes,20,opt,name=base,proto3" json:"base,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BaseFeatureSpec_Components) Reset() { *m = BaseFeatureSpec_Components{} } -func (m *BaseFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*BaseFeatureSpec_Components) ProtoMessage() {} -func (*BaseFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{2, 0} -} - -func (m *BaseFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BaseFeatureSpec_Components.Unmarshal(m, b) -} -func (m *BaseFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BaseFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *BaseFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_BaseFeatureSpec_Components.Merge(m, src) -} -func (m *BaseFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_BaseFeatureSpec_Components.Size(m) -} -func (m *BaseFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_BaseFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_BaseFeatureSpec_Components proto.InternalMessageInfo - -func (m *BaseFeatureSpec_Components) GetBase() *BaseComponentSpec { - if m != nil { - return m.Base - } - return nil -} - -// Configuration options for traffic management. -type TrafficManagementFeatureSpec struct { - // Selects whether traffic management is installed. - // Must be enabled to enable any sub-component. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *TrafficManagementFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TrafficManagementFeatureSpec) Reset() { *m = TrafficManagementFeatureSpec{} } -func (m *TrafficManagementFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*TrafficManagementFeatureSpec) ProtoMessage() {} -func (*TrafficManagementFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{3} -} - -func (m *TrafficManagementFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficManagementFeatureSpec.Unmarshal(m, b) -} -func (m *TrafficManagementFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficManagementFeatureSpec.Marshal(b, m, deterministic) -} -func (m *TrafficManagementFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficManagementFeatureSpec.Merge(m, src) -} -func (m *TrafficManagementFeatureSpec) XXX_Size() int { - return xxx_messageInfo_TrafficManagementFeatureSpec.Size(m) -} -func (m *TrafficManagementFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficManagementFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_TrafficManagementFeatureSpec proto.InternalMessageInfo - -func (m *TrafficManagementFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *TrafficManagementFeatureSpec) GetComponents() *TrafficManagementFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -// Component specific config. -type TrafficManagementFeatureSpec_Components struct { - // Namespace that all traffic management components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Pilot *PilotComponentSpec `protobuf:"bytes,20,opt,name=pilot,proto3" json:"pilot,omitempty"` - Proxy *ProxyComponentSpec `protobuf:"bytes,21,opt,name=proxy,proto3" json:"proxy,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TrafficManagementFeatureSpec_Components) Reset() { - *m = TrafficManagementFeatureSpec_Components{} -} -func (m *TrafficManagementFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*TrafficManagementFeatureSpec_Components) ProtoMessage() {} -func (*TrafficManagementFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{3, 0} -} - -func (m *TrafficManagementFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TrafficManagementFeatureSpec_Components.Unmarshal(m, b) -} -func (m *TrafficManagementFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TrafficManagementFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *TrafficManagementFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_TrafficManagementFeatureSpec_Components.Merge(m, src) -} -func (m *TrafficManagementFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_TrafficManagementFeatureSpec_Components.Size(m) -} -func (m *TrafficManagementFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_TrafficManagementFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_TrafficManagementFeatureSpec_Components proto.InternalMessageInfo - -func (m *TrafficManagementFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *TrafficManagementFeatureSpec_Components) GetPilot() *PilotComponentSpec { - if m != nil { - return m.Pilot - } - return nil -} - -func (m *TrafficManagementFeatureSpec_Components) GetProxy() *ProxyComponentSpec { - if m != nil { - return m.Proxy - } - return nil -} - -// Configuration options for the policy feature. -type PolicyFeatureSpec struct { - // Selects whether policy is installed. - // Must be enabled to enable any sub-component. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *PolicyFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PolicyFeatureSpec) Reset() { *m = PolicyFeatureSpec{} } -func (m *PolicyFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*PolicyFeatureSpec) ProtoMessage() {} -func (*PolicyFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{4} -} - -func (m *PolicyFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PolicyFeatureSpec.Unmarshal(m, b) -} -func (m *PolicyFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PolicyFeatureSpec.Marshal(b, m, deterministic) -} -func (m *PolicyFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_PolicyFeatureSpec.Merge(m, src) -} -func (m *PolicyFeatureSpec) XXX_Size() int { - return xxx_messageInfo_PolicyFeatureSpec.Size(m) -} -func (m *PolicyFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_PolicyFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_PolicyFeatureSpec proto.InternalMessageInfo - -func (m *PolicyFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *PolicyFeatureSpec) GetComponents() *PolicyFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -// Component specific config. -type PolicyFeatureSpec_Components struct { - // Namespace that all policy components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Policy *PolicyComponentSpec `protobuf:"bytes,20,opt,name=policy,proto3" json:"policy,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PolicyFeatureSpec_Components) Reset() { *m = PolicyFeatureSpec_Components{} } -func (m *PolicyFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*PolicyFeatureSpec_Components) ProtoMessage() {} -func (*PolicyFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{4, 0} -} - -func (m *PolicyFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PolicyFeatureSpec_Components.Unmarshal(m, b) -} -func (m *PolicyFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PolicyFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *PolicyFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_PolicyFeatureSpec_Components.Merge(m, src) -} -func (m *PolicyFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_PolicyFeatureSpec_Components.Size(m) -} -func (m *PolicyFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_PolicyFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_PolicyFeatureSpec_Components proto.InternalMessageInfo - -func (m *PolicyFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *PolicyFeatureSpec_Components) GetPolicy() *PolicyComponentSpec { - if m != nil { - return m.Policy - } - return nil -} - -// Configuration options for the telemetry feature. -type TelemetryFeatureSpec struct { - // Selects whether telemetry is installed. - // Must be enabled to enable any sub-component. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *TelemetryFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TelemetryFeatureSpec) Reset() { *m = TelemetryFeatureSpec{} } -func (m *TelemetryFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*TelemetryFeatureSpec) ProtoMessage() {} -func (*TelemetryFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{5} -} - -func (m *TelemetryFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TelemetryFeatureSpec.Unmarshal(m, b) -} -func (m *TelemetryFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TelemetryFeatureSpec.Marshal(b, m, deterministic) -} -func (m *TelemetryFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_TelemetryFeatureSpec.Merge(m, src) -} -func (m *TelemetryFeatureSpec) XXX_Size() int { - return xxx_messageInfo_TelemetryFeatureSpec.Size(m) -} -func (m *TelemetryFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_TelemetryFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_TelemetryFeatureSpec proto.InternalMessageInfo - -func (m *TelemetryFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *TelemetryFeatureSpec) GetComponents() *TelemetryFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -// Component specific config. -type TelemetryFeatureSpec_Components struct { - // Namespace that all telemetry components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Telemetry *TelemetryComponentSpec `protobuf:"bytes,20,opt,name=telemetry,proto3" json:"telemetry,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TelemetryFeatureSpec_Components) Reset() { *m = TelemetryFeatureSpec_Components{} } -func (m *TelemetryFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*TelemetryFeatureSpec_Components) ProtoMessage() {} -func (*TelemetryFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{5, 0} -} - -func (m *TelemetryFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TelemetryFeatureSpec_Components.Unmarshal(m, b) -} -func (m *TelemetryFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TelemetryFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *TelemetryFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_TelemetryFeatureSpec_Components.Merge(m, src) -} -func (m *TelemetryFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_TelemetryFeatureSpec_Components.Size(m) -} -func (m *TelemetryFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_TelemetryFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_TelemetryFeatureSpec_Components proto.InternalMessageInfo - -func (m *TelemetryFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *TelemetryFeatureSpec_Components) GetTelemetry() *TelemetryComponentSpec { - if m != nil { - return m.Telemetry - } - return nil -} - -// Configuration options for security feature. -type SecurityFeatureSpec struct { - // Selects whether security feature is installed. Must be set for any sub-component to be installed. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *SecurityFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SecurityFeatureSpec) Reset() { *m = SecurityFeatureSpec{} } -func (m *SecurityFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*SecurityFeatureSpec) ProtoMessage() {} -func (*SecurityFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{6} -} - -func (m *SecurityFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SecurityFeatureSpec.Unmarshal(m, b) -} -func (m *SecurityFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SecurityFeatureSpec.Marshal(b, m, deterministic) -} -func (m *SecurityFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_SecurityFeatureSpec.Merge(m, src) -} -func (m *SecurityFeatureSpec) XXX_Size() int { - return xxx_messageInfo_SecurityFeatureSpec.Size(m) -} -func (m *SecurityFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_SecurityFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_SecurityFeatureSpec proto.InternalMessageInfo - -func (m *SecurityFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *SecurityFeatureSpec) GetComponents() *SecurityFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -type SecurityFeatureSpec_Components struct { - // Namespace that security components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Citadel *CitadelComponentSpec `protobuf:"bytes,20,opt,name=citadel,proto3" json:"citadel,omitempty"` - CertManager *CertManagerComponentSpec `protobuf:"bytes,21,opt,name=cert_manager,json=certManager,proto3" json:"cert_manager,omitempty"` - NodeAgent *NodeAgentComponentSpec `protobuf:"bytes,22,opt,name=node_agent,json=nodeAgent,proto3" json:"node_agent,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SecurityFeatureSpec_Components) Reset() { *m = SecurityFeatureSpec_Components{} } -func (m *SecurityFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*SecurityFeatureSpec_Components) ProtoMessage() {} -func (*SecurityFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{6, 0} -} - -func (m *SecurityFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SecurityFeatureSpec_Components.Unmarshal(m, b) -} -func (m *SecurityFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SecurityFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *SecurityFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_SecurityFeatureSpec_Components.Merge(m, src) -} -func (m *SecurityFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_SecurityFeatureSpec_Components.Size(m) -} -func (m *SecurityFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_SecurityFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_SecurityFeatureSpec_Components proto.InternalMessageInfo - -func (m *SecurityFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *SecurityFeatureSpec_Components) GetCitadel() *CitadelComponentSpec { - if m != nil { - return m.Citadel - } - return nil -} - -func (m *SecurityFeatureSpec_Components) GetCertManager() *CertManagerComponentSpec { - if m != nil { - return m.CertManager - } - return nil -} - -func (m *SecurityFeatureSpec_Components) GetNodeAgent() *NodeAgentComponentSpec { - if m != nil { - return m.NodeAgent - } - return nil -} - -// Configuration options for configuration management feature. -type ConfigManagementFeatureSpec struct { - // Selects whether config management feature is installed. Must be set for any sub-component to be installed. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *ConfigManagementFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigManagementFeatureSpec) Reset() { *m = ConfigManagementFeatureSpec{} } -func (m *ConfigManagementFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*ConfigManagementFeatureSpec) ProtoMessage() {} -func (*ConfigManagementFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{7} -} - -func (m *ConfigManagementFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigManagementFeatureSpec.Unmarshal(m, b) -} -func (m *ConfigManagementFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigManagementFeatureSpec.Marshal(b, m, deterministic) -} -func (m *ConfigManagementFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigManagementFeatureSpec.Merge(m, src) -} -func (m *ConfigManagementFeatureSpec) XXX_Size() int { - return xxx_messageInfo_ConfigManagementFeatureSpec.Size(m) -} -func (m *ConfigManagementFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigManagementFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_ConfigManagementFeatureSpec proto.InternalMessageInfo - -func (m *ConfigManagementFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *ConfigManagementFeatureSpec) GetComponents() *ConfigManagementFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -type ConfigManagementFeatureSpec_Components struct { - // Namespace that security components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Galley *GalleyComponentSpec `protobuf:"bytes,20,opt,name=galley,proto3" json:"galley,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ConfigManagementFeatureSpec_Components) Reset() { - *m = ConfigManagementFeatureSpec_Components{} -} -func (m *ConfigManagementFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*ConfigManagementFeatureSpec_Components) ProtoMessage() {} -func (*ConfigManagementFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{7, 0} -} - -func (m *ConfigManagementFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ConfigManagementFeatureSpec_Components.Unmarshal(m, b) -} -func (m *ConfigManagementFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ConfigManagementFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *ConfigManagementFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_ConfigManagementFeatureSpec_Components.Merge(m, src) -} -func (m *ConfigManagementFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_ConfigManagementFeatureSpec_Components.Size(m) -} -func (m *ConfigManagementFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_ConfigManagementFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_ConfigManagementFeatureSpec_Components proto.InternalMessageInfo - -func (m *ConfigManagementFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *ConfigManagementFeatureSpec_Components) GetGalley() *GalleyComponentSpec { - if m != nil { - return m.Galley - } - return nil -} - -// Configuration options for auto injection feature. -type AutoInjectionFeatureSpec struct { - // Selects whether auto injection feature is installed. Must be set for any sub-component to be installed. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *AutoInjectionFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AutoInjectionFeatureSpec) Reset() { *m = AutoInjectionFeatureSpec{} } -func (m *AutoInjectionFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*AutoInjectionFeatureSpec) ProtoMessage() {} -func (*AutoInjectionFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{8} -} - -func (m *AutoInjectionFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AutoInjectionFeatureSpec.Unmarshal(m, b) -} -func (m *AutoInjectionFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AutoInjectionFeatureSpec.Marshal(b, m, deterministic) -} -func (m *AutoInjectionFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_AutoInjectionFeatureSpec.Merge(m, src) -} -func (m *AutoInjectionFeatureSpec) XXX_Size() int { - return xxx_messageInfo_AutoInjectionFeatureSpec.Size(m) -} -func (m *AutoInjectionFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_AutoInjectionFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_AutoInjectionFeatureSpec proto.InternalMessageInfo - -func (m *AutoInjectionFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *AutoInjectionFeatureSpec) GetComponents() *AutoInjectionFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -type AutoInjectionFeatureSpec_Components struct { - // Namespace that auto injections components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Injector *SidecarInjectorComponentSpec `protobuf:"bytes,20,opt,name=injector,proto3" json:"injector,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AutoInjectionFeatureSpec_Components) Reset() { *m = AutoInjectionFeatureSpec_Components{} } -func (m *AutoInjectionFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*AutoInjectionFeatureSpec_Components) ProtoMessage() {} -func (*AutoInjectionFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{8, 0} -} - -func (m *AutoInjectionFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AutoInjectionFeatureSpec_Components.Unmarshal(m, b) -} -func (m *AutoInjectionFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AutoInjectionFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *AutoInjectionFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_AutoInjectionFeatureSpec_Components.Merge(m, src) -} -func (m *AutoInjectionFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_AutoInjectionFeatureSpec_Components.Size(m) -} -func (m *AutoInjectionFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_AutoInjectionFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_AutoInjectionFeatureSpec_Components proto.InternalMessageInfo - -func (m *AutoInjectionFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *AutoInjectionFeatureSpec_Components) GetInjector() *SidecarInjectorComponentSpec { - if m != nil { - return m.Injector - } - return nil -} - -// Configuration options for gateway feature. -type GatewayFeatureSpec struct { - // Selects whether gateway feature is installed. Must be set for any sub-component to be installed. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *GatewayFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GatewayFeatureSpec) Reset() { *m = GatewayFeatureSpec{} } -func (m *GatewayFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*GatewayFeatureSpec) ProtoMessage() {} -func (*GatewayFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{9} -} - -func (m *GatewayFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GatewayFeatureSpec.Unmarshal(m, b) -} -func (m *GatewayFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GatewayFeatureSpec.Marshal(b, m, deterministic) -} -func (m *GatewayFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_GatewayFeatureSpec.Merge(m, src) -} -func (m *GatewayFeatureSpec) XXX_Size() int { - return xxx_messageInfo_GatewayFeatureSpec.Size(m) -} -func (m *GatewayFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_GatewayFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_GatewayFeatureSpec proto.InternalMessageInfo - -func (m *GatewayFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *GatewayFeatureSpec) GetComponents() *GatewayFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -type GatewayFeatureSpec_Components struct { - // Namespace that auto injections components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - // Ingress/egress gateway configuration. - IngressGateway *IngressGatewayComponentSpec `protobuf:"bytes,31,opt,name=ingress_gateway,json=ingressGateway,proto3" json:"ingress_gateway,omitempty"` - EgressGateway *EgressGatewayComponentSpec `protobuf:"bytes,32,opt,name=egress_gateway,json=egressGateway,proto3" json:"egress_gateway,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GatewayFeatureSpec_Components) Reset() { *m = GatewayFeatureSpec_Components{} } -func (m *GatewayFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*GatewayFeatureSpec_Components) ProtoMessage() {} -func (*GatewayFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{9, 0} -} - -func (m *GatewayFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GatewayFeatureSpec_Components.Unmarshal(m, b) -} -func (m *GatewayFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GatewayFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *GatewayFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_GatewayFeatureSpec_Components.Merge(m, src) -} -func (m *GatewayFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_GatewayFeatureSpec_Components.Size(m) -} -func (m *GatewayFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_GatewayFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_GatewayFeatureSpec_Components proto.InternalMessageInfo - -func (m *GatewayFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *GatewayFeatureSpec_Components) GetIngressGateway() *IngressGatewayComponentSpec { - if m != nil { - return m.IngressGateway - } - return nil -} - -func (m *GatewayFeatureSpec_Components) GetEgressGateway() *EgressGatewayComponentSpec { - if m != nil { - return m.EgressGateway - } - return nil -} - -// Configuration options for cni feature. -type CNIFeatureSpec struct { - // Selects whether CNI feature is installed. Must be set for any sub-component to be installed. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *CNIFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CNIFeatureSpec) Reset() { *m = CNIFeatureSpec{} } -func (m *CNIFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*CNIFeatureSpec) ProtoMessage() {} -func (*CNIFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{10} -} - -func (m *CNIFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CNIFeatureSpec.Unmarshal(m, b) -} -func (m *CNIFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CNIFeatureSpec.Marshal(b, m, deterministic) -} -func (m *CNIFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_CNIFeatureSpec.Merge(m, src) -} -func (m *CNIFeatureSpec) XXX_Size() int { - return xxx_messageInfo_CNIFeatureSpec.Size(m) -} -func (m *CNIFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_CNIFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_CNIFeatureSpec proto.InternalMessageInfo - -func (m *CNIFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *CNIFeatureSpec) GetComponents() *CNIFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -type CNIFeatureSpec_Components struct { - // Namespace that cni components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Cni *CNIComponentSpec `protobuf:"bytes,20,opt,name=cni,proto3" json:"cni,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CNIFeatureSpec_Components) Reset() { *m = CNIFeatureSpec_Components{} } -func (m *CNIFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*CNIFeatureSpec_Components) ProtoMessage() {} -func (*CNIFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{10, 0} -} - -func (m *CNIFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CNIFeatureSpec_Components.Unmarshal(m, b) -} -func (m *CNIFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CNIFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *CNIFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_CNIFeatureSpec_Components.Merge(m, src) -} -func (m *CNIFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_CNIFeatureSpec_Components.Size(m) -} -func (m *CNIFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_CNIFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_CNIFeatureSpec_Components proto.InternalMessageInfo - -func (m *CNIFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *CNIFeatureSpec_Components) GetCni() *CNIComponentSpec { - if m != nil { - return m.Cni - } - return nil -} - -// Configuration options for CoreDNS feature. -type CoreDNSFeatureSpec struct { - // Selects whether CoreDNS feature is installed. Must be set for any sub-component to be installed. - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Components *CoreDNSFeatureSpec_Components `protobuf:"bytes,50,opt,name=components,proto3" json:"components,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CoreDNSFeatureSpec) Reset() { *m = CoreDNSFeatureSpec{} } -func (m *CoreDNSFeatureSpec) String() string { return proto.CompactTextString(m) } -func (*CoreDNSFeatureSpec) ProtoMessage() {} -func (*CoreDNSFeatureSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{11} -} - -func (m *CoreDNSFeatureSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CoreDNSFeatureSpec.Unmarshal(m, b) -} -func (m *CoreDNSFeatureSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CoreDNSFeatureSpec.Marshal(b, m, deterministic) -} -func (m *CoreDNSFeatureSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_CoreDNSFeatureSpec.Merge(m, src) -} -func (m *CoreDNSFeatureSpec) XXX_Size() int { - return xxx_messageInfo_CoreDNSFeatureSpec.Size(m) -} -func (m *CoreDNSFeatureSpec) XXX_DiscardUnknown() { - xxx_messageInfo_CoreDNSFeatureSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_CoreDNSFeatureSpec proto.InternalMessageInfo - -func (m *CoreDNSFeatureSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *CoreDNSFeatureSpec) GetComponents() *CoreDNSFeatureSpec_Components { - if m != nil { - return m.Components - } - return nil -} - -type CoreDNSFeatureSpec_Components struct { - // Namespace that CoreDNS components are installed into. - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - CoreDNS *CoreDNSComponentSpec `protobuf:"bytes,20,opt,name=coreDNS,proto3" json:"coreDNS,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CoreDNSFeatureSpec_Components) Reset() { *m = CoreDNSFeatureSpec_Components{} } -func (m *CoreDNSFeatureSpec_Components) String() string { return proto.CompactTextString(m) } -func (*CoreDNSFeatureSpec_Components) ProtoMessage() {} -func (*CoreDNSFeatureSpec_Components) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{11, 0} -} - -func (m *CoreDNSFeatureSpec_Components) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CoreDNSFeatureSpec_Components.Unmarshal(m, b) -} -func (m *CoreDNSFeatureSpec_Components) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CoreDNSFeatureSpec_Components.Marshal(b, m, deterministic) -} -func (m *CoreDNSFeatureSpec_Components) XXX_Merge(src proto.Message) { - xxx_messageInfo_CoreDNSFeatureSpec_Components.Merge(m, src) -} -func (m *CoreDNSFeatureSpec_Components) XXX_Size() int { - return xxx_messageInfo_CoreDNSFeatureSpec_Components.Size(m) -} -func (m *CoreDNSFeatureSpec_Components) XXX_DiscardUnknown() { - xxx_messageInfo_CoreDNSFeatureSpec_Components.DiscardUnknown(m) -} - -var xxx_messageInfo_CoreDNSFeatureSpec_Components proto.InternalMessageInfo - -func (m *CoreDNSFeatureSpec_Components) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *CoreDNSFeatureSpec_Components) GetCoreDNS() *CoreDNSComponentSpec { - if m != nil { - return m.CoreDNS - } - return nil -} - -// Configuration options for the base component. -type BaseComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *BaseComponentSpec) Reset() { *m = BaseComponentSpec{} } -func (m *BaseComponentSpec) String() string { return proto.CompactTextString(m) } -func (*BaseComponentSpec) ProtoMessage() {} -func (*BaseComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{12} -} - -func (m *BaseComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_BaseComponentSpec.Unmarshal(m, b) -} -func (m *BaseComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_BaseComponentSpec.Marshal(b, m, deterministic) -} -func (m *BaseComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_BaseComponentSpec.Merge(m, src) -} -func (m *BaseComponentSpec) XXX_Size() int { - return xxx_messageInfo_BaseComponentSpec.Size(m) -} -func (m *BaseComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_BaseComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_BaseComponentSpec proto.InternalMessageInfo - -func (m *BaseComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -// Configuration options for the pilot component. -type PilotComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PilotComponentSpec) Reset() { *m = PilotComponentSpec{} } -func (m *PilotComponentSpec) String() string { return proto.CompactTextString(m) } -func (*PilotComponentSpec) ProtoMessage() {} -func (*PilotComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{13} -} - -func (m *PilotComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PilotComponentSpec.Unmarshal(m, b) -} -func (m *PilotComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PilotComponentSpec.Marshal(b, m, deterministic) -} -func (m *PilotComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_PilotComponentSpec.Merge(m, src) -} -func (m *PilotComponentSpec) XXX_Size() int { - return xxx_messageInfo_PilotComponentSpec.Size(m) -} -func (m *PilotComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_PilotComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_PilotComponentSpec proto.InternalMessageInfo - -func (m *PilotComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *PilotComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *PilotComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for the proxy. -type ProxyComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ProxyComponentSpec) Reset() { *m = ProxyComponentSpec{} } -func (m *ProxyComponentSpec) String() string { return proto.CompactTextString(m) } -func (*ProxyComponentSpec) ProtoMessage() {} -func (*ProxyComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{14} -} - -func (m *ProxyComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ProxyComponentSpec.Unmarshal(m, b) -} -func (m *ProxyComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ProxyComponentSpec.Marshal(b, m, deterministic) -} -func (m *ProxyComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_ProxyComponentSpec.Merge(m, src) -} -func (m *ProxyComponentSpec) XXX_Size() int { - return xxx_messageInfo_ProxyComponentSpec.Size(m) -} -func (m *ProxyComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_ProxyComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_ProxyComponentSpec proto.InternalMessageInfo - -func (m *ProxyComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *ProxyComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *ProxyComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for the sidecar injector component. -type SidecarInjectorComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SidecarInjectorComponentSpec) Reset() { *m = SidecarInjectorComponentSpec{} } -func (m *SidecarInjectorComponentSpec) String() string { return proto.CompactTextString(m) } -func (*SidecarInjectorComponentSpec) ProtoMessage() {} -func (*SidecarInjectorComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{15} -} - -func (m *SidecarInjectorComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SidecarInjectorComponentSpec.Unmarshal(m, b) -} -func (m *SidecarInjectorComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SidecarInjectorComponentSpec.Marshal(b, m, deterministic) -} -func (m *SidecarInjectorComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_SidecarInjectorComponentSpec.Merge(m, src) -} -func (m *SidecarInjectorComponentSpec) XXX_Size() int { - return xxx_messageInfo_SidecarInjectorComponentSpec.Size(m) -} -func (m *SidecarInjectorComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_SidecarInjectorComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_SidecarInjectorComponentSpec proto.InternalMessageInfo - -func (m *SidecarInjectorComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *SidecarInjectorComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *SidecarInjectorComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for the policy enforcement component. -type PolicyComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PolicyComponentSpec) Reset() { *m = PolicyComponentSpec{} } -func (m *PolicyComponentSpec) String() string { return proto.CompactTextString(m) } -func (*PolicyComponentSpec) ProtoMessage() {} -func (*PolicyComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{16} -} - -func (m *PolicyComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PolicyComponentSpec.Unmarshal(m, b) -} -func (m *PolicyComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PolicyComponentSpec.Marshal(b, m, deterministic) -} -func (m *PolicyComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_PolicyComponentSpec.Merge(m, src) -} -func (m *PolicyComponentSpec) XXX_Size() int { - return xxx_messageInfo_PolicyComponentSpec.Size(m) -} -func (m *PolicyComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_PolicyComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_PolicyComponentSpec proto.InternalMessageInfo - -func (m *PolicyComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *PolicyComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *PolicyComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for the telemetry component. -type TelemetryComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TelemetryComponentSpec) Reset() { *m = TelemetryComponentSpec{} } -func (m *TelemetryComponentSpec) String() string { return proto.CompactTextString(m) } -func (*TelemetryComponentSpec) ProtoMessage() {} -func (*TelemetryComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{17} -} - -func (m *TelemetryComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TelemetryComponentSpec.Unmarshal(m, b) -} -func (m *TelemetryComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TelemetryComponentSpec.Marshal(b, m, deterministic) -} -func (m *TelemetryComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_TelemetryComponentSpec.Merge(m, src) -} -func (m *TelemetryComponentSpec) XXX_Size() int { - return xxx_messageInfo_TelemetryComponentSpec.Size(m) -} -func (m *TelemetryComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_TelemetryComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_TelemetryComponentSpec proto.InternalMessageInfo - -func (m *TelemetryComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *TelemetryComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *TelemetryComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for Citadel component. -type CitadelComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CitadelComponentSpec) Reset() { *m = CitadelComponentSpec{} } -func (m *CitadelComponentSpec) String() string { return proto.CompactTextString(m) } -func (*CitadelComponentSpec) ProtoMessage() {} -func (*CitadelComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{18} -} - -func (m *CitadelComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CitadelComponentSpec.Unmarshal(m, b) -} -func (m *CitadelComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CitadelComponentSpec.Marshal(b, m, deterministic) -} -func (m *CitadelComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_CitadelComponentSpec.Merge(m, src) -} -func (m *CitadelComponentSpec) XXX_Size() int { - return xxx_messageInfo_CitadelComponentSpec.Size(m) -} -func (m *CitadelComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_CitadelComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_CitadelComponentSpec proto.InternalMessageInfo - -func (m *CitadelComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *CitadelComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *CitadelComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for certificate manager component. -type CertManagerComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CertManagerComponentSpec) Reset() { *m = CertManagerComponentSpec{} } -func (m *CertManagerComponentSpec) String() string { return proto.CompactTextString(m) } -func (*CertManagerComponentSpec) ProtoMessage() {} -func (*CertManagerComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{19} -} - -func (m *CertManagerComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CertManagerComponentSpec.Unmarshal(m, b) -} -func (m *CertManagerComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CertManagerComponentSpec.Marshal(b, m, deterministic) -} -func (m *CertManagerComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_CertManagerComponentSpec.Merge(m, src) -} -func (m *CertManagerComponentSpec) XXX_Size() int { - return xxx_messageInfo_CertManagerComponentSpec.Size(m) -} -func (m *CertManagerComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_CertManagerComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_CertManagerComponentSpec proto.InternalMessageInfo - -func (m *CertManagerComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *CertManagerComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *CertManagerComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for node agent component. -type NodeAgentComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *NodeAgentComponentSpec) Reset() { *m = NodeAgentComponentSpec{} } -func (m *NodeAgentComponentSpec) String() string { return proto.CompactTextString(m) } -func (*NodeAgentComponentSpec) ProtoMessage() {} -func (*NodeAgentComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{20} -} - -func (m *NodeAgentComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_NodeAgentComponentSpec.Unmarshal(m, b) -} -func (m *NodeAgentComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_NodeAgentComponentSpec.Marshal(b, m, deterministic) -} -func (m *NodeAgentComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_NodeAgentComponentSpec.Merge(m, src) -} -func (m *NodeAgentComponentSpec) XXX_Size() int { - return xxx_messageInfo_NodeAgentComponentSpec.Size(m) -} -func (m *NodeAgentComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_NodeAgentComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_NodeAgentComponentSpec proto.InternalMessageInfo - -func (m *NodeAgentComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *NodeAgentComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *NodeAgentComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for galley component. -type GalleyComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GalleyComponentSpec) Reset() { *m = GalleyComponentSpec{} } -func (m *GalleyComponentSpec) String() string { return proto.CompactTextString(m) } -func (*GalleyComponentSpec) ProtoMessage() {} -func (*GalleyComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{21} -} - -func (m *GalleyComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GalleyComponentSpec.Unmarshal(m, b) -} -func (m *GalleyComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GalleyComponentSpec.Marshal(b, m, deterministic) -} -func (m *GalleyComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_GalleyComponentSpec.Merge(m, src) -} -func (m *GalleyComponentSpec) XXX_Size() int { - return xxx_messageInfo_GalleyComponentSpec.Size(m) -} -func (m *GalleyComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_GalleyComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_GalleyComponentSpec proto.InternalMessageInfo - -func (m *GalleyComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *GalleyComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *GalleyComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for ingress gateways. -type IngressGatewayComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *IngressGatewayComponentSpec) Reset() { *m = IngressGatewayComponentSpec{} } -func (m *IngressGatewayComponentSpec) String() string { return proto.CompactTextString(m) } -func (*IngressGatewayComponentSpec) ProtoMessage() {} -func (*IngressGatewayComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{22} -} - -func (m *IngressGatewayComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_IngressGatewayComponentSpec.Unmarshal(m, b) -} -func (m *IngressGatewayComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_IngressGatewayComponentSpec.Marshal(b, m, deterministic) -} -func (m *IngressGatewayComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_IngressGatewayComponentSpec.Merge(m, src) -} -func (m *IngressGatewayComponentSpec) XXX_Size() int { - return xxx_messageInfo_IngressGatewayComponentSpec.Size(m) -} -func (m *IngressGatewayComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_IngressGatewayComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_IngressGatewayComponentSpec proto.InternalMessageInfo - -func (m *IngressGatewayComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *IngressGatewayComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *IngressGatewayComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for egress gateways. -type EgressGatewayComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *EgressGatewayComponentSpec) Reset() { *m = EgressGatewayComponentSpec{} } -func (m *EgressGatewayComponentSpec) String() string { return proto.CompactTextString(m) } -func (*EgressGatewayComponentSpec) ProtoMessage() {} -func (*EgressGatewayComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{23} -} - -func (m *EgressGatewayComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_EgressGatewayComponentSpec.Unmarshal(m, b) -} -func (m *EgressGatewayComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_EgressGatewayComponentSpec.Marshal(b, m, deterministic) -} -func (m *EgressGatewayComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_EgressGatewayComponentSpec.Merge(m, src) -} -func (m *EgressGatewayComponentSpec) XXX_Size() int { - return xxx_messageInfo_EgressGatewayComponentSpec.Size(m) -} -func (m *EgressGatewayComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_EgressGatewayComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_EgressGatewayComponentSpec proto.InternalMessageInfo - -func (m *EgressGatewayComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *EgressGatewayComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *EgressGatewayComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for cni component. -type CNIComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CNIComponentSpec) Reset() { *m = CNIComponentSpec{} } -func (m *CNIComponentSpec) String() string { return proto.CompactTextString(m) } -func (*CNIComponentSpec) ProtoMessage() {} -func (*CNIComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{24} -} - -func (m *CNIComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CNIComponentSpec.Unmarshal(m, b) -} -func (m *CNIComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CNIComponentSpec.Marshal(b, m, deterministic) -} -func (m *CNIComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_CNIComponentSpec.Merge(m, src) -} -func (m *CNIComponentSpec) XXX_Size() int { - return xxx_messageInfo_CNIComponentSpec.Size(m) -} -func (m *CNIComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_CNIComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_CNIComponentSpec proto.InternalMessageInfo - -func (m *CNIComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *CNIComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *CNIComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// Configuration options for CoreDNS component. -type CoreDNSComponentSpec struct { - Enabled *BoolValueForPB `protobuf:"bytes,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - K8S *KubernetesResourcesSpec `protobuf:"bytes,80,opt,name=k8s,proto3" json:"k8s,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *CoreDNSComponentSpec) Reset() { *m = CoreDNSComponentSpec{} } -func (m *CoreDNSComponentSpec) String() string { return proto.CompactTextString(m) } -func (*CoreDNSComponentSpec) ProtoMessage() {} -func (*CoreDNSComponentSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{25} -} - -func (m *CoreDNSComponentSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_CoreDNSComponentSpec.Unmarshal(m, b) -} -func (m *CoreDNSComponentSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_CoreDNSComponentSpec.Marshal(b, m, deterministic) -} -func (m *CoreDNSComponentSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_CoreDNSComponentSpec.Merge(m, src) -} -func (m *CoreDNSComponentSpec) XXX_Size() int { - return xxx_messageInfo_CoreDNSComponentSpec.Size(m) -} -func (m *CoreDNSComponentSpec) XXX_DiscardUnknown() { - xxx_messageInfo_CoreDNSComponentSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_CoreDNSComponentSpec proto.InternalMessageInfo - -func (m *CoreDNSComponentSpec) GetEnabled() *BoolValueForPB { - if m != nil { - return m.Enabled - } - return nil -} - -func (m *CoreDNSComponentSpec) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -func (m *CoreDNSComponentSpec) GetK8S() *KubernetesResourcesSpec { - if m != nil { - return m.K8S - } - return nil -} - -// KubernetesResourcesConfig is a common set of k8s resource configs for components. -type KubernetesResourcesSpec struct { - // k8s affinity. - // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - Affinity *v1.Affinity `protobuf:"bytes,1,opt,name=affinity,proto3" json:"affinity,omitempty"` - // Deployment environment variables. - // https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ - Env []*v1.EnvVar `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"` - // k8s HorizontalPodAutoscaler settings. - // https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ - HpaSpec *v2beta1.HorizontalPodAutoscalerSpec `protobuf:"bytes,3,opt,name=hpa_spec,json=hpaSpec,proto3" json:"hpa_spec,omitempty"` - // k8s imagePullPolicy. - // https://kubernetes.io/docs/concepts/containers/images/ - ImagePullPolicy string `protobuf:"bytes,4,opt,name=image_pull_policy,json=imagePullPolicy,proto3" json:"image_pull_policy,omitempty"` - // k8s nodeSelector. - // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - NodeSelector map[string]string `protobuf:"bytes,5,rep,name=node_selector,json=nodeSelector,proto3" json:"node_selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // k8s PodDisruptionBudget settings. - // https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work - PodDisruptionBudget *PodDisruptionBudgetSpec `protobuf:"bytes,6,opt,name=pod_disruption_budget,json=podDisruptionBudget,proto3" json:"pod_disruption_budget,omitempty"` - // k8s pod annotations. - // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ - PodAnnotations map[string]string `protobuf:"bytes,7,rep,name=pod_annotations,json=podAnnotations,proto3" json:"pod_annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // k8s priority_class_name. Default for all resources unless overridden. - // https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass - PriorityClassName string `protobuf:"bytes,8,opt,name=priority_class_name,json=priorityClassName,proto3" json:"priority_class_name,omitempty"` - // k8s readinessProbe settings. - // https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ - // k8s.io.api.core.v1.Probe readiness_probe = 9; - ReadinessProbe *ReadinessProbe `protobuf:"bytes,9,opt,name=readiness_probe,json=readinessProbe,proto3" json:"readiness_probe,omitempty"` - // k8s Deployment replicas setting. - // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ - ReplicaCount uint32 `protobuf:"varint,10,opt,name=replica_count,json=replicaCount,proto3" json:"replica_count,omitempty"` - // k8s resources settings. - // https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container - Resources *Resources `protobuf:"bytes,11,opt,name=resources,proto3" json:"resources,omitempty"` - // k8s Service settings. - // https://kubernetes.io/docs/concepts/services-networking/service/ - Service *ServiceSpec `protobuf:"bytes,12,opt,name=service,proto3" json:"service,omitempty"` - // k8s deployment strategy. - // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ - Strategy *DeploymentStrategy `protobuf:"bytes,13,opt,name=strategy,proto3" json:"strategy,omitempty"` - // k8s toleration - // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - Tolerations []*v1.Toleration `protobuf:"bytes,14,rep,name=tolerations,proto3" json:"tolerations,omitempty"` - // Overlays for k8s resources in rendered manifests. - Overlays []*K8SObjectOverlay `protobuf:"bytes,100,rep,name=overlays,proto3" json:"overlays,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *KubernetesResourcesSpec) Reset() { *m = KubernetesResourcesSpec{} } -func (m *KubernetesResourcesSpec) String() string { return proto.CompactTextString(m) } -func (*KubernetesResourcesSpec) ProtoMessage() {} -func (*KubernetesResourcesSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{26} -} - -func (m *KubernetesResourcesSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_KubernetesResourcesSpec.Unmarshal(m, b) -} -func (m *KubernetesResourcesSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_KubernetesResourcesSpec.Marshal(b, m, deterministic) -} -func (m *KubernetesResourcesSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_KubernetesResourcesSpec.Merge(m, src) -} -func (m *KubernetesResourcesSpec) XXX_Size() int { - return xxx_messageInfo_KubernetesResourcesSpec.Size(m) -} -func (m *KubernetesResourcesSpec) XXX_DiscardUnknown() { - xxx_messageInfo_KubernetesResourcesSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_KubernetesResourcesSpec proto.InternalMessageInfo - -func (m *KubernetesResourcesSpec) GetAffinity() *v1.Affinity { - if m != nil { - return m.Affinity - } - return nil -} - -func (m *KubernetesResourcesSpec) GetEnv() []*v1.EnvVar { - if m != nil { - return m.Env - } - return nil -} - -func (m *KubernetesResourcesSpec) GetHpaSpec() *v2beta1.HorizontalPodAutoscalerSpec { - if m != nil { - return m.HpaSpec - } - return nil -} - -func (m *KubernetesResourcesSpec) GetImagePullPolicy() string { - if m != nil { - return m.ImagePullPolicy - } - return "" -} - -func (m *KubernetesResourcesSpec) GetNodeSelector() map[string]string { - if m != nil { - return m.NodeSelector - } - return nil -} - -func (m *KubernetesResourcesSpec) GetPodDisruptionBudget() *PodDisruptionBudgetSpec { - if m != nil { - return m.PodDisruptionBudget - } - return nil -} - -func (m *KubernetesResourcesSpec) GetPodAnnotations() map[string]string { - if m != nil { - return m.PodAnnotations - } - return nil -} - -func (m *KubernetesResourcesSpec) GetPriorityClassName() string { - if m != nil { - return m.PriorityClassName - } - return "" -} - -func (m *KubernetesResourcesSpec) GetReadinessProbe() *ReadinessProbe { - if m != nil { - return m.ReadinessProbe - } - return nil -} - -func (m *KubernetesResourcesSpec) GetReplicaCount() uint32 { - if m != nil { - return m.ReplicaCount - } - return 0 -} - -func (m *KubernetesResourcesSpec) GetResources() *Resources { - if m != nil { - return m.Resources - } - return nil -} - -func (m *KubernetesResourcesSpec) GetService() *ServiceSpec { - if m != nil { - return m.Service - } - return nil -} - -func (m *KubernetesResourcesSpec) GetStrategy() *DeploymentStrategy { - if m != nil { - return m.Strategy - } - return nil -} - -func (m *KubernetesResourcesSpec) GetTolerations() []*v1.Toleration { - if m != nil { - return m.Tolerations - } - return nil -} - -func (m *KubernetesResourcesSpec) GetOverlays() []*K8SObjectOverlay { - if m != nil { - return m.Overlays - } - return nil -} - -// Patch for an existing k8s resource. -type K8SObjectOverlay struct { - // Resource API version. - ApiVersion string `protobuf:"bytes,1,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"` - // Resource kind. - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - // Name of resource. - // Namespace is always the component namespace. - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - // List of patches to apply to resource. - Patches []*K8SObjectOverlay_PathValue `protobuf:"bytes,4,rep,name=patches,proto3" json:"patches,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *K8SObjectOverlay) Reset() { *m = K8SObjectOverlay{} } -func (m *K8SObjectOverlay) String() string { return proto.CompactTextString(m) } -func (*K8SObjectOverlay) ProtoMessage() {} -func (*K8SObjectOverlay) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{27} -} - -func (m *K8SObjectOverlay) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_K8SObjectOverlay.Unmarshal(m, b) -} -func (m *K8SObjectOverlay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_K8SObjectOverlay.Marshal(b, m, deterministic) -} -func (m *K8SObjectOverlay) XXX_Merge(src proto.Message) { - xxx_messageInfo_K8SObjectOverlay.Merge(m, src) -} -func (m *K8SObjectOverlay) XXX_Size() int { - return xxx_messageInfo_K8SObjectOverlay.Size(m) -} -func (m *K8SObjectOverlay) XXX_DiscardUnknown() { - xxx_messageInfo_K8SObjectOverlay.DiscardUnknown(m) -} - -var xxx_messageInfo_K8SObjectOverlay proto.InternalMessageInfo - -func (m *K8SObjectOverlay) GetApiVersion() string { - if m != nil { - return m.ApiVersion - } - return "" -} - -func (m *K8SObjectOverlay) GetKind() string { - if m != nil { - return m.Kind - } - return "" -} - -func (m *K8SObjectOverlay) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *K8SObjectOverlay) GetPatches() []*K8SObjectOverlay_PathValue { - if m != nil { - return m.Patches - } - return nil -} - -type K8SObjectOverlay_PathValue struct { - // Path of the form a.b:c.e.:f - // Where b:c is a list element selector of the form key:value and :f is a list selector of the form :value. - // All path intermediate nodes must exist. - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - // Value to add, delete or replace. - // For add, the path should be a new leaf. - // For delete, value should be unset. - // For replace, path should reference an existing node. - // All values are strings but are converted into appropriate type based on schema. - Value interface{} `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *K8SObjectOverlay_PathValue) Reset() { *m = K8SObjectOverlay_PathValue{} } -func (m *K8SObjectOverlay_PathValue) String() string { return proto.CompactTextString(m) } -func (*K8SObjectOverlay_PathValue) ProtoMessage() {} -func (*K8SObjectOverlay_PathValue) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{27, 0} -} - -func (m *K8SObjectOverlay_PathValue) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_K8SObjectOverlay_PathValue.Unmarshal(m, b) -} -func (m *K8SObjectOverlay_PathValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_K8SObjectOverlay_PathValue.Marshal(b, m, deterministic) -} -func (m *K8SObjectOverlay_PathValue) XXX_Merge(src proto.Message) { - xxx_messageInfo_K8SObjectOverlay_PathValue.Merge(m, src) -} -func (m *K8SObjectOverlay_PathValue) XXX_Size() int { - return xxx_messageInfo_K8SObjectOverlay_PathValue.Size(m) -} -func (m *K8SObjectOverlay_PathValue) XXX_DiscardUnknown() { - xxx_messageInfo_K8SObjectOverlay_PathValue.DiscardUnknown(m) -} - -var xxx_messageInfo_K8SObjectOverlay_PathValue proto.InternalMessageInfo - -func (m *K8SObjectOverlay_PathValue) GetPath() string { - if m != nil { - return m.Path - } - return "" -} - -func (m *K8SObjectOverlay_PathValue) GetValue() interface{} { - if m != nil { - return m.Value - } - return nil -} - -// Observed state of IstioControlPlane. -type InstallStatus struct { - Status map[string]*InstallStatus_VersionStatus `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *InstallStatus) Reset() { *m = InstallStatus{} } -func (m *InstallStatus) String() string { return proto.CompactTextString(m) } -func (*InstallStatus) ProtoMessage() {} -func (*InstallStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{28} -} - -func (m *InstallStatus) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InstallStatus.Unmarshal(m, b) -} -func (m *InstallStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InstallStatus.Marshal(b, m, deterministic) -} -func (m *InstallStatus) XXX_Merge(src proto.Message) { - xxx_messageInfo_InstallStatus.Merge(m, src) -} -func (m *InstallStatus) XXX_Size() int { - return xxx_messageInfo_InstallStatus.Size(m) -} -func (m *InstallStatus) XXX_DiscardUnknown() { - xxx_messageInfo_InstallStatus.DiscardUnknown(m) -} - -var xxx_messageInfo_InstallStatus proto.InternalMessageInfo - -func (m *InstallStatus) GetStatus() map[string]*InstallStatus_VersionStatus { - if m != nil { - return m.Status - } - return nil -} - -type InstallStatus_VersionStatus struct { - Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - Status InstallStatus_Status `protobuf:"varint,2,opt,name=status,proto3,enum=v1alpha2.InstallStatus_Status" json:"status,omitempty"` - StatusString string `protobuf:"bytes,3,opt,name=statusString,proto3" json:"statusString,omitempty"` - Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *InstallStatus_VersionStatus) Reset() { *m = InstallStatus_VersionStatus{} } -func (m *InstallStatus_VersionStatus) String() string { return proto.CompactTextString(m) } -func (*InstallStatus_VersionStatus) ProtoMessage() {} -func (*InstallStatus_VersionStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{28, 0} -} - -func (m *InstallStatus_VersionStatus) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_InstallStatus_VersionStatus.Unmarshal(m, b) -} -func (m *InstallStatus_VersionStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_InstallStatus_VersionStatus.Marshal(b, m, deterministic) -} -func (m *InstallStatus_VersionStatus) XXX_Merge(src proto.Message) { - xxx_messageInfo_InstallStatus_VersionStatus.Merge(m, src) -} -func (m *InstallStatus_VersionStatus) XXX_Size() int { - return xxx_messageInfo_InstallStatus_VersionStatus.Size(m) -} -func (m *InstallStatus_VersionStatus) XXX_DiscardUnknown() { - xxx_messageInfo_InstallStatus_VersionStatus.DiscardUnknown(m) -} - -var xxx_messageInfo_InstallStatus_VersionStatus proto.InternalMessageInfo - -func (m *InstallStatus_VersionStatus) GetVersion() string { - if m != nil { - return m.Version - } - return "" -} - -func (m *InstallStatus_VersionStatus) GetStatus() InstallStatus_Status { - if m != nil { - return m.Status - } - return InstallStatus_NONE -} - -func (m *InstallStatus_VersionStatus) GetStatusString() string { - if m != nil { - return m.StatusString - } - return "" -} - -func (m *InstallStatus_VersionStatus) GetError() string { - if m != nil { - return m.Error - } - return "" -} - -// Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling. -type Resources struct { - Limits map[string]string `protobuf:"bytes,1,rep,name=limits,proto3" json:"limits,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Requests map[string]string `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Resources) Reset() { *m = Resources{} } -func (m *Resources) String() string { return proto.CompactTextString(m) } -func (*Resources) ProtoMessage() {} -func (*Resources) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{29} -} - -func (m *Resources) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Resources.Unmarshal(m, b) -} -func (m *Resources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Resources.Marshal(b, m, deterministic) -} -func (m *Resources) XXX_Merge(src proto.Message) { - xxx_messageInfo_Resources.Merge(m, src) -} -func (m *Resources) XXX_Size() int { - return xxx_messageInfo_Resources.Size(m) -} -func (m *Resources) XXX_DiscardUnknown() { - xxx_messageInfo_Resources.DiscardUnknown(m) -} - -var xxx_messageInfo_Resources proto.InternalMessageInfo - -func (m *Resources) GetLimits() map[string]string { - if m != nil { - return m.Limits - } - return nil -} - -func (m *Resources) GetRequests() map[string]string { - if m != nil { - return m.Requests - } - return nil -} - -// Mirrors k8s.io.api.core.v1.Probe for unmarshaling -type ReadinessProbe struct { - Exec *ExecAction `protobuf:"bytes,1,opt,name=exec,proto3" json:"exec,omitempty"` - HttpGet *HTTPGetAction `protobuf:"bytes,2,opt,name=httpGet,proto3" json:"httpGet,omitempty"` - TcpSocket *TCPSocketAction `protobuf:"bytes,3,opt,name=tcpSocket,proto3" json:"tcpSocket,omitempty"` - InitialDelaySeconds int32 `protobuf:"varint,4,opt,name=initialDelaySeconds,proto3" json:"initialDelaySeconds,omitempty"` - TimeoutSeconds int32 `protobuf:"varint,5,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` - PeriodSeconds int32 `protobuf:"varint,6,opt,name=periodSeconds,proto3" json:"periodSeconds,omitempty"` - SuccessThreshold int32 `protobuf:"varint,7,opt,name=successThreshold,proto3" json:"successThreshold,omitempty"` - FailureThreshold int32 `protobuf:"varint,8,opt,name=failureThreshold,proto3" json:"failureThreshold,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ReadinessProbe) Reset() { *m = ReadinessProbe{} } -func (m *ReadinessProbe) String() string { return proto.CompactTextString(m) } -func (*ReadinessProbe) ProtoMessage() {} -func (*ReadinessProbe) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{30} -} - -func (m *ReadinessProbe) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ReadinessProbe.Unmarshal(m, b) -} -func (m *ReadinessProbe) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ReadinessProbe.Marshal(b, m, deterministic) -} -func (m *ReadinessProbe) XXX_Merge(src proto.Message) { - xxx_messageInfo_ReadinessProbe.Merge(m, src) -} -func (m *ReadinessProbe) XXX_Size() int { - return xxx_messageInfo_ReadinessProbe.Size(m) -} -func (m *ReadinessProbe) XXX_DiscardUnknown() { - xxx_messageInfo_ReadinessProbe.DiscardUnknown(m) -} - -var xxx_messageInfo_ReadinessProbe proto.InternalMessageInfo - -func (m *ReadinessProbe) GetExec() *ExecAction { - if m != nil { - return m.Exec - } - return nil -} - -func (m *ReadinessProbe) GetHttpGet() *HTTPGetAction { - if m != nil { - return m.HttpGet - } - return nil -} - -func (m *ReadinessProbe) GetTcpSocket() *TCPSocketAction { - if m != nil { - return m.TcpSocket - } - return nil -} - -func (m *ReadinessProbe) GetInitialDelaySeconds() int32 { - if m != nil { - return m.InitialDelaySeconds - } - return 0 -} - -func (m *ReadinessProbe) GetTimeoutSeconds() int32 { - if m != nil { - return m.TimeoutSeconds - } - return 0 -} - -func (m *ReadinessProbe) GetPeriodSeconds() int32 { - if m != nil { - return m.PeriodSeconds - } - return 0 -} - -func (m *ReadinessProbe) GetSuccessThreshold() int32 { - if m != nil { - return m.SuccessThreshold - } - return 0 -} - -func (m *ReadinessProbe) GetFailureThreshold() int32 { - if m != nil { - return m.FailureThreshold - } - return 0 -} - -// Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling -type ExecAction struct { - Command []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ExecAction) Reset() { *m = ExecAction{} } -func (m *ExecAction) String() string { return proto.CompactTextString(m) } -func (*ExecAction) ProtoMessage() {} -func (*ExecAction) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{31} -} - -func (m *ExecAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ExecAction.Unmarshal(m, b) -} -func (m *ExecAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ExecAction.Marshal(b, m, deterministic) -} -func (m *ExecAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_ExecAction.Merge(m, src) -} -func (m *ExecAction) XXX_Size() int { - return xxx_messageInfo_ExecAction.Size(m) -} -func (m *ExecAction) XXX_DiscardUnknown() { - xxx_messageInfo_ExecAction.DiscardUnknown(m) -} - -var xxx_messageInfo_ExecAction proto.InternalMessageInfo - -func (m *ExecAction) GetCommand() []string { - if m != nil { - return m.Command - } - return nil -} - -// Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling -type HTTPGetAction struct { - Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - Port *IntOrStringForPB `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` - Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"` - Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"` - HttpHeaders []*HTTPHeader `protobuf:"bytes,5,rep,name=httpHeaders,proto3" json:"httpHeaders,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPGetAction) Reset() { *m = HTTPGetAction{} } -func (m *HTTPGetAction) String() string { return proto.CompactTextString(m) } -func (*HTTPGetAction) ProtoMessage() {} -func (*HTTPGetAction) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{32} -} - -func (m *HTTPGetAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HTTPGetAction.Unmarshal(m, b) -} -func (m *HTTPGetAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HTTPGetAction.Marshal(b, m, deterministic) -} -func (m *HTTPGetAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPGetAction.Merge(m, src) -} -func (m *HTTPGetAction) XXX_Size() int { - return xxx_messageInfo_HTTPGetAction.Size(m) -} -func (m *HTTPGetAction) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPGetAction.DiscardUnknown(m) -} - -var xxx_messageInfo_HTTPGetAction proto.InternalMessageInfo - -func (m *HTTPGetAction) GetPath() string { - if m != nil { - return m.Path - } - return "" -} - -func (m *HTTPGetAction) GetPort() *IntOrStringForPB { - if m != nil { - return m.Port - } - return nil -} - -func (m *HTTPGetAction) GetHost() string { - if m != nil { - return m.Host - } - return "" -} - -func (m *HTTPGetAction) GetScheme() string { - if m != nil { - return m.Scheme - } - return "" -} - -func (m *HTTPGetAction) GetHttpHeaders() []*HTTPHeader { - if m != nil { - return m.HttpHeaders - } - return nil -} - -// Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling -type HTTPHeader struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *HTTPHeader) Reset() { *m = HTTPHeader{} } -func (m *HTTPHeader) String() string { return proto.CompactTextString(m) } -func (*HTTPHeader) ProtoMessage() {} -func (*HTTPHeader) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{33} -} - -func (m *HTTPHeader) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_HTTPHeader.Unmarshal(m, b) -} -func (m *HTTPHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_HTTPHeader.Marshal(b, m, deterministic) -} -func (m *HTTPHeader) XXX_Merge(src proto.Message) { - xxx_messageInfo_HTTPHeader.Merge(m, src) -} -func (m *HTTPHeader) XXX_Size() int { - return xxx_messageInfo_HTTPHeader.Size(m) -} -func (m *HTTPHeader) XXX_DiscardUnknown() { - xxx_messageInfo_HTTPHeader.DiscardUnknown(m) -} - -var xxx_messageInfo_HTTPHeader proto.InternalMessageInfo - -func (m *HTTPHeader) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *HTTPHeader) GetValue() string { - if m != nil { - return m.Value - } - return "" -} - -// Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling -type TCPSocketAction struct { - Port *IntOrStringForPB `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` - Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *TCPSocketAction) Reset() { *m = TCPSocketAction{} } -func (m *TCPSocketAction) String() string { return proto.CompactTextString(m) } -func (*TCPSocketAction) ProtoMessage() {} -func (*TCPSocketAction) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{34} -} - -func (m *TCPSocketAction) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_TCPSocketAction.Unmarshal(m, b) -} -func (m *TCPSocketAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_TCPSocketAction.Marshal(b, m, deterministic) -} -func (m *TCPSocketAction) XXX_Merge(src proto.Message) { - xxx_messageInfo_TCPSocketAction.Merge(m, src) -} -func (m *TCPSocketAction) XXX_Size() int { - return xxx_messageInfo_TCPSocketAction.Size(m) -} -func (m *TCPSocketAction) XXX_DiscardUnknown() { - xxx_messageInfo_TCPSocketAction.DiscardUnknown(m) -} - -var xxx_messageInfo_TCPSocketAction proto.InternalMessageInfo - -func (m *TCPSocketAction) GetPort() *IntOrStringForPB { - if m != nil { - return m.Port - } - return nil -} - -func (m *TCPSocketAction) GetHost() string { - if m != nil { - return m.Host - } - return "" -} - -// Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling. -type PodDisruptionBudgetSpec struct { - MinAvailable uint32 `protobuf:"varint,1,opt,name=minAvailable,proto3" json:"minAvailable,omitempty"` - Selector *v11.LabelSelector `protobuf:"bytes,2,opt,name=selector,proto3" json:"selector,omitempty"` - MaxUnavailable uint32 `protobuf:"varint,3,opt,name=maxUnavailable,proto3" json:"maxUnavailable,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *PodDisruptionBudgetSpec) Reset() { *m = PodDisruptionBudgetSpec{} } -func (m *PodDisruptionBudgetSpec) String() string { return proto.CompactTextString(m) } -func (*PodDisruptionBudgetSpec) ProtoMessage() {} -func (*PodDisruptionBudgetSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{35} -} - -func (m *PodDisruptionBudgetSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_PodDisruptionBudgetSpec.Unmarshal(m, b) -} -func (m *PodDisruptionBudgetSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_PodDisruptionBudgetSpec.Marshal(b, m, deterministic) -} -func (m *PodDisruptionBudgetSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_PodDisruptionBudgetSpec.Merge(m, src) -} -func (m *PodDisruptionBudgetSpec) XXX_Size() int { - return xxx_messageInfo_PodDisruptionBudgetSpec.Size(m) -} -func (m *PodDisruptionBudgetSpec) XXX_DiscardUnknown() { - xxx_messageInfo_PodDisruptionBudgetSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_PodDisruptionBudgetSpec proto.InternalMessageInfo - -func (m *PodDisruptionBudgetSpec) GetMinAvailable() uint32 { - if m != nil { - return m.MinAvailable - } - return 0 -} - -func (m *PodDisruptionBudgetSpec) GetSelector() *v11.LabelSelector { - if m != nil { - return m.Selector - } - return nil -} - -func (m *PodDisruptionBudgetSpec) GetMaxUnavailable() uint32 { - if m != nil { - return m.MaxUnavailable - } - return 0 -} - -// Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling. -type DeploymentStrategy struct { - Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` - RollingUpdate *RollingUpdateDeployment `protobuf:"bytes,2,opt,name=rollingUpdate,proto3" json:"rollingUpdate,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} } -func (m *DeploymentStrategy) String() string { return proto.CompactTextString(m) } -func (*DeploymentStrategy) ProtoMessage() {} -func (*DeploymentStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{36} -} - -func (m *DeploymentStrategy) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeploymentStrategy.Unmarshal(m, b) -} -func (m *DeploymentStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeploymentStrategy.Marshal(b, m, deterministic) -} -func (m *DeploymentStrategy) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeploymentStrategy.Merge(m, src) -} -func (m *DeploymentStrategy) XXX_Size() int { - return xxx_messageInfo_DeploymentStrategy.Size(m) -} -func (m *DeploymentStrategy) XXX_DiscardUnknown() { - xxx_messageInfo_DeploymentStrategy.DiscardUnknown(m) -} - -var xxx_messageInfo_DeploymentStrategy proto.InternalMessageInfo - -func (m *DeploymentStrategy) GetType() string { - if m != nil { - return m.Type - } - return "" -} - -func (m *DeploymentStrategy) GetRollingUpdate() *RollingUpdateDeployment { - if m != nil { - return m.RollingUpdate - } - return nil -} - -// Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling. -type RollingUpdateDeployment struct { - MaxUnavailable *IntOrStringForPB `protobuf:"bytes,1,opt,name=maxUnavailable,proto3" json:"maxUnavailable,omitempty"` - MaxSurge *IntOrStringForPB `protobuf:"bytes,2,opt,name=maxSurge,proto3" json:"maxSurge,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} } -func (m *RollingUpdateDeployment) String() string { return proto.CompactTextString(m) } -func (*RollingUpdateDeployment) ProtoMessage() {} -func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{37} -} - -func (m *RollingUpdateDeployment) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RollingUpdateDeployment.Unmarshal(m, b) -} -func (m *RollingUpdateDeployment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RollingUpdateDeployment.Marshal(b, m, deterministic) -} -func (m *RollingUpdateDeployment) XXX_Merge(src proto.Message) { - xxx_messageInfo_RollingUpdateDeployment.Merge(m, src) -} -func (m *RollingUpdateDeployment) XXX_Size() int { - return xxx_messageInfo_RollingUpdateDeployment.Size(m) -} -func (m *RollingUpdateDeployment) XXX_DiscardUnknown() { - xxx_messageInfo_RollingUpdateDeployment.DiscardUnknown(m) -} - -var xxx_messageInfo_RollingUpdateDeployment proto.InternalMessageInfo - -func (m *RollingUpdateDeployment) GetMaxUnavailable() *IntOrStringForPB { - if m != nil { - return m.MaxUnavailable - } - return nil -} - -func (m *RollingUpdateDeployment) GetMaxSurge() *IntOrStringForPB { - if m != nil { - return m.MaxSurge - } - return nil -} - -type ObjectMeta struct { - // From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` - Namespace string `protobuf:"bytes,6,opt,name=namespace,proto3" json:"namespace,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ObjectMeta) Reset() { *m = ObjectMeta{} } -func (m *ObjectMeta) String() string { return proto.CompactTextString(m) } -func (*ObjectMeta) ProtoMessage() {} -func (*ObjectMeta) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{38} -} - -func (m *ObjectMeta) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ObjectMeta.Unmarshal(m, b) -} -func (m *ObjectMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ObjectMeta.Marshal(b, m, deterministic) -} -func (m *ObjectMeta) XXX_Merge(src proto.Message) { - xxx_messageInfo_ObjectMeta.Merge(m, src) -} -func (m *ObjectMeta) XXX_Size() int { - return xxx_messageInfo_ObjectMeta.Size(m) -} -func (m *ObjectMeta) XXX_DiscardUnknown() { - xxx_messageInfo_ObjectMeta.DiscardUnknown(m) -} - -var xxx_messageInfo_ObjectMeta proto.InternalMessageInfo - -func (m *ObjectMeta) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *ObjectMeta) GetNamespace() string { - if m != nil { - return m.Namespace - } - return "" -} - -// Mirrors k8s.io.core.v1.ServiceSpec for unmarshalling. -type ServiceSpec struct { - Ports []*ServicePort `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` - Selector map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - ClusterIP string `protobuf:"bytes,3,opt,name=clusterIP,proto3" json:"clusterIP,omitempty"` - Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` - ExternalIPs []string `protobuf:"bytes,5,rep,name=externalIPs,proto3" json:"externalIPs,omitempty"` - SessionAffinity string `protobuf:"bytes,7,opt,name=sessionAffinity,proto3" json:"sessionAffinity,omitempty"` - LoadBalancerIP string `protobuf:"bytes,8,opt,name=loadBalancerIP,proto3" json:"loadBalancerIP,omitempty"` - LoadBalancerSourceRanges []string `protobuf:"bytes,9,rep,name=loadBalancerSourceRanges,proto3" json:"loadBalancerSourceRanges,omitempty"` - ExternalName string `protobuf:"bytes,10,opt,name=externalName,proto3" json:"externalName,omitempty"` - ExternalTrafficPolicy string `protobuf:"bytes,11,opt,name=externalTrafficPolicy,proto3" json:"externalTrafficPolicy,omitempty"` - HealthCheckNodePort int32 `protobuf:"varint,12,opt,name=healthCheckNodePort,proto3" json:"healthCheckNodePort,omitempty"` - PublishNotReadyAddresses bool `protobuf:"varint,13,opt,name=publishNotReadyAddresses,proto3" json:"publishNotReadyAddresses,omitempty"` - SessionAffinityConfig *SessionAffinityConfig `protobuf:"bytes,14,opt,name=sessionAffinityConfig,proto3" json:"sessionAffinityConfig,omitempty"` - IpFamily string `protobuf:"bytes,15,opt,name=ipFamily,proto3" json:"ipFamily,omitempty"` - TopologyKeys []string `protobuf:"bytes,16,rep,name=topologyKeys,proto3" json:"topologyKeys,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServiceSpec) Reset() { *m = ServiceSpec{} } -func (m *ServiceSpec) String() string { return proto.CompactTextString(m) } -func (*ServiceSpec) ProtoMessage() {} -func (*ServiceSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{39} -} - -func (m *ServiceSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ServiceSpec.Unmarshal(m, b) -} -func (m *ServiceSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ServiceSpec.Marshal(b, m, deterministic) -} -func (m *ServiceSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServiceSpec.Merge(m, src) -} -func (m *ServiceSpec) XXX_Size() int { - return xxx_messageInfo_ServiceSpec.Size(m) -} -func (m *ServiceSpec) XXX_DiscardUnknown() { - xxx_messageInfo_ServiceSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_ServiceSpec proto.InternalMessageInfo - -func (m *ServiceSpec) GetPorts() []*ServicePort { - if m != nil { - return m.Ports - } - return nil -} - -func (m *ServiceSpec) GetSelector() map[string]string { - if m != nil { - return m.Selector - } - return nil -} - -func (m *ServiceSpec) GetClusterIP() string { - if m != nil { - return m.ClusterIP - } - return "" -} - -func (m *ServiceSpec) GetType() string { - if m != nil { - return m.Type - } - return "" -} - -func (m *ServiceSpec) GetExternalIPs() []string { - if m != nil { - return m.ExternalIPs - } - return nil -} - -func (m *ServiceSpec) GetSessionAffinity() string { - if m != nil { - return m.SessionAffinity - } - return "" -} - -func (m *ServiceSpec) GetLoadBalancerIP() string { - if m != nil { - return m.LoadBalancerIP - } - return "" -} - -func (m *ServiceSpec) GetLoadBalancerSourceRanges() []string { - if m != nil { - return m.LoadBalancerSourceRanges - } - return nil -} - -func (m *ServiceSpec) GetExternalName() string { - if m != nil { - return m.ExternalName - } - return "" -} - -func (m *ServiceSpec) GetExternalTrafficPolicy() string { - if m != nil { - return m.ExternalTrafficPolicy - } - return "" -} - -func (m *ServiceSpec) GetHealthCheckNodePort() int32 { - if m != nil { - return m.HealthCheckNodePort - } - return 0 -} - -func (m *ServiceSpec) GetPublishNotReadyAddresses() bool { - if m != nil { - return m.PublishNotReadyAddresses - } - return false -} - -func (m *ServiceSpec) GetSessionAffinityConfig() *SessionAffinityConfig { - if m != nil { - return m.SessionAffinityConfig - } - return nil -} - -func (m *ServiceSpec) GetIpFamily() string { - if m != nil { - return m.IpFamily - } - return "" -} - -func (m *ServiceSpec) GetTopologyKeys() []string { - if m != nil { - return m.TopologyKeys - } - return nil -} - -// Mirrors k8s.io.core.v1.ServicePort for unmarshalling. -type ServicePort struct { - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` - Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` - TargetPort *IntOrStringForPB `protobuf:"bytes,4,opt,name=targetPort,proto3" json:"targetPort,omitempty"` - NodePort int32 `protobuf:"varint,5,opt,name=nodePort,proto3" json:"nodePort,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ServicePort) Reset() { *m = ServicePort{} } -func (m *ServicePort) String() string { return proto.CompactTextString(m) } -func (*ServicePort) ProtoMessage() {} -func (*ServicePort) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{40} -} - -func (m *ServicePort) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ServicePort.Unmarshal(m, b) -} -func (m *ServicePort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ServicePort.Marshal(b, m, deterministic) -} -func (m *ServicePort) XXX_Merge(src proto.Message) { - xxx_messageInfo_ServicePort.Merge(m, src) -} -func (m *ServicePort) XXX_Size() int { - return xxx_messageInfo_ServicePort.Size(m) -} -func (m *ServicePort) XXX_DiscardUnknown() { - xxx_messageInfo_ServicePort.DiscardUnknown(m) -} - -var xxx_messageInfo_ServicePort proto.InternalMessageInfo - -func (m *ServicePort) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *ServicePort) GetProtocol() string { - if m != nil { - return m.Protocol - } - return "" -} - -func (m *ServicePort) GetPort() int32 { - if m != nil { - return m.Port - } - return 0 -} - -func (m *ServicePort) GetTargetPort() *IntOrStringForPB { - if m != nil { - return m.TargetPort - } - return nil -} - -func (m *ServicePort) GetNodePort() int32 { - if m != nil { - return m.NodePort - } - return 0 -} - -// Mirrors k8s.io.core.v1.SessionAffinityConfig for unmarshalling. -type SessionAffinityConfig struct { - ClientIP *ClientIPConfig `protobuf:"bytes,1,opt,name=clientIP,proto3" json:"clientIP,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SessionAffinityConfig) Reset() { *m = SessionAffinityConfig{} } -func (m *SessionAffinityConfig) String() string { return proto.CompactTextString(m) } -func (*SessionAffinityConfig) ProtoMessage() {} -func (*SessionAffinityConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{41} -} - -func (m *SessionAffinityConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SessionAffinityConfig.Unmarshal(m, b) -} -func (m *SessionAffinityConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SessionAffinityConfig.Marshal(b, m, deterministic) -} -func (m *SessionAffinityConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_SessionAffinityConfig.Merge(m, src) -} -func (m *SessionAffinityConfig) XXX_Size() int { - return xxx_messageInfo_SessionAffinityConfig.Size(m) -} -func (m *SessionAffinityConfig) XXX_DiscardUnknown() { - xxx_messageInfo_SessionAffinityConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_SessionAffinityConfig proto.InternalMessageInfo - -func (m *SessionAffinityConfig) GetClientIP() *ClientIPConfig { - if m != nil { - return m.ClientIP - } - return nil -} - -// Mirrors k8s.io.core.v1.ClientIPConfig for unmarshalling. -type ClientIPConfig struct { - TimeoutSeconds int32 `protobuf:"varint,1,opt,name=timeoutSeconds,proto3" json:"timeoutSeconds,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ClientIPConfig) Reset() { *m = ClientIPConfig{} } -func (m *ClientIPConfig) String() string { return proto.CompactTextString(m) } -func (*ClientIPConfig) ProtoMessage() {} -func (*ClientIPConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_daac92937abd81a4, []int{42} -} - -func (m *ClientIPConfig) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ClientIPConfig.Unmarshal(m, b) -} -func (m *ClientIPConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ClientIPConfig.Marshal(b, m, deterministic) -} -func (m *ClientIPConfig) XXX_Merge(src proto.Message) { - xxx_messageInfo_ClientIPConfig.Merge(m, src) -} -func (m *ClientIPConfig) XXX_Size() int { - return xxx_messageInfo_ClientIPConfig.Size(m) -} -func (m *ClientIPConfig) XXX_DiscardUnknown() { - xxx_messageInfo_ClientIPConfig.DiscardUnknown(m) -} - -var xxx_messageInfo_ClientIPConfig proto.InternalMessageInfo - -func (m *ClientIPConfig) GetTimeoutSeconds() int32 { - if m != nil { - return m.TimeoutSeconds - } - return 0 -} - - - - - -func init() { - proto.RegisterEnum("v1alpha2.InstallStatus_Status", InstallStatus_Status_name, InstallStatus_Status_value) - proto.RegisterType((*IstioControlPlane)(nil), "v1alpha2.IstioControlPlane") - proto.RegisterType((*IstioControlPlaneSpec)(nil), "v1alpha2.IstioControlPlaneSpec") - proto.RegisterType((*BaseFeatureSpec)(nil), "v1alpha2.BaseFeatureSpec") - proto.RegisterType((*BaseFeatureSpec_Components)(nil), "v1alpha2.BaseFeatureSpec.Components") - proto.RegisterType((*TrafficManagementFeatureSpec)(nil), "v1alpha2.TrafficManagementFeatureSpec") - proto.RegisterType((*TrafficManagementFeatureSpec_Components)(nil), "v1alpha2.TrafficManagementFeatureSpec.Components") - proto.RegisterType((*PolicyFeatureSpec)(nil), "v1alpha2.PolicyFeatureSpec") - proto.RegisterType((*PolicyFeatureSpec_Components)(nil), "v1alpha2.PolicyFeatureSpec.Components") - proto.RegisterType((*TelemetryFeatureSpec)(nil), "v1alpha2.TelemetryFeatureSpec") - proto.RegisterType((*TelemetryFeatureSpec_Components)(nil), "v1alpha2.TelemetryFeatureSpec.Components") - proto.RegisterType((*SecurityFeatureSpec)(nil), "v1alpha2.SecurityFeatureSpec") - proto.RegisterType((*SecurityFeatureSpec_Components)(nil), "v1alpha2.SecurityFeatureSpec.Components") - proto.RegisterType((*ConfigManagementFeatureSpec)(nil), "v1alpha2.ConfigManagementFeatureSpec") - proto.RegisterType((*ConfigManagementFeatureSpec_Components)(nil), "v1alpha2.ConfigManagementFeatureSpec.Components") - proto.RegisterType((*AutoInjectionFeatureSpec)(nil), "v1alpha2.AutoInjectionFeatureSpec") - proto.RegisterType((*AutoInjectionFeatureSpec_Components)(nil), "v1alpha2.AutoInjectionFeatureSpec.Components") - proto.RegisterType((*GatewayFeatureSpec)(nil), "v1alpha2.GatewayFeatureSpec") - proto.RegisterType((*GatewayFeatureSpec_Components)(nil), "v1alpha2.GatewayFeatureSpec.Components") - proto.RegisterType((*CNIFeatureSpec)(nil), "v1alpha2.CNIFeatureSpec") - proto.RegisterType((*CNIFeatureSpec_Components)(nil), "v1alpha2.CNIFeatureSpec.Components") - proto.RegisterType((*CoreDNSFeatureSpec)(nil), "v1alpha2.CoreDNSFeatureSpec") - proto.RegisterType((*CoreDNSFeatureSpec_Components)(nil), "v1alpha2.CoreDNSFeatureSpec.Components") - proto.RegisterType((*BaseComponentSpec)(nil), "v1alpha2.BaseComponentSpec") - proto.RegisterType((*PilotComponentSpec)(nil), "v1alpha2.PilotComponentSpec") - proto.RegisterType((*ProxyComponentSpec)(nil), "v1alpha2.ProxyComponentSpec") - proto.RegisterType((*SidecarInjectorComponentSpec)(nil), "v1alpha2.SidecarInjectorComponentSpec") - proto.RegisterType((*PolicyComponentSpec)(nil), "v1alpha2.PolicyComponentSpec") - proto.RegisterType((*TelemetryComponentSpec)(nil), "v1alpha2.TelemetryComponentSpec") - proto.RegisterType((*CitadelComponentSpec)(nil), "v1alpha2.CitadelComponentSpec") - proto.RegisterType((*CertManagerComponentSpec)(nil), "v1alpha2.CertManagerComponentSpec") - proto.RegisterType((*NodeAgentComponentSpec)(nil), "v1alpha2.NodeAgentComponentSpec") - proto.RegisterType((*GalleyComponentSpec)(nil), "v1alpha2.GalleyComponentSpec") - proto.RegisterType((*IngressGatewayComponentSpec)(nil), "v1alpha2.IngressGatewayComponentSpec") - proto.RegisterType((*EgressGatewayComponentSpec)(nil), "v1alpha2.EgressGatewayComponentSpec") - proto.RegisterType((*CNIComponentSpec)(nil), "v1alpha2.CNIComponentSpec") - proto.RegisterType((*CoreDNSComponentSpec)(nil), "v1alpha2.CoreDNSComponentSpec") - 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.RegisterType((*K8SObjectOverlay)(nil), "v1alpha2.k8sObjectOverlay") - proto.RegisterType((*K8SObjectOverlay_PathValue)(nil), "v1alpha2.k8sObjectOverlay.PathValue") - proto.RegisterType((*InstallStatus)(nil), "v1alpha2.InstallStatus") - proto.RegisterMapType((map[string]*InstallStatus_VersionStatus)(nil), "v1alpha2.InstallStatus.StatusEntry") - proto.RegisterType((*InstallStatus_VersionStatus)(nil), "v1alpha2.InstallStatus.VersionStatus") - proto.RegisterType((*Resources)(nil), "v1alpha2.Resources") - proto.RegisterMapType((map[string]string)(nil), "v1alpha2.Resources.LimitsEntry") - proto.RegisterMapType((map[string]string)(nil), "v1alpha2.Resources.RequestsEntry") - proto.RegisterType((*ReadinessProbe)(nil), "v1alpha2.ReadinessProbe") - proto.RegisterType((*ExecAction)(nil), "v1alpha2.ExecAction") - proto.RegisterType((*HTTPGetAction)(nil), "v1alpha2.HTTPGetAction") - proto.RegisterType((*HTTPHeader)(nil), "v1alpha2.HTTPHeader") - proto.RegisterType((*TCPSocketAction)(nil), "v1alpha2.TCPSocketAction") - proto.RegisterType((*PodDisruptionBudgetSpec)(nil), "v1alpha2.PodDisruptionBudgetSpec") - proto.RegisterType((*DeploymentStrategy)(nil), "v1alpha2.DeploymentStrategy") - proto.RegisterType((*RollingUpdateDeployment)(nil), "v1alpha2.RollingUpdateDeployment") - proto.RegisterType((*ObjectMeta)(nil), "v1alpha2.ObjectMeta") - proto.RegisterType((*ServiceSpec)(nil), "v1alpha2.ServiceSpec") - proto.RegisterMapType((map[string]string)(nil), "v1alpha2.ServiceSpec.SelectorEntry") - proto.RegisterType((*ServicePort)(nil), "v1alpha2.ServicePort") - proto.RegisterType((*SessionAffinityConfig)(nil), "v1alpha2.SessionAffinityConfig") - proto.RegisterType((*ClientIPConfig)(nil), "v1alpha2.ClientIPConfig") -} - -func init() { - proto.RegisterFile("pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto", fileDescriptor_daac92937abd81a4) -} - -var fileDescriptor_daac92937abd81a4 = []byte{ - // 2955 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x5a, 0xcd, 0x6f, 0x1c, 0xc7, - 0xb1, 0x7f, 0xc3, 0xcf, 0xdd, 0xa2, 0x96, 0x1f, 0x2d, 0x4a, 0x1a, 0xaf, 0x64, 0x89, 0x1e, 0xdb, - 0x7a, 0x7a, 0xf6, 0xf3, 0xd2, 0x12, 0x6d, 0x99, 0xb6, 0x9e, 0x65, 0x53, 0x14, 0x45, 0x11, 0x92, - 0x96, 0xfb, 0x86, 0x94, 0x60, 0x5f, 0xb2, 0xe9, 0x9d, 0x69, 0xee, 0x8e, 0x39, 0x3b, 0x3d, 0xee, - 0xe9, 0xa5, 0xb5, 0xb9, 0x27, 0x87, 0xdc, 0x92, 0x4b, 0x0e, 0x41, 0x90, 0x04, 0x41, 0x90, 0xe4, - 0x10, 0xe4, 0x96, 0x4b, 0x80, 0x5c, 0x03, 0xe4, 0x90, 0xfc, 0x09, 0x39, 0xe6, 0x90, 0x9c, 0x03, - 0x04, 0x06, 0x82, 0xa0, 0x3f, 0xe6, 0x73, 0x67, 0x69, 0x91, 0x48, 0x00, 0xe6, 0xb4, 0x33, 0x55, - 0xbf, 0xaa, 0xae, 0xaa, 0xee, 0xaa, 0xae, 0xde, 0x1e, 0x78, 0x37, 0x3c, 0xec, 0xae, 0xe2, 0xd0, - 0x8b, 0x56, 0xbd, 0x88, 0x7b, 0x74, 0xf5, 0xe8, 0x26, 0xf6, 0xc3, 0x1e, 0xbe, 0xa5, 0x5e, 0x1d, - 0x1a, 0x70, 0x46, 0xfd, 0xd0, 0xc7, 0x01, 0x69, 0xf3, 0x61, 0x48, 0xa2, 0x46, 0xc8, 0x28, 0xa7, - 0xa8, 0x12, 0xe3, 0xea, 0xd6, 0xe1, 0x7a, 0xd4, 0xf0, 0xa8, 0xd0, 0xb1, 0xea, 0x50, 0x46, 0x56, - 0x8f, 0x6e, 0xae, 0x76, 0x49, 0x40, 0x18, 0xe6, 0xc4, 0x55, 0xe8, 0x7a, 0x23, 0x83, 0xc1, 0x03, - 0x4e, 0x23, 0x07, 0xfb, 0x5e, 0xd0, 0x5d, 0x3d, 0xba, 0xd5, 0x21, 0x1c, 0x8f, 0xe2, 0xdf, 0x49, - 0xf1, 0x7d, 0xec, 0xf4, 0xbc, 0x80, 0xb0, 0xe1, 0x6a, 0x62, 0x68, 0x9f, 0x70, 0x5c, 0x36, 0xca, - 0xc7, 0x5d, 0x8f, 0xf7, 0x06, 0x9d, 0x86, 0x43, 0xfb, 0xab, 0x5d, 0xda, 0xa5, 0xab, 0x92, 0xdc, - 0x19, 0x1c, 0xa4, 0x0f, 0x5d, 0x4a, 0xbb, 0x3e, 0x49, 0xdf, 0xbf, 0x60, 0x38, 0x0c, 0x09, 0xd3, - 0x5e, 0x59, 0x7f, 0x34, 0x60, 0x69, 0x47, 0xf8, 0xbd, 0xa9, 0xfc, 0x6e, 0x09, 0xbf, 0xd1, 0x1a, - 0x4c, 0x45, 0x21, 0x71, 0xcc, 0xc9, 0x15, 0xe3, 0xc6, 0xdc, 0xad, 0x6b, 0x8d, 0xd8, 0xf5, 0xc6, - 0x08, 0x74, 0x2f, 0x24, 0x8e, 0x2d, 0xc1, 0x68, 0x15, 0x66, 0x22, 0x8e, 0xf9, 0x20, 0x32, 0xa7, - 0xa4, 0xd8, 0xa5, 0x8c, 0x58, 0x10, 0x71, 0xec, 0xfb, 0x7b, 0x92, 0x6d, 0x6b, 0x18, 0x42, 0x30, - 0x75, 0xe8, 0x05, 0xae, 0x39, 0xbd, 0x62, 0xdc, 0xa8, 0xda, 0xf2, 0x19, 0x5d, 0x05, 0xc0, 0xa1, - 0xf7, 0x8c, 0xb0, 0xc8, 0xa3, 0x81, 0x39, 0x23, 0x39, 0x19, 0x0a, 0x5a, 0x81, 0xb9, 0xd0, 0xc7, - 0x0e, 0xe9, 0x51, 0xdf, 0x25, 0xcc, 0xa4, 0x12, 0x90, 0x25, 0x59, 0xbf, 0x9a, 0x85, 0x0b, 0xa5, - 0x66, 0xa2, 0x37, 0x61, 0xc9, 0x25, 0x07, 0x78, 0xe0, 0xf3, 0x76, 0x80, 0xfb, 0x24, 0x0a, 0xb1, - 0x43, 0xf4, 0xe0, 0x8b, 0x9a, 0xd1, 0x8c, 0xe9, 0xe8, 0x2d, 0x98, 0xea, 0xe0, 0x88, 0x98, 0xcb, - 0xd2, 0x97, 0x97, 0x52, 0x5f, 0xee, 0xe1, 0x88, 0x3c, 0x20, 0x98, 0x0f, 0x98, 0x76, 0x5e, 0xc0, - 0xd0, 0x53, 0x40, 0x9c, 0xe1, 0x83, 0x03, 0xcf, 0x69, 0xf7, 0x71, 0x80, 0xbb, 0xa4, 0x4f, 0x02, - 0x6e, 0xbe, 0x24, 0x85, 0xaf, 0xa7, 0xc2, 0xfb, 0x0a, 0xf3, 0x24, 0x81, 0x64, 0x35, 0x2d, 0xf1, - 0x22, 0x17, 0xad, 0xc1, 0x4c, 0x48, 0x7d, 0xcf, 0x19, 0x9a, 0x75, 0xa9, 0xea, 0x72, 0xaa, 0xaa, - 0x25, 0xe9, 0x59, 0x79, 0x0d, 0x45, 0xff, 0x07, 0x55, 0x4e, 0x7c, 0xd2, 0x27, 0x9c, 0x0d, 0xcd, - 0xcb, 0x52, 0xee, 0x6a, 0xc6, 0x84, 0x98, 0x95, 0x15, 0x4d, 0x05, 0xd0, 0xfb, 0x50, 0x89, 0x88, - 0x33, 0x60, 0x1e, 0x1f, 0x9a, 0x57, 0xa4, 0xf0, 0xcb, 0xa9, 0xf0, 0x9e, 0xe6, 0x64, 0x65, 0x13, - 0x38, 0xb2, 0x61, 0xc9, 0xa1, 0xc1, 0x81, 0xd7, 0xcd, 0xc6, 0xe0, 0x65, 0xa9, 0xe3, 0xf5, 0x54, - 0xc7, 0xa6, 0x84, 0x94, 0x87, 0x60, 0xd1, 0x29, 0x30, 0xd1, 0x0e, 0xcc, 0x8b, 0xfc, 0x69, 0x7b, - 0xc1, 0x67, 0xc4, 0xe1, 0x62, 0x51, 0x5c, 0x95, 0x0a, 0xad, 0x54, 0xe1, 0xc6, 0x80, 0xd3, 0x9d, - 0x98, 0x9d, 0xd5, 0x56, 0xc3, 0x59, 0x0e, 0x5a, 0x87, 0x4a, 0x17, 0x73, 0xf2, 0x05, 0x1e, 0x46, - 0xe6, 0x35, 0xa9, 0xe4, 0x4a, 0xaa, 0x64, 0x5b, 0x71, 0x72, 0x8e, 0xc5, 0x68, 0xf4, 0x06, 0x4c, - 0x3a, 0x81, 0x67, 0xae, 0x48, 0x21, 0x33, 0xe3, 0x4a, 0x73, 0x27, 0x2b, 0x20, 0x40, 0xe8, 0x36, - 0xcc, 0x8a, 0xa2, 0x70, 0xbf, 0xb9, 0x67, 0xbe, 0x52, 0x1c, 0x64, 0x53, 0x31, 0xb2, 0x32, 0x31, - 0x18, 0xad, 0xc3, 0xcc, 0x11, 0xf6, 0x07, 0x24, 0x32, 0x6f, 0x49, 0xb1, 0x95, 0xcc, 0x94, 0x0d, - 0x43, 0xf2, 0x04, 0x87, 0x7b, 0x9c, 0x79, 0x41, 0x77, 0x27, 0xe0, 0x84, 0x1d, 0x60, 0x87, 0xd8, - 0x1a, 0x8f, 0x9a, 0xb0, 0x34, 0x08, 0x8e, 0xb0, 0xef, 0xb9, 0xa2, 0x34, 0x3c, 0x53, 0x4a, 0xd6, - 0x5e, 0x50, 0xc9, 0xa8, 0x28, 0x32, 0x61, 0x36, 0x64, 0xf4, 0xc0, 0xf3, 0x89, 0xe9, 0xca, 0xec, - 0x88, 0x5f, 0xd1, 0xdb, 0xb0, 0xec, 0xa9, 0x54, 0x6e, 0x87, 0xd8, 0x39, 0xc4, 0x5d, 0xd2, 0x0e, - 0x31, 0xef, 0x99, 0x07, 0x12, 0x86, 0x34, 0xaf, 0xa5, 0x58, 0x2d, 0xcc, 0x7b, 0x68, 0x11, 0x26, - 0x7b, 0x83, 0x8e, 0x19, 0x48, 0x80, 0x78, 0x14, 0x14, 0x8e, 0xbb, 0x3a, 0x73, 0xc5, 0xa3, 0xf5, - 0x07, 0x03, 0x16, 0x0a, 0x59, 0x25, 0xa2, 0x48, 0x02, 0xdc, 0xf1, 0x89, 0x6b, 0x1a, 0xc5, 0x28, - 0x0a, 0x4f, 0xee, 0x51, 0xea, 0x4b, 0x73, 0x1f, 0x50, 0xd6, 0xba, 0x67, 0xc7, 0x60, 0x74, 0x1f, - 0xc0, 0xa1, 0xfd, 0x90, 0x06, 0x24, 0xe0, 0x71, 0x24, 0x5f, 0x1b, 0x9b, 0xbc, 0x8d, 0xcd, 0x04, - 0x6b, 0x67, 0xe4, 0xea, 0x1f, 0x02, 0xa4, 0x1c, 0xb4, 0x9a, 0x2b, 0x05, 0x97, 0xf3, 0xda, 0x12, - 0x5c, 0x5a, 0x0c, 0xac, 0xdf, 0x4e, 0xc0, 0x95, 0xe3, 0x32, 0xfd, 0xd4, 0xde, 0xfd, 0x7f, 0x89, - 0x77, 0x37, 0x5f, 0xac, 0xba, 0x8c, 0x73, 0xf5, 0xbb, 0x46, 0xce, 0xd7, 0x2b, 0x50, 0x4d, 0x6b, - 0xa3, 0x21, 0xe7, 0x28, 0x25, 0xa0, 0x5b, 0x30, 0x1d, 0x7a, 0x3e, 0xe5, 0x3a, 0x14, 0x19, 0xab, - 0x5b, 0x82, 0x9c, 0x8f, 0x85, 0x82, 0x4a, 0x19, 0x46, 0x9f, 0x0f, 0xcd, 0x0b, 0x23, 0x32, 0x82, - 0x5c, 0x94, 0x11, 0x34, 0xeb, 0x6f, 0x06, 0x2c, 0x8d, 0xd4, 0xb7, 0x53, 0x47, 0xed, 0x41, 0x49, - 0xd4, 0xae, 0x1f, 0x53, 0x48, 0xc7, 0x85, 0x0a, 0x9f, 0x20, 0x52, 0xef, 0x26, 0x85, 0x7b, 0xb9, - 0x58, 0x43, 0xd5, 0x78, 0x79, 0xbf, 0x35, 0xd8, 0xfa, 0xe6, 0x04, 0x2c, 0x97, 0x15, 0xe8, 0x53, - 0xfb, 0xbe, 0x53, 0xe2, 0xfb, 0xff, 0x1c, 0xbf, 0x19, 0x8c, 0x73, 0xff, 0xb3, 0x13, 0xb8, 0x7f, - 0x37, 0xbb, 0x05, 0x2d, 0x8f, 0x94, 0xa2, 0x98, 0x95, 0x0f, 0x42, 0x2a, 0x62, 0x7d, 0x6b, 0x12, - 0xce, 0x97, 0xec, 0x35, 0xa7, 0x0e, 0xc3, 0xc3, 0x92, 0x30, 0xdc, 0x38, 0x76, 0x5b, 0x1b, 0x17, - 0x85, 0xbf, 0x9e, 0x24, 0x5f, 0xd6, 0x61, 0xd6, 0xf1, 0x38, 0x76, 0x89, 0xaf, 0x83, 0x90, 0xd9, - 0x87, 0x37, 0x15, 0x23, 0x1f, 0x82, 0x18, 0x8e, 0xb6, 0xe0, 0x9c, 0x43, 0x18, 0xd7, 0x1b, 0x29, - 0xd3, 0xc9, 0x93, 0xd9, 0xf4, 0x36, 0x09, 0xe3, 0x2a, 0xd1, 0x59, 0x5e, 0xc5, 0x9c, 0x93, 0x72, - 0xd0, 0x47, 0x00, 0x01, 0x75, 0x49, 0x1b, 0x77, 0xc5, 0x56, 0x7c, 0xb1, 0x38, 0x11, 0x4d, 0xea, - 0x92, 0x0d, 0xc1, 0x2a, 0x4c, 0x44, 0x10, 0xd3, 0xad, 0x6f, 0x4f, 0xc0, 0xe5, 0x63, 0x36, 0xec, - 0x53, 0x4f, 0x48, 0xab, 0x64, 0x42, 0xde, 0x7e, 0xa1, 0x1e, 0xe1, 0x5f, 0x94, 0x9d, 0x5d, 0xec, - 0xfb, 0xa4, 0x24, 0x3b, 0xb7, 0x25, 0xbd, 0x90, 0x9d, 0x0a, 0x6c, 0x7d, 0x67, 0x02, 0xcc, 0x71, - 0xcd, 0xc6, 0xa9, 0x23, 0xf1, 0xa4, 0x24, 0x12, 0x6f, 0x7d, 0x75, 0x73, 0x33, 0x2e, 0x0c, 0xc1, - 0x09, 0xc2, 0x70, 0x0f, 0x2a, 0xaa, 0xad, 0xa2, 0x4c, 0x07, 0x22, 0x53, 0x16, 0xf7, 0x3c, 0x97, - 0x38, 0x98, 0xed, 0x68, 0x40, 0x3e, 0x22, 0x89, 0x9c, 0xf5, 0xa7, 0x09, 0x40, 0xa3, 0xbd, 0xd3, - 0xa9, 0xa3, 0xb1, 0x5d, 0x12, 0x8d, 0xff, 0x3e, 0xae, 0x4b, 0x1b, 0x17, 0x87, 0xdf, 0x9d, 0x24, - 0x4f, 0x9b, 0xb0, 0xe0, 0x05, 0x5d, 0x46, 0xa2, 0xa8, 0xad, 0x7b, 0x3e, 0xdd, 0x20, 0xbe, 0x9e, - 0x3d, 0xc3, 0x48, 0x80, 0xb6, 0x20, 0x1f, 0x8e, 0x79, 0x2f, 0xc7, 0x44, 0x8f, 0x60, 0x9e, 0xe4, - 0xd5, 0xad, 0x14, 0x3b, 0x91, 0xad, 0xf1, 0xda, 0x6a, 0x24, 0xcb, 0xb3, 0xfe, 0x6c, 0xc0, 0x7c, - 0xbe, 0xd1, 0x3c, 0x75, 0x74, 0x37, 0x4b, 0xa2, 0xfb, 0xea, 0xb8, 0x76, 0x76, 0x5c, 0x64, 0x3f, - 0x39, 0x41, 0x60, 0xff, 0x57, 0x35, 0xce, 0x6a, 0x71, 0xd5, 0x73, 0x23, 0xe5, 0x7d, 0x16, 0x30, - 0xeb, 0x4b, 0x03, 0xd0, 0x68, 0x8b, 0xfc, 0xef, 0x5a, 0x4b, 0xa3, 0x23, 0x8d, 0xf3, 0xd8, 0x3d, - 0x61, 0xc9, 0xd7, 0xed, 0xff, 0x68, 0xc9, 0x57, 0x8c, 0x62, 0xc9, 0x57, 0x54, 0xeb, 0x11, 0x2c, - 0x8d, 0x34, 0x94, 0xa7, 0xf5, 0xdd, 0xfa, 0xa1, 0x01, 0x68, 0xb4, 0x27, 0x3b, 0x75, 0x28, 0x73, - 0x3e, 0x4f, 0x14, 0x7d, 0x5e, 0x83, 0xc9, 0xc3, 0xf5, 0xc8, 0x6c, 0x49, 0x8d, 0xaf, 0xa4, 0x1a, - 0x1f, 0x0d, 0x3a, 0x84, 0x05, 0x84, 0x93, 0xc8, 0x26, 0x11, 0x1d, 0x30, 0x87, 0x44, 0x6a, 0xb2, - 0x0f, 0xd7, 0x23, 0x65, 0xe1, 0x48, 0x07, 0x78, 0x96, 0x2c, 0xfc, 0x85, 0x01, 0x57, 0x8e, 0xab, - 0x82, 0x67, 0xc9, 0xd6, 0x1f, 0x19, 0x70, 0xbe, 0xa4, 0xb1, 0x3c, 0x4b, 0x26, 0xfe, 0xc4, 0x80, - 0x8b, 0xe5, 0x9d, 0xdf, 0x59, 0xb2, 0xf2, 0xc7, 0x06, 0x2c, 0x97, 0xb5, 0x66, 0x67, 0xc9, 0xc6, - 0x9f, 0x1a, 0x60, 0x8e, 0xeb, 0xff, 0xce, 0xda, 0x8c, 0x97, 0xb7, 0x98, 0x67, 0x2d, 0x75, 0x4a, - 0xba, 0xbe, 0xb3, 0x64, 0xe2, 0xcf, 0x0d, 0xb8, 0x7c, 0x4c, 0xff, 0x71, 0x96, 0x4c, 0xfd, 0x99, - 0x01, 0xf5, 0xad, 0xff, 0x08, 0x4b, 0x7f, 0x60, 0xc0, 0x62, 0xb1, 0x0f, 0x39, 0x73, 0x95, 0xa8, - 0xa4, 0x63, 0x38, 0x4b, 0x36, 0xfe, 0xbe, 0x02, 0x97, 0xc6, 0x00, 0xd0, 0x3a, 0x54, 0xf0, 0xc1, - 0x81, 0x17, 0x78, 0x7c, 0x98, 0xd8, 0xa9, 0x6e, 0x39, 0x1a, 0x38, 0xf4, 0x1a, 0xa2, 0xed, 0x69, - 0x1c, 0xdd, 0x6c, 0x6c, 0x68, 0x8c, 0x9d, 0xa0, 0x45, 0xd7, 0x48, 0x82, 0x23, 0x73, 0x62, 0x65, - 0x52, 0x76, 0x8d, 0x25, 0x42, 0x5b, 0xc1, 0xd1, 0x33, 0xcc, 0x6c, 0x01, 0x43, 0xcf, 0xa0, 0xd2, - 0x0b, 0x71, 0x3b, 0x73, 0x61, 0x71, 0x27, 0x2b, 0x92, 0xb9, 0x7d, 0x69, 0xe8, 0xdb, 0x97, 0xc6, - 0x43, 0xca, 0xbc, 0x6f, 0xd0, 0x80, 0x63, 0xbf, 0x45, 0xdd, 0x0d, 0x0d, 0x20, 0x4c, 0xf5, 0x63, - 0xbd, 0x10, 0x4b, 0xfb, 0xdf, 0x80, 0x25, 0xaf, 0x2f, 0xff, 0xe2, 0x1c, 0xf8, 0x7e, 0x5b, 0xff, - 0x9b, 0x33, 0x25, 0xc3, 0xb6, 0x20, 0x19, 0xad, 0x81, 0xef, 0xab, 0x3d, 0x17, 0x7d, 0x02, 0x35, - 0x79, 0xce, 0x8e, 0x88, 0xaf, 0x8e, 0x53, 0xd3, 0xd2, 0xf6, 0xb5, 0xaf, 0x0c, 0xa3, 0x3c, 0x82, - 0xef, 0x69, 0xa9, 0xad, 0x80, 0xb3, 0xa1, 0x7d, 0x2e, 0xc8, 0x90, 0xd0, 0x53, 0xb8, 0x10, 0x52, - 0xb7, 0xed, 0x7a, 0x11, 0x1b, 0x84, 0xe2, 0x0c, 0xd8, 0xee, 0x0c, 0xdc, 0x2e, 0xe1, 0xf2, 0x6e, - 0x24, 0x37, 0x51, 0x2d, 0xea, 0xde, 0x4f, 0x50, 0xf7, 0x24, 0x48, 0x3a, 0x74, 0x3e, 0x1c, 0x65, - 0xa0, 0xaf, 0xc1, 0x82, 0x50, 0x8b, 0x83, 0x80, 0x72, 0x2c, 0xe8, 0x91, 0x39, 0x2b, 0x4d, 0x7e, - 0xf7, 0xab, 0x4d, 0x16, 0x31, 0x4b, 0xe5, 0x94, 0xd1, 0xf3, 0x61, 0x8e, 0x88, 0x1a, 0x70, 0x3e, - 0x64, 0x1e, 0x65, 0x1e, 0x1f, 0xb6, 0x1d, 0x1f, 0x47, 0x91, 0xbc, 0x72, 0x31, 0x2b, 0x32, 0x7c, - 0x4b, 0x31, 0x6b, 0x53, 0x70, 0x9a, 0xb8, 0x4f, 0xd0, 0x06, 0x2c, 0x30, 0x82, 0x5d, 0x2f, 0x10, - 0x87, 0xa6, 0x90, 0xd1, 0x0e, 0x31, 0xab, 0xc5, 0x7f, 0xdb, 0xed, 0x18, 0xd0, 0x12, 0x7c, 0x7b, - 0x9e, 0xe5, 0xde, 0xd1, 0xab, 0x50, 0x63, 0x24, 0xf4, 0x3d, 0x07, 0xb7, 0x1d, 0x3a, 0x08, 0xb8, - 0x09, 0x2b, 0xc6, 0x8d, 0x9a, 0x7d, 0x4e, 0x13, 0x37, 0x05, 0x0d, 0xdd, 0x84, 0x2a, 0x8b, 0x9d, - 0x31, 0xe7, 0xe4, 0x08, 0xe7, 0xb3, 0x23, 0x68, 0x96, 0x9d, 0xa2, 0xd0, 0x2a, 0xcc, 0x46, 0x84, - 0x1d, 0x79, 0x0e, 0x31, 0xcf, 0x49, 0x81, 0x0b, 0xd9, 0x3f, 0x8e, 0x24, 0x43, 0x2d, 0x1c, 0x8d, - 0x12, 0x0b, 0x3f, 0xe2, 0x0c, 0x73, 0xd2, 0x1d, 0x9a, 0xb5, 0x62, 0x82, 0xde, 0x27, 0xa1, 0x4f, - 0x87, 0x7d, 0x91, 0xcb, 0x1a, 0x63, 0x27, 0x68, 0xf4, 0x31, 0xcc, 0x71, 0xea, 0x13, 0xa6, 0x67, - 0x64, 0x5e, 0xce, 0xc8, 0xd5, 0xb2, 0x04, 0xd8, 0x4f, 0x60, 0x76, 0x56, 0x04, 0xdd, 0x86, 0x0a, - 0x3d, 0x22, 0xcc, 0xc7, 0xc3, 0xc8, 0x74, 0x75, 0xfe, 0x24, 0x63, 0x1f, 0xae, 0x47, 0xbb, 0x1d, - 0xd1, 0xc8, 0xee, 0x2a, 0x88, 0x9d, 0x60, 0xeb, 0x1f, 0xc1, 0xd2, 0xc8, 0x4a, 0x44, 0x8b, 0x30, - 0x79, 0x48, 0x86, 0xfa, 0x8c, 0x23, 0x1e, 0xd1, 0x32, 0x4c, 0xcb, 0x4b, 0x07, 0x5d, 0x3e, 0xd4, - 0xcb, 0x07, 0x13, 0xeb, 0x46, 0x7d, 0x43, 0xf4, 0x9f, 0x23, 0xeb, 0xe2, 0x24, 0x2a, 0xac, 0xbf, - 0x18, 0xb0, 0x58, 0x34, 0x11, 0x5d, 0x83, 0x39, 0x1c, 0x7a, 0xed, 0x23, 0x7d, 0x23, 0x68, 0x8c, - 0xdc, 0x08, 0xc6, 0xb7, 0x88, 0x13, 0x99, 0x5b, 0x44, 0x04, 0x53, 0x72, 0xb9, 0x4d, 0x2a, 0x9a, - 0x78, 0x46, 0x77, 0x61, 0x36, 0xc4, 0xdc, 0xe9, 0x91, 0xc8, 0x9c, 0x92, 0x81, 0x79, 0x6d, 0x7c, - 0x60, 0x1a, 0x2d, 0xcc, 0x7b, 0xb2, 0x84, 0xda, 0xb1, 0x50, 0xbd, 0x09, 0xd5, 0x84, 0x2a, 0x06, - 0x90, 0x17, 0x1f, 0xca, 0x1c, 0xf9, 0x8c, 0xde, 0xca, 0x3a, 0x96, 0xbb, 0xfe, 0x14, 0x45, 0x39, - 0xbd, 0x71, 0x51, 0x28, 0xeb, 0x7b, 0x93, 0x50, 0xcb, 0xdd, 0x8b, 0xa2, 0x3b, 0xc9, 0x05, 0xaa, - 0x21, 0x0d, 0x7c, 0x75, 0xcc, 0x05, 0x6a, 0x43, 0xfd, 0xa8, 0xc4, 0xd3, 0x22, 0xf5, 0xef, 0x1b, - 0x50, 0xd3, 0x21, 0xd1, 0xea, 0x4c, 0x98, 0xcd, 0x47, 0x2d, 0x7e, 0x45, 0xb7, 0x93, 0x81, 0x84, - 0xa9, 0xf3, 0xd9, 0x23, 0x6a, 0xd9, 0x40, 0xc9, 0x85, 0xad, 0x05, 0xe7, 0xd4, 0x93, 0xba, 0x44, - 0xd2, 0xe1, 0xcd, 0xd1, 0xc4, 0xf4, 0x12, 0xc6, 0x28, 0xd3, 0x95, 0x52, 0xbd, 0xd4, 0xbf, 0x0e, - 0x73, 0x19, 0xa3, 0x4b, 0x56, 0xc5, 0x9d, 0x7c, 0xf0, 0x5e, 0x1f, 0x67, 0x51, 0xce, 0xc5, 0xec, - 0xe2, 0xd9, 0x81, 0x19, 0xed, 0x77, 0x05, 0xa6, 0x9a, 0xbb, 0xcd, 0xad, 0xc5, 0xff, 0x42, 0xe7, - 0xa0, 0xf2, 0xb4, 0x75, 0x7f, 0x63, 0x7f, 0xa7, 0xb9, 0xbd, 0x68, 0xa0, 0x39, 0x98, 0x7d, 0xb8, - 0xb5, 0xf1, 0x78, 0xff, 0xe1, 0xa7, 0x8b, 0x13, 0xa8, 0x0a, 0xd3, 0x5b, 0xb6, 0xbd, 0x6b, 0x2f, - 0x4e, 0xa2, 0x05, 0x98, 0xb3, 0xb7, 0x36, 0x77, 0x9b, 0x9b, 0x3b, 0x8f, 0x05, 0x70, 0xca, 0xfa, - 0xd2, 0x80, 0x6a, 0x52, 0x09, 0xd0, 0x7b, 0x30, 0xe3, 0x7b, 0x7d, 0x8f, 0xc7, 0xb3, 0x72, 0xad, - 0xa4, 0x5c, 0x34, 0x1e, 0x4b, 0x84, 0x9e, 0x11, 0x05, 0x47, 0x1f, 0x42, 0x85, 0x91, 0xcf, 0x07, - 0x24, 0xe2, 0x91, 0xde, 0xca, 0x5e, 0x29, 0x13, 0xb5, 0x35, 0x46, 0x09, 0x27, 0x22, 0xf5, 0xf7, - 0x61, 0x2e, 0xa3, 0xf5, 0x44, 0xb9, 0x78, 0x07, 0x6a, 0x39, 0xad, 0x27, 0xca, 0xc2, 0x7f, 0x4c, - 0xc0, 0x7c, 0xbe, 0xd2, 0xa2, 0x1b, 0x30, 0x45, 0x9e, 0x13, 0x47, 0xef, 0xe2, 0xcb, 0x99, 0x3f, - 0xb1, 0x9e, 0x13, 0x67, 0x43, 0xfe, 0x33, 0x69, 0x4b, 0x04, 0xba, 0x09, 0xb3, 0x3d, 0xce, 0xc3, - 0x6d, 0xc2, 0x47, 0xb3, 0xe0, 0xe1, 0xfe, 0x7e, 0x6b, 0x9b, 0x70, 0x8d, 0x8f, 0x71, 0xe8, 0x3d, - 0xa8, 0x72, 0x27, 0xdc, 0xa3, 0xce, 0x21, 0xe1, 0x7a, 0xff, 0xce, 0xdc, 0xb6, 0xef, 0x6f, 0xb6, - 0x14, 0x4b, 0x8b, 0xa5, 0x58, 0xf4, 0x36, 0x9c, 0x17, 0xed, 0x82, 0x87, 0xfd, 0xfb, 0xc4, 0xc7, - 0xc3, 0x3d, 0xe2, 0xd0, 0xc0, 0x55, 0x1f, 0x1f, 0x4c, 0xdb, 0x65, 0x2c, 0x74, 0x1d, 0xe6, 0xb9, - 0xd7, 0x27, 0x74, 0xc0, 0x63, 0xf0, 0xb4, 0x04, 0x17, 0xa8, 0xe8, 0x35, 0xa8, 0x85, 0x84, 0x79, - 0xd4, 0x8d, 0x61, 0x33, 0x12, 0x96, 0x27, 0xa2, 0x37, 0x60, 0x31, 0x1a, 0x38, 0x0e, 0x89, 0xa2, - 0xfd, 0x1e, 0x23, 0x51, 0x8f, 0xfa, 0xae, 0x39, 0x2b, 0x81, 0x23, 0x74, 0x81, 0x3d, 0xc0, 0x9e, - 0x3f, 0x60, 0x24, 0xc5, 0x56, 0x14, 0xb6, 0x48, 0xb7, 0xae, 0x03, 0xa4, 0x71, 0x15, 0x59, 0xec, - 0xd0, 0x7e, 0x1f, 0x07, 0xae, 0x5c, 0x7f, 0x55, 0x3b, 0x7e, 0xb5, 0x7e, 0x63, 0x40, 0x2d, 0x17, - 0xd3, 0xd2, 0xaa, 0x74, 0x0b, 0xa6, 0x42, 0xca, 0xe2, 0xe9, 0xb8, 0x3a, 0x52, 0x94, 0x76, 0x99, - 0x4a, 0x5c, 0xd5, 0x2b, 0x4a, 0xac, 0xd0, 0xd3, 0xa3, 0x11, 0x8f, 0xcb, 0xa7, 0x78, 0x46, 0x17, - 0x61, 0x26, 0x72, 0x7a, 0xa4, 0x4f, 0x74, 0x62, 0xeb, 0x37, 0x74, 0x1b, 0xe6, 0xc4, 0x4c, 0x3e, - 0x24, 0xd8, 0x25, 0x2c, 0xd2, 0x7d, 0xcf, 0x72, 0x7e, 0xd6, 0x15, 0xd3, 0xce, 0x02, 0xad, 0xdb, - 0x00, 0x29, 0x2b, 0x29, 0xd8, 0x46, 0xa6, 0x60, 0x97, 0x2e, 0x51, 0xeb, 0x53, 0x58, 0x28, 0xac, - 0x89, 0xc4, 0x45, 0xe3, 0x14, 0x2e, 0x4e, 0xa4, 0x2e, 0x5a, 0xbf, 0x36, 0xe0, 0xd2, 0x98, 0x26, - 0x4a, 0x94, 0xbe, 0xbe, 0x17, 0x6c, 0x1c, 0x61, 0xcf, 0x17, 0xcd, 0xb4, 0x1c, 0xab, 0x66, 0xe7, - 0x68, 0x68, 0x17, 0x2a, 0x49, 0xff, 0xa7, 0xc2, 0xbd, 0x96, 0xd9, 0xba, 0x93, 0xcf, 0x7a, 0x1a, - 0xe1, 0x61, 0x57, 0x10, 0xa2, 0x46, 0x9f, 0x70, 0x2c, 0x36, 0xf3, 0xc7, 0xb8, 0x43, 0xfc, 0x78, - 0xeb, 0xb5, 0x13, 0x25, 0x62, 0xbd, 0xf6, 0xf1, 0xf3, 0xa7, 0x01, 0x4e, 0x86, 0x9d, 0x94, 0xc3, - 0x16, 0xa8, 0xd6, 0xe7, 0x80, 0x46, 0xdb, 0x0a, 0xe1, 0x22, 0x1f, 0x86, 0x49, 0x4c, 0xc5, 0x33, - 0xda, 0x86, 0x1a, 0xa3, 0xbe, 0xe8, 0x85, 0x9f, 0x86, 0x2e, 0xe6, 0x71, 0xb9, 0xcd, 0x16, 0xa6, - 0x2c, 0x3b, 0xd5, 0x6a, 0xe7, 0xe5, 0xc4, 0xe1, 0xe9, 0xd2, 0x18, 0x28, 0x7a, 0x30, 0x62, 0xf6, - 0x8b, 0xcd, 0x4c, 0x41, 0x0a, 0x7d, 0x00, 0x95, 0x3e, 0x7e, 0xbe, 0x37, 0x60, 0x5d, 0xf2, 0x82, - 0xcb, 0x37, 0xc1, 0x5b, 0x77, 0x01, 0xd4, 0x8e, 0xfe, 0x84, 0x70, 0x9c, 0x2c, 0xaf, 0xe9, 0xcc, - 0xf2, 0xca, 0x9d, 0x86, 0x66, 0x0a, 0xa7, 0x21, 0xeb, 0xef, 0xd3, 0x30, 0x97, 0x69, 0xee, 0xd0, - 0x9b, 0x30, 0x2d, 0xd6, 0x4d, 0xbc, 0x09, 0x8c, 0xb6, 0x80, 0x2d, 0xca, 0xb8, 0xad, 0x30, 0xe8, - 0xa3, 0xdc, 0x42, 0x28, 0x6c, 0xe5, 0x19, 0xad, 0x8d, 0x7c, 0xe3, 0x9f, 0x4e, 0xfc, 0x15, 0xa8, - 0x3a, 0xfe, 0x20, 0xe2, 0x84, 0xed, 0xb4, 0x74, 0x16, 0xa6, 0x84, 0x64, 0x62, 0xa7, 0x32, 0x13, - 0xbb, 0x02, 0x73, 0xe4, 0x39, 0x27, 0x2c, 0xc0, 0xfe, 0x4e, 0x4b, 0xa5, 0x61, 0xd5, 0xce, 0x92, - 0xd0, 0x0d, 0x58, 0x88, 0x48, 0x24, 0x36, 0xcf, 0xf8, 0xc4, 0x25, 0xab, 0x55, 0xd5, 0x2e, 0x92, - 0xc5, 0xb2, 0xf3, 0x29, 0x76, 0xef, 0x61, 0x1f, 0x07, 0x8e, 0x34, 0x41, 0xb5, 0xed, 0x05, 0x2a, - 0xfa, 0x00, 0xcc, 0x2c, 0x65, 0x4f, 0x6e, 0x68, 0x36, 0x0e, 0xba, 0x24, 0x32, 0xab, 0xd2, 0x80, - 0xb1, 0x7c, 0x91, 0x4f, 0xb1, 0x71, 0xa2, 0xff, 0x97, 0xbd, 0x7a, 0xd5, 0xce, 0xd1, 0xd0, 0x3b, - 0x70, 0x21, 0x7e, 0xd7, 0x5f, 0x36, 0xa8, 0xd3, 0x96, 0xec, 0xdb, 0xab, 0x76, 0x39, 0x53, 0x6c, - 0x0b, 0x3d, 0x82, 0x7d, 0xde, 0xdb, 0xec, 0x11, 0xe7, 0x50, 0x34, 0xb5, 0x62, 0x6a, 0x64, 0xeb, - 0x3e, 0x6d, 0x97, 0xb1, 0x84, 0x1f, 0xe1, 0xa0, 0xe3, 0x7b, 0x51, 0xaf, 0x49, 0xb9, 0xd8, 0xfa, - 0x86, 0x1b, 0xae, 0xcb, 0x48, 0x14, 0x91, 0x48, 0xf6, 0xef, 0x15, 0x7b, 0x2c, 0x5f, 0x1c, 0xcf, - 0x0a, 0xe1, 0x53, 0x57, 0x97, 0xe6, 0x7c, 0xf1, 0xd3, 0xb9, 0xbd, 0x32, 0x98, 0x5d, 0x2e, 0x8d, - 0xea, 0x50, 0xf1, 0xc2, 0x07, 0xb8, 0xef, 0xf9, 0x43, 0x73, 0x41, 0x7a, 0x9b, 0xbc, 0x8b, 0xd0, - 0x71, 0x1a, 0x52, 0x9f, 0x76, 0x87, 0x8f, 0xc8, 0x30, 0x32, 0x17, 0x65, 0xa8, 0x73, 0x34, 0xd1, - 0x01, 0x9c, 0xba, 0x95, 0xb7, 0x7e, 0x69, 0x24, 0x6b, 0xbf, 0xa5, 0x6b, 0xe5, 0x48, 0x71, 0xae, - 0x43, 0x45, 0x7e, 0x40, 0xe8, 0x50, 0x5f, 0x2b, 0x48, 0xde, 0xe5, 0x36, 0x24, 0x42, 0x3e, 0x29, - 0x43, 0xae, 0xea, 0xed, 0x5d, 0x00, 0x8e, 0x59, 0x97, 0x70, 0x39, 0x19, 0x53, 0x2f, 0x94, 0xcd, - 0x19, 0x09, 0x31, 0x5e, 0x10, 0x4f, 0xa5, 0xda, 0xb4, 0x93, 0x77, 0xeb, 0x09, 0x5c, 0x28, 0x0d, - 0x2e, 0x7a, 0x07, 0x2a, 0x8e, 0xef, 0x91, 0x80, 0xef, 0xb4, 0x74, 0x09, 0xca, 0x7e, 0xbb, 0xa5, - 0x39, 0x7a, 0x22, 0x12, 0xa4, 0xb5, 0x0e, 0xf3, 0x79, 0x5e, 0x49, 0xdf, 0x60, 0x94, 0xf5, 0x0d, - 0x96, 0x09, 0x17, 0xcb, 0xbf, 0xb2, 0xb2, 0x16, 0xa0, 0x96, 0x3b, 0x04, 0x58, 0x17, 0x61, 0xb9, - 0xcc, 0x67, 0x6b, 0x19, 0xd0, 0xe8, 0x5f, 0x38, 0x9d, 0x19, 0x19, 0xdb, 0xb5, 0x7f, 0x06, 0x00, - 0x00, 0xff, 0xff, 0x0d, 0xe3, 0x57, 0x91, 0xbb, 0x2a, 0x00, 0x00, -} diff --git a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto b/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto deleted file mode 100644 index 62f9a273b..000000000 --- a/pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto +++ /dev/null @@ -1,726 +0,0 @@ -// Copyright 2019 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"; - -import "k8s.io/api/core/v1/generated.proto"; -import "k8s.io/api/autoscaling/v2beta1/generated.proto"; -import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; -import "github.com/gogo/protobuf/protobuf/google/protobuf/wrappers.proto"; - -// $title: Installation Options (istioctl) -// $description: Configuration options for Istio control plane installation using istioctl. -// $weight: 10 -// $location: https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb.html -// -// TODO: for some reason the below fails proto compilation in this repo. -// https://github.com/istio/istio/issues/16899 -// package istio.operator.v1alpha2; -// option go_package="istio.io/operator/pkg/apis/istio/v1alpha2"; - -// IstioControlPlane is a schema for both defining and customizing Istio control plane installations. -// Running the operator with an empty user defined InstallSpec results in an control plane with default values, using the -// default charts. -// -// The simplest install specialization is to point the user InstallSpec profile to a different values file, for -// example an Istio minimal control plane, which will use the values associated with the minimal control plane profile for -// Istio. -// -// Deeper customization is possible at three levels: -// -// 1. New APIs defined in this file -// -// Feature API: this API groups an Istio install by features and allows enabling/disabling the features, selecting base -// control plane profiles, as well as some additional high level settings that are feature specific. Each feature contains -// one or more components, which correspond to Istio components (Pods) in the cluster. -// -// k8s API: this API is a pass through to k8s resource settings for Istio k8s resources. It allows customizing Istio k8s -// resources like Affinity, Resource requests/limits, PodDisruptionBudgetSpec, Selectors etc. in a more consistent and -// k8s specific way compared to values.yaml. See KubernetesResourcesSpec in this file for details. -// -// 1. values.yaml -// -// The entirety of values.yaml settings is accessible through InstallSpec (see CommonComponentSpec/Values). -// This API will gradually be deprecated and values there will be moved either into CRDs that are used to directly -// configure components or, in the case of k8s settings, will be replaced by the new API above. -// -// 1. k8s resource overlays -// -// Once a manifest is rendered from InstallSpec, a further customization can be applied by specifying k8s resource -// overlays. The concept is similar to kustomize, where JSON patches are applied for object paths. This allows -// customization at the lowest level and eliminates the need to create ad-hoc template parameters, or edit templates. -// -// Here are a few example uses: -// -// 1. Default Istio install -// -// ``` -// spec: -// ``` -// -// 1. Default minimal profile install -// -// ``` -// spec: -// profile: minimal -// ``` -// -// 1. Default install with telemetry disabled -// -// ``` -// spec: -// telemetry: -// enabled: false -// ``` -// -// 1. Default install with each feature installed to different namespace and security components in separate namespaces -// -// ``` -// spec: -// traffic_management: -// components: -// namespace: istio-traffic-management -// policy: -// components: -// namespace: istio-policy -// telemetry: -// components: -// namespace: istio-telemetry -// config_management: -// components: -// namespace: istio-config-management -// security: -// components: -// citadel: -// namespace: istio-citadel -// cert_manager: -// namespace: istio-cert-manager -// node_agent: -// namespace: istio-node-agent -// ``` -// -// 1. Default install with specialized k8s settings for pilot -// -// ``` -// spec: -// traffic_management: -// components: -// pilot: -// k8s: -// resources: -// limits: -// cpu: 444m -// memory: 333Mi -// requests: -// cpu: 222m -// memory: 111Mi -// readinessProbe: -// failureThreshold: 44 -// initialDelaySeconds: 11 -// periodSeconds: 22 -// successThreshold: 33 -// ``` -// -// 1. Default install with values.yaml customizations for proxy -// -// ``` -// spec: -// traffic_management: -// components: -// proxy: -// values: -// - global.proxy.enableCoreDump: true -// - global.proxy.dnsRefreshRate: 10s -// ``` -// -// 1. Default install with modification to container flag in galley -// -// ``` -// spec: -// configuration_management: -// components: -// galley: -// k8s: -// overlays: -// - apiVersion: extensions/v1beta1 -// kind: Deployment -// name: istio-galley -// patches: -// - path: spec.template.spec.containers.[name:galley].command.[--livenessProbeInterval] -// value: --livenessProbeInterval=123s -// ``` -package v1alpha2; - -// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object - -// IstioControlPlane is a CustomResourceDefinition (CRD) describing an Istio control plane. -message IstioControlPlane { - // Spec defines the desired state of IstioControlPlane. - IstioControlPlaneSpec spec = 3; - // Status reports the status of the Istio control plane. - InstallStatus status = 4; - string kind = 5; - string apiVersion = 6; - // GOFIELD:v11.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,7,opt,name=metadata"` - // GOFIELD:v11.TypeMeta `json:",inline"` - string placeholder = 111; -} - -// IstioControlPlaneSpec defines the desired state of IstioControlPlane. -// The spec is a used to define a customization of the default profile values that are supplied with each Istio release. -// It is grouped at the top level by feature, where behavior of Istio functional areas is specified. -// Each feature contains components, where k8s resource level defaults can be overridden. -// Because the spec is a customization API, specifying an empty InstallSpec results in a default Istio control plane. -message IstioControlPlaneSpec { - // Default namespace if feature or component namespaces are not set. - string default_namespace = 5; - - // Base feature containing resources like CRDs, namespaces etc. - BaseFeatureSpec base = 20; - - // Selection and configuration of core Istio features. - TrafficManagementFeatureSpec traffic_management = 25; - PolicyFeatureSpec policy = 26; - TelemetryFeatureSpec telemetry = 27; - SecurityFeatureSpec security = 28; - ConfigManagementFeatureSpec config_management = 29; - AutoInjectionFeatureSpec auto_injection = 30; - GatewayFeatureSpec gateways = 31; - CNIFeatureSpec cni = 32; - CoreDNSFeatureSpec coreDNS = 33; - // Overrides for default global values.yaml. - TypeMapStringInterface values = 50; - // Unvalidated overrides for default global values.yaml. - TypeMapStringInterface unvalidatedValues = 51; - // Path or name for the profile e.g. - // - minimal (looks in profiles dir for a file called minimal.yaml) - // - /tmp/istio/install/values/custom/custom-install.yaml (local file path) - // default profile is used if this field is unset. - string profile = 100; - // Path for the install package. e.g. - // - /tmp/istio-installer/nightly (local file path) - string install_package_path = 102; - // Root for docker image paths e.g. docker.io/istio-release. - // Releases are published to docker hub under 'istio' project. - // Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly - string hub = 110; - // Version tag for docker images e.g. 1.0.6 - string tag = 111; -} - -// Base feature settings. -message BaseFeatureSpec { - // Selects whether base feature is installed. Required for all Istio installs. - // Should only be disabled when generating partial Istio installation YAMLs. - TypeBoolValueForPB enabled = 1; - - // Component specific config. - message Components { - BaseComponentSpec base = 20; - } - - Components components = 50; -} - -// Configuration options for traffic management. -message TrafficManagementFeatureSpec { - // Selects whether traffic management is installed. - // Must be enabled to enable any sub-component. - TypeBoolValueForPB enabled = 1; - - // Component specific config. - message Components { - // Namespace that all traffic management components are installed into. - string namespace = 1; - - PilotComponentSpec pilot = 20; - ProxyComponentSpec proxy = 21; - } - - Components components = 50; -} - -// Configuration options for the policy feature. -message PolicyFeatureSpec { - // Selects whether policy is installed. - // Must be enabled to enable any sub-component. - TypeBoolValueForPB enabled = 1; - - // Component specific config. - message Components { - // Namespace that all policy components are installed into. - string namespace = 1; - - PolicyComponentSpec policy = 20; - } - - Components components = 50; -} - -// Configuration options for the telemetry feature. -message TelemetryFeatureSpec { - // Selects whether telemetry is installed. - // Must be enabled to enable any sub-component. - TypeBoolValueForPB enabled = 1; - - // Component specific config. - message Components { - // Namespace that all telemetry components are installed into. - string namespace = 1; - - TelemetryComponentSpec telemetry = 20; - } - - Components components = 50; -} - -// Configuration options for security feature. -message SecurityFeatureSpec { - // Selects whether security feature is installed. Must be set for any sub-component to be installed. - TypeBoolValueForPB enabled = 1; - - message Components { - // Namespace that security components are installed into. - string namespace = 1; - - CitadelComponentSpec citadel = 20; - CertManagerComponentSpec cert_manager = 21; - NodeAgentComponentSpec node_agent = 22; - } - - Components components = 50; -} - -// Configuration options for configuration management feature. -message ConfigManagementFeatureSpec { - // Selects whether config management feature is installed. Must be set for any sub-component to be installed. - TypeBoolValueForPB enabled = 1; - - message Components { - // Namespace that security components are installed into. - string namespace = 1; - - GalleyComponentSpec galley = 20; - } - - Components components = 50; -} - -// Configuration options for auto injection feature. -message AutoInjectionFeatureSpec { - // Selects whether auto injection feature is installed. Must be set for any sub-component to be installed. - TypeBoolValueForPB enabled = 1; - - message Components { - // Namespace that auto injections components are installed into. - string namespace = 1; - - SidecarInjectorComponentSpec injector = 20; - } - - Components components = 50; -} - -// Configuration options for gateway feature. -message GatewayFeatureSpec { - // Selects whether gateway feature is installed. Must be set for any sub-component to be installed. - TypeBoolValueForPB enabled = 1; - - message Components { - // Namespace that auto injections components are installed into. - string namespace = 1; - - // Ingress/egress gateway configuration. - IngressGatewayComponentSpec ingress_gateway = 31; - EgressGatewayComponentSpec egress_gateway = 32; - } - - Components components = 50; -} - -// Configuration options for cni feature. -message CNIFeatureSpec { - // Selects whether CNI feature is installed. Must be set for any sub-component to be installed. - TypeBoolValueForPB enabled = 1; - - message Components { - // Namespace that cni components are installed into. - string namespace = 1; - - CNIComponentSpec cni = 20; - } - - Components components = 50; -} - -// Configuration options for CoreDNS feature. -message CoreDNSFeatureSpec { - // Selects whether CoreDNS feature is installed. Must be set for any sub-component to be installed. - TypeBoolValueForPB enabled = 1; - - message Components { - // Namespace that CoreDNS components are installed into. - string namespace = 1; - - CoreDNSComponentSpec coreDNS = 20; - } - - Components components = 50; -} - -// Configuration common to all components. - -// Selects whether this component is installed. -// TypeBoolValueForPB enabled = 1; - -// Namespace that all resources for this component are installed into. Overrides the parent feature namespace and -// IstioControlPlaneSpec.DefaultNamespace. -// string namespace = 2; - -// Kubernetes resource spec. -// KubernetesResourcesSpec k8s = 80; - -// Configuration options for the base component. -message BaseComponentSpec { - TypeBoolValueForPB enabled = 1; -} - -// Configuration options for the pilot component. -message PilotComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for the proxy. -message ProxyComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for the sidecar injector component. -message SidecarInjectorComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for the policy enforcement component. -message PolicyComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for the telemetry component. -message TelemetryComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for Citadel component. -message CitadelComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for certificate manager component. -message CertManagerComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for node agent component. -message NodeAgentComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for galley component. -message GalleyComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for ingress gateways. -message IngressGatewayComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for egress gateways. -message EgressGatewayComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for cni component. -message CNIComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// Configuration options for CoreDNS component. -message CoreDNSComponentSpec { - TypeBoolValueForPB enabled = 1; - string namespace = 2; - KubernetesResourcesSpec k8s = 80; -} - -// KubernetesResourcesConfig is a common set of k8s resource configs for components. -message KubernetesResourcesSpec { - // k8s affinity. - // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity - k8s.io.api.core.v1.Affinity affinity = 1; - // Deployment environment variables. - // https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ - repeated k8s.io.api.core.v1.EnvVar env = 2; - // k8s HorizontalPodAutoscaler settings. - // https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ - k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec hpa_spec = 3; - // k8s imagePullPolicy. - // https://kubernetes.io/docs/concepts/containers/images/ - string image_pull_policy = 4; - // k8s nodeSelector. - // https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector - map node_selector = 5; - // k8s PodDisruptionBudget settings. - // https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work - PodDisruptionBudgetSpec pod_disruption_budget = 6; - // k8s pod annotations. - // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ - map pod_annotations = 7; - // k8s priority_class_name. Default for all resources unless overridden. - // https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass - string priority_class_name = 8; - // k8s readinessProbe settings. - // https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ - // k8s.io.api.core.v1.Probe readiness_probe = 9; - ReadinessProbe readiness_probe = 9; - // k8s Deployment replicas setting. - // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ - uint32 replica_count = 10; - // k8s resources settings. - // https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container - Resources resources = 11; - // k8s Service settings. - // https://kubernetes.io/docs/concepts/services-networking/service/ - ServiceSpec service = 12; - // k8s deployment strategy. - // https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ - DeploymentStrategy strategy = 13; - // k8s toleration - // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ - repeated k8s.io.api.core.v1.Toleration tolerations = 14; - - // Overlays for k8s resources in rendered manifests. - repeated k8sObjectOverlay overlays = 100; -} - -// Patch for an existing k8s resource. -message k8sObjectOverlay { - message PathValue { - // Path of the form a.b:c.e.:f - // Where b:c is a list element selector of the form key:value and :f is a list selector of the form :value. - // All path intermediate nodes must exist. - string path = 1; - // Value to add, delete or replace. - // For add, the path should be a new leaf. - // For delete, value should be unset. - // For replace, path should reference an existing node. - // All values are strings but are converted into appropriate type based on schema. - TypeInterface value = 2; - } - // Resource API version. - string api_version = 1; - // Resource kind. - string kind = 2; - // Name of resource. - // Namespace is always the component namespace. - string name = 3; - - // List of patches to apply to resource. - repeated PathValue patches = 4; -} - -// Observed state of IstioControlPlane. -message InstallStatus { - enum Status { - NONE = 0; - UPDATING = 1; - HEALTHY = 2; - ERROR = 3; - RECONCILING = 4; - } - message VersionStatus { - string version = 1; - Status status = 2; - string statusString = 3; - string error = 4; - } - - map status = 1; -} - -// Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling. -message Resources { - map limits = 1; - map requests = 2; -} - -// Mirrors k8s.io.api.core.v1.Probe for unmarshaling -message ReadinessProbe { - ExecAction exec = 1; - HTTPGetAction httpGet = 2; - TCPSocketAction tcpSocket = 3; - int32 initialDelaySeconds = 4; - int32 timeoutSeconds = 5; - int32 periodSeconds = 6; - int32 successThreshold = 7; - int32 failureThreshold = 8; -} - -// Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling -message ExecAction { - repeated string command = 1; -} - -// Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling -message HTTPGetAction { - string path = 1; - TypeIntOrStringForPB port = 2; - string host = 3; - string scheme = 4; - repeated HTTPHeader httpHeaders = 5; -} - -// Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling -message HTTPHeader { - string name = 1; - string value = 2; -} - -// Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling -message TCPSocketAction { - TypeIntOrStringForPB port = 1; - string host = 2; -} - -// Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling. -message PodDisruptionBudgetSpec { - uint32 minAvailable = 1; - k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2; - uint32 maxUnavailable = 3; -} - -// Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling. -message DeploymentStrategy { - string type = 1; - RollingUpdateDeployment rollingUpdate = 2; -} - -// Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling. -message RollingUpdateDeployment { - TypeIntOrStringForPB maxUnavailable = 1; - TypeIntOrStringForPB maxSurge = 2; -} - -message ObjectMeta { - // From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - string name = 5; - string namespace = 6; -} - -// Mirrors k8s.io.core.v1.ServiceSpec for unmarshalling. -message ServiceSpec { - - repeated ServicePort ports = 1; - - map selector = 2; - - string clusterIP = 3; - - string type = 4; - - repeated string externalIPs = 5; - - string sessionAffinity = 7; - - string loadBalancerIP = 8; - - repeated string loadBalancerSourceRanges = 9; - - string externalName = 10; - - string externalTrafficPolicy = 11; - - int32 healthCheckNodePort = 12; - - bool publishNotReadyAddresses = 13; - - SessionAffinityConfig sessionAffinityConfig = 14; - - string ipFamily = 15; - - repeated string topologyKeys = 16; -} - -// Mirrors k8s.io.core.v1.ServicePort for unmarshalling. -message ServicePort { - - string name = 1; - - string protocol = 2; - - int32 port = 3; - - TypeIntOrStringForPB targetPort = 4; - - int32 nodePort = 5; -} - -// Mirrors k8s.io.core.v1.SessionAffinityConfig for unmarshalling. -message SessionAffinityConfig { - - ClientIPConfig clientIP = 1; -} - -// Mirrors k8s.io.core.v1.ClientIPConfig for unmarshalling. -message ClientIPConfig { - - int32 timeoutSeconds = 1; -} - -// GOTYPE: map[string]interface{} -message TypeMapStringInterface {} - -// GOTYPE: interface{} -message TypeInterface {} - -// GOTYPE: *IntOrStringForPB -message TypeIntOrStringForPB {} - -// GOTYPE: *BoolValueForPB -message TypeBoolValueForPB {} - - diff --git a/pkg/apis/istio/v1alpha2/v1alpha2.pb.html b/pkg/apis/istio/v1alpha2/v1alpha2.pb.html deleted file mode 100644 index c3fb0c177..000000000 --- a/pkg/apis/istio/v1alpha2/v1alpha2.pb.html +++ /dev/null @@ -1,3215 +0,0 @@ ---- -title: Installation Options (istioctl) -description: Configuration options for Istio control plane installation using istioctl. -location: https://istio.io/docs/reference/config/istio.operator.v1alpha12.pb.html -layout: protoc-gen-docs -generator: protoc-gen-docs -weight: 10 -number_of_entries: 65 ---- -

IstioControlPlane is a schema for both defining and customizing Istio control plane installations. -Running the operator with an empty user defined InstallSpec results in an control plane with default values, using the -default charts.

- -

The simplest install specialization is to point the user InstallSpec profile to a different values file, for -example an Istio minimal control plane, which will use the values associated with the minimal control plane profile for -Istio.

- -

Deeper customization is possible at three levels:

- -
    -
  1. New APIs defined in this file

    - -

    Feature API: this API groups an Istio install by features and allows enabling/disabling the features, selecting base -control plane profiles, as well as some additional high level settings that are feature specific. Each feature contains -one or more components, which correspond to Istio components (Pods) in the cluster.

    - -

    k8s API: this API is a pass through to k8s resource settings for Istio k8s resources. It allows customizing Istio k8s -resources like Affinity, Resource requests/limits, PodDisruptionBudgetSpec, Selectors etc. in a more consistent and -k8s specific way compared to values.yaml. See KubernetesResourcesSpec in this file for details.

  2. - -
  3. values.yaml

    - -

    The entirety of values.yaml settings is accessible through InstallSpec (see CommonComponentSpec/Values). -This API will gradually be deprecated and values there will be moved either into CRDs that are used to directly -configure components or, in the case of k8s settings, will be replaced by the new API above.

  4. - -
  5. k8s resource overlays

    - -

    Once a manifest is rendered from InstallSpec, a further customization can be applied by specifying k8s resource -overlays. The concept is similar to kustomize, where JSON patches are applied for object paths. This allows -customization at the lowest level and eliminates the need to create ad-hoc template parameters, or edit templates.

  6. -
- -

Here are a few example uses:

- -
    -
  1. Default Istio install

    - -
    spec:
    -
  2. - -
  3. Default minimal profile install

    - -
    spec:
    -  profile: minimal
    -
  4. - -
  5. Default install with telemetry disabled

    - -
    spec:
    -  telemetry:
    -    enabled: false
    -
  6. - -
  7. Default install with each feature installed to different namespace and security components in separate namespaces

    - -
    spec:
    -  traffic_management:
    -    components:
    -      namespace: istio-traffic-management
    -  policy:
    -    components:
    -      namespace: istio-policy
    -  telemetry:
    -    components:
    -      namespace: istio-telemetry
    -  config_management:
    -    components:
    -      namespace: istio-config-management
    -  security:
    -    components:
    -      citadel:
    -        namespace: istio-citadel
    -      cert_manager:
    -        namespace: istio-cert-manager
    -      node_agent:
    -        namespace: istio-node-agent
    -
  8. - -
  9. Default install with specialized k8s settings for pilot

    - -
    spec:
    -  traffic_management:
    -    components:
    -      pilot:
    -        k8s:
    -          resources:
    -            limits:
    -              cpu: 444m
    -              memory: 333Mi
    -            requests:
    -              cpu: 222m
    -              memory: 111Mi
    -          readinessProbe:
    -            failureThreshold: 44
    -            initialDelaySeconds: 11
    -            periodSeconds: 22
    -            successThreshold: 33
    -
  10. - -
  11. Default install with values.yaml customizations for proxy

    - -
    spec:
    -  traffic_management:
    -    components:
    -      proxy:
    -        values:
    -        - global.proxy.enableCoreDump: true
    -        - global.proxy.dnsRefreshRate: 10s
    -
  12. - -
  13. Default install with modification to container flag in galley

    - -
    spec:
    -  configuration_management:
    -    components:
    -      galley:
    -        k8s:
    -          overlays:
    -          - apiVersion: extensions/v1beta1
    -            kind: Deployment
    -            name: istio-galley
    -            patches:
    -            - path: spec.template.spec.containers.[name:galley].command.[--livenessProbeInterval]
    -              value: --livenessProbeInterval=123s
    -
  14. -
- -

AutoInjectionFeatureSpec

-
-

Configuration options for auto injection feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether auto injection feature is installed. Must be set for any sub-component to be installed.

- -
-No -
componentsComponents - -No -
-
-

AutoInjectionFeatureSpec.Components

-
- - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that auto injections components are installed into.

- -
-No -
injectorSidecarInjectorComponentSpec - -No -
-
-

BaseComponentSpec

-
-

Configuration options for the base component.

- - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
-
-

BaseFeatureSpec

-
-

Base feature settings.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether base feature is installed. Required for all Istio installs. -Should only be disabled when generating partial Istio installation YAMLs.

- -
-No -
componentsComponents - -No -
-
-

BaseFeatureSpec.Components

-
-

Component specific config.

- - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
baseBaseComponentSpec - -No -
-
-

CNIComponentSpec

-
-

Configuration options for cni component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

CNIFeatureSpec

-
-

Configuration options for cni feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether CNI feature is installed. Must be set for any sub-component to be installed.

- -
-No -
componentsComponents - -No -
-
-

CNIFeatureSpec.Components

-
- - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that cni components are installed into.

- -
-No -
cniCNIComponentSpec - -No -
-
-

CertManagerComponentSpec

-
-

Configuration options for certificate manager component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

CitadelComponentSpec

-
-

Configuration options for Citadel component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

ClientIPConfig

-
-

Mirrors k8s.io.core.v1.ClientIPConfig for unmarshalling.

- - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
timeoutSecondsint32 - -No -
-
-

ConfigManagementFeatureSpec

-
-

Configuration options for configuration management feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether config management feature is installed. Must be set for any sub-component to be installed.

- -
-No -
componentsComponents - -No -
-
-

ConfigManagementFeatureSpec.Components

-
- - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that security components are installed into.

- -
-No -
galleyGalleyComponentSpec - -No -
-
-

CoreDNSComponentSpec

-
-

Configuration options for CoreDNS component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

CoreDNSFeatureSpec

-
-

Configuration options for CoreDNS feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether CoreDNS feature is installed. Must be set for any sub-component to be installed.

- -
-No -
componentsComponents - -No -
-
-

CoreDNSFeatureSpec.Components

-
- - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that CoreDNS components are installed into.

- -
-No -
coreDNSCoreDNSComponentSpec - -No -
-
-

DeploymentStrategy

-
-

Mirrors k8s.io.api.apps.v1.DeploymentStrategy for unmarshaling.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
typestring - -No -
rollingUpdateRollingUpdateDeployment - -No -
-
-

EgressGatewayComponentSpec

-
-

Configuration options for egress gateways.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

ExecAction

-
-

Mirrors k8s.io.api.core.v1.ExecAction for unmarshaling

- - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
commandstring[] - -No -
-
-

GalleyComponentSpec

-
-

Configuration options for galley component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

GatewayFeatureSpec

-
-

Configuration options for gateway feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether gateway feature is installed. Must be set for any sub-component to be installed.

- -
-No -
componentsComponents - -No -
-
-

GatewayFeatureSpec.Components

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that auto injections components are installed into.

- -
-No -
ingressGatewayIngressGatewayComponentSpec -

Ingress/egress gateway configuration.

- -
-No -
egressGatewayEgressGatewayComponentSpec - -No -
-
-

HTTPGetAction

-
-

Mirrors k8s.io.api.core.v1.HTTPGetAction for unmarshaling

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
pathstring - -No -
portTypeIntOrStringForPB - -No -
hoststring - -No -
schemestring - -No -
httpHeadersHTTPHeader[] - -No -
-
-

HTTPHeader

-
-

Mirrors k8s.io.api.core.v1.HTTPHeader for unmarshaling

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namestring - -No -
valuestring - -No -
-
-

IngressGatewayComponentSpec

-
-

Configuration options for ingress gateways.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

InstallStatus

-
-

Observed state of IstioControlPlane.

- - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
statusmap<string, VersionStatus> - -No -
-
-

InstallStatus.Status

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDescription
NONE -
UPDATING -
HEALTHY -
ERROR -
RECONCILING -
-
-

InstallStatus.VersionStatus

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
versionstring - -No -
statusStatus - -No -
statusStringstring - -No -
errorstring - -No -
-
-

IstioControlPlane

-
-

IstioControlPlane is a CustomResourceDefinition (CRD) describing an Istio control plane.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
specIstioControlPlaneSpec -

Spec defines the desired state of IstioControlPlane.

- -
-No -
statusInstallStatus -

Status reports the status of the Istio control plane.

- -
-No -
kindstring - -No -
apiVersionstring - -No -
placeholderstring -

GOFIELD:v11.ObjectMeta json:"metadata,omitempty" protobuf:"bytes,7,opt,name=metadata" -GOFIELD:v11.TypeMeta json:",inline"

- -
-No -
-
-

IstioControlPlaneSpec

-
-

IstioControlPlaneSpec defines the desired state of IstioControlPlane. -The spec is a used to define a customization of the default profile values that are supplied with each Istio release. -It is grouped at the top level by feature, where behavior of Istio functional areas is specified. -Each feature contains components, where k8s resource level defaults can be overridden. -Because the spec is a customization API, specifying an empty InstallSpec results in a default Istio control plane.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
defaultNamespacestring -

Default namespace if feature or component namespaces are not set.

- -
-No -
baseBaseFeatureSpec -

Base feature containing resources like CRDs, namespaces etc.

- -
-No -
trafficManagementTrafficManagementFeatureSpec -

Selection and configuration of core Istio features.

- -
-No -
policyPolicyFeatureSpec - -No -
telemetryTelemetryFeatureSpec - -No -
securitySecurityFeatureSpec - -No -
configManagementConfigManagementFeatureSpec - -No -
autoInjectionAutoInjectionFeatureSpec - -No -
gatewaysGatewayFeatureSpec - -No -
cniCNIFeatureSpec - -No -
coreDNSCoreDNSFeatureSpec - -No -
valuesTypeMapStringInterface -

Overrides for default global values.yaml.

- -
-No -
unvalidatedValuesTypeMapStringInterface -

Unvalidated overrides for default global values.yaml.

- -
-No -
profilestring -

Path or name for the profile e.g. - - minimal (looks in profiles dir for a file called minimal.yaml) - - /tmp/istio/install/values/custom/custom-install.yaml (local file path) -default profile is used if this field is unset.

- -
-No -
installPackagePathstring -

Path for the install package. e.g. - - /tmp/istio-installer/nightly (local file path)

- -
-No -
hubstring -

Root for docker image paths e.g. docker.io/istio-release. -Releases are published to docker hub under ‘istio’ project. -Daily builds from prow are on gcr.io, and nightly builds from circle on docker.io/istionightly

- -
-No -
tagstring -

Version tag for docker images e.g. 1.0.6

- -
-No -
-
-

KubernetesResourcesSpec

-
-

KubernetesResourcesConfig is a common set of k8s resource configs for components.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
affinityAffinity -

k8s affinity. -https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity

- -
-No -
envEnvVar[] -

Deployment environment variables. -https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/

- -
-No -
hpaSpecHorizontalPodAutoscalerSpec -

k8s HorizontalPodAutoscaler settings. -https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

- -
-No -
imagePullPolicystring -

k8s imagePullPolicy. -https://kubernetes.io/docs/concepts/containers/images/

- -
-No -
nodeSelectormap<string, string> -

k8s nodeSelector. -https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector

- -
-No -
podDisruptionBudgetPodDisruptionBudgetSpec -

k8s PodDisruptionBudget settings. -https://kubernetes.io/docs/concepts/workloads/pods/disruptions/#how-disruption-budgets-work

- -
-No -
podAnnotationsmap<string, string> -

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

- -
-No -
priorityClassNamestring -

k8s priorityclassname. Default for all resources unless overridden. -https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass

- -
-No -
readinessProbeReadinessProbe -

k8s readinessProbe settings. -https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ -k8s.io.api.core.v1.Probe readiness_probe = 9;

- -
-No -
replicaCountuint32 -

k8s Deployment replicas setting. -https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

- -
-No -
resourcesResources -

k8s resources settings. -https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#resource-requests-and-limits-of-pod-and-container

- -
-No -
serviceServiceSpec -

k8s Service settings. -https://kubernetes.io/docs/concepts/services-networking/service/

- -
-No -
strategyDeploymentStrategy -

k8s deployment strategy. -https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

- -
-No -
tolerationsToleration[] -

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

- -
-No -
overlaysk8sObjectOverlay[] -

Overlays for k8s resources in rendered manifests.

- -
-No -
-
-

NodeAgentComponentSpec

-
-

Configuration options for node agent component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

ObjectMeta

-
- - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namestring -

From k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta

- -
-No -
namespacestring - -No -
-
-

PilotComponentSpec

-
-

Configuration options for the pilot component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

PodDisruptionBudgetSpec

-
-

Mirrors k8s.io.api.policy.v1beta1.PodDisruptionBudget for unmarshaling.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
minAvailableuint32 - -No -
selectorLabelSelector - -No -
maxUnavailableuint32 - -No -
-
-

PolicyComponentSpec

-
-

Configuration options for the policy enforcement component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

PolicyFeatureSpec

-
-

Configuration options for the policy feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether policy is installed. -Must be enabled to enable any sub-component.

- -
-No -
componentsComponents - -No -
-
-

PolicyFeatureSpec.Components

-
-

Component specific config.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that all policy components are installed into.

- -
-No -
policyPolicyComponentSpec - -No -
-
-

ProxyComponentSpec

-
-

Configuration options for the proxy.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

ReadinessProbe

-
-

Mirrors k8s.io.api.core.v1.Probe for unmarshaling

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
execExecAction - -No -
httpGetHTTPGetAction - -No -
tcpSocketTCPSocketAction - -No -
initialDelaySecondsint32 - -No -
timeoutSecondsint32 - -No -
periodSecondsint32 - -No -
successThresholdint32 - -No -
failureThresholdint32 - -No -
-
-

Resources

-
-

Mirrors k8s.io.api.core.v1.ResourceRequirements for unmarshaling.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
limitsmap<string, string> - -No -
requestsmap<string, string> - -No -
-
-

RollingUpdateDeployment

-
-

Mirrors k8s.io.api.apps.v1.RollingUpdateDeployment for unmarshaling.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
maxUnavailableTypeIntOrStringForPB - -No -
maxSurgeTypeIntOrStringForPB - -No -
-
-

SecurityFeatureSpec

-
-

Configuration options for security feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether security feature is installed. Must be set for any sub-component to be installed.

- -
-No -
componentsComponents - -No -
-
-

SecurityFeatureSpec.Components

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that security components are installed into.

- -
-No -
citadelCitadelComponentSpec - -No -
certManagerCertManagerComponentSpec - -No -
nodeAgentNodeAgentComponentSpec - -No -
-
-

ServicePort

-
-

Mirrors k8s.io.core.v1.ServicePort for unmarshalling.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namestring - -No -
protocolstring - -No -
portint32 - -No -
targetPortTypeIntOrStringForPB - -No -
nodePortint32 - -No -
-
-

ServiceSpec

-
-

Mirrors k8s.io.core.v1.ServiceSpec for unmarshalling.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
portsServicePort[] - -No -
selectormap<string, string> - -No -
clusterIPstring - -No -
typestring - -No -
externalIPsstring[] - -No -
sessionAffinitystring - -No -
loadBalancerIPstring - -No -
loadBalancerSourceRangesstring[] - -No -
externalNamestring - -No -
externalTrafficPolicystring - -No -
healthCheckNodePortint32 - -No -
publishNotReadyAddressesbool - -No -
sessionAffinityConfigSessionAffinityConfig - -No -
ipFamilystring - -No -
topologyKeysstring[] - -No -
-
-

SessionAffinityConfig

-
-

Mirrors k8s.io.core.v1.SessionAffinityConfig for unmarshalling.

- - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
clientIPClientIPConfig - -No -
-
-

SidecarInjectorComponentSpec

-
-

Configuration options for the sidecar injector component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

TCPSocketAction

-
-

Mirrors k8s.io.api.core.v1.TCPSocketAction for unmarshaling

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
portTypeIntOrStringForPB - -No -
hoststring - -No -
-
-

TelemetryComponentSpec

-
-

Configuration options for the telemetry component.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB - -No -
namespacestring - -No -
k8sKubernetesResourcesSpec - -No -
-
-

TelemetryFeatureSpec

-
-

Configuration options for the telemetry feature.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether telemetry is installed. -Must be enabled to enable any sub-component.

- -
-No -
componentsComponents - -No -
-
-

TelemetryFeatureSpec.Components

-
-

Component specific config.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that all telemetry components are installed into.

- -
-No -
telemetryTelemetryComponentSpec - -No -
-
-

TrafficManagementFeatureSpec

-
-

Configuration options for traffic management.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
enabledTypeBoolValueForPB -

Selects whether traffic management is installed. -Must be enabled to enable any sub-component.

- -
-No -
componentsComponents - -No -
-
-

TrafficManagementFeatureSpec.Components

-
-

Component specific config.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namespacestring -

Namespace that all traffic management components are installed into.

- -
-No -
pilotPilotComponentSpec - -No -
proxyProxyComponentSpec - -No -
-
-

TypeBoolValueForPB

-
-

GOTYPE: *BoolValueForPB

- -
-

TypeIntOrStringForPB

-
-

GOTYPE: *IntOrStringForPB

- -
-

TypeInterface

-
-

GOTYPE: interface{}

- -
-

TypeMapStringInterface

-
-

GOTYPE: map[string]interface{}

- -
-

k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerSpec

-
-

HorizontalPodAutoscalerSpec describes the desired functionality of the HorizontalPodAutoscaler.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
scaleTargetRefCrossVersionObjectReference -

scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics -should be collected, as well as to actually change the replica count.

- -
-No -
minReplicasint32 -

minReplicas is the lower limit for the number of replicas to which the autoscaler -can scale down. It defaults to 1 pod. minReplicas is allowed to be 0 if the -alpha feature gate HPAScaleToZero is enabled and at least one Object or External -metric is configured. Scaling is active as long as at least one metric value is -available. -+optional

- -
-No -
maxReplicasint32 -

maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. -It cannot be less that minReplicas.

- -
-No -
metricsMetricSpec[] -

metrics contains the specifications for which to use to calculate the -desired replica count (the maximum replica count across all metrics will -be used). The desired replica count is calculated multiplying the -ratio between the target value and the current value by the current -number of pods. Ergo, metrics used must decrease as the pod count is -increased, and vice-versa. See the individual metric source types for -more information about how each type of metric must respond. -+optional

- -
-No -
-
-

k8s.io.api.core.v1.Affinity

-
-

Affinity is a group of affinity scheduling rules.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
nodeAffinityNodeAffinity -

Describes node affinity scheduling rules for the pod. -+optional

- -
-No -
podAffinityPodAffinity -

Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). -+optional

- -
-No -
podAntiAffinityPodAntiAffinity -

Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). -+optional

- -
-No -
-
-

k8s.io.api.core.v1.EnvVar

-
-

EnvVar represents an environment variable present in a Container.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
namestring -

Name of the environment variable. Must be a C_IDENTIFIER.

- -
-No -
valuestring -

Variable references $(VARNAME) are expanded -using the previous defined environment variables in the container and -any service environment variables. If a variable cannot be resolved, -the reference in the input string will be unchanged. The $(VARNAME) -syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped -references will never be expanded, regardless of whether the variable -exists or not. -Defaults to “”. -+optional

- -
-No -
valueFromEnvVarSource -

Source for the environment variable’s value. Cannot be used if value is not empty. -+optional

- -
-No -
-
-

k8s.io.api.core.v1.Toleration

-
-

The pod this Toleration is attached to tolerates any taint that matches -the triple <key,value,effect> using the matching operator <operator>.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
keystring -

Key is the taint key that the toleration applies to. Empty means match all taint keys. -If the key is empty, operator must be Exists; this combination means to match all values and all keys. -+optional

- -
-No -
operatorstring -

Operator represents a key’s relationship to the value. -Valid operators are Exists and Equal. Defaults to Equal. -Exists is equivalent to wildcard for value, so that a pod can -tolerate all taints of a particular category. -+optional

- -
-No -
valuestring -

Value is the taint value the toleration matches to. -If the operator is Exists, the value should be empty, otherwise just a regular string. -+optional

- -
-No -
effectstring -

Effect indicates the taint effect to match. Empty means match all taint effects. -When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. -+optional

- -
-No -
tolerationSecondsint64 -

TolerationSeconds represents the period of time the toleration (which must be -of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, -it is not set, which means tolerate the taint forever (do not evict). Zero and -negative values will be treated as 0 (evict immediately) by the system. -+optional

- -
-No -
-
-

k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector

-
-

A label selector is a label query over a set of resources. The result of matchLabels and -matchExpressions are ANDed. An empty label selector matches all objects. A null -label selector matches no objects.

- - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
matchLabelsmap<string, string> -

matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels -map is equivalent to an element of matchExpressions, whose key field is “key”, the -operator is “In”, and the values array contains only “value”. The requirements are ANDed. -+optional

- -
-No -
matchExpressionsLabelSelectorRequirement[] -

matchExpressions is a list of label selector requirements. The requirements are ANDed. -+optional

- -
-No -
-
-

k8sObjectOverlay

-
-

Patch for an existing k8s resource.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
apiVersionstring -

Resource API version.

- -
-No -
kindstring -

Resource kind.

- -
-No -
namestring -

Name of resource. -Namespace is always the component namespace.

- -
-No -
patchesPathValue[] -

List of patches to apply to resource.

- -
-No -
-
-

k8sObjectOverlay.PathValue

-
- - - - - - - - - - - - - - - - - - - - - - - -
FieldTypeDescriptionRequired
pathstring -

Path of the form a.b:c.e.:f -Where b:c is a list element selector of the form key:value and :f is a list selector of the form :value. -All path intermediate nodes must exist.

- -
-No -
valueTypeInterface -

Value to add, delete or replace. -For add, the path should be a new leaf. -For delete, value should be unset. -For replace, path should reference an existing node. -All values are strings but are converted into appropriate type based on schema.

- -
-No -
-
diff --git a/pkg/vfs/assets.gen.go b/pkg/vfs/assets.gen.go index bce24b6e0..c3062b581 100644 --- a/pkg/vfs/assets.gen.go +++ b/pkg/vfs/assets.gen.go @@ -40694,6 +40694,8 @@ kubernetesMapping: outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.strategy" "Components.{{.ComponentName}}.K8S.Tolerations": outPath: "[{{.ResourceType}}:{{.ResourceName}}].spec.template.spec.tolerations" + "Components.{{.ComponentName}}.K8S.Service": + outPath: "[Service:{{.ResourceName}}].spec" globalNamespaces: Pilot: "istioNamespace" Galley: "configNamespace" 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 deleted file mode 100644 index 71ae9ffb2..000000000 --- a/python/istio_api/pkg/apis/istio/v1alpha2/istiocontrolplane_types_pb2.py +++ /dev/null @@ -1,3630 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: pkg/apis/istio/v1alpha2/istiocontrolplane_types.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 -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from k8s.io.api.core.v1 import generated_pb2 as k8s_dot_io_dot_api_dot_core_dot_v1_dot_generated__pb2 -from k8s.io.api.autoscaling.v2beta1 import generated_pb2 as k8s_dot_io_dot_api_dot_autoscaling_dot_v2beta1_dot_generated__pb2 -from k8s.io.apimachinery.pkg.apis.meta.v1 import generated_pb2 as k8s_dot_io_dot_apimachinery_dot_pkg_dot_apis_dot_meta_dot_v1_dot_generated__pb2 -from github.com.gogo.protobuf.protobuf.google.protobuf import wrappers_pb2 as github_dot_com_dot_gogo_dot_protobuf_dot_protobuf_dot_google_dot_protobuf_dot_wrappers__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='pkg/apis/istio/v1alpha2/istiocontrolplane_types.proto', - 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\"\xf0\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&\n\x07service\x18\x0c \x01(\x0b\x32\x15.v1alpha2.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\"\x80\x04\n\x0bServiceSpec\x12$\n\x05ports\x18\x01 \x03(\x0b\x32\x15.v1alpha2.ServicePort\x12\x35\n\x08selector\x18\x02 \x03(\x0b\x32#.v1alpha2.ServiceSpec.SelectorEntry\x12\x11\n\tclusterIP\x18\x03 \x01(\t\x12\x0c\n\x04type\x18\x04 \x01(\t\x12\x13\n\x0b\x65xternalIPs\x18\x05 \x03(\t\x12\x17\n\x0fsessionAffinity\x18\x07 \x01(\t\x12\x16\n\x0eloadBalancerIP\x18\x08 \x01(\t\x12 \n\x18loadBalancerSourceRanges\x18\t \x03(\t\x12\x14\n\x0c\x65xternalName\x18\n \x01(\t\x12\x1d\n\x15\x65xternalTrafficPolicy\x18\x0b \x01(\t\x12\x1b\n\x13healthCheckNodePort\x18\x0c \x01(\x05\x12 \n\x18publishNotReadyAddresses\x18\r \x01(\x08\x12>\n\x15sessionAffinityConfig\x18\x0e \x01(\x0b\x32\x1f.v1alpha2.SessionAffinityConfig\x12\x10\n\x08ipFamily\x18\x0f \x01(\t\x12\x14\n\x0ctopologyKeys\x18\x10 \x03(\t\x1a/\n\rSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x81\x01\n\x0bServicePort\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08protocol\x18\x02 \x01(\t\x12\x0c\n\x04port\x18\x03 \x01(\x05\x12\x32\n\ntargetPort\x18\x04 \x01(\x0b\x32\x1e.v1alpha2.TypeIntOrStringForPB\x12\x10\n\x08nodePort\x18\x05 \x01(\x05\"C\n\x15SessionAffinityConfig\x12*\n\x08\x63lientIP\x18\x01 \x01(\x0b\x32\x18.v1alpha2.ClientIPConfig\"(\n\x0e\x43lientIPConfig\x12\x16\n\x0etimeoutSeconds\x18\x01 \x01(\x05\"\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,]) - - - -_INSTALLSTATUS_STATUS = _descriptor.EnumDescriptor( - name='Status', - full_name='v1alpha2.InstallStatus.Status', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='NONE', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='UPDATING', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='HEALTHY', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ERROR', index=3, number=3, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='RECONCILING', index=4, number=4, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=6810, - serialized_end=6883, -) -_sym_db.RegisterEnumDescriptor(_INSTALLSTATUS_STATUS) - - -_ISTIOCONTROLPLANE = _descriptor.Descriptor( - name='IstioOperator', - full_name='v1alpha2.IstioOperator', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='spec', full_name='v1alpha2.IstioOperator.spec', index=0, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='status', full_name='v1alpha2.IstioOperator.status', index=1, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='kind', full_name='v1alpha2.IstioOperator.kind', index=2, - number=5, 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='apiVersion', full_name='v1alpha2.IstioOperator.apiVersion', index=3, - number=6, 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='placeholder', full_name='v1alpha2.IstioOperator.placeholder', index=4, - number=111, 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=272, - serialized_end=434, -) - - -_ISTIOCONTROLPLANESPEC = _descriptor.Descriptor( - name='IstioOperatorSpec', - full_name='v1alpha1.IstioOperatorSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='default_namespace', full_name='v1alpha1.IstioOperatorSpec.default_namespace', index=0, - number=5, 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='base', full_name='v1alpha1.IstioOperatorSpec.base', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='traffic_management', full_name='v1alpha1.IstioOperatorSpec.traffic_management', index=2, - number=25, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='policy', full_name='v1alpha1.IstioOperatorSpec.policy', index=3, - number=26, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='telemetry', full_name='v1alpha1.IstioOperatorSpec.telemetry', index=4, - number=27, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='security', full_name='v1alpha1.IstioOperatorSpec.security', index=5, - number=28, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='config_management', full_name='v1alpha1.IstioOperatorSpec.config_management', index=6, - number=29, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='auto_injection', full_name='v1alpha1.IstioOperatorSpec.auto_injection', index=7, - number=30, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='gateways', full_name='v1alpha1.IstioOperatorSpec.gateways', index=8, - number=31, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cni', full_name='v1alpha1.IstioOperatorSpec.cni', index=9, - number=32, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='coreDNS', full_name='v1alpha1.IstioOperatorSpec.coreDNS', index=10, - number=33, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='values', full_name='v1alpha1.IstioOperatorSpec.values', index=11, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='unvalidatedValues', full_name='v1alpha1.IstioOperatorSpec.unvalidatedValues', index=12, - number=51, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='profile', full_name='v1alpha1.IstioOperatorSpec.profile', index=13, - number=100, 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='install_package_path', full_name='v1alpha1.IstioOperatorSpec.install_package_path', index=14, - number=102, 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='hub', full_name='v1alpha1.IstioOperatorSpec.hub', index=15, - number=110, 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='tag', full_name='v1alpha1.IstioOperatorSpec.tag', index=16, - number=111, 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=437, - serialized_end=1185, -) - - -_BASEFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.BaseFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='base', full_name='v1alpha2.BaseFeatureSpec.Components.base', index=0, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1312, - serialized_end=1367, -) - -_BASEFEATURESPEC = _descriptor.Descriptor( - name='BaseFeatureSpec', - full_name='v1alpha2.BaseFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.BaseFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.BaseFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_BASEFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1188, - serialized_end=1367, -) - - -_TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.TrafficManagementFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.TrafficManagementFeatureSpec.Components.namespace', 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='pilot', full_name='v1alpha2.TrafficManagementFeatureSpec.Components.pilot', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='proxy', full_name='v1alpha2.TrafficManagementFeatureSpec.Components.proxy', index=2, - number=21, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1520, - serialized_end=1641, -) - -_TRAFFICMANAGEMENTFEATURESPEC = _descriptor.Descriptor( - name='TrafficManagementFeatureSpec', - full_name='v1alpha2.TrafficManagementFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.TrafficManagementFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.TrafficManagementFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1370, - serialized_end=1641, -) - - -_POLICYFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.PolicyFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.PolicyFeatureSpec.Components.namespace', 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='policy', full_name='v1alpha2.PolicyFeatureSpec.Components.policy', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1772, - serialized_end=1850, -) - -_POLICYFEATURESPEC = _descriptor.Descriptor( - name='PolicyFeatureSpec', - full_name='v1alpha2.PolicyFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.PolicyFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.PolicyFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_POLICYFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1644, - serialized_end=1850, -) - - -_TELEMETRYFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.TelemetryFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.TelemetryFeatureSpec.Components.namespace', 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='telemetry', full_name='v1alpha2.TelemetryFeatureSpec.Components.telemetry', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1987, - serialized_end=2071, -) - -_TELEMETRYFEATURESPEC = _descriptor.Descriptor( - name='TelemetryFeatureSpec', - full_name='v1alpha2.TelemetryFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.TelemetryFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.TelemetryFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_TELEMETRYFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1853, - serialized_end=2071, -) - - -_SECURITYFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.SecurityFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.SecurityFeatureSpec.Components.namespace', 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='citadel', full_name='v1alpha2.SecurityFeatureSpec.Components.citadel', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cert_manager', full_name='v1alpha2.SecurityFeatureSpec.Components.cert_manager', index=2, - number=21, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='node_agent', full_name='v1alpha2.SecurityFeatureSpec.Components.node_agent', index=3, - number=22, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2207, - serialized_end=2399, -) - -_SECURITYFEATURESPEC = _descriptor.Descriptor( - name='SecurityFeatureSpec', - full_name='v1alpha2.SecurityFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.SecurityFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.SecurityFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_SECURITYFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2074, - serialized_end=2399, -) - - -_CONFIGMANAGEMENTFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.ConfigManagementFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.ConfigManagementFeatureSpec.Components.namespace', 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='galley', full_name='v1alpha2.ConfigManagementFeatureSpec.Components.galley', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2550, - serialized_end=2628, -) - -_CONFIGMANAGEMENTFEATURESPEC = _descriptor.Descriptor( - name='ConfigManagementFeatureSpec', - full_name='v1alpha2.ConfigManagementFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.ConfigManagementFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.ConfigManagementFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_CONFIGMANAGEMENTFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2402, - serialized_end=2628, -) - - -_AUTOINJECTIONFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.AutoInjectionFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.AutoInjectionFeatureSpec.Components.namespace', 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='injector', full_name='v1alpha2.AutoInjectionFeatureSpec.Components.injector', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2773, - serialized_end=2862, -) - -_AUTOINJECTIONFEATURESPEC = _descriptor.Descriptor( - name='AutoInjectionFeatureSpec', - full_name='v1alpha2.AutoInjectionFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.AutoInjectionFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.AutoInjectionFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_AUTOINJECTIONFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2631, - serialized_end=2862, -) - - -_GATEWAYFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.GatewayFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.GatewayFeatureSpec.Components.namespace', 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='ingress_gateway', full_name='v1alpha2.GatewayFeatureSpec.Components.ingress_gateway', index=1, - number=31, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='egress_gateway', full_name='v1alpha2.GatewayFeatureSpec.Components.egress_gateway', index=2, - number=32, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2996, - serialized_end=3153, -) - -_GATEWAYFEATURESPEC = _descriptor.Descriptor( - name='GatewayFeatureSpec', - full_name='v1alpha2.GatewayFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.GatewayFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.GatewayFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_GATEWAYFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2865, - serialized_end=3153, -) - - -_CNIFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.CNIFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.CNIFeatureSpec.Components.namespace', 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='cni', full_name='v1alpha2.CNIFeatureSpec.Components.cni', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3278, - serialized_end=3350, -) - -_CNIFEATURESPEC = _descriptor.Descriptor( - name='CNIFeatureSpec', - full_name='v1alpha2.CNIFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.CNIFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.CNIFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_CNIFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3156, - serialized_end=3350, -) - - -_COREDNSFEATURESPEC_COMPONENTS = _descriptor.Descriptor( - name='Components', - full_name='v1alpha2.CoreDNSFeatureSpec.Components', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.CoreDNSFeatureSpec.Components.namespace', 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='coreDNS', full_name='v1alpha2.CoreDNSFeatureSpec.Components.coreDNS', index=1, - number=20, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3483, - serialized_end=3563, -) - -_COREDNSFEATURESPEC = _descriptor.Descriptor( - name='CoreDNSFeatureSpec', - full_name='v1alpha2.CoreDNSFeatureSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.CoreDNSFeatureSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='components', full_name='v1alpha2.CoreDNSFeatureSpec.components', index=1, - number=50, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_COREDNSFEATURESPEC_COMPONENTS, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3353, - serialized_end=3563, -) - - -_BASECOMPONENTSPEC = _descriptor.Descriptor( - name='BaseComponentSpec', - full_name='v1alpha2.BaseComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.BaseComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3565, - serialized_end=3631, -) - - -_PILOTCOMPONENTSPEC = _descriptor.Descriptor( - name='PilotComponentSpec', - full_name='v1alpha2.PilotComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.PilotComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.PilotComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.PilotComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3634, - serialized_end=3768, -) - - -_PROXYCOMPONENTSPEC = _descriptor.Descriptor( - name='ProxyComponentSpec', - full_name='v1alpha2.ProxyComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.ProxyComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.ProxyComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.ProxyComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3771, - serialized_end=3905, -) - - -_SIDECARINJECTORCOMPONENTSPEC = _descriptor.Descriptor( - name='SidecarInjectorComponentSpec', - full_name='v1alpha2.SidecarInjectorComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.SidecarInjectorComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.SidecarInjectorComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.SidecarInjectorComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3908, - serialized_end=4052, -) - - -_POLICYCOMPONENTSPEC = _descriptor.Descriptor( - name='PolicyComponentSpec', - full_name='v1alpha2.PolicyComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.PolicyComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.PolicyComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.PolicyComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4055, - serialized_end=4190, -) - - -_TELEMETRYCOMPONENTSPEC = _descriptor.Descriptor( - name='TelemetryComponentSpec', - full_name='v1alpha2.TelemetryComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.TelemetryComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.TelemetryComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.TelemetryComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4193, - serialized_end=4331, -) - - -_CITADELCOMPONENTSPEC = _descriptor.Descriptor( - name='CitadelComponentSpec', - full_name='v1alpha2.CitadelComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.CitadelComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.CitadelComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.CitadelComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4334, - serialized_end=4470, -) - - -_CERTMANAGERCOMPONENTSPEC = _descriptor.Descriptor( - name='CertManagerComponentSpec', - full_name='v1alpha2.CertManagerComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.CertManagerComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.CertManagerComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.CertManagerComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4473, - serialized_end=4613, -) - - -_NODEAGENTCOMPONENTSPEC = _descriptor.Descriptor( - name='NodeAgentComponentSpec', - full_name='v1alpha2.NodeAgentComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.NodeAgentComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.NodeAgentComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.NodeAgentComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4616, - serialized_end=4754, -) - - -_GALLEYCOMPONENTSPEC = _descriptor.Descriptor( - name='GalleyComponentSpec', - full_name='v1alpha2.GalleyComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.GalleyComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.GalleyComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.GalleyComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4757, - serialized_end=4892, -) - - -_INGRESSGATEWAYCOMPONENTSPEC = _descriptor.Descriptor( - name='IngressGatewayComponentSpec', - full_name='v1alpha2.IngressGatewayComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.IngressGatewayComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.IngressGatewayComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.IngressGatewayComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4895, - serialized_end=5038, -) - - -_EGRESSGATEWAYCOMPONENTSPEC = _descriptor.Descriptor( - name='EgressGatewayComponentSpec', - full_name='v1alpha2.EgressGatewayComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.EgressGatewayComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.EgressGatewayComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.EgressGatewayComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5041, - serialized_end=5183, -) - - -_CNICOMPONENTSPEC = _descriptor.Descriptor( - name='CNIComponentSpec', - full_name='v1alpha2.CNIComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.CNIComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.CNIComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.CNIComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5186, - serialized_end=5318, -) - - -_COREDNSCOMPONENTSPEC = _descriptor.Descriptor( - name='CoreDNSComponentSpec', - full_name='v1alpha2.CoreDNSComponentSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='enabled', full_name='v1alpha2.CoreDNSComponentSpec.enabled', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='namespace', full_name='v1alpha2.CoreDNSComponentSpec.namespace', 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), - _descriptor.FieldDescriptor( - name='k8s', full_name='v1alpha2.CoreDNSComponentSpec.k8s', index=2, - number=80, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5321, - serialized_end=5457, -) - - -_KUBERNETESRESOURCESSPEC_NODESELECTORENTRY = _descriptor.Descriptor( - name='NodeSelectorEntry', - full_name='v1alpha2.KubernetesResourcesSpec.NodeSelectorEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='v1alpha2.KubernetesResourcesSpec.NodeSelectorEntry.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.NodeSelectorEntry.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=6234, - serialized_end=6285, -) - -_KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY = _descriptor.Descriptor( - name='PodAnnotationsEntry', - full_name='v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry.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.PodAnnotationsEntry.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=6287, - serialized_end=6340, -) - -_KUBERNETESRESOURCESSPEC = _descriptor.Descriptor( - name='KubernetesResourcesSpec', - full_name='v1alpha2.KubernetesResourcesSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='affinity', full_name='v1alpha2.KubernetesResourcesSpec.affinity', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='env', full_name='v1alpha2.KubernetesResourcesSpec.env', index=1, - number=2, 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='hpa_spec', full_name='v1alpha2.KubernetesResourcesSpec.hpa_spec', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='image_pull_policy', full_name='v1alpha2.KubernetesResourcesSpec.image_pull_policy', index=3, - number=4, 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='node_selector', full_name='v1alpha2.KubernetesResourcesSpec.node_selector', index=4, - number=5, 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='pod_disruption_budget', full_name='v1alpha2.KubernetesResourcesSpec.pod_disruption_budget', index=5, - number=6, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pod_annotations', full_name='v1alpha2.KubernetesResourcesSpec.pod_annotations', index=6, - number=7, 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='priority_class_name', full_name='v1alpha2.KubernetesResourcesSpec.priority_class_name', index=7, - number=8, 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='readiness_probe', full_name='v1alpha2.KubernetesResourcesSpec.readiness_probe', index=8, - number=9, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='replica_count', full_name='v1alpha2.KubernetesResourcesSpec.replica_count', index=9, - number=10, 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, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='resources', full_name='v1alpha2.KubernetesResourcesSpec.resources', index=10, - number=11, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='service', full_name='v1alpha2.KubernetesResourcesSpec.service', index=11, - number=12, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='strategy', full_name='v1alpha2.KubernetesResourcesSpec.strategy', index=12, - number=13, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tolerations', full_name='v1alpha2.KubernetesResourcesSpec.tolerations', index=13, - number=14, 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=14, - number=100, 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), - ], - extensions=[ - ], - nested_types=[_KUBERNETESRESOURCESSPEC_NODESELECTORENTRY, _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5460, - serialized_end=6340, -) - - -_K8SOBJECTOVERLAY_PATHVALUE = _descriptor.Descriptor( - name='PathValue', - full_name='v1alpha2.k8sObjectOverlay.PathValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='path', full_name='v1alpha2.k8sObjectOverlay.PathValue.path', 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.k8sObjectOverlay.PathValue.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6467, - serialized_end=6532, -) - -_K8SOBJECTOVERLAY = _descriptor.Descriptor( - name='k8sObjectOverlay', - full_name='v1alpha2.k8sObjectOverlay', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='api_version', full_name='v1alpha2.k8sObjectOverlay.api_version', 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='kind', full_name='v1alpha2.k8sObjectOverlay.kind', 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), - _descriptor.FieldDescriptor( - name='name', full_name='v1alpha2.k8sObjectOverlay.name', index=2, - number=3, 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='patches', full_name='v1alpha2.k8sObjectOverlay.patches', index=3, - number=4, 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), - ], - extensions=[ - ], - nested_types=[_K8SOBJECTOVERLAY_PATHVALUE, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6343, - serialized_end=6532, -) - - -_INSTALLSTATUS_VERSIONSTATUS = _descriptor.Descriptor( - name='VersionStatus', - full_name='v1alpha2.InstallStatus.VersionStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='version', full_name='v1alpha2.InstallStatus.VersionStatus.version', 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='status', full_name='v1alpha2.InstallStatus.VersionStatus.status', index=1, - number=2, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='statusString', full_name='v1alpha2.InstallStatus.VersionStatus.statusString', index=2, - number=3, 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='error', full_name='v1alpha2.InstallStatus.VersionStatus.error', index=3, - number=4, 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6605, - serialized_end=6722, -) - -_INSTALLSTATUS_STATUSENTRY = _descriptor.Descriptor( - name='StatusEntry', - full_name='v1alpha2.InstallStatus.StatusEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='v1alpha2.InstallStatus.StatusEntry.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.InstallStatus.StatusEntry.value', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=6724, - serialized_end=6808, -) - -_INSTALLSTATUS = _descriptor.Descriptor( - name='InstallStatus', - full_name='v1alpha2.InstallStatus', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='status', full_name='v1alpha2.InstallStatus.status', 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, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_INSTALLSTATUS_VERSIONSTATUS, _INSTALLSTATUS_STATUSENTRY, ], - enum_types=[ - _INSTALLSTATUS_STATUS, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6535, - serialized_end=6883, -) - - -_RESOURCES_LIMITSENTRY = _descriptor.Descriptor( - name='LimitsEntry', - full_name='v1alpha2.Resources.LimitsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='v1alpha2.Resources.LimitsEntry.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.Resources.LimitsEntry.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=7001, - serialized_end=7046, -) - -_RESOURCES_REQUESTSENTRY = _descriptor.Descriptor( - name='RequestsEntry', - full_name='v1alpha2.Resources.RequestsEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='v1alpha2.Resources.RequestsEntry.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.Resources.RequestsEntry.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=7048, - serialized_end=7095, -) - -_RESOURCES = _descriptor.Descriptor( - name='Resources', - full_name='v1alpha2.Resources', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='limits', full_name='v1alpha2.Resources.limits', 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, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='requests', full_name='v1alpha2.Resources.requests', index=1, - number=2, 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), - ], - extensions=[ - ], - nested_types=[_RESOURCES_LIMITSENTRY, _RESOURCES_REQUESTSENTRY, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6886, - serialized_end=7095, -) - - -_READINESSPROBE = _descriptor.Descriptor( - name='ReadinessProbe', - full_name='v1alpha2.ReadinessProbe', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='exec', full_name='v1alpha2.ReadinessProbe.exec', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='httpGet', full_name='v1alpha2.ReadinessProbe.httpGet', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='tcpSocket', full_name='v1alpha2.ReadinessProbe.tcpSocket', index=2, - number=3, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='initialDelaySeconds', full_name='v1alpha2.ReadinessProbe.initialDelaySeconds', index=3, - number=4, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timeoutSeconds', full_name='v1alpha2.ReadinessProbe.timeoutSeconds', index=4, - number=5, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='periodSeconds', full_name='v1alpha2.ReadinessProbe.periodSeconds', index=5, - number=6, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='successThreshold', full_name='v1alpha2.ReadinessProbe.successThreshold', index=6, - number=7, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='failureThreshold', full_name='v1alpha2.ReadinessProbe.failureThreshold', index=7, - number=8, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7098, - serialized_end=7366, -) - - -_EXECACTION = _descriptor.Descriptor( - name='ExecAction', - full_name='v1alpha2.ExecAction', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='command', full_name='v1alpha2.ExecAction.command', index=0, - number=1, 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, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7368, - serialized_end=7397, -) - - -_HTTPGETACTION = _descriptor.Descriptor( - name='HTTPGetAction', - full_name='v1alpha2.HTTPGetAction', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='path', full_name='v1alpha2.HTTPGetAction.path', 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='port', full_name='v1alpha2.HTTPGetAction.port', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='host', full_name='v1alpha2.HTTPGetAction.host', index=2, - number=3, 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='scheme', full_name='v1alpha2.HTTPGetAction.scheme', index=3, - number=4, 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='httpHeaders', full_name='v1alpha2.HTTPGetAction.httpHeaders', index=4, - number=5, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7400, - serialized_end=7548, -) - - -_HTTPHEADER = _descriptor.Descriptor( - name='HTTPHeader', - full_name='v1alpha2.HTTPHeader', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='v1alpha2.HTTPHeader.name', 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.HTTPHeader.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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7550, - serialized_end=7591, -) - - -_TCPSOCKETACTION = _descriptor.Descriptor( - name='TCPSocketAction', - full_name='v1alpha2.TCPSocketAction', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='port', full_name='v1alpha2.TCPSocketAction.port', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='host', full_name='v1alpha2.TCPSocketAction.host', 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7593, - serialized_end=7670, -) - - -_PODDISRUPTIONBUDGETSPEC = _descriptor.Descriptor( - name='PodDisruptionBudgetSpec', - full_name='v1alpha2.PodDisruptionBudgetSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='minAvailable', full_name='v1alpha2.PodDisruptionBudgetSpec.minAvailable', index=0, - number=1, 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, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='selector', full_name='v1alpha2.PodDisruptionBudgetSpec.selector', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maxUnavailable', full_name='v1alpha2.PodDisruptionBudgetSpec.maxUnavailable', 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, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7673, - serialized_end=7815, -) - - -_DEPLOYMENTSTRATEGY = _descriptor.Descriptor( - name='DeploymentStrategy', - full_name='v1alpha2.DeploymentStrategy', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='type', full_name='v1alpha2.DeploymentStrategy.type', 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='rollingUpdate', full_name='v1alpha2.DeploymentStrategy.rollingUpdate', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7817, - serialized_end=7909, -) - - -_ROLLINGUPDATEDEPLOYMENT = _descriptor.Descriptor( - name='RollingUpdateDeployment', - full_name='v1alpha2.RollingUpdateDeployment', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='maxUnavailable', full_name='v1alpha2.RollingUpdateDeployment.maxUnavailable', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maxSurge', full_name='v1alpha2.RollingUpdateDeployment.maxSurge', index=1, - number=2, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7912, - serialized_end=8043, -) - - -_OBJECTMETA = _descriptor.Descriptor( - name='ObjectMeta', - full_name='v1alpha2.ObjectMeta', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='v1alpha2.ObjectMeta.name', index=0, - number=5, 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='namespace', full_name='v1alpha2.ObjectMeta.namespace', index=1, - number=6, 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8045, - serialized_end=8090, -) - - -_SERVICESPEC_SELECTORENTRY = _descriptor.Descriptor( - name='SelectorEntry', - full_name='v1alpha2.ServiceSpec.SelectorEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='v1alpha2.ServiceSpec.SelectorEntry.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.ServiceSpec.SelectorEntry.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=8558, - serialized_end=8605, -) - -_SERVICESPEC = _descriptor.Descriptor( - name='ServiceSpec', - full_name='v1alpha2.ServiceSpec', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='ports', full_name='v1alpha2.ServiceSpec.ports', 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, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='selector', full_name='v1alpha2.ServiceSpec.selector', index=1, - number=2, 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='clusterIP', full_name='v1alpha2.ServiceSpec.clusterIP', index=2, - number=3, 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='type', full_name='v1alpha2.ServiceSpec.type', index=3, - number=4, 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='externalIPs', full_name='v1alpha2.ServiceSpec.externalIPs', index=4, - number=5, 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, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sessionAffinity', full_name='v1alpha2.ServiceSpec.sessionAffinity', index=5, - number=7, 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='loadBalancerIP', full_name='v1alpha2.ServiceSpec.loadBalancerIP', index=6, - number=8, 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='loadBalancerSourceRanges', full_name='v1alpha2.ServiceSpec.loadBalancerSourceRanges', index=7, - number=9, 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, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='externalName', full_name='v1alpha2.ServiceSpec.externalName', index=8, - number=10, 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='externalTrafficPolicy', full_name='v1alpha2.ServiceSpec.externalTrafficPolicy', index=9, - number=11, 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='healthCheckNodePort', full_name='v1alpha2.ServiceSpec.healthCheckNodePort', index=10, - number=12, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='publishNotReadyAddresses', full_name='v1alpha2.ServiceSpec.publishNotReadyAddresses', index=11, - number=13, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sessionAffinityConfig', full_name='v1alpha2.ServiceSpec.sessionAffinityConfig', index=12, - number=14, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='ipFamily', full_name='v1alpha2.ServiceSpec.ipFamily', index=13, - number=15, 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='topologyKeys', full_name='v1alpha2.ServiceSpec.topologyKeys', index=14, - number=16, 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, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_SERVICESPEC_SELECTORENTRY, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8093, - serialized_end=8605, -) - - -_SERVICEPORT = _descriptor.Descriptor( - name='ServicePort', - full_name='v1alpha2.ServicePort', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='name', full_name='v1alpha2.ServicePort.name', 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='protocol', full_name='v1alpha2.ServicePort.protocol', 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), - _descriptor.FieldDescriptor( - name='port', full_name='v1alpha2.ServicePort.port', index=2, - number=3, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='targetPort', full_name='v1alpha2.ServicePort.targetPort', index=3, - number=4, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='nodePort', full_name='v1alpha2.ServicePort.nodePort', index=4, - number=5, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8608, - serialized_end=8737, -) - - -_SESSIONAFFINITYCONFIG = _descriptor.Descriptor( - name='SessionAffinityConfig', - full_name='v1alpha2.SessionAffinityConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='clientIP', full_name='v1alpha2.SessionAffinityConfig.clientIP', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8739, - serialized_end=8806, -) - - -_CLIENTIPCONFIG = _descriptor.Descriptor( - name='ClientIPConfig', - full_name='v1alpha2.ClientIPConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='timeoutSeconds', full_name='v1alpha2.ClientIPConfig.timeoutSeconds', index=0, - number=1, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, - 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8808, - serialized_end=8848, -) - - -_TYPEMAPSTRINGINTERFACE = _descriptor.Descriptor( - name='TypeMapStringInterface', - full_name='v1alpha2.TypeMapStringInterface', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8850, - serialized_end=8874, -) - - -_TYPEINTERFACE = _descriptor.Descriptor( - name='TypeInterface', - full_name='v1alpha2.TypeInterface', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8876, - serialized_end=8891, -) - - -_TYPEINTORSTRINGFORPB = _descriptor.Descriptor( - name='TypeIntOrStringForPB', - full_name='v1alpha2.TypeIntOrStringForPB', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8893, - serialized_end=8915, -) - - -_TYPEBOOLVALUEFORPB = _descriptor.Descriptor( - name='TypeBoolValueForPB', - full_name='v1alpha2.TypeBoolValueForPB', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8917, - serialized_end=8937, -) - -_ISTIOCONTROLPLANE.fields_by_name['spec'].message_type = _ISTIOCONTROLPLANESPEC -_ISTIOCONTROLPLANE.fields_by_name['status'].message_type = _INSTALLSTATUS -_ISTIOCONTROLPLANESPEC.fields_by_name['base'].message_type = _BASEFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['traffic_management'].message_type = _TRAFFICMANAGEMENTFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['policy'].message_type = _POLICYFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['telemetry'].message_type = _TELEMETRYFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['security'].message_type = _SECURITYFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['config_management'].message_type = _CONFIGMANAGEMENTFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['auto_injection'].message_type = _AUTOINJECTIONFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['gateways'].message_type = _GATEWAYFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['cni'].message_type = _CNIFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['coreDNS'].message_type = _COREDNSFEATURESPEC -_ISTIOCONTROLPLANESPEC.fields_by_name['values'].message_type = _TYPEMAPSTRINGINTERFACE -_ISTIOCONTROLPLANESPEC.fields_by_name['unvalidatedValues'].message_type = _TYPEMAPSTRINGINTERFACE -_BASEFEATURESPEC_COMPONENTS.fields_by_name['base'].message_type = _BASECOMPONENTSPEC -_BASEFEATURESPEC_COMPONENTS.containing_type = _BASEFEATURESPEC -_BASEFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_BASEFEATURESPEC.fields_by_name['components'].message_type = _BASEFEATURESPEC_COMPONENTS -_TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS.fields_by_name['pilot'].message_type = _PILOTCOMPONENTSPEC -_TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS.fields_by_name['proxy'].message_type = _PROXYCOMPONENTSPEC -_TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS.containing_type = _TRAFFICMANAGEMENTFEATURESPEC -_TRAFFICMANAGEMENTFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_TRAFFICMANAGEMENTFEATURESPEC.fields_by_name['components'].message_type = _TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS -_POLICYFEATURESPEC_COMPONENTS.fields_by_name['policy'].message_type = _POLICYCOMPONENTSPEC -_POLICYFEATURESPEC_COMPONENTS.containing_type = _POLICYFEATURESPEC -_POLICYFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_POLICYFEATURESPEC.fields_by_name['components'].message_type = _POLICYFEATURESPEC_COMPONENTS -_TELEMETRYFEATURESPEC_COMPONENTS.fields_by_name['telemetry'].message_type = _TELEMETRYCOMPONENTSPEC -_TELEMETRYFEATURESPEC_COMPONENTS.containing_type = _TELEMETRYFEATURESPEC -_TELEMETRYFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_TELEMETRYFEATURESPEC.fields_by_name['components'].message_type = _TELEMETRYFEATURESPEC_COMPONENTS -_SECURITYFEATURESPEC_COMPONENTS.fields_by_name['citadel'].message_type = _CITADELCOMPONENTSPEC -_SECURITYFEATURESPEC_COMPONENTS.fields_by_name['cert_manager'].message_type = _CERTMANAGERCOMPONENTSPEC -_SECURITYFEATURESPEC_COMPONENTS.fields_by_name['node_agent'].message_type = _NODEAGENTCOMPONENTSPEC -_SECURITYFEATURESPEC_COMPONENTS.containing_type = _SECURITYFEATURESPEC -_SECURITYFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_SECURITYFEATURESPEC.fields_by_name['components'].message_type = _SECURITYFEATURESPEC_COMPONENTS -_CONFIGMANAGEMENTFEATURESPEC_COMPONENTS.fields_by_name['galley'].message_type = _GALLEYCOMPONENTSPEC -_CONFIGMANAGEMENTFEATURESPEC_COMPONENTS.containing_type = _CONFIGMANAGEMENTFEATURESPEC -_CONFIGMANAGEMENTFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_CONFIGMANAGEMENTFEATURESPEC.fields_by_name['components'].message_type = _CONFIGMANAGEMENTFEATURESPEC_COMPONENTS -_AUTOINJECTIONFEATURESPEC_COMPONENTS.fields_by_name['injector'].message_type = _SIDECARINJECTORCOMPONENTSPEC -_AUTOINJECTIONFEATURESPEC_COMPONENTS.containing_type = _AUTOINJECTIONFEATURESPEC -_AUTOINJECTIONFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_AUTOINJECTIONFEATURESPEC.fields_by_name['components'].message_type = _AUTOINJECTIONFEATURESPEC_COMPONENTS -_GATEWAYFEATURESPEC_COMPONENTS.fields_by_name['ingress_gateway'].message_type = _INGRESSGATEWAYCOMPONENTSPEC -_GATEWAYFEATURESPEC_COMPONENTS.fields_by_name['egress_gateway'].message_type = _EGRESSGATEWAYCOMPONENTSPEC -_GATEWAYFEATURESPEC_COMPONENTS.containing_type = _GATEWAYFEATURESPEC -_GATEWAYFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_GATEWAYFEATURESPEC.fields_by_name['components'].message_type = _GATEWAYFEATURESPEC_COMPONENTS -_CNIFEATURESPEC_COMPONENTS.fields_by_name['cni'].message_type = _CNICOMPONENTSPEC -_CNIFEATURESPEC_COMPONENTS.containing_type = _CNIFEATURESPEC -_CNIFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_CNIFEATURESPEC.fields_by_name['components'].message_type = _CNIFEATURESPEC_COMPONENTS -_COREDNSFEATURESPEC_COMPONENTS.fields_by_name['coreDNS'].message_type = _COREDNSCOMPONENTSPEC -_COREDNSFEATURESPEC_COMPONENTS.containing_type = _COREDNSFEATURESPEC -_COREDNSFEATURESPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_COREDNSFEATURESPEC.fields_by_name['components'].message_type = _COREDNSFEATURESPEC_COMPONENTS -_BASECOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_PILOTCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_PILOTCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_PROXYCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_PROXYCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_SIDECARINJECTORCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_SIDECARINJECTORCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_POLICYCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_POLICYCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_TELEMETRYCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_TELEMETRYCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_CITADELCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_CITADELCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_CERTMANAGERCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_CERTMANAGERCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_NODEAGENTCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_NODEAGENTCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_GALLEYCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_GALLEYCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_INGRESSGATEWAYCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_INGRESSGATEWAYCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_EGRESSGATEWAYCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_EGRESSGATEWAYCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_CNICOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_CNICOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_COREDNSCOMPONENTSPEC.fields_by_name['enabled'].message_type = _TYPEBOOLVALUEFORPB -_COREDNSCOMPONENTSPEC.fields_by_name['k8s'].message_type = _KUBERNETESRESOURCESSPEC -_KUBERNETESRESOURCESSPEC_NODESELECTORENTRY.containing_type = _KUBERNETESRESOURCESSPEC -_KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY.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 -_KUBERNETESRESOURCESSPEC.fields_by_name['node_selector'].message_type = _KUBERNETESRESOURCESSPEC_NODESELECTORENTRY -_KUBERNETESRESOURCESSPEC.fields_by_name['pod_disruption_budget'].message_type = _PODDISRUPTIONBUDGETSPEC -_KUBERNETESRESOURCESSPEC.fields_by_name['pod_annotations'].message_type = _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY -_KUBERNETESRESOURCESSPEC.fields_by_name['readiness_probe'].message_type = _READINESSPROBE -_KUBERNETESRESOURCESSPEC.fields_by_name['resources'].message_type = _RESOURCES -_KUBERNETESRESOURCESSPEC.fields_by_name['service'].message_type = _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['overlays'].message_type = _K8SOBJECTOVERLAY -_K8SOBJECTOVERLAY_PATHVALUE.fields_by_name['value'].message_type = _TYPEINTERFACE -_K8SOBJECTOVERLAY_PATHVALUE.containing_type = _K8SOBJECTOVERLAY -_K8SOBJECTOVERLAY.fields_by_name['patches'].message_type = _K8SOBJECTOVERLAY_PATHVALUE -_INSTALLSTATUS_VERSIONSTATUS.fields_by_name['status'].enum_type = _INSTALLSTATUS_STATUS -_INSTALLSTATUS_VERSIONSTATUS.containing_type = _INSTALLSTATUS -_INSTALLSTATUS_STATUSENTRY.fields_by_name['value'].message_type = _INSTALLSTATUS_VERSIONSTATUS -_INSTALLSTATUS_STATUSENTRY.containing_type = _INSTALLSTATUS -_INSTALLSTATUS.fields_by_name['status'].message_type = _INSTALLSTATUS_STATUSENTRY -_INSTALLSTATUS_STATUS.containing_type = _INSTALLSTATUS -_RESOURCES_LIMITSENTRY.containing_type = _RESOURCES -_RESOURCES_REQUESTSENTRY.containing_type = _RESOURCES -_RESOURCES.fields_by_name['limits'].message_type = _RESOURCES_LIMITSENTRY -_RESOURCES.fields_by_name['requests'].message_type = _RESOURCES_REQUESTSENTRY -_READINESSPROBE.fields_by_name['exec'].message_type = _EXECACTION -_READINESSPROBE.fields_by_name['httpGet'].message_type = _HTTPGETACTION -_READINESSPROBE.fields_by_name['tcpSocket'].message_type = _TCPSOCKETACTION -_HTTPGETACTION.fields_by_name['port'].message_type = _TYPEINTORSTRINGFORPB -_HTTPGETACTION.fields_by_name['httpHeaders'].message_type = _HTTPHEADER -_TCPSOCKETACTION.fields_by_name['port'].message_type = _TYPEINTORSTRINGFORPB -_PODDISRUPTIONBUDGETSPEC.fields_by_name['selector'].message_type = k8s_dot_io_dot_apimachinery_dot_pkg_dot_apis_dot_meta_dot_v1_dot_generated__pb2._LABELSELECTOR -_DEPLOYMENTSTRATEGY.fields_by_name['rollingUpdate'].message_type = _ROLLINGUPDATEDEPLOYMENT -_ROLLINGUPDATEDEPLOYMENT.fields_by_name['maxUnavailable'].message_type = _TYPEINTORSTRINGFORPB -_ROLLINGUPDATEDEPLOYMENT.fields_by_name['maxSurge'].message_type = _TYPEINTORSTRINGFORPB -<<<<<<< HEAD -DESCRIPTOR.message_types_by_name['IstioOperator'] = _ISTIOCONTROLPLANE -DESCRIPTOR.message_types_by_name['IstioOperatorSpec'] = _ISTIOCONTROLPLANESPEC -======= -_SERVICESPEC_SELECTORENTRY.containing_type = _SERVICESPEC -_SERVICESPEC.fields_by_name['ports'].message_type = _SERVICEPORT -_SERVICESPEC.fields_by_name['selector'].message_type = _SERVICESPEC_SELECTORENTRY -_SERVICESPEC.fields_by_name['sessionAffinityConfig'].message_type = _SESSIONAFFINITYCONFIG -_SERVICEPORT.fields_by_name['targetPort'].message_type = _TYPEINTORSTRINGFORPB -_SESSIONAFFINITYCONFIG.fields_by_name['clientIP'].message_type = _CLIENTIPCONFIG -DESCRIPTOR.message_types_by_name['IstioControlPlane'] = _ISTIOCONTROLPLANE -DESCRIPTOR.message_types_by_name['IstioControlPlaneSpec'] = _ISTIOCONTROLPLANESPEC ->>>>>>> mirrors k8s service type for unmarshalling -DESCRIPTOR.message_types_by_name['BaseFeatureSpec'] = _BASEFEATURESPEC -DESCRIPTOR.message_types_by_name['TrafficManagementFeatureSpec'] = _TRAFFICMANAGEMENTFEATURESPEC -DESCRIPTOR.message_types_by_name['PolicyFeatureSpec'] = _POLICYFEATURESPEC -DESCRIPTOR.message_types_by_name['TelemetryFeatureSpec'] = _TELEMETRYFEATURESPEC -DESCRIPTOR.message_types_by_name['SecurityFeatureSpec'] = _SECURITYFEATURESPEC -DESCRIPTOR.message_types_by_name['ConfigManagementFeatureSpec'] = _CONFIGMANAGEMENTFEATURESPEC -DESCRIPTOR.message_types_by_name['AutoInjectionFeatureSpec'] = _AUTOINJECTIONFEATURESPEC -DESCRIPTOR.message_types_by_name['GatewayFeatureSpec'] = _GATEWAYFEATURESPEC -DESCRIPTOR.message_types_by_name['CNIFeatureSpec'] = _CNIFEATURESPEC -DESCRIPTOR.message_types_by_name['CoreDNSFeatureSpec'] = _COREDNSFEATURESPEC -DESCRIPTOR.message_types_by_name['BaseComponentSpec'] = _BASECOMPONENTSPEC -DESCRIPTOR.message_types_by_name['PilotComponentSpec'] = _PILOTCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['ProxyComponentSpec'] = _PROXYCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['SidecarInjectorComponentSpec'] = _SIDECARINJECTORCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['PolicyComponentSpec'] = _POLICYCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['TelemetryComponentSpec'] = _TELEMETRYCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['CitadelComponentSpec'] = _CITADELCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['CertManagerComponentSpec'] = _CERTMANAGERCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['NodeAgentComponentSpec'] = _NODEAGENTCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['GalleyComponentSpec'] = _GALLEYCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['IngressGatewayComponentSpec'] = _INGRESSGATEWAYCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['EgressGatewayComponentSpec'] = _EGRESSGATEWAYCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['CNIComponentSpec'] = _CNICOMPONENTSPEC -DESCRIPTOR.message_types_by_name['CoreDNSComponentSpec'] = _COREDNSCOMPONENTSPEC -DESCRIPTOR.message_types_by_name['KubernetesResourcesSpec'] = _KUBERNETESRESOURCESSPEC -DESCRIPTOR.message_types_by_name['k8sObjectOverlay'] = _K8SOBJECTOVERLAY -DESCRIPTOR.message_types_by_name['InstallStatus'] = _INSTALLSTATUS -DESCRIPTOR.message_types_by_name['Resources'] = _RESOURCES -DESCRIPTOR.message_types_by_name['ReadinessProbe'] = _READINESSPROBE -DESCRIPTOR.message_types_by_name['ExecAction'] = _EXECACTION -DESCRIPTOR.message_types_by_name['HTTPGetAction'] = _HTTPGETACTION -DESCRIPTOR.message_types_by_name['HTTPHeader'] = _HTTPHEADER -DESCRIPTOR.message_types_by_name['TCPSocketAction'] = _TCPSOCKETACTION -DESCRIPTOR.message_types_by_name['PodDisruptionBudgetSpec'] = _PODDISRUPTIONBUDGETSPEC -DESCRIPTOR.message_types_by_name['DeploymentStrategy'] = _DEPLOYMENTSTRATEGY -DESCRIPTOR.message_types_by_name['RollingUpdateDeployment'] = _ROLLINGUPDATEDEPLOYMENT -DESCRIPTOR.message_types_by_name['ObjectMeta'] = _OBJECTMETA -DESCRIPTOR.message_types_by_name['ServiceSpec'] = _SERVICESPEC -DESCRIPTOR.message_types_by_name['ServicePort'] = _SERVICEPORT -DESCRIPTOR.message_types_by_name['SessionAffinityConfig'] = _SESSIONAFFINITYCONFIG -DESCRIPTOR.message_types_by_name['ClientIPConfig'] = _CLIENTIPCONFIG -DESCRIPTOR.message_types_by_name['TypeMapStringInterface'] = _TYPEMAPSTRINGINTERFACE -DESCRIPTOR.message_types_by_name['TypeInterface'] = _TYPEINTERFACE -DESCRIPTOR.message_types_by_name['TypeIntOrStringForPB'] = _TYPEINTORSTRINGFORPB -DESCRIPTOR.message_types_by_name['TypeBoolValueForPB'] = _TYPEBOOLVALUEFORPB -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -IstioOperator = _reflection.GeneratedProtocolMessageType('IstioOperator', (_message.Message,), { - 'DESCRIPTOR' : _ISTIOCONTROLPLANE, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.IstioOperator) - }) -_sym_db.RegisterMessage(IstioOperator) - -IstioOperatorSpec = _reflection.GeneratedProtocolMessageType('IstioOperatorSpec', (_message.Message,), { - 'DESCRIPTOR' : _ISTIOCONTROLPLANESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha1.IstioOperatorSpec) - }) -_sym_db.RegisterMessage(IstioOperatorSpec) - -BaseFeatureSpec = _reflection.GeneratedProtocolMessageType('BaseFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _BASEFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.BaseFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _BASEFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.BaseFeatureSpec) - }) -_sym_db.RegisterMessage(BaseFeatureSpec) -_sym_db.RegisterMessage(BaseFeatureSpec.Components) - -TrafficManagementFeatureSpec = _reflection.GeneratedProtocolMessageType('TrafficManagementFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _TRAFFICMANAGEMENTFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TrafficManagementFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _TRAFFICMANAGEMENTFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TrafficManagementFeatureSpec) - }) -_sym_db.RegisterMessage(TrafficManagementFeatureSpec) -_sym_db.RegisterMessage(TrafficManagementFeatureSpec.Components) - -PolicyFeatureSpec = _reflection.GeneratedProtocolMessageType('PolicyFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _POLICYFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.PolicyFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _POLICYFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.PolicyFeatureSpec) - }) -_sym_db.RegisterMessage(PolicyFeatureSpec) -_sym_db.RegisterMessage(PolicyFeatureSpec.Components) - -TelemetryFeatureSpec = _reflection.GeneratedProtocolMessageType('TelemetryFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _TELEMETRYFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TelemetryFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _TELEMETRYFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TelemetryFeatureSpec) - }) -_sym_db.RegisterMessage(TelemetryFeatureSpec) -_sym_db.RegisterMessage(TelemetryFeatureSpec.Components) - -SecurityFeatureSpec = _reflection.GeneratedProtocolMessageType('SecurityFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _SECURITYFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.SecurityFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _SECURITYFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.SecurityFeatureSpec) - }) -_sym_db.RegisterMessage(SecurityFeatureSpec) -_sym_db.RegisterMessage(SecurityFeatureSpec.Components) - -ConfigManagementFeatureSpec = _reflection.GeneratedProtocolMessageType('ConfigManagementFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _CONFIGMANAGEMENTFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ConfigManagementFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _CONFIGMANAGEMENTFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ConfigManagementFeatureSpec) - }) -_sym_db.RegisterMessage(ConfigManagementFeatureSpec) -_sym_db.RegisterMessage(ConfigManagementFeatureSpec.Components) - -AutoInjectionFeatureSpec = _reflection.GeneratedProtocolMessageType('AutoInjectionFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _AUTOINJECTIONFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.AutoInjectionFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _AUTOINJECTIONFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.AutoInjectionFeatureSpec) - }) -_sym_db.RegisterMessage(AutoInjectionFeatureSpec) -_sym_db.RegisterMessage(AutoInjectionFeatureSpec.Components) - -GatewayFeatureSpec = _reflection.GeneratedProtocolMessageType('GatewayFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _GATEWAYFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.GatewayFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _GATEWAYFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.GatewayFeatureSpec) - }) -_sym_db.RegisterMessage(GatewayFeatureSpec) -_sym_db.RegisterMessage(GatewayFeatureSpec.Components) - -CNIFeatureSpec = _reflection.GeneratedProtocolMessageType('CNIFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _CNIFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CNIFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _CNIFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CNIFeatureSpec) - }) -_sym_db.RegisterMessage(CNIFeatureSpec) -_sym_db.RegisterMessage(CNIFeatureSpec.Components) - -CoreDNSFeatureSpec = _reflection.GeneratedProtocolMessageType('CoreDNSFeatureSpec', (_message.Message,), { - - 'Components' : _reflection.GeneratedProtocolMessageType('Components', (_message.Message,), { - 'DESCRIPTOR' : _COREDNSFEATURESPEC_COMPONENTS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CoreDNSFeatureSpec.Components) - }) - , - 'DESCRIPTOR' : _COREDNSFEATURESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CoreDNSFeatureSpec) - }) -_sym_db.RegisterMessage(CoreDNSFeatureSpec) -_sym_db.RegisterMessage(CoreDNSFeatureSpec.Components) - -BaseComponentSpec = _reflection.GeneratedProtocolMessageType('BaseComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _BASECOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.BaseComponentSpec) - }) -_sym_db.RegisterMessage(BaseComponentSpec) - -PilotComponentSpec = _reflection.GeneratedProtocolMessageType('PilotComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _PILOTCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.PilotComponentSpec) - }) -_sym_db.RegisterMessage(PilotComponentSpec) - -ProxyComponentSpec = _reflection.GeneratedProtocolMessageType('ProxyComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _PROXYCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ProxyComponentSpec) - }) -_sym_db.RegisterMessage(ProxyComponentSpec) - -SidecarInjectorComponentSpec = _reflection.GeneratedProtocolMessageType('SidecarInjectorComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _SIDECARINJECTORCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.SidecarInjectorComponentSpec) - }) -_sym_db.RegisterMessage(SidecarInjectorComponentSpec) - -PolicyComponentSpec = _reflection.GeneratedProtocolMessageType('PolicyComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _POLICYCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.PolicyComponentSpec) - }) -_sym_db.RegisterMessage(PolicyComponentSpec) - -TelemetryComponentSpec = _reflection.GeneratedProtocolMessageType('TelemetryComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _TELEMETRYCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TelemetryComponentSpec) - }) -_sym_db.RegisterMessage(TelemetryComponentSpec) - -CitadelComponentSpec = _reflection.GeneratedProtocolMessageType('CitadelComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _CITADELCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CitadelComponentSpec) - }) -_sym_db.RegisterMessage(CitadelComponentSpec) - -CertManagerComponentSpec = _reflection.GeneratedProtocolMessageType('CertManagerComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _CERTMANAGERCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CertManagerComponentSpec) - }) -_sym_db.RegisterMessage(CertManagerComponentSpec) - -NodeAgentComponentSpec = _reflection.GeneratedProtocolMessageType('NodeAgentComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _NODEAGENTCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.NodeAgentComponentSpec) - }) -_sym_db.RegisterMessage(NodeAgentComponentSpec) - -GalleyComponentSpec = _reflection.GeneratedProtocolMessageType('GalleyComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _GALLEYCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.GalleyComponentSpec) - }) -_sym_db.RegisterMessage(GalleyComponentSpec) - -IngressGatewayComponentSpec = _reflection.GeneratedProtocolMessageType('IngressGatewayComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _INGRESSGATEWAYCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.IngressGatewayComponentSpec) - }) -_sym_db.RegisterMessage(IngressGatewayComponentSpec) - -EgressGatewayComponentSpec = _reflection.GeneratedProtocolMessageType('EgressGatewayComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _EGRESSGATEWAYCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.EgressGatewayComponentSpec) - }) -_sym_db.RegisterMessage(EgressGatewayComponentSpec) - -CNIComponentSpec = _reflection.GeneratedProtocolMessageType('CNIComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _CNICOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CNIComponentSpec) - }) -_sym_db.RegisterMessage(CNIComponentSpec) - -CoreDNSComponentSpec = _reflection.GeneratedProtocolMessageType('CoreDNSComponentSpec', (_message.Message,), { - 'DESCRIPTOR' : _COREDNSCOMPONENTSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.CoreDNSComponentSpec) - }) -_sym_db.RegisterMessage(CoreDNSComponentSpec) - -KubernetesResourcesSpec = _reflection.GeneratedProtocolMessageType('KubernetesResourcesSpec', (_message.Message,), { - - 'NodeSelectorEntry' : _reflection.GeneratedProtocolMessageType('NodeSelectorEntry', (_message.Message,), { - 'DESCRIPTOR' : _KUBERNETESRESOURCESSPEC_NODESELECTORENTRY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.KubernetesResourcesSpec.NodeSelectorEntry) - }) - , - - 'PodAnnotationsEntry' : _reflection.GeneratedProtocolMessageType('PodAnnotationsEntry', (_message.Message,), { - 'DESCRIPTOR' : _KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.KubernetesResourcesSpec.PodAnnotationsEntry) - }) - , - 'DESCRIPTOR' : _KUBERNETESRESOURCESSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.KubernetesResourcesSpec) - }) -_sym_db.RegisterMessage(KubernetesResourcesSpec) -_sym_db.RegisterMessage(KubernetesResourcesSpec.NodeSelectorEntry) -_sym_db.RegisterMessage(KubernetesResourcesSpec.PodAnnotationsEntry) - -k8sObjectOverlay = _reflection.GeneratedProtocolMessageType('k8sObjectOverlay', (_message.Message,), { - - 'PathValue' : _reflection.GeneratedProtocolMessageType('PathValue', (_message.Message,), { - 'DESCRIPTOR' : _K8SOBJECTOVERLAY_PATHVALUE, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.k8sObjectOverlay.PathValue) - }) - , - 'DESCRIPTOR' : _K8SOBJECTOVERLAY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.k8sObjectOverlay) - }) -_sym_db.RegisterMessage(k8sObjectOverlay) -_sym_db.RegisterMessage(k8sObjectOverlay.PathValue) - -InstallStatus = _reflection.GeneratedProtocolMessageType('InstallStatus', (_message.Message,), { - - 'VersionStatus' : _reflection.GeneratedProtocolMessageType('VersionStatus', (_message.Message,), { - 'DESCRIPTOR' : _INSTALLSTATUS_VERSIONSTATUS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.InstallStatus.VersionStatus) - }) - , - - 'StatusEntry' : _reflection.GeneratedProtocolMessageType('StatusEntry', (_message.Message,), { - 'DESCRIPTOR' : _INSTALLSTATUS_STATUSENTRY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.InstallStatus.StatusEntry) - }) - , - 'DESCRIPTOR' : _INSTALLSTATUS, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.InstallStatus) - }) -_sym_db.RegisterMessage(InstallStatus) -_sym_db.RegisterMessage(InstallStatus.VersionStatus) -_sym_db.RegisterMessage(InstallStatus.StatusEntry) - -Resources = _reflection.GeneratedProtocolMessageType('Resources', (_message.Message,), { - - 'LimitsEntry' : _reflection.GeneratedProtocolMessageType('LimitsEntry', (_message.Message,), { - 'DESCRIPTOR' : _RESOURCES_LIMITSENTRY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.Resources.LimitsEntry) - }) - , - - 'RequestsEntry' : _reflection.GeneratedProtocolMessageType('RequestsEntry', (_message.Message,), { - 'DESCRIPTOR' : _RESOURCES_REQUESTSENTRY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.Resources.RequestsEntry) - }) - , - 'DESCRIPTOR' : _RESOURCES, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.Resources) - }) -_sym_db.RegisterMessage(Resources) -_sym_db.RegisterMessage(Resources.LimitsEntry) -_sym_db.RegisterMessage(Resources.RequestsEntry) - -ReadinessProbe = _reflection.GeneratedProtocolMessageType('ReadinessProbe', (_message.Message,), { - 'DESCRIPTOR' : _READINESSPROBE, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ReadinessProbe) - }) -_sym_db.RegisterMessage(ReadinessProbe) - -ExecAction = _reflection.GeneratedProtocolMessageType('ExecAction', (_message.Message,), { - 'DESCRIPTOR' : _EXECACTION, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ExecAction) - }) -_sym_db.RegisterMessage(ExecAction) - -HTTPGetAction = _reflection.GeneratedProtocolMessageType('HTTPGetAction', (_message.Message,), { - 'DESCRIPTOR' : _HTTPGETACTION, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.HTTPGetAction) - }) -_sym_db.RegisterMessage(HTTPGetAction) - -HTTPHeader = _reflection.GeneratedProtocolMessageType('HTTPHeader', (_message.Message,), { - 'DESCRIPTOR' : _HTTPHEADER, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.HTTPHeader) - }) -_sym_db.RegisterMessage(HTTPHeader) - -TCPSocketAction = _reflection.GeneratedProtocolMessageType('TCPSocketAction', (_message.Message,), { - 'DESCRIPTOR' : _TCPSOCKETACTION, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TCPSocketAction) - }) -_sym_db.RegisterMessage(TCPSocketAction) - -PodDisruptionBudgetSpec = _reflection.GeneratedProtocolMessageType('PodDisruptionBudgetSpec', (_message.Message,), { - 'DESCRIPTOR' : _PODDISRUPTIONBUDGETSPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.PodDisruptionBudgetSpec) - }) -_sym_db.RegisterMessage(PodDisruptionBudgetSpec) - -DeploymentStrategy = _reflection.GeneratedProtocolMessageType('DeploymentStrategy', (_message.Message,), { - 'DESCRIPTOR' : _DEPLOYMENTSTRATEGY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.DeploymentStrategy) - }) -_sym_db.RegisterMessage(DeploymentStrategy) - -RollingUpdateDeployment = _reflection.GeneratedProtocolMessageType('RollingUpdateDeployment', (_message.Message,), { - 'DESCRIPTOR' : _ROLLINGUPDATEDEPLOYMENT, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.RollingUpdateDeployment) - }) -_sym_db.RegisterMessage(RollingUpdateDeployment) - -ObjectMeta = _reflection.GeneratedProtocolMessageType('ObjectMeta', (_message.Message,), { - 'DESCRIPTOR' : _OBJECTMETA, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ObjectMeta) - }) -_sym_db.RegisterMessage(ObjectMeta) - -ServiceSpec = _reflection.GeneratedProtocolMessageType('ServiceSpec', (_message.Message,), { - - 'SelectorEntry' : _reflection.GeneratedProtocolMessageType('SelectorEntry', (_message.Message,), { - 'DESCRIPTOR' : _SERVICESPEC_SELECTORENTRY, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ServiceSpec.SelectorEntry) - }) - , - 'DESCRIPTOR' : _SERVICESPEC, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ServiceSpec) - }) -_sym_db.RegisterMessage(ServiceSpec) -_sym_db.RegisterMessage(ServiceSpec.SelectorEntry) - -ServicePort = _reflection.GeneratedProtocolMessageType('ServicePort', (_message.Message,), { - 'DESCRIPTOR' : _SERVICEPORT, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ServicePort) - }) -_sym_db.RegisterMessage(ServicePort) - -SessionAffinityConfig = _reflection.GeneratedProtocolMessageType('SessionAffinityConfig', (_message.Message,), { - 'DESCRIPTOR' : _SESSIONAFFINITYCONFIG, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.SessionAffinityConfig) - }) -_sym_db.RegisterMessage(SessionAffinityConfig) - -ClientIPConfig = _reflection.GeneratedProtocolMessageType('ClientIPConfig', (_message.Message,), { - 'DESCRIPTOR' : _CLIENTIPCONFIG, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.ClientIPConfig) - }) -_sym_db.RegisterMessage(ClientIPConfig) - -TypeMapStringInterface = _reflection.GeneratedProtocolMessageType('TypeMapStringInterface', (_message.Message,), { - 'DESCRIPTOR' : _TYPEMAPSTRINGINTERFACE, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TypeMapStringInterface) - }) -_sym_db.RegisterMessage(TypeMapStringInterface) - -TypeInterface = _reflection.GeneratedProtocolMessageType('TypeInterface', (_message.Message,), { - 'DESCRIPTOR' : _TYPEINTERFACE, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TypeInterface) - }) -_sym_db.RegisterMessage(TypeInterface) - -TypeIntOrStringForPB = _reflection.GeneratedProtocolMessageType('TypeIntOrStringForPB', (_message.Message,), { - 'DESCRIPTOR' : _TYPEINTORSTRINGFORPB, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TypeIntOrStringForPB) - }) -_sym_db.RegisterMessage(TypeIntOrStringForPB) - -TypeBoolValueForPB = _reflection.GeneratedProtocolMessageType('TypeBoolValueForPB', (_message.Message,), { - 'DESCRIPTOR' : _TYPEBOOLVALUEFORPB, - '__module__' : 'pkg.apis.istio.v1alpha2.istiocontrolplane_types_pb2' - # @@protoc_insertion_point(class_scope:v1alpha2.TypeBoolValueForPB) - }) -_sym_db.RegisterMessage(TypeBoolValueForPB) - - -_KUBERNETESRESOURCESSPEC_NODESELECTORENTRY._options = None -_KUBERNETESRESOURCESSPEC_PODANNOTATIONSENTRY._options = None -_INSTALLSTATUS_STATUSENTRY._options = None -_RESOURCES_LIMITSENTRY._options = None -_RESOURCES_REQUESTSENTRY._options = None -_SERVICESPEC_SELECTORENTRY._options = None -# @@protoc_insertion_point(module_scope)