ansible-role-k8s-traefik/templates/traefik-ondemand-plugin.yml.j2
Adrien Reslinger ba1319aeef
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Add ondemand plugin
2022-07-16 23:31:42 +02:00

81 lines
No EOL
1.7 KiB
Django/Jinja

apiVersion: apps/v1
kind: Deployment
metadata:
name: traefik-ondemand-service
labels:
app: traefik-ondemand-service
spec:
replicas: 1
selector:
matchLabels:
app: traefik-ondemand-service
template:
metadata:
labels:
app: traefik-ondemand-service
spec:
serviceAccountName: traefik-ondemand-service
serviceAccount: traefik-ondemand-service
containers:
- name: traefik-ondemand-service
image: ghcr.io/acouvreur/traefik-ondemand-service:1
args: ["--swarmMode=false", "--kubernetesMode=true"]
ports:
- containerPort: 10000
---
apiVersion: v1
kind: Service
metadata:
name: traefik-ondemand-service
spec:
selector:
app: traefik-ondemand-service
ports:
- protocol: TCP
port: 10000
targetPort: 10000
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: traefik-ondemand-service
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: traefik-ondemand-service
namespace: {{ traefik_namespace }}
rules:
- apiGroups:
- apps
resources:
- deployments
- deployments/scale
verbs:
- patch
- get
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: traefik-ondemand-service
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: traefik-ondemand-service
subjects:
- kind: ServiceAccount
name: traefik-ondemand-service
namespace: {{ traefik_namespace }}
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: ondemand
spec:
plugin:
traefik-ondemand-plugin:
name: traefik_ondemand_plugin
serviceUrl: 'http://traefik-ondemand-service.{{ traefik_namespace }}:10000'
timeout: 1m