{{/*
# Copyright 2020-present Open Networking Foundation

# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
*/}}

{{- if .Values.config.pcf.deploy }}
{{ tuple "pcf" . | include "5g-control-plane.service_account" }}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: pcf
  labels:
{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 4 }}
spec:
  replicas: 1
  serviceName: pcf-headless
  selector:
    matchLabels:
{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 6 }}
  template:
    metadata:
      labels:
{{ tuple "pcf" . | include "5g-control-plane.metadata_labels" | indent 8 }}
    {{- with .Values.config.pcf.podAnnotations }}
      annotations:
        {{- toYaml . | nindent 8 }}
    {{- end }}
    spec:
    {{- if .Values.nodeSelectors.enabled }}
      nodeSelector:
        {{ .Values.nodeSelectors.pcf.label }}: {{ .Values.nodeSelectors.pcf.value }}
    {{- end }}
      serviceAccountName: pcf
    {{- if .Values.images.credentials }}
      imagePullSecrets:
        - name: {{ .Release.Name }}.registry
    {{- end }}
      initContainers:
      - name: wait-nrf-module
        image: {{ .Values.images.tags.init | quote }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
        command: ['sh', '-c', 'until nslookup nrf; do echo waiting for nrf; sleep 4; done;']
    {{- if .Values.config.coreDump.enabled }}
{{ tuple "pcf" . | include "5g-control-plane.coredump_init" | indent 6 }}
    {{- end }}
      containers:
      - name: pcf
        image: {{ .Values.images.tags.pcf }}
        imagePullPolicy: {{ .Values.images.pullPolicy }}
      {{- if .Values.config.coreDump.enabled }}
        securityContext:
          runAsUser: 0
      {{- end }}
        stdin: true
        tty: true
        command: ["/opt/cp/scripts/pcf-run.sh"]
        env:
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
      {{- if .Values.resources.enabled }}
        resources:
{{ toYaml .Values.resources.pcf | indent 10 }}
      {{- end }}
        volumeMounts:
        - name: cp-script
          mountPath: /opt/cp/scripts/pcf-run.sh
          subPath: pcf-run.sh
        - name: cp-config
          mountPath: /free5gc/config
      {{- if .Values.config.coreDump.enabled }}
        - name: coredump
          mountPath: /tmp/coredump
      {{- end }}
      volumes:
      - name: cp-script
        configMap:
          name: pcf
          defaultMode: 493
      - name: cp-config
        configMap:
          name: pcf
          defaultMode: 420
    {{- if .Values.config.coreDump.enabled }}
      - name: host-rootfs
        hostPath:
          path: /
      - name: coredump
        hostPath:
          path: {{ .Values.config.coreDump.path }}
    {{- end }}
{{- end }}
