apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "hyperion.fullname" . }}-hyperion
  labels:
    app: hyperion
    {{- include "hyperion.labels" . | nindent 4 }}
spec:
  replicas: {{ .Values.hyperion.replicas }}
  selector:
    matchLabels:
      app: hyperion
    {{- include "hyperion.selectorLabels" . | nindent 6 }}
  template:
    metadata:
      labels:
        app: hyperion
      {{- include "hyperion.selectorLabels" . | nindent 8 }}
    spec:
      containers:
      - command:
        - /usr/bin/hyperiond
        - --userdata
        - /root/.hyperion
        env:
        - name: KUBERNETES_CLUSTER_DOMAIN
          value: {{ .Values.kubernetesClusterDomain }}
        image: {{ .Values.hyperion.hyperion.image.repository }}:{{ .Values.hyperion.hyperion.image.tag
          | default .Chart.AppVersion }}
        imagePullPolicy: IfNotPresent
        name: hyperion
        ports:
        - containerPort: 19445
          hostPort: 19445
          protocol: TCP
        - containerPort: 19444
          hostPort: 19444
          protocol: TCP
        - containerPort: 8090
          hostPort: 8090
          protocol: TCP
        resources: {}
        volumeMounts:
        - mountPath: /root/.hyperion
          name: data
      dnsPolicy: ClusterFirst
      hostNetwork: true
      restartPolicy: Always
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: {{ include "hyperion.fullname" . }}-claim