github.com/microsoft/fabrikate@v1.0.0-alpha.1.0.20210115014322-dc09194d0885/testdata/local-charts/prometheus/templates/server/sts.yaml (about)

     1  {{- if .Values.server.enabled -}}
     2  {{- if .Values.server.statefulSet.enabled -}}
     3  apiVersion: apps/v1
     4  kind: StatefulSet
     5  metadata:
     6  {{- if .Values.server.statefulSet.annotations }}
     7    annotations:
     8      {{ toYaml .Values.server.statefulSet.annotations | nindent 4 }}
     9  {{- end }}
    10    labels:
    11      {{- include "prometheus.server.labels" . | nindent 4 }}
    12      {{- if .Values.server.statefulSet.labels}}
    13      {{ toYaml .Values.server.statefulSet.labels | nindent 4 }}
    14      {{- end}}
    15    name: {{ template "prometheus.server.fullname" . }}
    16  {{ include "prometheus.namespace" . | indent 2 }}
    17  spec:
    18    serviceName: {{ template "prometheus.server.fullname" . }}-headless
    19    selector:
    20      matchLabels:
    21        {{- include "prometheus.server.matchLabels" . | nindent 6 }}
    22    replicas: {{ .Values.server.replicaCount }}
    23    podManagementPolicy: {{ .Values.server.statefulSet.podManagementPolicy }}
    24    template:
    25      metadata:
    26      {{- if .Values.server.podAnnotations }}
    27        annotations:
    28          {{ toYaml .Values.server.podAnnotations | nindent 8 }}
    29      {{- end }}
    30        labels:
    31          {{- include "prometheus.server.labels" . | nindent 8 }}
    32          {{- if .Values.server.podLabels}}
    33          {{ toYaml .Values.server.podLabels | nindent 8 }}
    34          {{- end}}
    35      spec:
    36  {{- if .Values.server.priorityClassName }}
    37        priorityClassName: "{{ .Values.server.priorityClassName }}"
    38  {{- end }}
    39  {{- if .Values.server.schedulerName }}
    40        schedulerName: "{{ .Values.server.schedulerName }}"
    41  {{- end }}
    42  {{- if semverCompare ">=1.13-0" .Capabilities.KubeVersion.GitVersion }}
    43        {{- if or (.Values.server.enableServiceLinks) (eq (.Values.server.enableServiceLinks | toString) "<nil>") }}
    44        enableServiceLinks: true
    45        {{- else }}
    46        enableServiceLinks: false
    47        {{- end }}
    48  {{- end }}
    49        serviceAccountName: {{ template "prometheus.serviceAccountName.server" . }}
    50        {{- if .Values.server.extraInitContainers }}
    51        initContainers:
    52  {{ toYaml .Values.server.extraInitContainers | indent 8 }}
    53        {{- end }}
    54        containers:
    55          {{- if .Values.configmapReload.prometheus.enabled }}
    56          - name: {{ template "prometheus.name" . }}-{{ .Values.server.name }}-{{ .Values.configmapReload.prometheus.name }}
    57            image: "{{ .Values.configmapReload.prometheus.image.repository }}:{{ .Values.configmapReload.prometheus.image.tag }}"
    58            imagePullPolicy: "{{ .Values.configmapReload.prometheus.image.pullPolicy }}"
    59            args:
    60              - --volume-dir=/etc/config
    61              - --webhook-url=http://127.0.0.1:9090{{ .Values.server.prefixURL }}/-/reload
    62            {{- range $key, $value := .Values.configmapReload.prometheus.extraArgs }}
    63              - --{{ $key }}={{ $value }}
    64            {{- end }}
    65            {{- range .Values.configmapReload.prometheus.extraVolumeDirs }}
    66              - --volume-dir={{ . }}
    67            {{- end }}
    68            resources:
    69  {{ toYaml .Values.configmapReload.prometheus.resources | indent 12 }}
    70            volumeMounts:
    71              - name: config-volume
    72                mountPath: /etc/config
    73                readOnly: true
    74            {{- range .Values.configmapReload.prometheus.extraConfigmapMounts }}
    75              - name: {{ $.Values.configmapReload.prometheus.name }}-{{ .name }}
    76                mountPath: {{ .mountPath }}
    77                subPath: {{ .subPath }}
    78                readOnly: {{ .readOnly }}
    79            {{- end }}
    80          {{- end }}
    81          - name: {{ template "prometheus.name" . }}-{{ .Values.server.name }}
    82            image: "{{ .Values.server.image.repository }}:{{ .Values.server.image.tag }}"
    83            imagePullPolicy: "{{ .Values.server.image.pullPolicy }}"
    84            {{- if .Values.server.env }}
    85            env:
    86  {{ toYaml .Values.server.env | indent 12}}
    87            {{- end }}
    88            args:
    89            {{- if .Values.server.retention }}
    90              - --storage.tsdb.retention.time={{ .Values.server.retention }}
    91            {{- end }}
    92              - --config.file={{ .Values.server.configPath }}
    93              - --storage.tsdb.path={{ .Values.server.persistentVolume.mountPath }}
    94              - --web.console.libraries=/etc/prometheus/console_libraries
    95              - --web.console.templates=/etc/prometheus/consoles
    96            {{- range .Values.server.extraFlags }}
    97              - --{{ . }}
    98            {{- end }}
    99            {{- range $key, $value := .Values.server.extraArgs }}
   100              - --{{ $key }}={{ $value }}
   101            {{- end }}
   102            {{- if .Values.server.baseURL }}
   103              - --web.external-url={{ .Values.server.baseURL }}
   104            {{- end }}
   105            ports:
   106              - containerPort: 9090
   107            readinessProbe:
   108              httpGet:
   109                path: {{ .Values.server.prefixURL }}/-/ready
   110                port: 9090
   111              initialDelaySeconds: {{ .Values.server.readinessProbeInitialDelay }}
   112              periodSeconds: {{ .Values.server.readinessProbePeriodSeconds }}
   113              timeoutSeconds: {{ .Values.server.readinessProbeTimeout }}
   114              failureThreshold: {{ .Values.server.readinessProbeFailureThreshold }}
   115              successThreshold: {{ .Values.server.readinessProbeSuccessThreshold }}
   116            livenessProbe:
   117              httpGet:
   118                path: {{ .Values.server.prefixURL }}/-/healthy
   119                port: 9090
   120              initialDelaySeconds: {{ .Values.server.livenessProbeInitialDelay }}
   121              periodSeconds: {{ .Values.server.livenessProbePeriodSeconds }}
   122              timeoutSeconds: {{ .Values.server.livenessProbeTimeout }}
   123              failureThreshold: {{ .Values.server.livenessProbeFailureThreshold }}
   124              successThreshold: {{ .Values.server.livenessProbeSuccessThreshold }}
   125            resources:
   126  {{ toYaml .Values.server.resources | indent 12 }}
   127            volumeMounts:
   128              - name: config-volume
   129                mountPath: /etc/config
   130              - name: storage-volume
   131                mountPath: {{ .Values.server.persistentVolume.mountPath }}
   132                subPath: "{{ .Values.server.persistentVolume.subPath }}"
   133            {{- range .Values.server.extraHostPathMounts }}
   134              - name: {{ .name }}
   135                mountPath: {{ .mountPath }}
   136                subPath: {{ .subPath }}
   137                readOnly: {{ .readOnly }}
   138            {{- end }}
   139            {{- range .Values.server.extraConfigmapMounts }}
   140              - name: {{ $.Values.server.name }}-{{ .name }}
   141                mountPath: {{ .mountPath }}
   142                subPath: {{ .subPath }}
   143                readOnly: {{ .readOnly }}
   144            {{- end }}
   145            {{- range .Values.server.extraSecretMounts }}
   146              - name: {{ .name }}
   147                mountPath: {{ .mountPath }}
   148                subPath: {{ .subPath }}
   149                readOnly: {{ .readOnly }}
   150            {{- end }}
   151            {{- if .Values.server.extraVolumeMounts }}
   152            {{ toYaml .Values.server.extraVolumeMounts | nindent 12 }}
   153            {{- end }}
   154         {{- if .Values.server.sidecarContainers }}
   155         {{- toYaml .Values.server.sidecarContainers | nindent 8 }}
   156         {{- end }}
   157      {{- if .Values.imagePullSecrets }}
   158        imagePullSecrets:
   159         {{ toYaml .Values.imagePullSecrets | indent 2 }}
   160      {{- end }}
   161      {{- if .Values.server.nodeSelector }}
   162        nodeSelector:
   163  {{ toYaml .Values.server.nodeSelector | indent 8 }}
   164      {{- end }}
   165      {{- if .Values.server.hostAliases }}
   166        hostAliases:
   167  {{ toYaml .Values.server.hostAliases | indent 8 }}
   168      {{- end }}
   169      {{- if .Values.server.securityContext }}
   170        securityContext:
   171  {{ toYaml .Values.server.securityContext | indent 8 }}
   172      {{- end }}
   173      {{- if .Values.server.tolerations }}
   174        tolerations:
   175  {{ toYaml .Values.server.tolerations | indent 8 }}
   176      {{- end }}
   177      {{- if .Values.server.affinity }}
   178        affinity:
   179  {{ toYaml .Values.server.affinity | indent 8 }}
   180      {{- end }}
   181        terminationGracePeriodSeconds: {{ .Values.server.terminationGracePeriodSeconds }}
   182        volumes:
   183          - name: config-volume
   184            configMap:
   185              name: {{ if .Values.server.configMapOverrideName }}{{ .Release.Name }}-{{ .Values.server.configMapOverrideName }}{{- else }}{{ template "prometheus.server.fullname" . }}{{- end }}
   186        {{- range .Values.server.extraHostPathMounts }}
   187          - name: {{ .name }}
   188            hostPath:
   189              path: {{ .hostPath }}
   190        {{- end }}
   191        {{- range .Values.configmapReload.prometheus.extraConfigmapMounts }}
   192          - name: {{ $.Values.configmapReload.prometheus.name }}-{{ .name }}
   193            configMap:
   194              name: {{ .configMap }}
   195        {{- end }}
   196        {{- range .Values.server.extraConfigmapMounts }}
   197          - name: {{ $.Values.server.name }}-{{ .name }}
   198            configMap:
   199              name: {{ .configMap }}
   200        {{- end }}
   201        {{- range .Values.server.extraSecretMounts }}
   202          - name: {{ .name }}
   203            secret:
   204              secretName: {{ .secretName }}
   205        {{- end }}
   206        {{- range .Values.configmapReload.prometheus.extraConfigmapMounts }}
   207          - name: {{ .name }}
   208            configMap:
   209              name: {{ .configMap }}
   210        {{- end }}
   211  {{- if .Values.server.extraVolumes }}
   212  {{ toYaml .Values.server.extraVolumes | indent 8}}
   213  {{- end }}
   214  {{- if .Values.server.persistentVolume.enabled }}
   215    volumeClaimTemplates:
   216      - metadata:
   217          name: storage-volume
   218          {{- if .Values.server.persistentVolume.annotations }}
   219          annotations:
   220  {{ toYaml .Values.server.persistentVolume.annotations | indent 10 }}
   221          {{- end }}
   222        spec:
   223          accessModes:
   224  {{ toYaml .Values.server.persistentVolume.accessModes | indent 10 }}
   225          resources:
   226            requests:
   227              storage: "{{ .Values.server.persistentVolume.size }}"
   228        {{- if .Values.server.persistentVolume.storageClass }}
   229        {{- if (eq "-" .Values.server.persistentVolume.storageClass) }}
   230          storageClassName: ""
   231        {{- else }}
   232          storageClassName: "{{ .Values.server.persistentVolume.storageClass }}"
   233        {{- end }}
   234        {{- end }}
   235  {{- else }}
   236          - name: storage-volume
   237            emptyDir:
   238            {{- if .Values.server.emptyDir.sizeLimit }}
   239              sizeLimit: {{ .Values.server.emptyDir.sizeLimit }}
   240            {{- else }}
   241              {}
   242            {{- end -}}
   243  {{- end }}
   244  {{- end }}
   245  {{- end }}