Files
sablier/plugins/traefik/e2e/manifests/deployment.yml
2022-11-02 23:15:06 -04:00

221 lines
4.4 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: whoami-deployment
labels:
app: whoami
spec:
replicas: 0
selector:
matchLabels:
app: whoami
template:
metadata:
labels:
app: whoami
spec:
containers:
- name: whoami
image: containous/whoami:v1.5.0
---
apiVersion: v1
kind: Service
metadata:
name: whoami-service
spec:
ports:
- name: http
targetPort: 80
port: 80
selector:
app: whoami
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: dynamic
namespace: default
spec:
plugin:
sablier:
names: deployment_default_whoami-deployment_1
sablierUrl: 'http://sablier:10000'
sessionDuration: 1m
dynamic:
displayName: 'Dynamic Whoami'
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: blocking
namespace: default
spec:
plugin:
sablier:
names: deployment_default_whoami-deployment_1
sablierUrl: 'http://sablier:10000'
sessionDuration: 1m
blocking:
timeout: 30s
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: multiple
namespace: default
spec:
plugin:
sablier:
names: deployment_default_whoami-deployment_1,deployment_default_nginx-deployment_1
sablierUrl: 'http://sablier:10000'
sessionDuration: 1m
dynamic:
displayName: 'Multiple Whoami'
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: whoami-dynamic-ingress
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.middlewares: default-dynamic@kubernetescrd
spec:
rules:
- host: localhost
http:
paths:
- path: /dynamic/whoami
pathType: Prefix
backend:
service:
name: whoami-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: whoami-blocking-ingress
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.middlewares: default-blocking@kubernetescrd
spec:
rules:
- host: localhost
http:
paths:
- path: /blocking/whoami
pathType: Prefix
backend:
service:
name: whoami-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: whoami-multiple-ingress
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.middlewares: default-multiple@kubernetescrd
spec:
rules:
- host: localhost
http:
paths:
- path: /multiple/whoami
pathType: Prefix
backend:
service:
name: whoami-service
port:
number: 80
---
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 0
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.23.1
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
ports:
- name: http
targetPort: 80
port: 80
selector:
app: nginx
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: healthy
namespace: default
spec:
plugin:
sablier:
names: deployment_default_nginx-deployment_1
sablierUrl: 'http://sablier:10000'
sessionDuration: 1m
dynamic:
displayName: 'Healthy Nginx'
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-multiple-ingress
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.middlewares: default-multiple@kubernetescrd
spec:
rules:
- host: localhost
http:
paths:
- path: /multiple/nginx
pathType: Prefix
backend:
service:
name: nginx-service
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-healthy-ingress
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.middlewares: default-healthy@kubernetescrd
spec:
rules:
- host: localhost
http:
paths:
- path: /healthy/nginx
pathType: Prefix
backend:
service:
name: nginx-service
port:
number: 80