{{/*
# Copyright © 2018 Amdocs, Bell Canada
# Copyright © 2020 Orange
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*/}}

{{- if not .Values.global.mariadbGalera.useOperator }}
{{ include "common.service" . }}
---
{{ include "common.headlessService" . }}
{{- end }}
{{- if (include "common.onServiceMesh" .) }}
{{-   if eq (default "istio" .Values.global.serviceMesh.engine) "istio" }}
---
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: {{ include "common.servicename" . }}
  namespace: {{ include "common.namespace" . }}
spec:
  selector:
    matchLabels:
      app: {{ include "common.servicename" . }}
  portLevelMtls:
    '{{ .Values.service.internalPort }}':
{{-     if .Values.mariadbOperator.galera.enabled }}
      mode: STRICT
{{-     else }}
      mode: DISABLE
{{-     end }}
{{-   end }}
{{- end }}
