Created
February 9, 2020 07:02
-
-
Save nak3/b37ab1e97b927e98867b29541fc1b43a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Resources for AddonComponents prometheus component | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: prometheus-istio-system | |
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-system | |
labels: | |
app: prometheus | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: prometheus-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: prometheus | |
namespace: istio-system | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: prometheus | |
namespace: istio-system | |
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-system | |
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-system | |
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-system | |
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-system | |
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-system | |
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-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-citadel;http-monitoring | |
- job_name: 'sidecar-injector' | |
kubernetes_sd_configs: | |
- role: endpoints | |
namespaces: | |
names: | |
- istio-system | |
relabel_configs: | |
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] | |
action: keep | |
regex: istio-sidecar-injector;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 | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: prometheus | |
namespace: istio-system | |
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.15.1" | |
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 | |
optional: true | |
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-system | |
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-system | |
labels: | |
app: prometheus | |
release: istio | |
--- | |
# Resources for Base component | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-reader-istio-system | |
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-system | |
labels: | |
app: istio-reader | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-reader-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-reader-service-account | |
namespace: istio-system | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
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: | |
description: Deprecated. | |
type: boolean | |
origins: | |
description: Deprecated. | |
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: | |
description: Deprecated. | |
type: boolean | |
peers: | |
description: List of authentication methods that can be used for peer | |
authentication. | |
items: | |
oneOf: | |
- required: | |
- mtls | |
- properties: | |
jwt: {} | |
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: Deprecated. | |
type: boolean | |
mode: | |
description: Defines the mode of mTLS authentication. | |
enum: | |
- STRICT | |
- PERMISSIVE | |
type: string | |
type: object | |
type: object | |
type: array | |
principalBinding: | |
description: Deprecated. | |
enum: | |
- USE_PEER | |
- USE_ORIGIN | |
type: string | |
targets: | |
description: Deprecated. | |
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 | |
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 | |
listKind: PolicyList | |
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: | |
description: Deprecated. | |
type: boolean | |
origins: | |
description: Deprecated. | |
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: | |
description: Deprecated. | |
type: boolean | |
peers: | |
description: List of authentication methods that can be used for peer | |
authentication. | |
items: | |
oneOf: | |
- required: | |
- mtls | |
- properties: | |
jwt: {} | |
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: Deprecated. | |
type: boolean | |
mode: | |
description: Defines the mode of mTLS authentication. | |
enum: | |
- STRICT | |
- PERMISSIVE | |
type: string | |
type: object | |
type: object | |
type: array | |
principalBinding: | |
description: Deprecated. | |
enum: | |
- USE_PEER | |
- USE_ORIGIN | |
type: string | |
targets: | |
description: Deprecated. | |
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 | |
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 | |
listKind: HTTPAPISpecList | |
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 | |
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 | |
listKind: HTTPAPISpecBindingList | |
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 | |
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 | |
listKind: QuotaSpecList | |
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 | |
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 | |
listKind: QuotaSpecBindingList | |
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 | |
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 | |
enabled: | |
description: enable locality load balancing, this | |
is DestinationRule-level and will override mesh | |
wide settings in entirety. | |
nullable: true | |
type: boolean | |
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 | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host is ejected | |
from the connection pool. | |
nullable: true | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host is | |
ejected from the connection pool. | |
nullable: true | |
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 | |
enabled: | |
description: enable locality load balancing, | |
this is DestinationRule-level and will override | |
mesh wide settings in entirety. | |
nullable: true | |
type: boolean | |
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 | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host | |
is ejected from the connection pool. | |
nullable: true | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host | |
is ejected from the connection pool. | |
nullable: true | |
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 | |
enabled: | |
description: enable locality load balancing, this is DestinationRule-level | |
and will override mesh wide settings in entirety. | |
nullable: true | |
type: boolean | |
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 | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host is ejected from | |
the connection pool. | |
nullable: true | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host is ejected | |
from the connection pool. | |
nullable: true | |
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 | |
enabled: | |
description: enable locality load balancing, this | |
is DestinationRule-level and will override mesh | |
wide settings in entirety. | |
nullable: true | |
type: boolean | |
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 | |
consecutive5xxErrors: | |
description: Number of 5xx errors before a host is ejected | |
from the connection pool. | |
nullable: true | |
type: integer | |
consecutiveErrors: | |
format: int32 | |
type: integer | |
consecutiveGatewayErrors: | |
description: Number of gateway errors before a host is | |
ejected from the connection pool. | |
nullable: true | |
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: false | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
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 | |
listKind: EnvoyFilterList | |
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 | |
- INSERT_FIRST | |
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 | |
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 | |
listKind: GatewayList | |
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: false | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
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: false | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
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 | |
listKind: SidecarList | |
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: false | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
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: | |
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 | |
allowOrigins: | |
description: String patterns that match allowed origins. | |
items: | |
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: 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: | |
- required: | |
- httpStatus | |
- required: | |
- grpcStatus | |
- 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 | |
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: | |
description: Names of gateways where the rule should be | |
applied. | |
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 | |
withoutHeaders: | |
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: withoutHeader has the same syntax with the | |
header, but has opposite meaning. | |
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 | |
mirrorPercentage: | |
description: Percentage of the traffic to be mirrored by the `mirror` | |
field. | |
properties: | |
value: | |
format: double | |
type: number | |
type: object | |
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 | |
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: | |
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 | |
weight: | |
format: int32 | |
type: integer | |
type: object | |
type: array | |
timeout: | |
description: Timeout for HTTP requests. | |
type: string | |
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. | |
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. | |
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 | |
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: false | |
- name: v1beta1 | |
served: true | |
storage: true | |
--- | |
apiVersion: apiextensions.k8s.io/v1beta1 | |
kind: CustomResourceDefinition | |
metadata: | |
annotations: | |
"helm.sh/resource-policy": keep | |
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 | |
listKind: attributemanifestList | |
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 | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: mixer-handler | |
package: handler | |
release: istio | |
name: handlers.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- policy-istio-io | |
kind: handler | |
listKind: handlerList | |
plural: handlers | |
singular: handler | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: Handler allows the operator to configure a specific adapter | |
implementation. | |
properties: | |
adapter: | |
description: The name of a specific adapter implementation. | |
format: string | |
type: string | |
compiledAdapter: | |
description: The name of the compiled in adapter this handler instantiates. | |
format: string | |
type: string | |
connection: | |
description: Information on how to connect to the out-of-process adapter. | |
properties: | |
address: | |
description: The address of the backend. | |
format: string | |
type: string | |
authentication: | |
description: Auth config for the connection to the backend. | |
oneOf: | |
- properties: | |
tls: | |
allOf: | |
- oneOf: | |
- required: | |
- tokenPath | |
- required: | |
- oauth | |
- oneOf: | |
- required: | |
- authHeader | |
- required: | |
- customHeader | |
required: | |
- tls | |
- required: | |
- mutual | |
properties: | |
mutual: | |
properties: | |
caCertificates: | |
format: string | |
type: string | |
clientCertificate: | |
description: The path to the file holding client certificate | |
for mutual TLS. | |
format: string | |
type: string | |
privateKey: | |
description: The path to the file holding the private key | |
for mutual TLS. | |
format: string | |
type: string | |
serverName: | |
description: Used to configure mixer mutual TLS client to | |
supply server name for SNI. | |
format: string | |
type: string | |
type: object | |
tls: | |
properties: | |
authHeader: | |
description: Access token is passed as authorization header. | |
enum: | |
- PLAIN | |
- BEARER | |
type: string | |
caCertificates: | |
format: string | |
type: string | |
customHeader: | |
description: Customized header key to hold access token, | |
e.g. | |
format: string | |
type: string | |
oauth: | |
description: Oauth config to fetch access token from auth | |
provider. | |
properties: | |
clientId: | |
description: OAuth client id for mixer. | |
format: string | |
type: string | |
clientSecret: | |
description: The path to the file holding the client | |
secret for oauth. | |
format: string | |
type: string | |
endpointParams: | |
additionalProperties: | |
format: string | |
type: string | |
description: Additional parameters for requests to the | |
token endpoint. | |
type: object | |
scopes: | |
description: List of requested permissions. | |
items: | |
format: string | |
type: string | |
type: array | |
tokenUrl: | |
description: The Resource server's token endpoint URL. | |
format: string | |
type: string | |
type: object | |
serverName: | |
format: string | |
type: string | |
tokenPath: | |
format: string | |
type: string | |
type: object | |
type: object | |
timeout: | |
description: Timeout for remote calls to the backend. | |
type: string | |
type: object | |
name: | |
description: Must be unique in the entire Mixer configuration. | |
format: string | |
type: string | |
params: | |
description: Depends on adapter implementation. | |
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 | |
labels: | |
app: mixer | |
chart: istio | |
heritage: Tiller | |
istio: mixer-instance | |
package: instance | |
release: istio | |
name: instances.config.istio.io | |
spec: | |
group: config.istio.io | |
names: | |
categories: | |
- istio-io | |
- policy-istio-io | |
kind: instance | |
listKind: instanceList | |
plural: instances | |
singular: instance | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: An Instance tells Mixer how to create instances for particular | |
template. | |
properties: | |
attributeBindings: | |
additionalProperties: | |
format: string | |
type: string | |
type: object | |
compiledTemplate: | |
description: The name of the compiled in template this instance creates | |
instances for. | |
format: string | |
type: string | |
name: | |
format: string | |
type: string | |
params: | |
description: Depends on referenced template. | |
type: object | |
template: | |
description: The name of the template this instance creates instances | |
for. | |
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 | |
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 | |
listKind: ruleList | |
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 | |
labels: | |
app: istio-pilot | |
chart: istio | |
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 | |
listKind: ClusterRbacConfigList | |
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 | |
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 | |
listKind: RbacConfigList | |
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 | |
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 | |
listKind: ServiceRoleList | |
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 | |
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 | |
listKind: ServiceRoleBindingList | |
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 | |
labels: | |
app: istio-pilot | |
chart: istio | |
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 | |
listKind: AuthorizationPolicyList | |
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: | |
action: | |
description: Optional. | |
enum: | |
- ALLOW | |
- DENY | |
type: string | |
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 | |
notIpBlocks: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notNamespaces: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notPrincipals: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notRequestPrincipals: | |
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 | |
notHosts: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notMethods: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notPaths: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
notPorts: | |
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 | |
notValues: | |
description: Optional. | |
items: | |
format: string | |
type: string | |
type: array | |
values: | |
description: Optional. | |
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 | |
labels: | |
app: istio-pilot | |
chart: istio | |
heritage: Tiller | |
istio: security | |
release: istio | |
name: peerauthentications.security.istio.io | |
spec: | |
group: security.istio.io | |
names: | |
categories: | |
- istio-io | |
- security-istio-io | |
kind: PeerAuthentication | |
listKind: PeerAuthenticationList | |
plural: peerauthentications | |
singular: peerauthentication | |
scope: Namespaced | |
subresources: | |
status: {} | |
validation: | |
openAPIV3Schema: | |
properties: | |
spec: | |
description: PeerAuthentication defines how traffic will be tunneled (or | |
not) to the sidecar. | |
properties: | |
mtls: | |
description: Mutual TLS settings for workload. | |
properties: | |
mode: | |
description: Defines the mTLS mode used for peer authentication. | |
enum: | |
- UNSET | |
- DISABLE | |
- PERMISSIVE | |
- STRICT | |
type: string | |
type: object | |
portLevelMtls: | |
additionalProperties: | |
properties: | |
mode: | |
description: Defines the mTLS mode used for peer authentication. | |
enum: | |
- UNSET | |
- DISABLE | |
- PERMISSIVE | |
- STRICT | |
type: string | |
type: object | |
description: Port specific mutual TLS settings. | |
type: object | |
selector: | |
description: The selector determines the workloads to apply the ChannelAuthentication | |
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 | |
labels: | |
app: istio-pilot | |
chart: istio | |
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 | |
listKind: RequestAuthenticationList | |
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 | |
forwardOriginalToken: | |
description: If set to true, the orginal token will be kept for | |
the ustream request. | |
type: boolean | |
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 | |
outputPayloadToHeader: | |
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 | |
--- | |
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-system | |
labels: | |
istio-operator-managed: Reconcile | |
istio-injection: disabled | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-reader-service-account | |
namespace: istio-system | |
labels: | |
app: istio-reader | |
release: istio | |
--- | |
# Citadel component is disabled. | |
# Cni component is disabled. | |
# Galley component is disabled. | |
# Resources for IngressGateways component | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
name: istio-ingressgateway | |
namespace: istio-system | |
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-system | |
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 | |
chart: gateways | |
heritage: Tiller | |
istio: ingressgateway | |
release: istio | |
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-system:9411 | |
- --proxyAdminPort | |
- "15000" | |
- --statusPort | |
- "15020" | |
- --controlPlaneAuthPolicy | |
- MUTUAL_TLS | |
- --discoveryAddress | |
- istio-pilot.istio-system:15011 | |
- --trust-domain=cluster.local | |
env: | |
- name: JWT_POLICY | |
value: third-party-jwt | |
- name: PILOT_CERT_PROVIDER | |
value: citadel | |
- 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 | |
image: gcr.io/jianfeih-test/proxyv2:0129a | |
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/istio/citadel-ca-cert | |
name: citadel-ca-cert | |
- 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: | |
- configMap: | |
name: istio-ca-root-cert | |
name: citadel-ca-cert | |
- 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-system | |
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-system | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-ingressgateway | |
namespace: istio-system | |
annotations: | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
spec: | |
type: LoadBalancer | |
selector: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
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 | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-ingressgateway-service-account | |
namespace: istio-system | |
labels: | |
app: istio-ingressgateway | |
istio: ingressgateway | |
release: istio | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: Sidecar | |
metadata: | |
name: default | |
namespace: istio-system | |
labels: | |
release: istio | |
spec: | |
egress: | |
- hosts: | |
- "*/*" | |
--- | |
# NodeAgent component is disabled. | |
apiVersion: autoscaling/v2beta1 | |
kind: HorizontalPodAutoscaler | |
metadata: | |
labels: | |
app: pilot | |
release: istio | |
name: istio-pilot | |
namespace: istio-system | |
spec: | |
maxReplicas: 5 | |
metrics: | |
- resource: | |
name: cpu | |
targetAverageUtilization: 80 | |
type: Resource | |
minReplicas: 1 | |
scaleTargetRef: | |
apiVersion: apps/v1 | |
kind: Deployment | |
name: istio-pilot | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istio-pilot-istio-system | |
labels: | |
app: pilot | |
release: istio | |
rules: | |
- apiGroups: ["config.istio.io", "rbac.istio.io", "security.istio.io", "networking.istio.io", "authentication.istio.io"] | |
verbs: ["get", "watch", "list"] | |
resources: ["*"] | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["get", "watch", "list"] | |
- apiGroups: ["extensions"] | |
resources: ["ingresses"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions"] | |
resources: ["ingresses/status"] | |
verbs: ["*"] | |
# TODO: remove, too broad permission, should be namespace only | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
# Create and update needed for ingress election | |
verbs: ["get", "list", "watch", "create", "update"] | |
- apiGroups: [""] | |
resources: ["endpoints", "pods", "services", "namespaces", "nodes", "secrets"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["create", "get", "watch", "list", "update", "delete"] | |
- apiGroups: ["certificates.k8s.io"] | |
resources: | |
- "certificatesigningrequests" | |
- "certificatesigningrequests/approval" | |
- "certificatesigningrequests/status" | |
verbs: ["update", "create", "get", "delete", "watch"] | |
- apiGroups: ["discovery.k8s.io"] | |
resources: ["endpointslices"] | |
verbs: ["get", "list", "watch"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRole | |
metadata: | |
name: istiod-istio-system | |
labels: | |
app: pilot | |
release: istio | |
rules: | |
# istio configuration | |
- apiGroups: ["config.istio.io", "rbac.istio.io", "security.istio.io", "networking.istio.io", "authentication.istio.io"] | |
verbs: ["get", "watch", "list"] | |
resources: ["*"] | |
# auto-detect installed CRD definitions | |
- apiGroups: ["apiextensions.k8s.io"] | |
resources: ["customresourcedefinitions"] | |
verbs: ["get", "list", "watch"] | |
# discovery and routing | |
- apiGroups: ["extensions","apps"] | |
resources: ["deployments"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: [""] | |
resources: ["pods", "nodes", "services", "namespaces", "endpoints"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["discovery.k8s.io"] | |
resources: ["endpointslices"] | |
verbs: ["get", "list", "watch"] | |
# ingress controller | |
- apiGroups: ["extensions"] | |
resources: ["ingresses"] | |
verbs: ["get", "list", "watch"] | |
- apiGroups: ["extensions"] | |
resources: ["ingresses/status"] | |
verbs: ["*"] | |
# Pilot, injector - not clear why cluster wide. | |
# TODO: remove, too broad permission, should be namespace only | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["create", "get", "list", "watch", "update"] | |
# Istiod and bootstrap. | |
- apiGroups: ["certificates.k8s.io"] | |
resources: | |
- "certificatesigningrequests" | |
- "certificatesigningrequests/approval" | |
- "certificatesigningrequests/status" | |
verbs: ["update", "create", "get", "delete", "watch"] | |
# Used by Istiod to verify the JWT tokens | |
- apiGroups: ["authentication.k8s.io"] | |
resources: ["tokenreviews"] | |
verbs: ["create"] | |
# Citadel subset | |
# TODO: remove, namespace only | |
- apiGroups: [""] | |
resources: ["configmaps"] | |
verbs: ["create", "get", "update"] | |
# TODO: remove, no longer needed at cluster | |
- apiGroups: [""] | |
resources: ["secrets"] | |
verbs: ["create", "get", "watch", "list", "update", "delete"] | |
- apiGroups: [""] | |
resources: ["serviceaccounts"] | |
verbs: ["get", "watch", "list"] | |
--- | |
apiVersion: rbac.authorization.k8s.io/v1 | |
kind: ClusterRoleBinding | |
metadata: | |
name: istio-pilot-istio-system | |
labels: | |
app: pilot | |
release: istio | |
roleRef: | |
apiGroup: rbac.authorization.k8s.io | |
kind: ClusterRole | |
name: istio-pilot-istio-system | |
subjects: | |
- kind: ServiceAccount | |
name: istio-pilot-service-account | |
namespace: istio-system | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
namespace: istio-system | |
name: pilot-envoy-config | |
labels: | |
release: istio | |
data: | |
envoy.yaml.tmpl: |- | |
admin: | |
access_log_path: /dev/null | |
address: | |
socket_address: | |
address: 127.0.0.1 | |
port_value: 15000 | |
static_resources: | |
clusters: | |
- name: in.15010 | |
http2_protocol_options: {} | |
connect_timeout: 1.000s | |
hosts: | |
- socket_address: | |
address: 127.0.0.1 | |
port_value: 15010 | |
circuit_breakers: | |
thresholds: | |
- max_connections: 100000 | |
max_pending_requests: 100000 | |
max_requests: 100000 | |
max_retries: 3 | |
# TODO: telemetry using EDS | |
# TODO: other pilots using EDS, load balancing | |
# TODO: galley using EDS | |
- name: out.galley.15019 | |
http2_protocol_options: {} | |
connect_timeout: 1.000s | |
type: STRICT_DNS | |
circuit_breakers: | |
thresholds: | |
- max_connections: 100000 | |
max_pending_requests: 100000 | |
max_requests: 100000 | |
max_retries: 3 | |
tls_context: | |
common_tls_context: | |
tls_certificates: | |
- certificate_chain: | |
filename: /etc/certs/cert-chain.pem | |
private_key: | |
filename: /etc/certs/key.pem | |
validation_context: | |
trusted_ca: | |
filename: /etc/certs/root-cert.pem | |
verify_subject_alt_name: | |
- spiffe://cluster.local/ns/istio-system/sa/istio-galley-service-account | |
hosts: | |
- socket_address: | |
address: istio-galley.istio-system | |
port_value: 15019 | |
listeners: | |
- name: "in.15011" | |
address: | |
socket_address: | |
address: 0.0.0.0 | |
port_value: 15011 | |
filter_chains: | |
- filters: | |
- name: envoy.http_connection_manager | |
#typed_config | |
#"@type": "type.googleapis.com/", | |
config: | |
codec_type: HTTP2 | |
stat_prefix: "15011" | |
stream_idle_timeout: 0s | |
http2_protocol_options: | |
max_concurrent_streams: 1073741824 | |
access_log: | |
- name: envoy.file_access_log | |
config: | |
path: /dev/stdout | |
http_filters: | |
- name: envoy.router | |
route_config: | |
name: "15011" | |
virtual_hosts: | |
- name: istio-pilot | |
domains: | |
- '*' | |
routes: | |
- match: | |
prefix: / | |
route: | |
cluster: in.15010 | |
timeout: 0.000s | |
decorator: | |
operation: xDS | |
tls_context: | |
require_client_certificate: true | |
common_tls_context: | |
validation_context: | |
trusted_ca: | |
filename: /etc/certs/root-cert.pem | |
alpn_protocols: | |
- h2 | |
tls_certificates: | |
- certificate_chain: | |
filename: /etc/certs/cert-chain.pem | |
private_key: | |
filename: /etc/certs/key.pem | |
# Manual 'whitebox' mode | |
- name: "local.15019" | |
address: | |
socket_address: | |
address: 127.0.0.1 | |
port_value: 15019 | |
filter_chains: | |
- filters: | |
- name: envoy.http_connection_manager | |
config: | |
codec_type: HTTP2 | |
stat_prefix: "15019" | |
stream_idle_timeout: 0s | |
http2_protocol_options: | |
max_concurrent_streams: 1073741824 | |
access_log: | |
- name: envoy.file_access_log | |
config: | |
path: /dev/stdout | |
http_filters: | |
- name: envoy.router | |
route_config: | |
name: "15019" | |
virtual_hosts: | |
- name: istio-galley | |
domains: | |
- '*' | |
routes: | |
- match: | |
prefix: / | |
route: | |
cluster: out.galley.15019 | |
timeout: 0.000s | |
--- | |
apiVersion: v1 | |
data: | |
mesh: |- | |
accessLogEncoding: TEXT | |
accessLogFile: "" | |
accessLogFormat: "" | |
certificates: [] | |
defaultConfig: | |
concurrency: 2 | |
configPath: /etc/istio/proxy | |
connectTimeout: 10s | |
controlPlaneAuthPolicy: MUTUAL_TLS | |
discoveryAddress: istio-pilot.istio-system:15011 | |
drainDuration: 45s | |
parentShutdownDuration: 1m0s | |
proxyAdminPort: 15000 | |
serviceCluster: istio-proxy | |
tracing: | |
zipkin: | |
address: zipkin.istio-system:9411 | |
disableMixerHttpReports: true | |
disablePolicyChecks: true | |
enableAutoMtls: true | |
enableEnvoyAccessLogService: false | |
enableSdsTokenMount: false | |
enableTracing: true | |
ingressClass: istio | |
ingressControllerMode: STRICT | |
ingressService: istio-ingressgateway | |
localityLbSetting: | |
enabled: true | |
outboundTrafficPolicy: | |
mode: ALLOW_ANY | |
protocolDetectionTimeout: 100ms | |
reportBatchMaxEntries: 100 | |
reportBatchMaxTime: 1s | |
rootNamespace: istio-system | |
sdsUdsPath: "" | |
sdsUseK8sSaJwt: false | |
trustDomain: cluster.local | |
trustDomainAliases: null | |
meshNetworks: 'networks: {}' | |
values.yaml: |- | |
appNamespaces: [] | |
autoscaleEnabled: true | |
autoscaleMax: 5 | |
autoscaleMin: 1 | |
configMap: true | |
configNamespace: istio-config | |
configSource: | |
subscribedResources: [] | |
cpu: | |
targetAverageUtilization: 80 | |
deploymentLabels: {} | |
enableProtocolSniffingForInbound: false | |
enableProtocolSniffingForOutbound: true | |
enabled: true | |
env: {} | |
hub: "" | |
image: pilot | |
ingress: | |
ingressClass: istio | |
ingressControllerMode: STRICT | |
ingressService: istio-ingressgateway | |
jwksResolverExtraRootCA: "" | |
keepaliveMaxServerConnectionAge: 30m | |
meshNetworks: | |
networks: {} | |
namespace: istio-system | |
nodeSelector: {} | |
plugins: [] | |
podAnnotations: {} | |
podAntiAffinityLabelSelector: [] | |
podAntiAffinityTermLabelSelector: [] | |
policy: | |
enabled: false | |
replicaCount: 1 | |
resources: | |
requests: | |
cpu: 500m | |
memory: 2048Mi | |
rollingMaxSurge: 100% | |
rollingMaxUnavailable: 25% | |
tag: "" | |
tolerations: [] | |
traceSampling: 1 | |
kind: ConfigMap | |
metadata: | |
labels: | |
release: istio | |
name: istio | |
namespace: istio-system | |
--- | |
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
labels: | |
app: pilot | |
istio: pilot | |
release: istio | |
name: istio-pilot | |
namespace: istio-system | |
spec: | |
selector: | |
matchLabels: | |
istio: pilot | |
strategy: | |
rollingUpdate: | |
maxSurge: 100% | |
maxUnavailable: 25% | |
template: | |
metadata: | |
annotations: | |
sidecar.istio.io/inject: "false" | |
labels: | |
app: pilot | |
chart: pilot | |
heritage: Tiller | |
istio: pilot | |
release: istio | |
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: | |
- discovery | |
- --monitoringAddr=:15014 | |
- --log_output_level=default:info | |
- --domain | |
- cluster.local | |
- --secureGrpcAddr= | |
- --trust-domain=cluster.local | |
- --keepaliveMaxServerConnectionAge | |
- 30m | |
- --disable-install-crds=true | |
env: | |
- name: JWT_POLICY | |
value: third-party-jwt | |
- name: PILOT_CERT_PROVIDER | |
value: citadel | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: metadata.namespace | |
- name: SERVICE_ACCOUNT | |
valueFrom: | |
fieldRef: | |
apiVersion: v1 | |
fieldPath: spec.serviceAccountName | |
- name: PILOT_TRACE_SAMPLING | |
value: "1" | |
- name: CONFIG_NAMESPACE | |
value: istio-config | |
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_OUTBOUND | |
value: "true" | |
- name: PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND | |
value: "false" | |
envFrom: | |
- configMapRef: | |
name: istiod | |
optional: true | |
image: gcr.io/jianfeih-test/pilot:0129a | |
imagePullPolicy: IfNotPresent | |
name: discovery | |
ports: | |
- containerPort: 8080 | |
- containerPort: 15010 | |
- containerPort: 15017 | |
readinessProbe: | |
httpGet: | |
path: /ready | |
port: 8080 | |
initialDelaySeconds: 5 | |
periodSeconds: 5 | |
timeoutSeconds: 5 | |
resources: | |
requests: | |
cpu: 500m | |
memory: 2048Mi | |
volumeMounts: | |
- mountPath: /etc/istio/config | |
name: config-volume | |
- args: | |
- proxy | |
- --domain | |
- $(POD_NAMESPACE).svc.cluster.local | |
- --serviceCluster | |
- istio-pilot | |
- --templateFile | |
- /var/lib/envoy/envoy.yaml.tmpl | |
- --controlPlaneAuthPolicy | |
- MUTUAL_TLS | |
- --trust-domain=cluster.local | |
env: | |
- name: JWT_POLICY | |
value: third-party-jwt | |
- name: PILOT_CERT_PROVIDER | |
value: citadel | |
- 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 | |
image: gcr.io/jianfeih-test/proxyv2:0129a | |
imagePullPolicy: IfNotPresent | |
name: istio-proxy | |
ports: | |
- containerPort: 15011 | |
resources: | |
limits: | |
cpu: 2000m | |
memory: 1024Mi | |
requests: | |
cpu: 100m | |
memory: 128Mi | |
volumeMounts: | |
- mountPath: /etc/certs | |
name: istio-certs | |
readOnly: true | |
- mountPath: /var/lib/envoy | |
name: pilot-envoy-config | |
securityContext: | |
fsGroup: 1337 | |
serviceAccountName: istio-pilot-service-account | |
volumes: | |
- configMap: | |
name: istio | |
name: config-volume | |
- configMap: | |
name: pilot-envoy-config | |
name: pilot-envoy-config | |
- name: istio-certs | |
secret: | |
optional: true | |
secretName: istio.istio-pilot-service-account | |
--- | |
apiVersion: "authentication.istio.io/v1alpha1" | |
kind: "MeshPolicy" | |
metadata: | |
name: "default" | |
labels: | |
release: istio | |
spec: | |
peers: | |
- mtls: | |
mode: PERMISSIVE | |
--- | |
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: istio-sidecar-injector | |
namespace: istio-system | |
labels: | |
release: istio | |
data: | |
values: |- | |
{ | |
"global": { | |
"arch": { | |
"amd64": 2, | |
"ppc64le": 2, | |
"s390x": 2 | |
}, | |
"certificates": [], | |
"configNamespace": "istio-system", | |
"configValidation": true, | |
"controlPlaneSecurityEnabled": true, | |
"defaultNodeSelector": {}, | |
"defaultPodDisruptionBudget": { | |
"enabled": true | |
}, | |
"defaultResources": { | |
"requests": { | |
"cpu": "10m" | |
} | |
}, | |
"disablePolicyChecks": true, | |
"enableHelmTest": false, | |
"enableTracing": true, | |
"enabled": true, | |
"hub": "docker.io/istio", | |
"imagePullPolicy": "IfNotPresent", | |
"imagePullSecrets": [], | |
"istioNamespace": "istio-system", | |
"istiod": { | |
"enabled": false | |
}, | |
"jwtPolicy": "third-party-jwt", | |
"k8sIngress": { | |
"enableHttps": false, | |
"enabled": false, | |
"gatewayName": "ingressgateway" | |
}, | |
"localityLbSetting": { | |
"enabled": true | |
}, | |
"logAsJson": false, | |
"logging": { | |
"level": "default:info" | |
}, | |
"meshExpansion": { | |
"enabled": false, | |
"useILB": false | |
}, | |
"meshNetworks": {}, | |
"mtls": { | |
"auto": true, | |
"enabled": false | |
}, | |
"multiCluster": { | |
"clusterName": "", | |
"enabled": false | |
}, | |
"namespace": "istio-system", | |
"network": "", | |
"omitSidecarInjectorConfigMap": false, | |
"oneNamespace": false, | |
"operatorManageWebhooks": false, | |
"outboundTrafficPolicy": { | |
"mode": "ALLOW_ANY" | |
}, | |
"pilotCertProvider": "citadel", | |
"policyCheckFailOpen": false, | |
"policyNamespace": "istio-system", | |
"priorityClassName": "", | |
"prometheusNamespace": "istio-system", | |
"proxy": { | |
"accessLogEncoding": "TEXT", | |
"accessLogFile": "", | |
"accessLogFormat": "", | |
"autoInject": "enabled", | |
"clusterDomain": "cluster.local", | |
"componentLogLevel": "misc:error", | |
"concurrency": 2, | |
"dnsRefreshRate": "300s", | |
"enableCoreDump": false, | |
"envoyAccessLogService": { | |
"enabled": false | |
}, | |
"envoyMetricsService": { | |
"enabled": false, | |
"tcpKeepalive": { | |
"interval": "10s", | |
"probes": 3, | |
"time": "10s" | |
}, | |
"tlsSettings": { | |
"mode": "DISABLE", | |
"subjectAltNames": [] | |
} | |
}, | |
"envoyStatsd": { | |
"enabled": false | |
}, | |
"excludeIPRanges": "", | |
"excludeInboundPorts": "", | |
"excludeOutboundPorts": "", | |
"image": "proxyv2", | |
"includeIPRanges": "*", | |
"includeInboundPorts": "*", | |
"kubevirtInterfaces": "", | |
"logLevel": "warning", | |
"privileged": false, | |
"protocolDetectionTimeout": "100ms", | |
"readinessFailureThreshold": 30, | |
"readinessInitialDelaySeconds": 1, | |
"readinessPeriodSeconds": 2, | |
"resources": { | |
"limits": { | |
"cpu": "2000m", | |
"memory": "1024Mi" | |
}, | |
"requests": { | |
"cpu": "100m", | |
"memory": "128Mi" | |
} | |
}, | |
"statusPort": 15020, | |
"tracer": "zipkin" | |
}, | |
"proxy_init": { | |
"image": "proxyv2", | |
"resources": { | |
"limits": { | |
"cpu": "100m", | |
"memory": "50Mi" | |
}, | |
"requests": { | |
"cpu": "10m", | |
"memory": "10Mi" | |
} | |
} | |
}, | |
"sds": { | |
"enabled": false, | |
"token": { | |
"aud": "istio-ca" | |
}, | |
"udsPath": "" | |
}, | |
"securityNamespace": "istio-system", | |
"tag": "3a89059cd1b9bc18e8b611e0929b84c32f8a4107", | |
"telemetryNamespace": "istio-system", | |
"tracer": { | |
"datadog": { | |
"address": "$(HOST_IP):8126" | |
}, | |
"lightstep": { | |
"accessToken": "", | |
"address": "", | |
"cacertPath": "", | |
"secure": true | |
}, | |
"zipkin": { | |
"address": "" | |
} | |
}, | |
"trustDomain": "cluster.local", | |
"useMCP": false | |
}, | |
"istio_cni": { | |
"enabled": false | |
}, | |
"sidecarInjectorWebhook": { | |
"alwaysInjectSelector": [], | |
"enableNamespacesByDefault": false, | |
"enabled": false, | |
"image": "sidecar_injector", | |
"injectLabel": "istio-injection", | |
"injectedAnnotations": {}, | |
"namespace": "istio-system", | |
"neverInjectSelector": [], | |
"objectSelector": { | |
"autoInject": true, | |
"enabled": false | |
}, | |
"rewriteAppHTTPProbe": false, | |
"selfSigned": false | |
} | |
} | |
# To disable injection: use omitSidecarInjectorConfigMap, which disables the webhook patching | |
# and istiod webhook functionality. | |
# | |
# New fields should not use Values - it is a 'primary' config object, users should be able | |
# to fine tune it or use it with kube-inject. | |
config: |- | |
policy: enabled | |
alwaysInjectSelector: | |
[] | |
neverInjectSelector: | |
[] | |
injectedAnnotations: | |
# Configmap optimized for Istiod. Please DO NOT MERGE all changes from istio - in particular those dependent on | |
# Values.yaml, which should not be used by istiod. | |
# Istiod only uses SDS based config ( files will mapped/handled by SDS). | |
template: | | |
rewriteAppHTTPProbe: {{ valueOrDefault .Values.sidecarInjectorWebhook.rewriteAppHTTPProbe false }} | |
initContainers: | |
{{ if ne (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `NONE` }} | |
{{ if .Values.istio_cni.enabled -}} | |
- name: istio-validation | |
{{ else -}} | |
- name: istio-init | |
{{ end -}} | |
{{- if contains "/" .Values.global.proxy_init.image }} | |
image: "{{ .Values.global.proxy_init.image }}" | |
{{- else }} | |
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}" | |
{{- end }} | |
command: | |
- istio-iptables | |
- "-p" | |
- 15001 | |
- "-z" | |
- "15006" | |
- "-u" | |
- 1337 | |
- "-m" | |
- "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}" | |
- "-i" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}" | |
- "-x" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}" | |
- "-b" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` `*` }}" | |
- "-d" | |
- "{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}" | |
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne (valueOrDefault .Values.global.proxy.excludeOutboundPorts "") "") -}} | |
- "-o" | |
- "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}" | |
{{ end -}} | |
{{ if (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces`) -}} | |
- "-k" | |
- "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}" | |
{{ end -}} | |
{{ if .Values.istio_cni.enabled -}} | |
- "--run-validation" | |
- "--skip-rule-apply" | |
{{ end -}} | |
imagePullPolicy: "{{ valueOrDefault .Values.global.imagePullPolicy `Always` }}" | |
{{- if .Values.global.proxy_init.resources }} | |
resources: | |
{{ toYaml .Values.global.proxy_init.resources | indent 4 }} | |
{{- else }} | |
resources: {} | |
{{- end }} | |
securityContext: | |
allowPrivilegeEscalation: {{ .Values.global.proxy.privileged }} | |
privileged: {{ .Values.global.proxy.privileged }} | |
capabilities: | |
{{- if not .Values.istio_cni.enabled }} | |
add: | |
- NET_ADMIN | |
- NET_RAW | |
{{- end }} | |
drop: | |
- ALL | |
readOnlyRootFilesystem: false | |
{{- if not .Values.istio_cni.enabled }} | |
runAsGroup: 0 | |
runAsNonRoot: false | |
runAsUser: 0 | |
{{- else }} | |
runAsGroup: 1337 | |
runAsUser: 1337 | |
runAsNonRoot: true | |
{{- end }} | |
restartPolicy: Always | |
{{ end -}} | |
{{- if eq .Values.global.proxy.enableCoreDump true }} | |
- name: enable-core-dump | |
args: | |
- -c | |
- sysctl -w kernel.core_pattern=/var/lib/istio/core.proxy && ulimit -c unlimited | |
command: | |
- /bin/sh | |
{{- if contains "/" .Values.global.proxy_init.image }} | |
image: "{{ .Values.global.proxy_init.image }}" | |
{{- else }} | |
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy_init.image }}:{{ .Values.global.tag }}" | |
{{- end }} | |
imagePullPolicy: "{{ valueOrDefault .Values.global.imagePullPolicy `Always` }}" | |
resources: {} | |
securityContext: | |
allowPrivilegeEscalation: true | |
capabilities: | |
add: | |
- SYS_ADMIN | |
drop: | |
- ALL | |
privileged: true | |
readOnlyRootFilesystem: false | |
runAsGroup: 0 | |
runAsNonRoot: false | |
runAsUser: 0 | |
{{ end }} | |
containers: | |
- name: istio-proxy | |
{{- if contains "/" (annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image) }} | |
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image }}" | |
{{- else }} | |
image: "{{ .Values.global.hub }}/{{ .Values.global.proxy.image }}:{{ .Values.global.tag }}" | |
{{- end }} | |
ports: | |
- containerPort: 15090 | |
protocol: TCP | |
name: http-envoy-prom | |
args: | |
- proxy | |
- sidecar | |
- --domain | |
- $(POD_NAMESPACE).svc.{{ .Values.global.proxy.clusterDomain }} | |
- --configPath | |
- "/etc/istio/proxy" | |
- --binaryPath | |
- "/usr/local/bin/envoy" | |
- --serviceCluster | |
{{ if ne "" (index .ObjectMeta.Labels "app") -}} | |
- "{{ index .ObjectMeta.Labels `app` }}.$(POD_NAMESPACE)" | |
{{ else -}} | |
- "{{ valueOrDefault .DeploymentMeta.Name `istio-proxy` }}.{{ valueOrDefault .DeploymentMeta.Namespace `default` }}" | |
{{ end -}} | |
- --drainDuration | |
- "{{ formatDuration .ProxyConfig.DrainDuration }}" | |
- --parentShutdownDuration | |
- "{{ formatDuration .ProxyConfig.ParentShutdownDuration }}" | |
- --discoveryAddress | |
- "{{ annotation .ObjectMeta `sidecar.istio.io/discoveryAddress` .ProxyConfig.DiscoveryAddress }}" | |
{{- if eq .Values.global.proxy.tracer "lightstep" }} | |
- --lightstepAddress | |
- "{{ .ProxyConfig.GetTracing.GetLightstep.GetAddress }}" | |
- --lightstepAccessToken | |
- "{{ .ProxyConfig.GetTracing.GetLightstep.GetAccessToken }}" | |
- --lightstepSecure={{ .ProxyConfig.GetTracing.GetLightstep.GetSecure }} | |
- --lightstepCacertPath | |
- "{{ .ProxyConfig.GetTracing.GetLightstep.GetCacertPath }}" | |
{{- else if eq .Values.global.proxy.tracer "zipkin" }} | |
- --zipkinAddress | |
- "{{ .ProxyConfig.GetTracing.GetZipkin.GetAddress }}" | |
{{- else if eq .Values.global.proxy.tracer "datadog" }} | |
- --datadogAgentAddress | |
- "{{ .ProxyConfig.GetTracing.GetDatadog.GetAddress }}" | |
{{- end }} | |
- --proxyLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/logLevel` .Values.global.proxy.logLevel}} | |
- --proxyComponentLogLevel={{ annotation .ObjectMeta `sidecar.istio.io/componentLogLevel` .Values.global.proxy.componentLogLevel}} | |
- --connectTimeout | |
- "{{ formatDuration .ProxyConfig.ConnectTimeout }}" | |
{{- if .Values.global.proxy.envoyStatsd.enabled }} | |
- --statsdUdpAddress | |
- "{{ .ProxyConfig.StatsdUdpAddress }}" | |
{{- end }} | |
{{- if .Values.global.proxy.envoyMetricsService.enabled }} | |
- --envoyMetricsService | |
- '{{ protoToJSON .ProxyConfig.EnvoyMetricsService }}' | |
{{- end }} | |
{{- if .Values.global.proxy.envoyAccessLogService.enabled }} | |
- --envoyAccessLogService | |
- '{{ protoToJSON .ProxyConfig.EnvoyAccessLogService }}' | |
{{- end }} | |
- --proxyAdminPort | |
- "{{ .ProxyConfig.ProxyAdminPort }}" | |
{{ if gt .ProxyConfig.Concurrency 0 -}} | |
- --concurrency | |
- "{{ .ProxyConfig.Concurrency }}" | |
{{ end -}} | |
{{- if .Values.global.istiod.enabled }} | |
- --controlPlaneAuthPolicy | |
- NONE | |
{{- else if .Values.global.controlPlaneSecurityEnabled }} | |
- --controlPlaneAuthPolicy | |
- MUTUAL_TLS | |
{{- else }} | |
- --controlPlaneAuthPolicy | |
- NONE | |
{{- end }} | |
- --dnsRefreshRate | |
- {{ valueOrDefault .Values.global.proxy.dnsRefreshRate "300s" }} | |
{{- if (ne (annotation .ObjectMeta "status.sidecar.istio.io/port" .Values.global.proxy.statusPort) "0") }} | |
- --statusPort | |
- "{{ annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort }}" | |
{{- end }} | |
{{- if .Values.global.trustDomain }} | |
- --trust-domain={{ .Values.global.trustDomain }} | |
{{- end }} | |
{{- if .Values.global.logAsJson }} | |
- --log_as_json | |
{{- end }} | |
- --controlPlaneBootstrap=false | |
{{- if .Values.global.proxy.lifecycle }} | |
lifecycle: | |
{{ toYaml .Values.global.proxy.lifecycle | indent 4 }} | |
{{- end }} | |
env: | |
- name: JWT_POLICY | |
value: {{ .Values.global.jwtPolicy }} | |
- name: PILOT_CERT_PROVIDER | |
value: {{ .Values.global.pilotCertProvider }} | |
# Temp, pending PR to make it default or based on the istiodAddr env | |
- name: CA_ADDR | |
{{- if .Values.global.configNamespace }} | |
value: istio-pilot.{{ .Values.global.configNamespace }}.svc:15012 | |
{{- else }} | |
value: istio-pilot.istio-system.svc:15012 | |
{{- end }} | |
- name: POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: POD_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: INSTANCE_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.podIP | |
- name: SERVICE_ACCOUNT | |
valueFrom: | |
fieldRef: | |
fieldPath: spec.serviceAccountName | |
- name: HOST_IP | |
valueFrom: | |
fieldRef: | |
fieldPath: status.hostIP | |
{{- if eq .Values.global.proxy.tracer "datadog" }} | |
{{- if isset .ObjectMeta.Annotations `apm.datadoghq.com/env` }} | |
{{- range $key, $value := fromJSON (index .ObjectMeta.Annotations `apm.datadoghq.com/env`) }} | |
- name: {{ $key }} | |
value: "{{ $value }}" | |
{{- end }} | |
{{- end }} | |
{{- end }} | |
- name: ISTIO_META_POD_PORTS | |
value: |- | |
[ | |
{{- $first := true }} | |
{{- range $index1, $c := .Spec.Containers }} | |
{{- range $index2, $p := $c.Ports }} | |
{{- if (structToJSON $p) }} | |
{{if not $first}},{{end}}{{ structToJSON $p }} | |
{{- $first = false }} | |
{{- end }} | |
{{- end}} | |
{{- end}} | |
] | |
- name: ISTIO_META_CLUSTER_ID | |
value: "{{ valueOrDefault .Values.global.multiCluster.clusterName `Kubernetes` }}" | |
- name: ISTIO_META_POD_NAME | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.name | |
- name: ISTIO_META_CONFIG_NAMESPACE | |
valueFrom: | |
fieldRef: | |
fieldPath: metadata.namespace | |
- name: ISTIO_META_INTERCEPTION_MODE | |
value: "{{ or (index .ObjectMeta.Annotations `sidecar.istio.io/interceptionMode`) .ProxyConfig.InterceptionMode.String }}" | |
{{- if .Values.global.network }} | |
- name: ISTIO_META_NETWORK | |
value: "{{ .Values.global.network }}" | |
{{- end }} | |
{{ if .ObjectMeta.Annotations }} | |
- name: ISTIO_METAJSON_ANNOTATIONS | |
value: | | |
{{ toJSON .ObjectMeta.Annotations }} | |
{{ end }} | |
{{ if .ObjectMeta.Labels }} | |
- name: ISTIO_METAJSON_LABELS | |
value: | | |
{{ toJSON .ObjectMeta.Labels }} | |
{{ end }} | |
{{- if .DeploymentMeta.Name }} | |
- name: ISTIO_META_WORKLOAD_NAME | |
value: {{ .DeploymentMeta.Name }} | |
{{ end }} | |
{{- if and .TypeMeta.APIVersion .DeploymentMeta.Name }} | |
- name: ISTIO_META_OWNER | |
value: kubernetes://apis/{{ .TypeMeta.APIVersion }}/namespaces/{{ valueOrDefault .DeploymentMeta.Namespace `default` }}/{{ toLower .TypeMeta.Kind}}s/{{ .DeploymentMeta.Name }} | |
{{- end}} | |
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} | |
- name: ISTIO_BOOTSTRAP_OVERRIDE | |
value: "/etc/istio/custom-bootstrap/custom_bootstrap.json" | |
{{- end }} | |
{{- if .Values.global.meshID }} | |
- name: ISTIO_META_MESH_ID | |
value: "{{ .Values.global.meshID }}" | |
{{- else if .Values.global.trustDomain }} | |
- name: ISTIO_META_MESH_ID | |
value: "{{ .Values.global.trustDomain }}" | |
{{- end }} | |
{{- if eq .Values.global.proxy.tracer "stackdriver" }} | |
- name: STACKDRIVER_TRACING_ENABLED | |
value: "true" | |
- name: STACKDRIVER_TRACING_DEBUG | |
value: "{{ .ProxyConfig.GetTracing.GetStackdriver.GetDebug }}" | |
- name: STACKDRIVER_TRACING_MAX_NUMBER_OF_ANNOTATIONS | |
value: "{{ .ProxyConfig.GetTracing.GetStackdriver.GetMaxNumberOfAnnotations }}" | |
- name: STACKDRIVER_TRACING_MAX_NUMBER_OF_ATTRIBUTES | |
value: "{{ .ProxyConfig.GetTracing.GetStackdriver.GetMaxNumberOfAttributes }}" | |
- name: STACKDRIVER_TRACING_MAX_NUMBER_OF_MESSAGE_EVENTS | |
value: "{{ .ProxyConfig.GetTracing.GetStackdriver.GetMaxNumberOfMessageEvents }}" | |
{{- end }} | |
{{- if and (eq .Values.global.proxy.tracer "datadog") (isset .ObjectMeta.Annotations `apm.datadoghq.com/env`) }} | |
{{- range $key, $value := fromJSON (index .ObjectMeta.Annotations `apm.datadoghq.com/env`) }} | |
- name: {{ $key }} | |
value: "{{ $value }}" | |
{{- end }} | |
{{- end }} | |
{{- range $key, $value := .ProxyConfig.ProxyMetadata }} | |
- name: {{ $key }} | |
value: "{{ $value }}" | |
{{- end }} | |
imagePullPolicy: "{{ valueOrDefault .Values.global.imagePullPolicy `Always` }}" | |
{{ if ne (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) `0` }} | |
readinessProbe: | |
httpGet: | |
path: /healthz/ready | |
port: {{ annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort }} | |
initialDelaySeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/initialDelaySeconds` .Values.global.proxy.readinessInitialDelaySeconds }} | |
periodSeconds: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/periodSeconds` .Values.global.proxy.readinessPeriodSeconds }} | |
failureThreshold: {{ annotation .ObjectMeta `readiness.status.sidecar.istio.io/failureThreshold` .Values.global.proxy.readinessFailureThreshold }} | |
{{ end -}} | |
securityContext: | |
allowPrivilegeEscalation: {{ .Values.global.proxy.privileged }} | |
capabilities: | |
{{ if or (eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY`) (eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true`) -}} | |
add: | |
{{ if eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY` -}} | |
- NET_ADMIN | |
{{- end }} | |
{{ if eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true` -}} | |
- NET_BIND_SERVICE | |
{{- end }} | |
{{- end }} | |
drop: | |
- ALL | |
privileged: {{ .Values.global.proxy.privileged }} | |
readOnlyRootFilesystem: {{ not .Values.global.proxy.enableCoreDump }} | |
runAsGroup: 1337 | |
fsGroup: 1337 | |
{{ if or (eq (annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode) `TPROXY`) (eq (annotation .ObjectMeta `sidecar.istio.io/capNetBindService` .Values.global.proxy.capNetBindService) `true`) -}} | |
runAsNonRoot: false | |
runAsUser: 0 | |
{{- else -}} | |
runAsNonRoot: true | |
runAsUser: 1337 | |
{{- end }} | |
resources: | |
{{ if or (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}} | |
requests: | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU`) -}} | |
cpu: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyCPU` }}" | |
{{ end}} | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory`) -}} | |
memory: "{{ index .ObjectMeta.Annotations `sidecar.istio.io/proxyMemory` }}" | |
{{ end }} | |
{{ else -}} | |
{{- if .Values.global.proxy.resources }} | |
{{ toYaml .Values.global.proxy.resources | indent 4 }} | |
{{- end }} | |
{{ end -}} | |
volumeMounts: | |
{{- if eq .Values.global.pilotCertProvider "citadel" }} | |
- mountPath: /etc/istio/citadel-ca-cert | |
name: citadel-ca-cert | |
{{- end }} | |
{{ if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} | |
- mountPath: /etc/istio/custom-bootstrap | |
name: custom-bootstrap-volume | |
{{- end }} | |
- mountPath: /etc/istio/proxy | |
name: istio-envoy | |
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }} | |
- mountPath: /var/run/secrets/tokens | |
name: istio-token | |
{{- end }} | |
- mountPath: /etc/certs/ | |
name: istio-certs | |
readOnly: true | |
{{- if and (eq .Values.global.proxy.tracer "lightstep") .Values.global.tracer.lightstep.cacertPath }} | |
- mountPath: {{ directory .ProxyConfig.GetTracing.GetLightstep.GetCacertPath }} | |
name: lightstep-certs | |
readOnly: true | |
{{- end }} | |
{{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount` }} | |
{{ range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolumeMount`) }} | |
- name: "{{ $index }}" | |
{{ toYaml $value | indent 4 }} | |
{{ end }} | |
{{- end }} | |
volumes: | |
{{- if (isset .ObjectMeta.Annotations `sidecar.istio.io/bootstrapOverride`) }} | |
- name: custom-bootstrap-volume | |
configMap: | |
name: {{ annotation .ObjectMeta `sidecar.istio.io/bootstrapOverride` "" }} | |
{{- end }} | |
- emptyDir: | |
medium: Memory | |
name: istio-envoy | |
{{- if eq .Values.global.jwtPolicy "third-party-jwt" }} | |
- name: istio-token | |
projected: | |
sources: | |
- serviceAccountToken: | |
path: istio-token | |
expirationSeconds: 43200 | |
audience: {{ .Values.global.sds.token.aud }} | |
{{- end }} | |
{{- if eq .Values.global.pilotCertProvider "citadel" }} | |
- name: citadel-ca-cert | |
configMap: | |
name: istio-ca-root-cert | |
{{- end }} | |
- name: istio-certs | |
secret: | |
optional: true | |
{{ if eq .Spec.ServiceAccountName "" }} | |
secretName: istio.default | |
{{ else -}} | |
secretName: {{ printf "istio.%s" .Spec.ServiceAccountName }} | |
{{ end -}} | |
{{- if isset .ObjectMeta.Annotations `sidecar.istio.io/userVolume` }} | |
{{range $index, $value := fromJSON (index .ObjectMeta.Annotations `sidecar.istio.io/userVolume`) }} | |
- name: "{{ $index }}" | |
{{ toYaml $value | indent 2 }} | |
{{ end }} | |
{{ end }} | |
{{- if and (eq .Values.global.proxy.tracer "lightstep") .Values.global.tracer.lightstep.cacertPath }} | |
- name: lightstep-certs | |
secret: | |
optional: true | |
secretName: lightstep.cacert | |
{{- end }} | |
{{- if .Values.global.podDNSSearchNamespaces }} | |
dnsConfig: | |
searches: | |
{{- range .Values.global.podDNSSearchNamespaces }} | |
- {{ render . }} | |
{{- end }} | |
{{- end }} | |
podRedirectAnnot: | |
sidecar.istio.io/interceptionMode: "{{ annotation .ObjectMeta `sidecar.istio.io/interceptionMode` .ProxyConfig.InterceptionMode }}" | |
traffic.sidecar.istio.io/includeOutboundIPRanges: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeOutboundIPRanges` .Values.global.proxy.includeIPRanges }}" | |
traffic.sidecar.istio.io/excludeOutboundIPRanges: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundIPRanges` .Values.global.proxy.excludeIPRanges }}" | |
traffic.sidecar.istio.io/includeInboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/includeInboundPorts` (includeInboundPorts .Spec.Containers) }}" | |
traffic.sidecar.istio.io/excludeInboundPorts: "{{ excludeInboundPort (annotation .ObjectMeta `status.sidecar.istio.io/port` .Values.global.proxy.statusPort) (annotation .ObjectMeta `traffic.sidecar.istio.io/excludeInboundPorts` .Values.global.proxy.excludeInboundPorts) }}" | |
{{ if or (isset .ObjectMeta.Annotations `traffic.sidecar.istio.io/excludeOutboundPorts`) (ne .Values.global.proxy.excludeOutboundPorts "") }} | |
traffic.sidecar.istio.io/excludeOutboundPorts: "{{ annotation .ObjectMeta `traffic.sidecar.istio.io/excludeOutboundPorts` .Values.global.proxy.excludeOutboundPorts }}" | |
{{- end }} | |
traffic.sidecar.istio.io/kubevirtInterfaces: "{{ index .ObjectMeta.Annotations `traffic.sidecar.istio.io/kubevirtInterfaces` }}" | |
--- | |
apiVersion: policy/v1beta1 | |
kind: PodDisruptionBudget | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
labels: | |
app: pilot | |
release: istio | |
istio: pilot | |
spec: | |
minAvailable: 1 | |
selector: | |
matchLabels: | |
app: pilot | |
release: istio | |
istio: pilot | |
--- | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: istio-pilot | |
namespace: istio-system | |
labels: | |
app: pilot | |
release: istio | |
istio: pilot | |
spec: | |
ports: | |
- port: 15010 | |
name: grpc-xds # direct | |
- port: 15011 | |
name: https-xds # mTLS | |
- port: 15012 | |
name: https-dns # mTLS with k8s-signed cert | |
- port: 8080 | |
name: http-legacy-discovery # direct | |
- port: 15014 | |
name: http-monitoring | |
selector: | |
istio: pilot | |
--- | |
apiVersion: v1 | |
kind: ServiceAccount | |
metadata: | |
name: istio-pilot-service-account | |
namespace: istio-system | |
labels: | |
app: pilot | |
release: istio | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: metadata-exchange-1.4 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: ANY # inbound, outbound, and gateway | |
proxy: | |
proxyVersion: '1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
configuration: envoy.wasm.metadata_exchange | |
vm_config: | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.metadata_exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: stats-filter-1.4 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.4.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
config: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
inline_string: envoy.wasm.stats | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: metadata-exchange-1.5 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: ANY # inbound, outbound, and gateway | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
configuration: envoy.wasm.metadata_exchange | |
vm_config: | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.metadata_exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-metadata-exchange-1.5 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: {} | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.metadata_exchange | |
config: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.5.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: envoy.filters.network.upstream.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.5.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: envoy.filters.network.upstream.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: stats-filter-1.5 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-stats-filter-1.5 | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.5.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: metadata-exchange-1.6 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: ANY # inbound, outbound, and gateway | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
configuration: envoy.wasm.metadata_exchange | |
vm_config: | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.metadata_exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-metadata-exchange-1.6 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: {} | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.metadata_exchange | |
config: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.6.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: envoy.filters.network.upstream.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
- applyTo: CLUSTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.6.*' | |
cluster: {} | |
patch: | |
operation: MERGE | |
value: | |
filters: | |
- name: envoy.filters.network.upstream.metadata_exchange | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange | |
value: | |
protocol: istio-peer-exchange | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: stats-filter-1.6 | |
namespace: istio-system | |
spec: | |
configPatches: | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
- applyTo: HTTP_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.http_connection_manager" | |
subFilter: | |
name: "envoy.router" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.http.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.http.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: envoy.wasm.stats | |
--- | |
apiVersion: networking.istio.io/v1alpha3 | |
kind: EnvoyFilter | |
metadata: | |
name: tcp-stats-filter-1.6 | |
spec: | |
configPatches: | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_INBOUND | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_inbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_inbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: SIDECAR_OUTBOUND | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
- applyTo: NETWORK_FILTER | |
match: | |
context: GATEWAY | |
proxy: | |
proxyVersion: '1\.6.*' | |
listener: | |
filterChain: | |
filter: | |
name: "envoy.tcp_proxy" | |
patch: | |
operation: INSERT_BEFORE | |
value: | |
name: envoy.filters.network.wasm | |
typed_config: | |
"@type": type.googleapis.com/udpa.type.v1.TypedStruct | |
type_url: type.googleapis.com/envoy.config.filter.network.wasm.v2.Wasm | |
value: | |
config: | |
root_id: stats_outbound | |
configuration: | | |
{ | |
"debug": "false", | |
"stat_prefix": "istio", | |
} | |
vm_config: | |
vm_id: stats_outbound | |
runtime: envoy.wasm.runtime.null | |
code: | |
local: | |
inline_string: "envoy.wasm.stats" | |
--- | |
apiVersion: admissionregistration.k8s.io/v1beta1 | |
kind: ValidatingWebhookConfiguration | |
metadata: | |
name: istiod-istio-system | |
namespace: istio-system | |
labels: | |
app: istiod | |
release: istio | |
istio: istiod | |
webhooks: | |
--- | |
# Policy component is disabled. | |
# SidecarInjector component is disabled. | |
# Telemetry component is disabled. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment