{{/*
# Copyright © 2018 Amdocs, Bell Canada, AT&T
#
# 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.
*/}}

{{- $global := . }}
{{- if and $global.Values.persistence.enabled (not $global.Values.persistence.existingClaim) }}
{{- if eq "True" (include "common.needPV" .) -}}
{{- range $i := until (int $global.Values.replicaCount)}}
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: {{ include "common.fullname" $global }}-data-{{ $i }}
  namespace: {{ include "common.namespace" $global }}
  labels:
    app: {{ include "common.fullname" $global }}
    chart: "{{ $global.Chart.Name }}-{{ $global.Chart.Version | replace "+" "_" }}"
    release: "{{ include "common.release" $global }}"
    heritage: "{{ $global.Release.Service }}"
    name: {{ include "common.fullname" $global }}
spec:
  capacity:
    storage: {{ $global.Values.persistence.storage }}
  accessModes:
    - {{ $global.Values.persistence.accessMode }}
  persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
  storageClassName: "{{ include "common.fullname" $global }}-data"
  hostPath:
    path: {{ $global.Values.persistence.mountPath }}/{{ include "common.release" $global }}/{{ $global.Values.persistence.mountSubPath }}-{{ $i }}
{{if ne $i (int $global.Values.replicaCount) }}
---
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
