95 lines
3.0 KiB
YAML
95 lines
3.0 KiB
YAML
{{- $global := . }}
|
|
{{- $components := (fromYaml (include "pyroscope.components" .)) }}
|
|
{{- $hasV2 := $global.Values.architecture.storage.v2 }}
|
|
{{- range $component, $cfg := $components }}
|
|
{{- with $global }}
|
|
{{- $values := mustMergeOverwrite (deepCopy .Values.pyroscope ) ($cfg | default dict)}}
|
|
{{- $isMetastore := or (and (eq $component "all") ($hasV2)) (eq $component "metastore") }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ $cfg.name }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "pyroscope.labels" . | nindent 4 }}
|
|
app.kubernetes.io/component: {{ $component | quote }}
|
|
{{- if $values.service.annotations }}
|
|
annotations:
|
|
{{- toYaml $values.service.annotations | nindent 4 }}
|
|
{{- end }}
|
|
spec:
|
|
type: {{ $values.service.type }}
|
|
ports:
|
|
- port: {{ $values.service.port }}
|
|
targetPort: {{ $values.service.port_name }}
|
|
protocol: TCP
|
|
name: {{ $values.service.port_name }}
|
|
{{- if $hasV2 }}
|
|
- port: {{ $values.grpc.port }}
|
|
targetPort: {{ $values.grpc.port_name }}
|
|
protocol: TCP
|
|
name: {{ $values.grpc.port_name }}
|
|
{{- end }}
|
|
{{- if $isMetastore }}
|
|
- port: {{ $values.metastore.port }}
|
|
targetPort: {{ $values.metastore.port_name }}
|
|
protocol: TCP
|
|
name: {{ $values.metastore.port_name }}
|
|
{{- end }}
|
|
{{- with $values.service.extraPorts }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
selector:
|
|
{{- include "pyroscope.selectorLabels" . | nindent 4 }}
|
|
app.kubernetes.io/component: {{ $component | quote }}
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: {{ $cfg.name }}-headless
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "pyroscope.labels" . | nindent 4 }}
|
|
app.kubernetes.io/component: {{ $component | quote }}
|
|
{{- if or .Values.serviceMonitor.enabled $values.service.headlessAnnotations }}
|
|
annotations:
|
|
{{- if .Values.serviceMonitor.enabled }}
|
|
prometheus.io/service-monitor: "false"
|
|
{{- end }}
|
|
{{- with $values.service.headlessAnnotations }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
spec:
|
|
type: ClusterIP
|
|
clusterIP: None
|
|
ports:
|
|
- port: {{ $values.service.port }}
|
|
targetPort: {{ $values.service.port_name }}
|
|
protocol: TCP
|
|
name: {{ $values.service.port_name }}
|
|
{{- if $hasV2 }}
|
|
- port: {{ $values.grpc.port }}
|
|
targetPort: {{ $values.grpc.port_name }}
|
|
protocol: TCP
|
|
name: {{ $values.grpc.port_name }}
|
|
{{- end }}
|
|
{{- if $isMetastore }}
|
|
- port: {{ $values.metastore.port }}
|
|
targetPort: {{ $values.metastore.port_name }}
|
|
protocol: TCP
|
|
name: {{ $values.metastore.port_name }}
|
|
{{- end }}
|
|
{{- with $values.service.extraPorts }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- if or $values.service.publishNotReadyAddresses $isMetastore }}
|
|
publishNotReadyAddresses: true
|
|
{{- end }}
|
|
selector:
|
|
{{- include "pyroscope.selectorLabels" . | nindent 4 }}
|
|
app.kubernetes.io/component: {{ $component | quote }}
|
|
{{- end }}
|
|
{{- end }}
|