apiVersion: apps/v1
kind: Deployment
metadata:
  name: ibm-common-service-operator
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      name: ibm-common-service-operator
  template:
    metadata:
      labels:
        name: ibm-common-service-operator
      annotations:
        csOperandConfig: |-
          apiVersion: operator.ibm.com/v1alpha1
          kind: OperandConfig
          metadata:
            name: common-service
            namespace: ibm-common-services
            annotations:
              version: "7"
          spec:
            services:
            - name: ibm-metering-operator
              spec:
                metering: {}
                meteringUI: {}
                meteringReportServer: {}
                operandBindInfo: {}
                operandRequest: {}
            - name: ibm-licensing-operator
              spec:
                IBMLicensing:
                  datasource: datacollector
                operandBindInfo: {}
            - name: ibm-mongodb-operator
              spec:
                mongoDB: {}
                operandRequest: {}
            - name: ibm-cert-manager-operator
              spec:
                certManager: {}
                issuer: {}
                certificate: {}
                clusterIssuer: {}
            - name: ibm-iam-operator
              spec:
                authentication: {}
                oidcclientwatcher: {}
                pap: {}
                policydecision: {}
                secretwatcher: {}
                securityonboarding: {}
                operandBindInfo: {}
                operandRequest: {}
            - name: ibm-healthcheck-operator
              spec:
                healthService: {}
                mustgatherService: {}
                mustgatherConfig: {}
            - name: ibm-commonui-operator
              spec:
                commonWebUI: {}
                switcheritem: {}
                operandRequest: {}
                navconfiguration: {}
            - name: ibm-management-ingress-operator
              spec:
                managementIngress: {}
                operandBindInfo: {}
                operandRequest: {}
            - name: ibm-ingress-nginx-operator
              spec:
                nginxIngress: {}
            - name: ibm-auditlogging-operator
              spec:
                auditLogging: {}
                operandBindInfo: {}
                operandRequest: {}
            - name: ibm-catalog-ui-operator
              spec:
                catalogUI: {}
                operandRequest: {}
            - name: ibm-platform-api-operator
              spec:
                platformApi: {}
                operandRequest: {}
            - name: ibm-monitoring-exporters-operator
              spec:
                exporter: {}
                operandRequest: {}
            - name: ibm-monitoring-prometheusext-operator
              spec:
                prometheusExt: {}
                operandRequest: {}
            - name: ibm-monitoring-grafana-operator
              spec:
                grafana: {}
                operandRequest: {}
            - name: ibm-elastic-stack-operator
              spec:
                elasticStack: {}
                operandBindInfo: {}
                operandRequest: {}
        csOperandRegistry: |-
          apiVersion: operator.ibm.com/v1alpha1
          kind: OperandRegistry
          metadata:
            name: common-service
            namespace: ibm-common-services
            annotations:
              version: "10"
          spec:
            operators:
            - name: ibm-metering-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-metering-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-licensing-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-licensing-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-mongodb-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-mongodb-operator-app
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-cert-manager-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-cert-manager-operator
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-iam-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-iam-operator
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-healthcheck-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-healthcheck-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-commonui-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-commonui-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-management-ingress-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-management-ingress-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-ingress-nginx-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-ingress-nginx-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-auditlogging-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-auditlogging-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-platform-api-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-platform-api-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-monitoring-exporters-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-monitoring-exporters-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - name: ibm-monitoring-prometheusext-operator
              namespace: ibm-common-services
              channel: beta
              packageName: ibm-monitoring-prometheusext-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - channel: beta
              name: ibm-monitoring-grafana-operator
              namespace: ibm-common-services
              packageName: ibm-monitoring-grafana-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - channel: beta
              name: ibm-elastic-stack-operator
              namespace: ibm-common-services
              packageName: ibm-elastic-stack-operator-app
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
            - channel: beta
              name: ibm-events-operator
              namespace: ibm-common-services
              packageName: ibm-events-operator
              scope: public
              sourceName: opencloud-operators
              sourceNamespace: openshift-marketplace
        csOperatorSubscription: |-
          apiVersion: operators.coreos.com/v1alpha1
          kind: Subscription
          metadata:
            name: ibm-common-service-operator
            namespace: placeholder
            annotations:
              version: "10"
          spec:
            channel: beta
            installPlanApproval: Automatic
            name: ibm-common-service-operator
            source: opencloud-operators
            sourceNamespace: openshift-marketplace
        csSecretshareOperator: |-
          apiVersion: apps/v1
          kind: Deployment
          metadata:
            name: secretshare
            namespace: placeholder
            annotations:
              version: "10"
          spec:
            replicas: 1
            selector:
              matchLabels:
                name: secretshare
            template:
              metadata:
                annotations:
                  productID: 068a62892a1e4db39641342e592daa25
                  productMetric: FREE
                  productName: IBM Cloud Platform Common Services
                labels:
                  name: secretshare
              spec:
                serviceAccountName: secretshare
                affinity:
                  nodeAffinity:
                    requiredDuringSchedulingIgnoredDuringExecution:
                      nodeSelectorTerms:
                      - matchExpressions:
                        - key: kubernetes.io/arch
                          operator: In
                          values:
                          - amd64
                          - ppc64le
                          - s390x
                containers:
                - command:
                  - /manager
                  image: quay.io/opencloudio/ibm-secretshare-operator@sha256:10cbb2bebfaccfa856c5b5543e30d654f0b07755fa502f6b53e9b1f112beff62
                  imagePullPolicy: Always
                  name: ibm-secretshare-operator
                  env:
                  - name: OPERATOR_NAME
                    value: "secretshare"
                  resources:
                    limits:
                      cpu: 500m
                      memory: 512Mi
                    requests:
                      cpu: 200m
                      memory: 200Mi
                terminationGracePeriodSeconds: 10
        csWebhookOperator: |-
          apiVersion: apps/v1
          kind: Deployment
          metadata:
            name: ibm-common-service-webhook
            namespace: placeholder
            annotations:
              version: "7"
          spec:
            replicas: 1
            selector:
              matchLabels:
                name: ibm-common-service-webhook
            template:
              metadata:
                annotations:
                  productID: 068a62892a1e4db39641342e592daa25
                  productMetric: FREE
                  productName: IBM Cloud Platform Common Services
                labels:
                  name: ibm-common-service-webhook
              spec:
                serviceAccountName: ibm-common-service-webhook
                containers:
                  - name: ibm-common-service-webhook
                    image: quay.io/opencloudio/ibm-cs-webhook@sha256:934a44d286d66bcf0de2bd1bedd460a4266016e05fdcf6c84b63eb957cb40ec9
                    command:
                    - ibm-common-service-webhook
                    imagePullPolicy: Always
                    env:
                      - name: WATCH_NAMESPACE
                        valueFrom:
                          fieldRef:
                            fieldPath: metadata.namespace
                      - name: POD_NAME
                        valueFrom:
                          fieldRef:
                            fieldPath: metadata.name
                      - name: OPERATOR_NAME
                        value: "ibm-common-service-webhook"
                    ports:
                      - containerPort: 8443
                        protocol: TCP
                    resources:
                      limits:
                        cpu: 200m
                        memory: 256Mi
                      requests:
                        cpu: 200m
                        memory: 256Mi
                    volumeMounts:
                    - name: webhook-certs
                      mountPath: "/etc/ssl/certs/webhook"
                volumes:
                - name: webhook-certs
                  emptyDir: {}
        description: The IBM Common Service Operator is used to deploy IBM Common Services
        nsRestrictedSubscription: |-
          apiVersion: operators.coreos.com/v1alpha1
          kind: Subscription
          metadata:
            name: ibm-namespace-scope-operator-restricted
            namespace: placeholder
            annotations:
              version: "10"
          spec:
            channel: beta
            installPlanApproval: Automatic
            name: ibm-namespace-scope-operator-restricted
            source: opencloud-operators
            sourceNamespace: openshift-marketplace
        nsSubscription: |-
          apiVersion: operators.coreos.com/v1alpha1
          kind: Subscription
          metadata:
            name: ibm-namespace-scope-operator
            namespace: placeholder
            annotations:
              version: "10"
          spec:
            channel: beta
            installPlanApproval: Automatic
            name: ibm-namespace-scope-operator
            source: opencloud-operators
            sourceNamespace: openshift-marketplace
        odlmClusterSubscription: |-
          apiVersion: operators.coreos.com/v1alpha1
          kind: Subscription
          metadata:
            name: operand-deployment-lifecycle-manager-app
            namespace: placeholder
            annotations:
              version: "11"
          spec:
            channel: beta
            installPlanApproval: Automatic
            name: ibm-odlm
            source: opencloud-operators
            sourceNamespace: openshift-marketplace
        odlmNamespacedSubscription: |-
          apiVersion: operators.coreos.com/v1alpha1
          kind: Subscription
          metadata:
            name: operand-deployment-lifecycle-manager-app
            namespace: placeholder
            annotations:
              version: "11"
          spec:
            channel: beta
            installPlanApproval: Automatic
            name: ibm-odlm
            source: opencloud-operators
            sourceNamespace: openshift-marketplace
            config:
              env:
              - name: INSTALL_SCOPE
                value: namespaced
    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values:
                - amd64
                - ppc64le
                - s390x
      containers:
      - command:
        - /manager
        env:
        - name: OPERATOR_NAME
          value: ibm-common-service-operator
        image: siji/operator:cs
        imagePullPolicy: Always
        name: ibm-common-service-operator
        resources:
          limits:
            cpu: 500m
            memory: 512Mi
          requests:
            cpu: 100m
            memory: 200Mi
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
          privileged: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: ibm-common-service-operator
      serviceAccountName: ibm-common-service-operator
      terminationGracePeriodSeconds: 10
