apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "sriovnetwork.openshift.io/v1",
          "kind": "SriovIBNetwork",
          "metadata": {
            "name": "example-sriovibnetwork",
            "namespace": "openshift-sriov-network-operator"
          },
          "spec": {
            "ipam": "{\n  \"type\": \"host-local\",\n  \"subnet\": \"10.56.217.0/24\",\n  \"rangeStart\": \"10.56.217.171\",\n  \"rangeEnd\": \"10.56.217.181\",\n  \"routes\": [{\n    \"dst\": \"0.0.0.0/0\"\n  }],\n  \"gateway\": \"10.56.217.1\"\n}\n",
            "linkState": "auto",
            "networkNamespace": "default",
            "resourceName": "mellanoxnics"
          }
        },
        {
          "apiVersion": "sriovnetwork.openshift.io/v1",
          "kind": "SriovNetwork",
          "metadata": {
            "name": "example-sriovnetwork",
            "namespace": "openshift-sriov-network-operator"
          },
          "spec": {
            "ipam": "{\n  \"type\": \"host-local\",\n  \"subnet\": \"10.56.217.0/24\",\n  \"rangeStart\": \"10.56.217.171\",\n  \"rangeEnd\": \"10.56.217.181\",\n  \"routes\": [{\n    \"dst\": \"0.0.0.0/0\"\n  }],\n  \"gateway\": \"10.56.217.1\"\n}\n",
            "networkNamespace": "default",
            "resourceName": "intelnics",
            "spoofChk": "on",
            "trust": "off",
            "vlan": 0
          }
        },
        {
          "apiVersion": "sriovnetwork.openshift.io/v1",
          "kind": "SriovNetworkNodePolicy",
          "metadata": {
            "name": "policy-1",
            "namespace": "openshift-sriov-network-operator"
          },
          "spec": {
            "deviceType": "vfio-pci",
            "mtu": 9000,
            "nicSelector": {
              "pfNames": [
                "eth1"
              ],
              "rootDevices": [
                "0000:01:00.1"
              ],
              "vendor": "8086"
            },
            "nodeSelector": {
              "feature.node.kubernetes.io/network-sriov.capable": "true"
            },
            "numVfs": 6,
            "priority": 99,
            "resourceName": "intelnics"
          }
        },
        {
          "apiVersion": "sriovnetwork.openshift.io/v1",
          "kind": "SriovNetworkNodeState",
          "metadata": {
            "name": "minikube",
            "namespace": "openshift-sriov-network-operator"
          },
          "spec": {
            "interfaces": []
          }
        },
        {
          "apiVersion": "sriovnetwork.openshift.io/v1",
          "kind": "SriovNetworkPoolConfig",
          "metadata": {
            "name": "sriovnetworkpoolconfig-sample"
          },
          "spec": {
            "foo": "bar"
          }
        },
        {
          "apiVersion": "sriovnetwork.openshift.io/v1",
          "kind": "SriovOperatorConfig",
          "metadata": {
            "name": "default",
            "namespace": "openshift-sriov-network-operator"
          },
          "spec": {
            "enableInjector": true,
            "enableOperatorWebhook": true,
            "logLevel": 2
          }
        }
      ]
    capabilities: Basic Install
    categories: Networking
    certified: "false"
    containerImage: quay.io/pliurh/sriov-network-operator-manager:bd1
    createdAt: 2019/04/30
    description: An operator for configuring SR-IOV components and initializing SRIOV
      network devices in Openshift cluster.
    olm.skipRange: '>=4.3.0-0 <4.9.0'
    operatorframework.io/suggested-namespace: openshift-sriov-network-operator
    operators.openshift.io/infrastructure-features: '["disconnected", "cni"]'
    operators.operatorframework.io/builder: operator-sdk-v1.9.0+git
    operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
    repository: https://github.com/k8snetworkplumbingwg/sriov-network-operator
    support: Red Hat
    target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}'
  labels:
    operatorframework.io/arch.amd64: supported
    operatorframework.io/arch.ppc64le: supported
  name: sriov-network-operator.v4.9.0
  namespace: openshift-sriov-network-operator
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
    - description: SriovIBNetwork is the Schema for the sriovibnetworks API
      displayName: Sriov IBNetwork
      kind: SriovIBNetwork
      name: sriovibnetworks.sriovnetwork.openshift.io
      version: v1
    - description: SriovNetworkNodePolicy is the Schema for the sriovnetworknodepolicies
        API
      displayName: Sriov Network Node Policy
      kind: SriovNetworkNodePolicy
      name: sriovnetworknodepolicies.sriovnetwork.openshift.io
      version: v1
    - description: SriovNetworkNodeState is the Schema for the sriovnetworknodestates
        API
      displayName: Sriov Network Node State
      kind: SriovNetworkNodeState
      name: sriovnetworknodestates.sriovnetwork.openshift.io
      version: v1
    - kind: SriovNetworkPoolConfig
      name: sriovnetworkpoolconfigs.sriovnetwork.openshift.io
      version: v1
    - description: SriovNetwork is the Schema for the sriovnetworks API
      displayName: Sriov Network
      kind: SriovNetwork
      name: sriovnetworks.sriovnetwork.openshift.io
      version: v1
    - description: SriovOperatorConfig is the Schema for the sriovoperatorconfigs
        API
      displayName: Sriov Operator Config
      kind: SriovOperatorConfig
      name: sriovoperatorconfigs.sriovnetwork.openshift.io
      version: v1
  description: |
    # SR-IOV Network Operator for Openshift

    ## Introduction
    The sriov-network-operator is generally responsible for configuring the sriov components in a openshift cluster.

    ### Supported Features
    * Initialize the SR-IOV NICs on nodes.
    * provision SR-IOV device plugin on selected node.
    * provision SR-IOV CNI plugin on selected nodes.
    * manage configuration of SR-IOV device plugin.
    * generate net-att-def CRs for SR-IOV CNI plugin.

    This operator has to run in namespace 'openshift-sriov-network-operator'. An Operator Group is also required to install this operator:

    ```
    $ oc create namespace openshift-sriov-network-operator

    $ oc create -f - <<EOF
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: sriov-network-operators
      namespace: openshift-sriov-network-operator
    spec:
      targetNamespaces:
      - openshift-sriov-network-operator
    EOF
    ```
  displayName: SR-IOV Network Operator
  icon:
  - base64data: [encoded data, 67352 characters]
    mediatype: image/png
  install:
    spec:
      clusterPermissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
          - watch
          - patch
          - update
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - '*'
        - apiGroups:
          - apps
          resources:
          - daemonsets
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - pods/eviction
          verbs:
          - create
        - apiGroups:
          - machineconfiguration.openshift.io
          resources:
          - '*'
          verbs:
          - '*'
        serviceAccountName: sriov-network-config-daemon
      - rules:
        - apiGroups:
          - ""
          resources:
          - nodes
          verbs:
          - get
          - list
          - watch
          - patch
          - update
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - '*'
        - apiGroups:
          - apps
          resources:
          - daemonsets
          verbs:
          - get
        - apiGroups:
          - ""
          resources:
          - namespaces
          - serviceaccounts
          verbs:
          - '*'
        - apiGroups:
          - k8s.cni.cncf.io
          resources:
          - network-attachment-definitions
          verbs:
          - '*'
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - clusterroles
          - clusterrolebindings
          verbs:
          - '*'
        - apiGroups:
          - admissionregistration.k8s.io
          resources:
          - mutatingwebhookconfigurations
          - validatingwebhookconfigurations
          verbs:
          - '*'
        - apiGroups:
          - sriovnetwork.openshift.io
          resources:
          - '*'
          verbs:
          - '*'
        - apiGroups:
          - machineconfiguration.openshift.io
          resources:
          - '*'
          verbs:
          - '*'
        serviceAccountName: sriov-network-operator
      deployments:
      - name: sriov-network-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: sriov-network-operator
          strategy: {}
          template:
            metadata:
              annotations:
                target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}'
              labels:
                name: sriov-network-operator
            spec:
              containers:
              - args:
                - --leader-elect
                command:
                - sriov-network-operator
                env:
                - name: WATCH_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.annotations['olm.targetNamespaces']
                - name: SRIOV_CNI_IMAGE
                  value: quay.io/openshift/origin-sriov-cni:4.9
                - name: SRIOV_DEVICE_PLUGIN_IMAGE
                  value: quay.io/openshift/origin-sriov-network-device-plugin:4.9
                - name: NETWORK_RESOURCES_INJECTOR_IMAGE
                  value: quay.io/openshift/origin-sriov-dp-admission-controller:4.9
                - name: OPERATOR_NAME
                  value: sriov-network-operator
                - name: SRIOV_NETWORK_CONFIG_DAEMON_IMAGE
                  value: quay.io/openshift/origin-sriov-network-config-daemon:4.9
                - name: SRIOV_NETWORK_WEBHOOK_IMAGE
                  value: quay.io/openshift/origin-sriov-network-webhook:4.9
                - name: SRIOV_INFINIBAND_CNI_IMAGE
                  value: quay.io/openshift/origin-sriov-infiniband-cni:4.9
                - name: SRIOV_OPERATOR_MUST_GATHER_IMAGE
                  value: quay.io/openshift/origin-sriov-operator-must-gather:4.9
                - name: RESOURCE_PREFIX
                  value: openshift.io
                - name: ENABLE_ADMISSION_CONTROLLER
                  value: "true"
                - name: NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: RELEASE_VERSION
                  value: 4.9.0
                image: quay.io/openshift/origin-sriov-network-operator:4.9
                imagePullPolicy: IfNotPresent
                livenessProbe:
                  httpGet:
                    path: /healthz
                    port: 8081
                  initialDelaySeconds: 15
                  periodSeconds: 20
                name: sriov-network-operator
                readinessProbe:
                  httpGet:
                    path: /readyz
                    port: 8081
                  initialDelaySeconds: 5
                  periodSeconds: 10
                resources: {}
              nodeSelector:
                node-role.kubernetes.io/master: ""
              serviceAccountName: sriov-network-operator
              tolerations:
              - effect: NoSchedule
                key: node-role.kubernetes.io/master
                operator: Exists
      permissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - '*'
        - apiGroups:
          - apps
          resources:
          - daemonsets
          verbs:
          - '*'
        - apiGroups:
          - sriovnetwork.openshift.io
          resources:
          - '*'
          - sriovnetworknodestates
          verbs:
          - '*'
        - apiGroups:
          - security.openshift.io
          resourceNames:
          - privileged
          resources:
          - securitycontextconstraints
          verbs:
          - use
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
          - update
        - apiGroups:
          - coordination.k8s.io
          resources:
          - leases
          verbs:
          - '*'
        serviceAccountName: sriov-network-config-daemon
      - rules:
        - apiGroups:
          - ""
          resources:
          - configmaps
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
        - apiGroups:
          - coordination.k8s.io
          resources:
          - leases
          verbs:
          - get
          - list
          - watch
          - create
          - update
          - patch
          - delete
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - create
          - patch
        - apiGroups:
          - ""
          resources:
          - pods
          - services
          - 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:
          - sriov-network-operator
          resources:
          - deployments/finalizers
          verbs:
          - update
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - serviceaccounts
          - roles
          - rolebindings
          verbs:
          - '*'
        serviceAccountName: sriov-network-operator
    strategy: deployment
  installModes:
  - supported: true
    type: OwnNamespace
  - supported: true
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: false
    type: AllNamespaces
  keywords:
  - network
  - sr-iov
  - sriov
  labels:
    olm-owner-enterprise-app: sriov-network-operator
    olm-status-descriptors: sriov-network-operator.v4.9.0
  links:
  - name: Source Code
    url: https://github.com/k8snetworkplumbingwg/sriov-network-operator
  maintainers:
  - email: support@redhat.com
    name: Red Hat
  provider:
    name: Red Hat
  version: 4.9.0
