apiVersion: v1
kind: Namespace
metadata:
  labels:
    cdi.kubevirt.io: ""
  name: {{ cdi_namespace }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: cdi-operator
  namespace: {{ cdi_namespace }}
  labels:
    operator.cdi.kubevirt.io: ""
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: cdi-operator
  labels:
    operator.cdi.kubevirt.io: ""
subjects:
- kind: ServiceAccount
  name: cdi-operator
  namespace: {{ cdi_namespace }}
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: ""
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: "cdi-operator-leader-election-helper"
  namespace: {{ cdi_namespace }}
  labels:
    operator.cdi.kubevirt.io: ""
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cdi-operator
  namespace: {{ cdi_namespace }}
  labels:
    operator.cdi.kubevirt.io: ""
spec:
  replicas: 1
  selector:
    matchLabels:
      name: cdi-operator
  template:
    metadata:
      labels:
        name: cdi-operator
        operator.cdi.kubevirt.io: ""
    spec:
      serviceAccountName: cdi-operator
      containers:
        - name: cdi-operator
          image: {{ docker_prefix }}/{{ operator_image }}:{{ docker_tag }}
          ports:
          - containerPort: 60000
            name: metrics
          imagePullPolicy: {{ pull_policy }}
          env:
          - name: DEPLOY_CLUSTER_RESOURCES
            value: 'true'
          - name: DOCKER_REPO
            value: {{ docker_prefix }}
          - name: DOCKER_TAG
            value: {{ docker_tag }}
          - name: CONTROLLER_IMAGE
            value: {{ controller_image }}
          - name: IMPORTER_IMAGE
            value: {{ importer_image }}
          - name: CLONER_IMAGE
            value: {{ cloner_image }}
          - name: APISERVER_IMAGE
            value: {{ apiserver_image }}
          - name: UPLOAD_PROXY_IMAGE
            value: {{ uploadproxy_image }}
          - name: UPLOAD_SERVER_IMAGE
            value: {{ uploadserver_image }}
          - name: VERBOSITY
            value: '{{ verbosity }}'
          - name: PULL_POLICY
            value: {{ pull_policy }}
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: cdis.cdi.kubevirt.io
  labels:
    operator.cdi.kubevirt.io: ""
spec:
  group: cdi.kubevirt.io
  names:
    kind: CDI
    listKind: CDIList
    plural: cdis
    singular: cdi
  scope: Cluster
  version: v1alpha1
