Files
helm-charts/charts/cloudflared/templates/common.yaml

68 lines
1.9 KiB
YAML

{{- include "bjw-s.common.loader.init" . }}
{{- define "cloudflared.hardcodedValues" -}}
global:
nameOverride: {{ include "cloudflared.name" . }}
fullNameOverride: {{ include "cloudflared.name" . }}
createDefaultServiceAccount: true
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
serviceAccount:
identifier: {{ .Release.Name }}
containers:
main:
image:
repository: {{ .Values.image.repository }}
tag: {{ .Values.image.tag }}
pullPolicy: {{ .Values.image.pullPolicy }}
args:
- tunnel
- --protocol
- {{ .Values.protocol }}
- --no-autoupdate
{{- if .Values.metrics.enabled }}
- --metrics 0.0.0.0:20241
{{- end }}
- run
- --token
- $(CF_MANAGED_TUNNEL_TOKEN)
env:
- name: CF_MANAGED_TUNNEL_TOKEN
valueFrom:
secretKeyRef:
name: {{ include "secret.name" . }}
key: {{ include "secret.key" . }}
resources:
{{- with .Values.resources }}
{{- toYaml . | nindent 10 }}
{{ end }}
{{- if .Values.metrics.enabled }}
service:
main:
controller: main
ports:
metrics:
port: 20241
targetPort: 20241
serviceMonitor:
main:
selector:
matchLabels:
app.kubernetes.io/name: {{ include "cloudflared.name" . }}
app.kubernetes.io/instance: {{ include "cloudflared.name" . }}
serviceName: '{{ include "bjw-s.common.lib.chart.names.fullname" $ }}'
endpoints:
- port: metrics
interval: 30s
scrapeTimeout: 10s
path: /metrics
{{- end }}
{{- end -}}
{{- $_ := mergeOverwrite .Values (include "cloudflared.hardcodedValues" . | fromYaml) -}}
{{/* Render the templates */}}
{{ include "bjw-s.common.loader.generate" . }}