apiVersion: apps/v1
kind: Deployment
metadata:
  name: catalog-operator
  namespace: openshift-operator-lifecycle-manager
  labels:
    app: catalog-operator
spec:
  strategy:
    type: RollingUpdate
  replicas: 1
  selector:
    matchLabels:
      app: catalog-operator
  template:
    metadata:
      labels:
        app: catalog-operator
    spec:
      serviceAccountName: olm-operator-serviceaccount
      priorityClassName: "system-cluster-critical"
      containers:
        - name: catalog-operator
          command:
          - /bin/catalog
          args:
          - '-namespace'
          - openshift-operator-lifecycle-manager
          - -configmapServerImage=quay.io/operator-framework/configmap-operator-registry:latest
          - -writeStatusName
          - operator-lifecycle-manager-catalog
          - -tls-cert
          - /var/run/secrets/serving-cert/tls.crt
          - -tls-key
          - /var/run/secrets/serving-cert/tls.key
          image: quay.io/operator-framework/olm@sha256:7e4b13b89b3d59876b228697bbd0c9e364fd73f946ab90308c34fd82053a5a76
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 8080
            - containerPort: 8081
              name: metrics
              protocol: TCP
          livenessProbe:
            httpGet:
              path: /healthz
              port: 8080
          readinessProbe:
            httpGet:
              path: /healthz
              port: 8080
          terminationMessagePolicy: FallbackToLogsOnError
          env:
          
          - name: RELEASE_VERSION
            value: "0.0.1-snapshot"
          
          
          volumeMounts:
          - mountPath: /var/run/secrets/serving-cert
            name: serving-cert
          
      
      volumes:
      - name: serving-cert
        secret:
          secretName: catalog-operator-serving-cert
      
      nodeSelector:
        beta.kubernetes.io/os: linux
        node-role.kubernetes.io/master: ""
        
      tolerations:
      - key: node-role.kubernetes.io/master
        operator: Exists
        effect: "NoSchedule"
      - key: "node.kubernetes.io/unreachable"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 120
      - key: "node.kubernetes.io/not-ready"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 120
        
