{{- if .Values.service.enabled -}} apiVersion: v1 kind: Service metadata: name: {{ include "telegraf.fullname" . }} labels: {{- include "telegraf.labels" . | nindent 4 }} {{- if .Values.service.annotations }} annotations: {{ toYaml .Values.service.annotations | indent 4 }} {{- end }} spec: type: {{ .Values.service.type }} ports: {{- if .Values.metrics.health.enabled }} - port: 8888 targetPort: 8888 name: "health" {{- end }} {{- range $objectKey, $objectValue := .Values.config.inputs }} {{- range $key, $value := . -}} {{- $tp := typeOf $value -}} {{- if eq $key "http_listener" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} name: "http-listener" {{- end }} {{- if eq $key "influxdb_listener" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} name: "influxdb-listener" {{- end }} {{- if eq $key "http_listener_v2" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} name: "http-listener-v2" {{- end }} {{- if eq $key "statsd" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} protocol: "UDP" name: "statsd" {{- end }} {{- if eq $key "tcp_listener" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} name: "tcp-listener" {{- end }} {{- if eq $key "udp_listener" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} protocol: "UDP" name: "udp-listener" {{- end }} {{- if eq $key "webhooks" }} - port: {{ trimPrefix ":" $value.service_address | int64 }} targetPort: {{ trimPrefix ":" $value.service_address | int64 }} name: "webhooks" {{- end }} {{- end -}} {{- end }} {{- range $objectKey, $objectValue := .Values.config.outputs }} {{- range $key, $value := . -}} {{- $tp := typeOf $value -}} {{- if eq $key "prometheus_client" }} - port: {{ trimPrefix ":" $value.listen | int64 }} targetPort: {{ trimPrefix ":" $value.listen | int64 }} name: "prometheus-client" {{- end }} {{- end -}} {{- end }} selector: {{- include "telegraf.selectorLabels" . | nindent 4 }} {{- end -}}