apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "operator.open-cluster-management.io/v1",
          "kind": "Klusterlet",
          "metadata": {
            "name": "klusterlet"
          },
          "spec": {
            "clusterName": "cluster1",
            "externalServerURLs": [
              {
                "url": "https://localhost"
              }
            ],
            "namespace": "open-cluster-management-agent",
            "registrationImagePullSpec": "quay.io/open-cluster-management/registration",
            "workImagePullSpec": "quay.io/open-cluster-management/work"
          }
        }
      ]
    capabilities: Basic Install
  name: klusterlet.v0.1.0
  namespace: placeholder
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
    - description: Klusterlet defines the configurations of agents running on the
        managed cluster
      displayName: Klusterlet
      kind: Klusterlet
      name: klusterlets.operator.open-cluster-management.io
      version: v1
  displayName: Klusterlet
  icon:
  - base64data: ""
    mediatype: ""
  install:
    spec:
      clusterPermissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - secrets
          - configmaps
          - serviceaccounts
          verbs:
          - create
          - get
          - list
          - update
          - watch
          - patch
          - delete
        - apiGroups:
          - authorization.k8s.io
          resources:
          - subjectaccessreviews
          verbs:
          - create
        - apiGroups:
          - ""
          resources:
          - namespaces
          verbs:
          - create
          - get
          - list
          - watch
        - apiGroups:
          - ""
          - events.k8s.io
          resources:
          - events
          verbs:
          - create
          - patch
          - update
        - apiGroups:
          - apps
          resources:
          - deployments
          verbs:
          - create
          - get
          - list
          - update
          - watch
          - patch
          - delete
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - clusterrolebindings
          - rolebindings
          verbs:
          - create
          - get
          - list
          - update
          - watch
          - patch
          - delete
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - clusterroles
          - roles
          verbs:
          - create
          - get
          - list
          - update
          - watch
          - patch
          - delete
          - escalate
          - bind
        - apiGroups:
          - operator.open-cluster-management.io
          resources:
          - klusterlets
          verbs:
          - get
          - list
          - watch
          - update
          - patch
          - delete
        - apiGroups:
          - operator.open-cluster-management.io
          resources:
          - klusterlets/status
          verbs:
          - update
          - patch
        serviceAccountName: klusterlet
      deployments:
      - name: klusterlet
        spec:
          replicas: 3
          selector:
            matchLabels:
              app: klusterlet
          strategy: {}
          template:
            metadata:
              labels:
                app: klusterlet
            spec:
              affinity:
                podAntiAffinity:
                  preferredDuringSchedulingIgnoredDuringExecution:
                  - podAffinityTerm:
                      labelSelector:
                        matchExpressions:
                        - key: app
                          operator: In
                          values:
                          - klusterlet
                      topologyKey: failure-domain.beta.kubernetes.io/zone
                    weight: 70
                  - podAffinityTerm:
                      labelSelector:
                        matchExpressions:
                        - key: app
                          operator: In
                          values:
                          - klusterlet
                      topologyKey: kubernetes.io/hostname
                    weight: 30
              containers:
              - args:
                - /registration-operator
                - klusterlet
                image: quay.io/open-cluster-management/registration-operator:latest
                imagePullPolicy: IfNotPresent
                livenessProbe:
                  httpGet:
                    path: /healthz
                    port: 8443
                    scheme: HTTPS
                  initialDelaySeconds: 2
                  periodSeconds: 10
                name: klusterlet
                readinessProbe:
                  httpGet:
                    path: /healthz
                    port: 8443
                    scheme: HTTPS
                  initialDelaySeconds: 2
                resources:
                  requests:
                    cpu: 100m
                    memory: 128Mi
              serviceAccountName: klusterlet
    strategy: deployment
  installModes:
  - supported: true
    type: OwnNamespace
  - supported: true
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: true
    type: AllNamespaces
  keywords:
  - open-cluster-management
  maintainers:
  - {}
  maturity: alpha
  provider: {}
  version: 0.1.0
