apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "cache.example.com/v1alpha1",
          "kind": "Memcached",
          "metadata": {
            "name": "example-memcached"
          },
          "spec": {
            "size": 3
          }
        },
        {
          "apiVersion": "cache.example.com/v1alpha1",
          "kind": "MemcachedRS",
          "metadata": {
            "name": "example-memcachedrs"
          },
          "spec": {
            "numNodes": 4
          }
        }
      ]
    capabilities: Basic Install
  name: memcached-operator.v0.0.2
  namespace: placeholder
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
    - description: MemcachedRS is the Schema for the memcachedrs API
      displayName: MemcachedRS App
      kind: MemcachedRS
      name: memcachedrs.cache.example.com
      specDescriptors:
      - displayName: Num Nodes
        path: numNodes
      statusDescriptors:
      - displayName: Node List
        path: nodeList
      version: v1alpha1
    - description: Memcached is the Schema for the memcacheds API
      displayName: Memcached App
      kind: Memcached
      name: memcacheds.cache.example.com
      specDescriptors:
      - description: Size is the size of the memcached deployment
        displayName: Size
        path: size
        x-descriptors:
        - urn:alm:descriptor:com.tectonic.ui:podCount
      statusDescriptors:
      - description: Nodes are the names of the memcached pods
        displayName: Nodes
        path: nodes
      version: v1alpha1
  description: Main enterprise application providing business critical features with
    high availability and no manual intervention.
  displayName: Memcached Application
  install:
    spec:
      deployments:
      - name: memcached-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: memcached-operator
          strategy: {}
          template:
            metadata:
              labels:
                name: memcached-operator
            spec:
              containers:
              - command:
                - memcached-operator
                env:
                - name: WATCH_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.annotations['olm.targetNamespaces']
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: OPERATOR_NAME
                  value: memcached-operator
                image: quay.io/example/memcached-operator:v0.0.2
                imagePullPolicy: Never
                name: memcached-operator
                resources: {}
              serviceAccountName: memcached-operator
      permissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - services
          - services/finalizers
          - endpoints
          - persistentvolumeclaims
          - events
          - configmaps
          - secrets
          verbs:
          - '*'
        - apiGroups:
          - apps
          resources:
          - deployments
          - daemonsets
          - replicasets
          - statefulsets
          verbs:
          - '*'
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - servicemonitors
          verbs:
          - get
          - create
        - apiGroups:
          - apps
          resourceNames:
          - memcached-operator
          resources:
          - deployments/finalizers
          verbs:
          - update
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - replicasets
          - deployments
          verbs:
          - get
        - apiGroups:
          - cache.example.com
          resources:
          - '*'
          verbs:
          - '*'
        serviceAccountName: memcached-operator
    strategy: deployment
  installModes:
  - supported: true
    type: OwnNamespace
  - supported: true
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: true
    type: AllNamespaces
  keywords:
  - memcached
  - app
  maintainers:
  - email: corp@example.com
    name: Some Corp
  maturity: alpha
  provider:
    name: Example
    url: www.example.com
  version: 0.0.2
