Files
traefik/helm/templates/deploy.yaml
2020-12-12 22:11:49 -05:00

84 lines
3.0 KiB
YAML

kind: Deployment
apiVersion: apps/v1
metadata:
name: {{ .Release.Name }}
labels:
app: {{ .Release.Name }}
namespace: kube-system
spec:
replicas: 1
selector:
matchLabels:
app: {{ .Release.Name }}
template:
metadata:
labels:
app: {{ .Release.Name }}
spec:
serviceAccountName: {{ .Release.Name }}
containers:
- name: traefik
image: {{ .Values.image }}
args:
- --providers.kubernetescrd
- --providers.kubernetescrd.ingressclass={{ .Values.config.ingressclass }}
- --log.level=ERROR
- --accesslog=true
- --api
- --api.insecure
- --entrypoints.web.address=:{{ .Values.config.http_port }}
- --entrypoints.websecure.address=:{{ .Values.config.https_port }}
- --entrypoints.websecure.http.tls=true
{{ if .Values.enable.statsd }}
- --metrics.statsd=true
- --metrics.statsd.address={{ .Values.config.statsd_endpoint }}
- --metrics.statsd.addEntryPointsLabels=true
- --metrics.statsd.addServicesLabels=true
- --metrics.statsd.prefix={{ .Release.Name }}
{{ end }}
{{ if .Values.enable.dnschallenge }}
- --certificatesresolvers.duconet.acme.dnschallenge=true
- --certificatesresolvers.duconet.acme.dnschallenge.provider={{ .Values.config.dnschallenge_provider }}
- --certificatesresolvers.duconet.acme.email={{ .Values.config.acme_email }}
- --certificatesresolvers.duconet.acme.storage=/acme/acme.json
- --certificatesresolvers.duconet.acme.dnschallenge.resolvers=1.1.1.1
{{ end }}
{{ if .Values.enable.tlschallenge }}
- --certificatesresolvers.duconet.acme.tlschallenge
- --certificatesresolvers.duconet.acme.email={{ .Values.config.acme_email }}
- --certificatesresolvers.duconet.acme.storage=/acme/acme.json
{{ end }}
{{ if .Values.enable.tracing }}
- --tracing=true
- --tracing.serviceName={{ .Release.Name }}
- --tracing.spanNameLimit=0
- --tracing.zipkin=true
- --tracing.zipkin.httpEndpoint={{ .Values.config.tracing_endpoint}}
- --tracing.zipkin.sampleRate=1.0
{{ end }}
volumeMounts:
- mountPath: /acme
name: acme-certs
ports:
- name: web
containerPort: {{ .Values.config.http_port }}
- name: websecure
containerPort: {{ .Values.config.https_port }}
- name: admin
containerPort: {{ .Values.config.admin_port }}
envFrom:
{{ if .Values.enable.dnschallenge }}
- secretRef:
name: {{ .Values.config.dnschallenge_provider_secret }}
{{ end }}
resources:
requests:
memory: 128Mi
cpu: 250m
limits:
memory: 1Gi
cpu: "1"
volumes:
- name: acme-certs
persistentVolumeClaim:
claimName: {{ .Release.Name }}