apiVersion: apps/v1
kind: Deployment
metadata:
  name: packageserver
  namespace: openshift-operator-lifecycle-manager
  labels:
    app: packageserver
spec:
  strategy:
    type: RollingUpdate
  replicas: 2
  selector:
    matchLabels:
      app: packageserver
  template:
    metadata:
      labels:
        app: packageserver
    spec:
      serviceAccountName: packageserver
      priorityClassName: "system-cluster-critical"
      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
        
      containers:
      - name: packageserver
        command:
        - /bin/package-server
        - -v=4
        - --secure-port
        - "5443"
        - --global-namespace
        - openshift-operator-lifecycle-manager
        image: quay.io/operator-framework/olm@sha256:7e4b13b89b3d59876b228697bbd0c9e364fd73f946ab90308c34fd82053a5a76
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5443
        livenessProbe:
          httpGet:
            scheme: HTTPS
            path: /healthz
            port: 5443
        readinessProbe:
          httpGet:
            scheme: HTTPS
            path: /healthz
            port: 5443
        terminationMessagePolicy: FallbackToLogsOnError
