blob: 9ab735133d81c2b81d9a73f6e9ba5576c17a354a [file] [log] [blame]
# K8s object with unknown Istio annotations
apiVersion: v1
kind: Service
metadata:
name: httpbin
labels:
app: httpbin
annotations:
# no such Istio annotation
networking.istio.io/exportThree: bar
# Valid Istio annotation
networking.istio.io/exportTo: baz
spec:
ports:
- name: http
port: 8000
targetPort: 80
selector:
app: httpbin
---
# K8s object with invalid Istio annotations
apiVersion: v1
kind: Pod
metadata:
name: invalid-annotations
annotations:
# Validation checks this is an int - this should be invalid
readiness.status.sidecar.istio.io/initialDelaySeconds: bar
# Validation checks this is an int - this should be valid
readiness.status.sidecar.istio.io/periodSeconds: "10"
spec:
containers:
- name: "foo"
command: ['curl']
---
apiVersion: v1
kind: Service
metadata:
name: details
labels:
app: details
annotations:
# Annotation that Istio doesn't know about, but isn't an Istio annotation, thus ignored
kubernetes.io/psp: my-privileged-psp
spec:
ports:
- name: http
port: 80
targetPort: 9080
selector:
app: details
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gateway
annotations:
# Not valid, should be kubernetes.io/ingress.class, the only non-istio.io annotation we document
istio.io/ingress.class: "istio"
spec:
rules:
- http:
paths:
- path: /productpage
backend:
serviceName: productpage
servicePort: 8080
---
apiVersion: v1
kind: Pod
metadata:
name: grafana-test
labels:
app: grafana-test
istio: grafana
annotations:
# valid here
sidecar.istio.io/inject: "false"
# analyzer ignores, not ours
helm.sh/hook: test-success
# invalid here
kubernetes.io/ingress.class: "istio"
spec:
containers:
- name: "grafana-test"
command: ['curl']
args: ['http://grafana:{{ .Values.grafana.service.externalPort }}']
restartPolicy: Never
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: fortio-deploy
annotations:
# This annotation belongs on the spec/template so it can be applied to a pod, not here
sidecar.istio.io/statsInclusionPrefixes: cluster.outbound
spec:
replicas: 1
selector:
matchLabels:
app: fortio
template:
metadata:
annotations:
# sidecar.istio.io/statsInclusionPrefixes should be here
labels:
app: fortio
spec:
containers:
- name: fortio
---
apiVersion: v1
kind: Namespace
metadata:
name: staging
annotations:
# Sidecar injector annotation does not belong to Namespace
sidecar.istio.io/inject: "true"
spec: {}