---

# Copyright 2021-2023 Open Networking Foundation (ONF) and the ONF Contributors
#
# 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 .Values.etcd.defrag.enabled }}
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: etcd-db-defrag
spec:
  schedule: {{ .Values.etcd.defrag.schedule | quote }}
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          serviceAccountName: "{{ .Release.Name }}-service-account"
          containers:
            - name: etcd-db-defrag
              image: '{{ tpl .Values.etcd.defrag.image.registry . }}{{ tpl .Values.etcd.defrag.image.repository . }}:{{ tpl .Values.etcd.defrag.image.tag . }}'
              imagePullPolicy: {{ tpl .Values.etcd.defrag.image.pullPolicy . }}
              command:
                - /bin/sh
                - -c
                - kubectl exec -n  {{ .Release.Namespace }} {{ .Release.Name }}-etcd-0 -- etcdctl defrag --cluster
              volumeMounts:
                - name: kube-config-volume
                  mountPath: /etc/kube
          volumes:
            - name: kube-config-volume
              configMap:
                name: kube-config
{{- end -}}
