service.yaml 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. {{- /*
  2. Copyright Broadcom, Inc. All Rights Reserved.
  3. SPDX-License-Identifier: APACHE-2.0
  4. */}}
  5. apiVersion: v1
  6. kind: Service
  7. metadata:
  8. name: {{ template "cloudnative-pg.plugin-barman-cloud.fullname" . }}
  9. namespace: {{ include "common.names.namespace" . | quote }}
  10. {{- /* Updating app.kubernetes.io/name because to avoid "duplicate deployment" error: https://github.com/cloudnative-pg/cloudnative-pg/blob/9c2769815ff78cbfc28e2a2818f3a04add33477c/pkg/certs/operator_deployment.go#L120 */}}
  11. {{- $appNameLabels := dict "app.kubernetes.io/name" "plugin-barman-cloud" }}
  12. {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list $appNameLabels .Values.commonLabels .Values.pluginBarmanCloud.service.labels) "context" . ) }}
  13. labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }}
  14. app.kubernetes.io/part-of: cloudnative-pg
  15. app.kubernetes.io/component: plugin-barman-cloud
  16. cnpg.io/pluginName: barman-cloud.cloudnative-pg.io
  17. annotations:
  18. cnpg.io/pluginClientSecret: {{ include "cloudnative-pg.plugin-barman-cloud.tlsClientSecretName" . }}
  19. cnpg.io/pluginServerSecret: {{ include "cloudnative-pg.plugin-barman-cloud.tlsServerSecretName" . }}
  20. cnpg.io/pluginPort: {{ .Values.pluginBarmanCloud.service.ports.grpc | quote }}
  21. {{- if or .Values.pluginBarmanCloud.service.annotations .Values.commonAnnotations }}
  22. {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.pluginBarmanCloud.service.annotations .Values.commonAnnotations ) "context" . ) }}
  23. {{- if or .Values.pluginBarmanCloud.service.annotations .Values.commonAnnotations }}
  24. {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }}
  25. {{- end }}
  26. {{- end }}
  27. spec:
  28. type: {{ .Values.pluginBarmanCloud.service.type }}
  29. {{- if and .Values.pluginBarmanCloud.service.clusterIP (eq .Values.pluginBarmanCloud.service.type "ClusterIP") }}
  30. clusterIP: {{ .Values.pluginBarmanCloud.service.clusterIP }}
  31. {{- end }}
  32. {{- if .Values.pluginBarmanCloud.service.sessionAffinity }}
  33. sessionAffinity: {{ .Values.pluginBarmanCloud.service.sessionAffinity }}
  34. {{- end }}
  35. {{- if .Values.pluginBarmanCloud.service.sessionAffinityConfig }}
  36. sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.pluginBarmanCloud.service.sessionAffinityConfig "context" $) | nindent 4 }}
  37. {{- end }}
  38. {{- if or (eq .Values.pluginBarmanCloud.service.type "LoadBalancer") (eq .Values.pluginBarmanCloud.service.type "NodePort") }}
  39. externalTrafficPolicy: {{ .Values.pluginBarmanCloud.service.externalTrafficPolicy | quote }}
  40. {{- end }}
  41. {{- if and (eq .Values.pluginBarmanCloud.service.type "LoadBalancer") (not (empty .Values.pluginBarmanCloud.service.loadBalancerSourceRanges)) }}
  42. loadBalancerSourceRanges: {{ .Values.pluginBarmanCloud.service.loadBalancerSourceRanges }}
  43. {{- end }}
  44. {{- if and (eq .Values.pluginBarmanCloud.service.type "LoadBalancer") (not (empty .Values.pluginBarmanCloud.service.loadBalancerIP)) }}
  45. loadBalancerIP: {{ .Values.pluginBarmanCloud.service.loadBalancerIP }}
  46. {{- end }}
  47. ports:
  48. - name: grpc
  49. port: {{ .Values.pluginBarmanCloud.service.ports.grpc }}
  50. protocol: TCP
  51. {{- if and (or (eq .Values.pluginBarmanCloud.service.type "NodePort") (eq .Values.pluginBarmanCloud.service.type "LoadBalancer")) (not (empty .Values.pluginBarmanCloud.service.nodePorts.grpc)) }}
  52. nodePort: {{ .Values.pluginBarmanCloud.service.nodePorts.grpc }}
  53. {{- else if eq .Values.pluginBarmanCloud.service.type "ClusterIP" }}
  54. nodePort: null
  55. {{- end }}
  56. targetPort: grpc
  57. {{- if .Values.pluginBarmanCloud.service.extraPorts }}
  58. {{- include "common.tplvalues.render" (dict "value" .Values.pluginBarmanCloud.service.extraPorts "context" $) | nindent 4 }}
  59. {{- end }}
  60. {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list $appNameLabels .Values.pluginBarmanCloud.podLabels .Values.commonLabels ) "context" . ) }}
  61. selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }}
  62. app.kubernetes.io/part-of: cloudnative-pg
  63. app.kubernetes.io/component: plugin-barman-cloud