kind: Deployment
apiVersion: apps/v1
metadata:
  name: enmasse-operator
  labels:
    app: enmasse
    name: enmasse-operator
spec:
  replicas: 1
  selector:
    matchLabels:
      app: enmasse
      name: enmasse-operator
  template:
    metadata:
      labels:
        app: enmasse
        name: enmasse-operator
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 1
              preference:
                matchExpressions:
                  - key: node-role.enmasse.io/operator-infra
                    operator: In
                    values:
                      - "true"
      serviceAccountName: enmasse-operator
      containers:
      - name: controller
        image: ${CONTROLLER_MANAGER_IMAGE}
        imagePullPolicy: ${IMAGE_PULL_POLICY}
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: CONTROLLER_ENABLE_MESSAGING_INFRASTRUCTURE
          value: "true"
        - name: CONTROLLER_ENABLE_MESSAGING_TENANT
          value: "true"
        - name: CONTROLLER_ENABLE_MESSAGING_ADDRESS
          value: "true"
        - name: CONTROLLER_ENABLE_MESSAGING_ENDPOINT
          value: "true"
        - name: IOT_CONFIG_NAME
          value: "default"
        - name: OPERATOR_NAME
          value: "enmasse-operator"
        - name: IMAGE_PULL_POLICY
          value: "${IMAGE_PULL_POLICY}"
        - name: CONTROLLER_DISABLE_ALL
          value: "true"
        - name: CONTROLLER_ENABLE_AUTHENTICATION_SERVICE
          value: "false"
        - name: RELATED_IMAGE_CONTROLLER_MANAGER
          value: ${CONTROLLER_MANAGER_IMAGE}
        - name: RELATED_IMAGE_IOT_AUTH_SERVICE
          value: ${IOT_AUTH_SERVICE_IMAGE}
        - name: RELATED_IMAGE_IOT_DEVICE_REGISTRY_FILE
          value: ${IOT_DEVICE_REGISTRY_FILE_IMAGE}
        - name: RELATED_IMAGE_IOT_DEVICE_REGISTRY_INFINISPAN
          value: ${IOT_DEVICE_REGISTRY_INFINISPAN_IMAGE}
        - name: RELATED_IMAGE_IOT_HTTP_ADAPTER
          value: ${IOT_HTTP_ADAPTER_IMAGE}
        - name: RELATED_IMAGE_IOT_MQTT_ADAPTER
          value: ${IOT_MQTT_ADAPTER_IMAGE}
        - name: RELATED_IMAGE_IOT_LORAWAN_ADAPTER
          value: ${IOT_LORAWAN_ADAPTER_IMAGE}
        - name: RELATED_IMAGE_IOT_SIGFOX_ADAPTER
          value: ${IOT_SIGFOX_ADAPTER_IMAGE}
        - name: RELATED_IMAGE_IOT_TENANT_CLEANER
          value: ${IOT_TENANT_CLEANER_IMAGE}
        - name: RELATED_IMAGE_IOT_TENANT_SERVICE
          value: ${IOT_TENANT_SERVICE_IMAGE}
        - name: RELATED_IMAGE_IOT_PROXY_CONFIGURATOR
          value: ${IOT_PROXY_CONFIGURATOR_IMAGE}
        - name: RELATED_IMAGE_ROUTER
          value: ${ROUTER_IMAGE}
        - name: RELATED_IMAGE_BROKER
          value: ${BROKER_IMAGE}
        - name: RELATED_IMAGE_BROKER_PLUGIN
          value: ${BROKER_PLUGIN_IMAGE}
        - name: RELATED_IMAGE_NONE_AUTHSERVICE
          value: ${NONE_AUTHSERVICE_IMAGE}
        - name: RELATED_IMAGE_KEYCLOAK
          value: ${KEYCLOAK_IMAGE}
        - name: RELATED_IMAGE_KEYCLOAK_PLUGIN
          value: ${KEYCLOAK_PLUGIN_IMAGE}
        - name: CONTROLLER_ENABLE_CONSOLE_SERVICE
          value: "false"
        - name: RELATED_IMAGE_CONSOLE_INIT
          value: "${CONSOLE_INIT_IMAGE}"
        - name: RELATED_IMAGE_CONSOLE_SERVER
          value: "${CONSOLE_SERVER_IMAGE}"
        - name: RELATED_IMAGE_CONSOLE_PROXY_OPENSHIFT
          value: "${CONSOLE_PROXY_OPENSHIFT_IMAGE}"
        - name: RELATED_IMAGE_CONSOLE_PROXY_KUBERNETES
          value: "${CONSOLE_PROXY_KUBERNETES_IMAGE}"
        - name: CONSOLE_LINK_SECTION_NAME
          value: "${CONSOLE_LINK_SECTION_NAME}"
        - name: CONSOLE_LINK_NAME
          value: "${CONSOLE_LINK_NAME}"
        - name: CONSOLE_LINK_IMAGE_URL
          value: "${CONSOLE_LINK_IMAGE_URL}"
        - name: ENABLE_MONITORING
          value: "false"
