diff --git a/operators/multi-nic-cni-operator/1.2.6/bundle.Dockerfile b/operators/multi-nic-cni-operator/1.2.6/bundle.Dockerfile deleted file mode 100644 index 618fb948097..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/bundle.Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM scratch - -# Core bundle labels. -LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 -LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ -LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ -LABEL operators.operatorframework.io.bundle.package.v1=multi-nic-cni-operator -LABEL operators.operatorframework.io.bundle.channels.v1=alpha-1.2 -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.39.2 -LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 -LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4 - -# Labels for testing. -LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 -LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ - -# Copy files to locations specified by labels. -COPY bundle/manifests /manifests/ -COPY bundle/metadata /metadata/ -COPY bundle/tests/scorecard /tests/scorecard/ diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multi-nic-cni-operator-manager-config_v1_configmap.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multi-nic-cni-operator-manager-config_v1_configmap.yaml deleted file mode 100644 index 0d1282390f4..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multi-nic-cni-operator-manager-config_v1_configmap.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - kind: ControllerManagerConfig - health: - healthProbeBindAddress: :8083 - metrics: - bindAddress: 127.0.0.1:8080 - webhook: - port: 9443 - leaderElection: - leaderElect: true - resourceName: 5aaf67fd.multinic.fms.io -kind: ConfigMap -metadata: - name: multi-nic-cni-operator-manager-config diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multi-nic-cni-operator.clusterserviceversion.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multi-nic-cni-operator.clusterserviceversion.yaml deleted file mode 100644 index 641a3011c7c..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multi-nic-cni-operator.clusterserviceversion.yaml +++ /dev/null @@ -1,770 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "multinic.fms.io/v1", - "kind": "CIDR", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "multi-nic-cni-operator-ipvlanl3", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "cidr": [ - { - "hosts": [ - { - "hostIP": "10.244.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.0-26", - "podCIDR": "192.168.0.0/26" - }, - { - "hostIP": "10.244.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.64-26", - "podCIDR": "192.168.0.64/26" - } - ], - "interfaceIndex": 0, - "netAddress": "10.244.0.0/16", - "vlanCIDR": "192.168.0.0/18" - }, - { - "hosts": [ - { - "hostIP": "10.0.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.0-26", - "podCIDR": "192.168.64.0/26" - }, - { - "hostIP": "10.0.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.64-26", - "podCIDR": "192.168.64.64/26" - } - ], - "interfaceIndex": 1, - "netAddress": "10.0.0.0/16", - "vlanCIDR": "192.168.64.0/18" - } - ], - "config": { - "hostBlock": 8, - "interfaceBlock": 2, - "masterNets": [], - "name": "multi-nic-cni-operator-ipvlanl3", - "subnet": "192.168.0.0/16", - "type": "ipvlan", - "vlanMode": "l3" - } - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "CIDR", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "ipvlanl3" - }, - "spec": { - "cidr": [ - { - "hosts": [ - { - "hostIP": "10.244.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.0-26", - "podCIDR": "192.168.0.0/26" - }, - { - "hostIP": "10.244.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.64-26", - "podCIDR": "192.168.0.64/26" - } - ], - "interfaceIndex": 0, - "netAddress": "10.244.0.0/16", - "vlanCIDR": "192.168.0.0/18" - }, - { - "hosts": [ - { - "hostIP": "10.0.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.0-26", - "podCIDR": "192.168.64.0/26" - }, - { - "hostIP": "10.0.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.64-26", - "podCIDR": "192.168.64.64/26" - } - ], - "interfaceIndex": 1, - "netAddress": "10.0.0.0/16", - "vlanCIDR": "192.168.64.0/18" - } - ], - "config": { - "hostBlock": 8, - "interfaceBlock": 2, - "masterNets": [], - "name": "multi-nic-cni-operator-ipvlanl3", - "subnet": "192.168.0.0/16", - "type": "ipvlan", - "vlanMode": "l3" - } - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "Config", - "metadata": { - "annotations": { - "note": "The resource with default settings will be auto-created by multi-nic-cni-operator-controller-manager.\nPlease modify if need.\n" - }, - "name": "multi-nic-cni-operator-multi-nicd", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "addRoutePath": "/addl3", - "cniType": "multi-nic", - "contextTimeoutMinutes": 2, - "daemon": { - "env": [ - { - "name": "DAEMON_PORT", - "value": "11000" - }, - { - "name": "RT_TABLE_PATH", - "value": "/opt/rt_tables" - } - ], - "image": "ghcr.io/foundation-model-stack/multi-nic-cni-daemon:v1.2.6", - "mounts": [ - { - "hostpath": "/var/lib/cni/bin", - "name": "cnibin", - "podpath": "/host/opt/cni/bin" - }, - { - "hostpath": "/var/lib/kubelet/device-plugins", - "name": "device-plugin", - "podpath": "/var/lib/kubelet/device-plugins" - }, - { - "hostpath": "/etc/iproute2/rt_tables", - "name": "rt-tables", - "podpath": "/opt/rt_tables" - } - ], - "port": 11000, - "resources": { - "requests": { - "cpu": "100m", - "memory": "50Mi" - } - }, - "securityContext": { - "privileged": true - } - }, - "deleteRoutePath": "/deletel3", - "getInterfacePath": "/interface", - "ipamType": "multi-nic-ipam", - "joinPath": "/join", - "logLevel": 4, - "longReconcileMinutes": 10, - "normalReconcileMinutes": 1, - "urgentReconcileSeconds": 5 - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "Config", - "metadata": { - "annotations": { - "note": "The resource with default settings will be auto-created by multi-nic-cni-operator-controller-manager.\nPlease modify if need.\n" - }, - "name": "multi-nicd" - }, - "spec": { - "addRoutePath": "/addl3", - "cniType": "multi-nic", - "contextTimeoutMinutes": 2, - "daemon": { - "env": [ - { - "name": "DAEMON_PORT", - "value": "11000" - }, - { - "name": "RT_TABLE_PATH", - "value": "/opt/rt_tables" - } - ], - "image": "ghcr.io/foundation-model-stack/multi-nic-cni-daemon:v1.2.6", - "mounts": [ - { - "hostpath": "/var/lib/cni/bin", - "name": "cnibin", - "podpath": "/host/opt/cni/bin" - }, - { - "hostpath": "/var/lib/kubelet/device-plugins", - "name": "device-plugin", - "podpath": "/var/lib/kubelet/device-plugins" - }, - { - "hostpath": "/etc/iproute2/rt_tables", - "name": "rt-tables", - "podpath": "/opt/rt_tables" - } - ], - "port": 11000, - "resources": { - "requests": { - "cpu": "100m", - "memory": "50Mi" - } - }, - "securityContext": { - "privileged": true - } - }, - "deleteRoutePath": "/deletel3", - "getInterfacePath": "/interface", - "ipamType": "multi-nic-ipam", - "joinPath": "/join", - "logLevel": 4, - "longReconcileMinutes": 10, - "normalReconcileMinutes": 1, - "urgentReconcileSeconds": 5 - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "DeviceClass", - "metadata": { - "name": "multi-nic-cni-operator-highspeed", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "ids": [ - { - "products": [ - "1019", - "101d" - ], - "vendor": "15b3" - }, - { - "products": [ - "efa0", - "efa1" - ], - "vendor": "1d0f" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "DeviceClass", - "metadata": { - "name": "highspeed" - }, - "spec": { - "ids": [ - { - "products": [ - "1019", - "101d" - ], - "vendor": "15b3" - }, - { - "products": [ - "efa0", - "efa1" - ], - "vendor": "1d0f" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "HostInterface", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "multi-nic-cni-operator-node-1", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "hostName": "node-1", - "interfaces": [ - { - "hostIP": "10.0.0.168", - "interfaceName": "eth1", - "netAddress": "10.0.0.0/16", - "pciAddress": "0000:00:04.0", - "product": "1000", - "vendor": "1af4" - }, - { - "hostIP": "10.1.0.168", - "interfaceName": "eth2", - "netAddress": "10.1.0.0/16", - "pciAddress": "0000:00:05.0", - "product": "1000", - "vendor": "1af4" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "HostInterface", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "node-1" - }, - "spec": { - "hostName": "node-1", - "interfaces": [ - { - "hostIP": "10.0.0.168", - "interfaceName": "eth1", - "netAddress": "10.0.0.0/16", - "pciAddress": "0000:00:04.0", - "product": "1000", - "vendor": "1af4" - }, - { - "hostIP": "10.1.0.168", - "interfaceName": "eth2", - "netAddress": "10.1.0.0/16", - "pciAddress": "0000:00:05.0", - "product": "1000", - "vendor": "1af4" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "IPPool", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "multi-nic-cni-operator-ipvlanl3-192.168.0.0-26", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "allocations": [], - "excludes": [], - "hostName": "node-1", - "interfaceName": "eth1", - "netAttachDef": "multi-nic-cni-operator-ipvlanl3", - "podCIDR": "192.168.0.0/26", - "vlanCIDR": "192.168.0.0/18" - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "IPPool", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "ipvlanl3-192.168.0.0-26" - }, - "spec": { - "allocations": [], - "excludes": [], - "hostName": "node-1", - "interfaceName": "eth1", - "netAttachDef": "multi-nic-cni-operator-ipvlanl3", - "podCIDR": "192.168.0.0/26", - "vlanCIDR": "192.168.0.0/18" - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "MultiNicNetwork", - "metadata": { - "name": "multi-nic-cni-operator-ipvlanl3", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "ipam": "{\n \"type\": \"multi-nic-ipam\",\n \"hostBlock\": 8, \n \"interfaceBlock\": 2,\n \"vlanMode\": \"l3\"\n}\n", - "multiNICIPAM": true, - "plugin": { - "args": { - "mode": "l3" - }, - "cniVersion": "0.3.0", - "type": "ipvlan" - }, - "subnet": "192.168.0.0/16" - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "MultiNicNetwork", - "metadata": { - "name": "ipvlanl3" - }, - "spec": { - "ipam": "{\n \"type\": \"multi-nic-ipam\",\n \"hostBlock\": 8, \n \"interfaceBlock\": 2,\n \"vlanMode\": \"l3\"\n}\n", - "multiNICIPAM": true, - "plugin": { - "args": { - "mode": "l3" - }, - "cniVersion": "0.3.0", - "type": "ipvlan" - }, - "subnet": "192.168.0.0/16" - } - } - ] - capabilities: Basic Install - categories: Networking - containerImage: ghcr.io/foundation-model-stack/multi-nic-cni-controller:v1.2.6 - createdAt: "2025-03-23T01:42:36Z" - operators.operatorframework.io/builder: operator-sdk-v1.39.2 - operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 - name: multi-nic-cni-operator.v1.2.6 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: CIDR is the Schema for the cidrs API - displayName: CIDR - kind: CIDR - name: cidrs.multinic.fms.io - version: v1 - - description: Config is the Schema for the configs API - displayName: Config - kind: Config - name: configs.multinic.fms.io - version: v1 - - description: DeviceClass is the Schema for the deviceclasses API - displayName: Device Class - kind: DeviceClass - name: deviceclasses.multinic.fms.io - version: v1 - - description: HostInterface is the Schema for the hostinterfaces API - displayName: Host Interface - kind: HostInterface - name: hostinterfaces.multinic.fms.io - version: v1 - - description: IPPool is the Schema for the ippools API - displayName: IPPool - kind: IPPool - name: ippools.multinic.fms.io - version: v1 - - description: MultiNicNetwork is the Schema for the multinicnetworks API - displayName: Multi Nic Network - kind: MultiNicNetwork - name: multinicnetworks.multinic.fms.io - version: v1 - description: "Multi-NIC CNI Operator helps to attaching secondary network interfaces - that is linked to \ndifferent network interfaces on host (NIC) to pod provides - benefits of network segmentation \nand top-up network bandwidth in the containerization - system.\n\nMulti-NIC CNI is the CNI plugin operating on top of Multus CNI. \nHowever, - instead of defining and handling each secondary network interface one by one, - \nthis CNI automatically discovers all available secondary interfaces and handles - them as a NIC pool. \nWith this manner, it can provide the following benefits.\n\ni) - Common secondary network definition: User can manage only one network definition - for \n multiple secondary interfaces with a common CNI main plugin such as ipvlan, - macvlan, and sr-iov.\n\nii) Common NAT-bypassing network solution: All secondary - NICs on each host can be assigned \n with non-conflict CIDR and non-conflict - L3 routing configuration that can omit an overlay networking overhead. \n Particularyly, - the CNI is built-in with L3 IPVLAN solution composing of the following functionalities.\n\n - \ 1. Interface-host-devision CIDR Computation: compute allocating CIDR range - for each host and each interface \n from a single global subnet with the - number of bits for hosts and for interface.\n 2. L3 Host Route Configuration: - configure L3 routes (next hop via dev) in host route table according to the computed - CIDR.\n 3. Distributed IP Allocation Management: manage IP allocation/deallocation - distributedly via the communication \n between CNI program and daemon at - each host.\n\niii) Policy-based secondary network attachment: Instead of statically - set the desired \n host's master interface name one by one, user can define - a policy on attaching multiple secondary network \n interfaces such as specifying - only the number of desired interfaces, filtering only highspeed NICs.\n\n## Instructions\n\nPlease - check the [User Guide](https://foundation-model-stack.github.io/multi-nic-cni/user_guide/)" - displayName: multi-nic-cni-operator - icon: - - base64data: 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 - mediatype: image/png - install: - spec: - clusterPermissions: - - rules: - - apiGroups: - - multinic.fms.io - resources: - - cidrs - - configs - - hostinterfaces - - ippools - - multinicnetworks - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - multinic.fms.io - resources: - - cidrs/finalizers - - hostinterfaces/finalizers - - ippools/finalizers - - multinicnetworks/finalizers - verbs: - - update - - apiGroups: - - multinic.fms.io - resources: - - cidrs/status - - configs/status - - hostinterfaces/status - - ippools/status - - multinicnetworks/status - verbs: - - get - - patch - - update - - apiGroups: - - mellanox.com - resources: - - hostdevicenetworks - - nicclusterpolicies - verbs: - - create - - delete - - get - - list - - watch - - apiGroups: - - "" - resources: - - pods - - nodes - - namespaces - verbs: - - get - - watch - - list - - patch - - apiGroups: - - apps - resources: - - daemonsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - k8s.cni.cncf.io - resources: - - network-attachment-definitions - verbs: - - create - - update - - get - - watch - - list - - delete - - apiGroups: - - security.openshift.io - resourceNames: - - privileged - resources: - - securitycontextconstraints - verbs: - - use - - apiGroups: - - sriovnetwork.openshift.io - resources: - - sriovnetworknodestates - verbs: - - get - - list - - watch - - apiGroups: - - sriovnetwork.openshift.io - resources: - - sriovnetworknodepolicies - - sriovibnetworks - - sriovnetworks - verbs: - - create - - delete - - get - - list - - watch - serviceAccountName: multi-nic-cni-operator-controller-manager - deployments: - - label: - control-plane: controller-manager - name: multi-nic-cni-operator-controller-manager - spec: - replicas: 1 - selector: - matchLabels: - control-plane: controller-manager - strategy: {} - template: - metadata: - annotations: - kubectl.kubernetes.io/default-container: manager - labels: - control-plane: controller-manager - spec: - containers: - - args: - - --zap-log-level=4 - - --zap-time-encoding=iso8601 - - --metrics-secure - - --health-probe-bind-address=:8083 - - --metrics-bind-address=:8443 - - --leader-elect - command: - - /manager - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - image: ghcr.io/foundation-model-stack/multi-nic-cni-controller:v1.2.6 - imagePullPolicy: Always - livenessProbe: - httpGet: - path: /healthz - port: 8083 - initialDelaySeconds: 15 - periodSeconds: 20 - name: manager - readinessProbe: - httpGet: - path: /readyz - port: 8083 - initialDelaySeconds: 5 - periodSeconds: 10 - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 500Mi - securityContext: - allowPrivilegeEscalation: false - hostNetwork: true - priorityClassName: system-cluster-critical - securityContext: - runAsNonRoot: true - serviceAccountName: multi-nic-cni-operator-controller-manager - terminationGracePeriodSeconds: 10 - permissions: - - rules: - - apiGroups: - - "" - - coordination.k8s.io - resources: - - configmaps - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - serviceAccountName: multi-nic-cni-operator-controller-manager - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - multi-nic - - cni - - network - links: - - name: Multi-NIC CNI Operator - url: https://github.com/foundation-model-stack/multi-nic-cni - maintainers: - - email: sunyanan.choochotkaew1@ibm.com - name: Sunyanan Choochotkaew - - email: chiba@jp.ibm.com - name: Tatsuhiro Chiba - - email: minzhang@redhat.com - name: Min Zhang - - email: ebendror@redhat.com - name: Eran Ben Dror - maturity: alpha - provider: - name: Foundation Model Stack - version: 1.2.6 diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_cidrs.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_cidrs.yaml deleted file mode 100644 index 0e42541efc0..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_cidrs.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - creationTimestamp: null - name: cidrs.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: CIDR - listKind: CIDRList - plural: cidrs - singular: cidr - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: CIDR is the Schema for the cidrs API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CIDRSpec defines the desired state of CIDR - properties: - cidr: - items: - properties: - hosts: - items: - properties: - hostIP: - type: string - hostIndex: - type: integer - hostName: - type: string - interfaceName: - type: string - ippool: - type: string - podCIDR: - type: string - required: - - hostIP - - hostIndex - - hostName - - interfaceName - - podCIDR - type: object - type: array - interfaceIndex: - type: integer - netAddress: - type: string - vlanCIDR: - type: string - required: - - hosts - - interfaceIndex - - netAddress - - vlanCIDR - type: object - type: array - config: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - properties: - excludeCIDRs: - items: - type: string - type: array - hostBlock: - type: integer - interfaceBlock: - type: integer - masterNets: - items: - type: string - type: array - name: - type: string - subnet: - type: string - type: - type: string - vlanMode: - type: string - required: - - hostBlock - - interfaceBlock - - masterNets - - name - - subnet - - type - type: object - required: - - cidr - - config - type: object - status: - description: CIDRStatus defines the observed state of CIDR - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_configs.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_configs.yaml deleted file mode 100644 index 13787adccf5..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_configs.yaml +++ /dev/null @@ -1,577 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - creationTimestamp: null - name: configs.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: Config - listKind: ConfigList - plural: configs - singular: config - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: Config is the Schema for the configs API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: ConfigSpec defines the desired state of Config - properties: - addRoutePath: - type: string - cniType: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - contextTimeoutMinutes: - type: integer - daemon: - properties: - env: - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: |- - Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in the container and - any service environment variables. If a variable cannot be resolved, - the reference in the input string will be unchanged. Double $$ are reduced - to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless of whether the variable - exists or not. - Defaults to "". - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - fieldRef: - description: |- - Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - x-kubernetes-map-type: atomic - resourceFieldRef: - description: |- - Selects a resource of the container: only resources limits and requests - (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - x-kubernetes-map-type: atomic - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - x-kubernetes-map-type: atomic - type: object - required: - - name - type: object - type: array - envFrom: - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - default: "" - description: |- - Name of the referent. - This field is effectively required, but due to backwards compatibility is - allowed to be empty. Instances of this type with an empty value here are - almost certainly wrong. - More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - x-kubernetes-map-type: atomic - type: object - type: array - image: - type: string - imagePullPolicy: - type: string - imagePullSecretName: - type: string - mounts: - items: - properties: - hostpath: - type: string - name: - type: string - podpath: - type: string - required: - - hostpath - - name - - podpath - type: object - type: array - nodeSelector: - additionalProperties: - type: string - type: object - port: - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - claims: - description: |- - Claims lists the names of resources, defined in spec.resourceClaims, - that are used by this container. - - This is an alpha field and requires enabling the - DynamicResourceAllocation feature gate. - - This field is immutable. It can only be set for containers. - items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. - properties: - name: - description: |- - Name must match the name of one entry in pod.spec.resourceClaims of - the Pod where this field is used. It makes that resource available - inside a container. - type: string - request: - description: |- - Request is the name chosen for a request in the referenced claim. - If empty, everything from the claim is made available, otherwise - only the result of this request. - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Limits describes the maximum amount of compute resources allowed. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: |- - Requests describes the minimum amount of compute resources required. - If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, - otherwise to an implementation-defined value. Requests cannot exceed Limits. - More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ - type: object - type: object - securityContext: - description: |- - SecurityContext holds security configuration that will be applied to a container. - Some fields are present in both SecurityContext and PodSecurityContext. When both - are set, the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: |- - AllowPrivilegeEscalation controls whether a process can gain more - privileges than its parent process. This bool directly controls if - the no_new_privs flag will be set on the container process. - AllowPrivilegeEscalation is true always when the container is: - 1) run as Privileged - 2) has CAP_SYS_ADMIN - Note that this field cannot be set when spec.os.name is windows. - type: boolean - appArmorProfile: - description: |- - appArmorProfile is the AppArmor options to use by this container. If set, this profile - overrides the pod's appArmorProfile. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile loaded on the node that should be used. - The profile must be preconfigured on the node to work. - Must match the loaded name of the profile. - Must be set if and only if type is "Localhost". - type: string - type: - description: |- - type indicates which kind of AppArmor profile will be applied. - Valid options are: - Localhost - a profile pre-loaded on the node. - RuntimeDefault - the container runtime's default profile. - Unconfined - no AppArmor enforcement. - type: string - required: - - type - type: object - capabilities: - description: |- - The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by the container runtime. - Note that this field cannot be set when spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - x-kubernetes-list-type: atomic - type: object - privileged: - description: |- - Run container in privileged mode. - Processes in privileged containers are essentially equivalent to root on the host. - Defaults to false. - Note that this field cannot be set when spec.os.name is windows. - type: boolean - procMount: - description: |- - procMount denotes the type of proc mount to use for the containers. - The default value is Default which uses the container runtime defaults for - readonly paths and masked paths. - This requires the ProcMountType feature flag to be enabled. - Note that this field cannot be set when spec.os.name is windows. - type: string - readOnlyRootFilesystem: - description: |- - Whether this container has a read-only root filesystem. - Default is false. - Note that this field cannot be set when spec.os.name is windows. - type: boolean - runAsGroup: - description: |- - The GID to run the entrypoint of the container process. - Uses runtime default if unset. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: |- - Indicates that the container must run as a non-root user. - If true, the Kubelet will validate the image at runtime to ensure that it - does not run as UID 0 (root) and fail to start the container if it does. - If unset or false, no such validation will be performed. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: |- - The UID to run the entrypoint of the container process. - Defaults to user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: |- - The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a random SELinux context for each - container. May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: |- - The seccomp options to use by this container. If seccomp options are - provided at both the pod & container level, the container options - override the pod options. - Note that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: |- - localhostProfile indicates a profile defined in a file on the node should be used. - The profile must be preconfigured on the node to work. - Must be a descending path, relative to the kubelet's configured seccomp profile location. - Must be set if type is "Localhost". Must NOT be set for any other type. - type: string - type: - description: |- - type indicates which kind of seccomp profile will be applied. - Valid options are: - - Localhost - a profile defined in a file on the node should be used. - RuntimeDefault - the container runtime default profile should be used. - Unconfined - no profile should be applied. - type: string - required: - - type - type: object - windowsOptions: - description: |- - The Windows specific settings applied to all containers. - If unspecified, the options from the PodSecurityContext will be used. - If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is linux. - properties: - gmsaCredentialSpec: - description: |- - GMSACredentialSpec is where the GMSA admission webhook - (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - GMSA credential spec named by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: |- - HostProcess determines if a container should be run as a 'Host Process' container. - All of a Pod's containers must have the same effective HostProcess value - (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). - In addition, if HostProcess is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: - description: |- - The UserName in Windows to run the entrypoint of the container process. - Defaults to the user specified in image metadata if unspecified. - May also be set in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext takes precedence. - type: string - type: object - type: object - tolerations: - items: - description: |- - The pod this Toleration is attached to tolerates any taint that matches - the triple using the matching operator . - properties: - effect: - description: |- - Effect indicates the taint effect to match. Empty means match all taint effects. - When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: |- - Key is the taint key that the toleration applies to. Empty means match all taint keys. - If the key is empty, operator must be Exists; this combination means to match all values and all keys. - type: string - operator: - description: |- - Operator represents a key's relationship to the value. - Valid operators are Exists and Equal. Defaults to Equal. - Exists is equivalent to wildcard for value, so that a pod can - tolerate all taints of a particular category. - type: string - tolerationSeconds: - description: |- - TolerationSeconds represents the period of time the toleration (which must be - of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, - it is not set, which means tolerate the taint forever (do not evict). Zero and - negative values will be treated as 0 (evict immediately) by the system. - format: int64 - type: integer - value: - description: |- - Value is the taint value the toleration matches to. - If the operator is Exists, the value should be empty, otherwise just a regular string. - type: string - type: object - type: array - required: - - image - - port - type: object - deleteRoutePath: - type: string - getInterfacePath: - type: string - ipamType: - type: string - joinPath: - type: string - logLevel: - type: integer - longReconcileMinutes: - type: integer - normalReconcileMinutes: - type: integer - urgentReconcileSeconds: - type: integer - required: - - cniType - - daemon - - getInterfacePath - - ipamType - - joinPath - type: object - status: - description: ConfigStatus defines the observed state of Config - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_deviceclasses.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_deviceclasses.yaml deleted file mode 100644 index 90fb544625c..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_deviceclasses.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - creationTimestamp: null - name: deviceclasses.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: DeviceClass - listKind: DeviceClassList - plural: deviceclasses - singular: deviceclass - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: DeviceClass is the Schema for the deviceclasses API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: DeviceClassSpec defines the desired state of DeviceClass - properties: - ids: - items: - properties: - products: - items: - type: string - type: array - vendor: - type: string - required: - - products - - vendor - type: object - type: array - required: - - ids - type: object - status: - description: DeviceClassStatus defines the observed state of DeviceClass - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_hostinterfaces.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_hostinterfaces.yaml deleted file mode 100644 index ceff52f6861..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_hostinterfaces.yaml +++ /dev/null @@ -1,121 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - creationTimestamp: null - name: hostinterfaces.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: HostInterface - listKind: HostInterfaceList - plural: hostinterfaces - singular: hostinterface - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: HostInterface is the Schema for the hostinterfaces API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: HostInterfaceSpec defines the desired state of HostInterface - properties: - hostName: - type: string - interfaces: - items: - properties: - hostIP: - type: string - interfaceName: - type: string - netAddress: - type: string - pciAddress: - type: string - product: - type: string - vendor: - type: string - required: - - interfaceName - type: object - type: array - required: - - hostName - - interfaces - type: object - status: - description: HostInterfaceStatus defines the observed state of HostInterface - properties: - stat: - properties: - count: - type: integer - interfaceName: - type: string - lastRx: - type: integer - lastRxDrop: - type: integer - lastTimestamp: - format: int64 - type: integer - lastTx: - type: integer - lastTxDrop: - type: integer - rxDropRate: - type: integer - rxRate: - type: integer - txDropRate: - type: integer - txRate: - type: integer - required: - - count - - interfaceName - - lastRx - - lastRxDrop - - lastTimestamp - - lastTx - - lastTxDrop - - rxDropRate - - rxRate - - txDropRate - - txRate - type: object - required: - - stat - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_ippools.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_ippools.yaml deleted file mode 100644 index 9a9f890284f..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_ippools.yaml +++ /dev/null @@ -1,98 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - creationTimestamp: null - name: ippools.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: IPPool - listKind: IPPoolList - plural: ippools - singular: ippool - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: IPPool is the Schema for the ippools API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: IPPoolSpec defines the desired state of IPPool - properties: - allocations: - items: - properties: - address: - type: string - index: - type: integer - namespace: - type: string - pod: - type: string - required: - - address - - index - - namespace - - pod - type: object - type: array - excludes: - items: - type: string - type: array - hostName: - type: string - interfaceName: - type: string - netAttachDef: - type: string - podCIDR: - description: Foo is an example field of IPPool. Edit ippool_types.go - to remove/update - type: string - vlanCIDR: - type: string - required: - - allocations - - excludes - - hostName - - interfaceName - - netAttachDef - - podCIDR - - vlanCIDR - type: object - status: - description: IPPoolStatus defines the observed state of IPPool - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_multinicnetworks.yaml b/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_multinicnetworks.yaml deleted file mode 100644 index 03514c05497..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/manifests/multinic.fms.io_multinicnetworks.yaml +++ /dev/null @@ -1,172 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.16.5 - creationTimestamp: null - name: multinicnetworks.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: MultiNicNetwork - listKind: MultiNicNetworkList - plural: multinicnetworks - singular: multinicnetwork - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: MultiNicNetwork is the Schema for the multinicnetworks API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: |- - MultiNicNetworkSpec defines the desired state of MultiNicNetwork - MasterNetAddrs is network addresses of NIC members in the pool - Subnet is global subnet, default: 172.30.0.0/16 - IPAM is ipam specification - MainPlugin is plugin specification - Policy is general policy of the pool - properties: - attachPolicy: - description: |- - AssignmentPolicy defines the policy to select the NICs from the pool - Strategy is one of None, CostOpt, PerfOpt, QoSClass - Target is target bandwidth in a format (d+)Gbps, (d+)Mbps, (d+)Kbps - required for CostOpt and PerfOpt - properties: - strategy: - type: string - target: - type: string - required: - - strategy - type: object - ipam: - type: string - masterNets: - items: - type: string - type: array - multiNICIPAM: - type: boolean - namespaces: - items: - type: string - type: array - plugin: - description: 'reference: github.com/containernetworking/cni/pkg/types' - properties: - args: - additionalProperties: - type: string - type: object - capabilities: - additionalProperties: - type: boolean - type: object - cniVersion: - type: string - dns: - description: 'reference: github.com/containernetworking/cni/pkg/types' - properties: - domain: - type: string - nameservers: - items: - type: string - type: array - options: - items: - type: string - type: array - search: - items: - type: string - type: array - type: object - type: - type: string - required: - - cniVersion - - type - type: object - subnet: - type: string - required: - - ipam - - plugin - type: object - status: - description: MultiNicNetworkStatus defines the observed state of MultiNicNetwork - properties: - computeResults: - items: - properties: - netAddress: - type: string - numOfHosts: - type: integer - required: - - netAddress - - numOfHosts - type: object - type: array - configStatus: - type: string - discovery: - properties: - cidrProcessed: - type: integer - existDaemon: - type: integer - infoAvailable: - type: integer - required: - - cidrProcessed - - existDaemon - - infoAvailable - type: object - lastSyncTime: - format: date-time - type: string - message: - type: string - routeStatus: - type: string - required: - - computeResults - - configStatus - - discovery - - lastSyncTime - - message - - routeStatus - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: null - storedVersions: null diff --git a/operators/multi-nic-cni-operator/1.2.6/metadata/annotations.yaml b/operators/multi-nic-cni-operator/1.2.6/metadata/annotations.yaml deleted file mode 100644 index 506e945bd9f..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/metadata/annotations.yaml +++ /dev/null @@ -1,14 +0,0 @@ -annotations: - # Core bundle annotations. - operators.operatorframework.io.bundle.mediatype.v1: registry+v1 - operators.operatorframework.io.bundle.manifests.v1: manifests/ - operators.operatorframework.io.bundle.metadata.v1: metadata/ - operators.operatorframework.io.bundle.package.v1: multi-nic-cni-operator - operators.operatorframework.io.bundle.channels.v1: alpha-1.2 - operators.operatorframework.io.metrics.builder: operator-sdk-v1.39.2 - operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 - operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v4 - - # Annotations for testing. - operators.operatorframework.io.test.mediatype.v1: scorecard+v1 - operators.operatorframework.io.test.config.v1: tests/scorecard/ diff --git a/operators/multi-nic-cni-operator/1.2.6/tests/scorecard/config.yaml b/operators/multi-nic-cni-operator/1.2.6/tests/scorecard/config.yaml deleted file mode 100644 index 5710c6c0609..00000000000 --- a/operators/multi-nic-cni-operator/1.2.6/tests/scorecard/config.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: scorecard.operatorframework.io/v1alpha3 -kind: Configuration -metadata: - name: config -stages: -- parallel: true - tests: - - entrypoint: - - scorecard-test - - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: basic - test: basic-check-spec-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-bundle-validation-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-crds-have-validation-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-crds-have-resources-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-spec-descriptors-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-status-descriptors-test - storage: - spec: - mountPath: {} -storage: - spec: - mountPath: {} diff --git a/operators/multi-nic-cni-operator/1.3.0/bundle.Dockerfile b/operators/multi-nic-cni-operator/1.3.0/bundle.Dockerfile deleted file mode 100644 index d12ca08057a..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/bundle.Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM scratch - -# Core bundle labels. -LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 -LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ -LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ -LABEL operators.operatorframework.io.bundle.package.v1=multi-nic-cni-operator -LABEL operators.operatorframework.io.bundle.channels.v1=alpha -LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.34.1 -LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 -LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v3 - -# Labels for testing. -LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1 -LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/ - -# Copy files to locations specified by labels. -COPY bundle/manifests /manifests/ -COPY bundle/metadata /metadata/ -COPY bundle/tests/scorecard /tests/scorecard/ diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-controller-manager-metrics-service_v1_service.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-controller-manager-metrics-service_v1_service.yaml deleted file mode 100644 index 63e52d5ea69..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-controller-manager-metrics-service_v1_service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - creationTimestamp: null - labels: - control-plane: controller-manager - name: multi-nic-cni-operator-controller-manager-metrics-service -spec: - ports: - - name: https - port: 8443 - targetPort: https - selector: - control-plane: controller-manager -status: - loadBalancer: {} diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-manager-config_v1_configmap.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-manager-config_v1_configmap.yaml deleted file mode 100644 index 0d1282390f4..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-manager-config_v1_configmap.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - kind: ControllerManagerConfig - health: - healthProbeBindAddress: :8083 - metrics: - bindAddress: 127.0.0.1:8080 - webhook: - port: 9443 - leaderElection: - leaderElect: true - resourceName: 5aaf67fd.multinic.fms.io -kind: ConfigMap -metadata: - name: multi-nic-cni-operator-manager-config diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml deleted file mode 100644 index 5c1175f8ff8..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: multi-nic-cni-operator-metrics-reader -rules: -- nonResourceURLs: - - /metrics - verbs: - - get diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator.clusterserviceversion.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator.clusterserviceversion.yaml deleted file mode 100644 index e29d96f5fe9..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multi-nic-cni-operator.clusterserviceversion.yaml +++ /dev/null @@ -1,893 +0,0 @@ -apiVersion: operators.coreos.com/v1alpha1 -kind: ClusterServiceVersion -metadata: - annotations: - alm-examples: |- - [ - { - "apiVersion": "multinic.fms.io/v1", - "kind": "CIDR", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "multi-nic-cni-operator-ipvlanl3", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "cidr": [ - { - "hosts": [ - { - "hostIP": "10.244.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.0-26", - "podCIDR": "192.168.0.0/26" - }, - { - "hostIP": "10.244.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.64-26", - "podCIDR": "192.168.0.64/26" - } - ], - "interfaceIndex": 0, - "netAddress": "10.244.0.0/16", - "vlanCIDR": "192.168.0.0/18" - }, - { - "hosts": [ - { - "hostIP": "10.0.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.0-26", - "podCIDR": "192.168.64.0/26" - }, - { - "hostIP": "10.0.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.64-26", - "podCIDR": "192.168.64.64/26" - } - ], - "interfaceIndex": 1, - "netAddress": "10.0.0.0/16", - "vlanCIDR": "192.168.64.0/18" - } - ], - "config": { - "hostBlock": 8, - "interfaceBlock": 2, - "masterNets": [], - "name": "multi-nic-cni-operator-ipvlanl3", - "subnet": "192.168.0.0/16", - "type": "ipvlan", - "vlanMode": "l3" - } - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "CIDR", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "ipvlanl3" - }, - "spec": { - "cidr": [ - { - "hosts": [ - { - "hostIP": "10.244.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.0-26", - "podCIDR": "192.168.0.0/26" - }, - { - "hostIP": "10.244.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth1", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.0.64-26", - "podCIDR": "192.168.0.64/26" - } - ], - "interfaceIndex": 0, - "netAddress": "10.244.0.0/16", - "vlanCIDR": "192.168.0.0/18" - }, - { - "hosts": [ - { - "hostIP": "10.0.0.168", - "hostIndex": 0, - "hostName": "node-1", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.0-26", - "podCIDR": "192.168.64.0/26" - }, - { - "hostIP": "10.0.0.167", - "hostIndex": 1, - "hostName": "node-2", - "interfaceName": "eth2", - "ippool": "multi-nic-cni-operator-ipvlanl3-192.168.64.64-26", - "podCIDR": "192.168.64.64/26" - } - ], - "interfaceIndex": 1, - "netAddress": "10.0.0.0/16", - "vlanCIDR": "192.168.64.0/18" - } - ], - "config": { - "hostBlock": 8, - "interfaceBlock": 2, - "masterNets": [], - "name": "multi-nic-cni-operator-ipvlanl3", - "subnet": "192.168.0.0/16", - "type": "ipvlan", - "vlanMode": "l3" - } - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "Config", - "metadata": { - "annotations": { - "note": "The resource with default settings will be auto-created by multi-nic-cni-operator-controller-manager.\nPlease modify if need.\n" - }, - "name": "multi-nic-cni-operator-multi-nicd", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "addRoutePath": "/addl3", - "cniType": "multi-nic", - "contextTimeoutMinutes": 2, - "daemon": { - "env": [ - { - "name": "DAEMON_PORT", - "value": "11000" - }, - { - "name": "RT_TABLE_PATH", - "value": "/opt/rt_tables" - } - ], - "image": "ghcr.io/foundation-model-stack/multi-nic-cni-daemon:v1.3.0", - "mounts": [ - { - "hostpath": "/var/lib/cni/bin", - "name": "cnibin", - "podpath": "/host/opt/cni/bin" - }, - { - "hostpath": "/var/lib/kubelet/device-plugins", - "name": "device-plugin", - "podpath": "/var/lib/kubelet/device-plugins" - }, - { - "hostpath": "/etc/iproute2/rt_tables", - "name": "rt-tables", - "podpath": "/opt/rt_tables" - } - ], - "port": 11000, - "resources": { - "requests": { - "cpu": "100m", - "memory": "50Mi" - } - }, - "securityContext": { - "privileged": true - } - }, - "deleteRoutePath": "/deletel3", - "getInterfacePath": "/interface", - "ipamType": "multi-nic-ipam", - "joinPath": "/join", - "logLevel": 4, - "longReconcileMinutes": 10, - "normalReconcileMinutes": 1, - "urgentReconcileSeconds": 5 - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "Config", - "metadata": { - "annotations": { - "note": "The resource with default settings will be auto-created by multi-nic-cni-operator-controller-manager.\nPlease modify if need.\n" - }, - "name": "multi-nicd" - }, - "spec": { - "addRoutePath": "/addl3", - "cniType": "multi-nic", - "contextTimeoutMinutes": 2, - "daemon": { - "env": [ - { - "name": "DAEMON_PORT", - "value": "11000" - }, - { - "name": "RT_TABLE_PATH", - "value": "/opt/rt_tables" - } - ], - "image": "ghcr.io/foundation-model-stack/multi-nic-cni-daemon:v1.3.0", - "mounts": [ - { - "hostpath": "/var/lib/cni/bin", - "name": "cnibin", - "podpath": "/host/opt/cni/bin" - }, - { - "hostpath": "/var/lib/kubelet/device-plugins", - "name": "device-plugin", - "podpath": "/var/lib/kubelet/device-plugins" - }, - { - "hostpath": "/etc/iproute2/rt_tables", - "name": "rt-tables", - "podpath": "/opt/rt_tables" - } - ], - "port": 11000, - "resources": { - "requests": { - "cpu": "100m", - "memory": "50Mi" - } - }, - "securityContext": { - "privileged": true - } - }, - "deleteRoutePath": "/deletel3", - "getInterfacePath": "/interface", - "ipamType": "multi-nic-ipam", - "joinPath": "/join", - "logLevel": 4, - "longReconcileMinutes": 10, - "normalReconcileMinutes": 1, - "urgentReconcileSeconds": 5 - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "DeviceClass", - "metadata": { - "name": "multi-nic-cni-operator-highspeed", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "ids": [ - { - "products": [ - "1019", - "101d" - ], - "vendor": "15b3" - }, - { - "products": [ - "efa0", - "efa1" - ], - "vendor": "1d0f" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "DeviceClass", - "metadata": { - "name": "highspeed" - }, - "spec": { - "ids": [ - { - "products": [ - "1019", - "101d" - ], - "vendor": "15b3" - }, - { - "products": [ - "efa0", - "efa1" - ], - "vendor": "1d0f" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "HostInterface", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "multi-nic-cni-operator-node-1", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "hostName": "node-1", - "interfaces": [ - { - "hostIP": "10.0.0.168", - "interfaceName": "eth1", - "netAddress": "10.0.0.0/16", - "pciAddress": "0000:00:04.0", - "product": "1000", - "vendor": "1af4" - }, - { - "hostIP": "10.1.0.168", - "interfaceName": "eth2", - "netAddress": "10.1.0.0/16", - "pciAddress": "0000:00:05.0", - "product": "1000", - "vendor": "1af4" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "HostInterface", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "node-1" - }, - "spec": { - "hostName": "node-1", - "interfaces": [ - { - "hostIP": "10.0.0.168", - "interfaceName": "eth1", - "netAddress": "10.0.0.0/16", - "pciAddress": "0000:00:04.0", - "product": "1000", - "vendor": "1af4" - }, - { - "hostIP": "10.1.0.168", - "interfaceName": "eth2", - "netAddress": "10.1.0.0/16", - "pciAddress": "0000:00:05.0", - "product": "1000", - "vendor": "1af4" - } - ] - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "IPPool", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "multi-nic-cni-operator-ipvlanl3-192.168.0.0-26", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "allocations": [], - "excludes": [], - "hostName": "node-1", - "interfaceName": "eth1", - "netAttachDef": "multi-nic-cni-operator-ipvlanl3", - "podCIDR": "192.168.0.0/26", - "vlanCIDR": "192.168.0.0/18" - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "IPPool", - "metadata": { - "annotations": { - "note": "This resource will be auto-generated and controlled by multi-nic-cni-operator-controller-manager.\nDo not create/modify.\n" - }, - "name": "ipvlanl3-192.168.0.0-26" - }, - "spec": { - "allocations": [], - "excludes": [], - "hostName": "node-1", - "interfaceName": "eth1", - "netAttachDef": "multi-nic-cni-operator-ipvlanl3", - "podCIDR": "192.168.0.0/26", - "vlanCIDR": "192.168.0.0/18" - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "MultiNicNetwork", - "metadata": { - "name": "multi-nic-cni-operator-ipvlanl3", - "namespace": "multi-nic-cni-operator-system" - }, - "spec": { - "ipam": "{\n \"type\": \"multi-nic-ipam\",\n \"hostBlock\": 8, \n \"interfaceBlock\": 2,\n \"vlanMode\": \"l3\"\n}\n", - "multiNICIPAM": true, - "plugin": { - "args": { - "mode": "l3" - }, - "cniVersion": "0.3.0", - "type": "ipvlan" - }, - "subnet": "192.168.0.0/16" - } - }, - { - "apiVersion": "multinic.fms.io/v1", - "kind": "MultiNicNetwork", - "metadata": { - "name": "ipvlanl3" - }, - "spec": { - "ipam": "{\n \"type\": \"multi-nic-ipam\",\n \"hostBlock\": 8, \n \"interfaceBlock\": 2,\n \"vlanMode\": \"l3\"\n}\n", - "multiNICIPAM": true, - "plugin": { - "args": { - "mode": "l3" - }, - "cniVersion": "0.3.0", - "type": "ipvlan" - }, - "subnet": "192.168.0.0/16" - } - } - ] - capabilities: Basic Install - categories: Networking - containerImage: ghcr.io/foundation-model-stack/multi-nic-cni-controller:v1.3.0 - createdAt: "2024-04-17T04:51:40Z" - description: Automate container multi-network configuration - features.operators.openshift.io/disconnected: "true" - features.operators.openshift.io/fips-compliant: "false" - features.operators.openshift.io/proxy-aware: "false" - features.operators.openshift.io/tls-profiles: "false" - features.operators.openshift.io/token-auth-aws: "false" - features.operators.openshift.io/token-auth-azure: "false" - features.operators.openshift.io/token-auth-gcp: "false" - operators.operatorframework.io/builder: operator-sdk-v1.34.1 - operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 - repository: http://github.com/foundation-model-stack/multi-nic-cni - support: Foundation Model Stack Team - name: multi-nic-cni-operator.v1.3.0 - namespace: placeholder -spec: - apiservicedefinitions: {} - customresourcedefinitions: - owned: - - description: CIDR is the Schema for the cidrs API - displayName: CIDR - kind: CIDR - name: cidrs.multinic.fms.io - version: v1 - - description: Config is the Schema for the configs API - displayName: Config - kind: Config - name: configs.multinic.fms.io - version: v1 - - description: DeviceClass is the Schema for the deviceclasses API - displayName: Device Class - kind: DeviceClass - name: deviceclasses.multinic.fms.io - version: v1 - - description: HostInterface is the Schema for the hostinterfaces API - displayName: Host Interface - kind: HostInterface - name: hostinterfaces.multinic.fms.io - version: v1 - - description: IPPool is the Schema for the ippools API - displayName: IPPool - kind: IPPool - name: ippools.multinic.fms.io - version: v1 - - description: MultiNicNetwork is the Schema for the multinicnetworks API - displayName: Multi Nic Network - kind: MultiNicNetwork - name: multinicnetworks.multinic.fms.io - version: v1 - description: "Multi-NIC CNI Operator helps to attaching secondary network interfaces - that is linked to \ndifferent network interfaces on host (NIC) to pod provides - benefits of network segmentation \nand top-up network bandwidth in the containerization - system.\n\nMulti-NIC CNI is the CNI plugin operating on top of Multus CNI. \nHowever, - instead of defining and handling each secondary network interface one by one, - \nthis CNI automatically discovers all available secondary interfaces and handles - them as a NIC pool. \nWith this manner, it can provide the following benefits.\n\ni) - Common secondary network definition: User can manage only one network definition - for \n multiple secondary interfaces with a common CNI main plugin such as ipvlan, - macvlan, and sr-iov.\n\nii) Common NAT-bypassing network solution: All secondary - NICs on each host can be assigned \n with non-conflict CIDR and non-conflict - L3 routing configuration that can omit an overlay networking overhead. \n Particularyly, - the CNI is built-in with L3 IPVLAN solution composing of the following functionalities.\n\n - \ 1. Interface-host-devision CIDR Computation: compute allocating CIDR range - for each host and each interface \n from a single global subnet with the - number of bits for hosts and for interface.\n 2. L3 Host Route Configuration: - configure L3 routes (next hop via dev) in host route table according to the computed - CIDR.\n 3. Distributed IP Allocation Management: manage IP allocation/deallocation - distributedly via the communication \n between CNI program and daemon at - each host.\n\niii) Policy-based secondary network attachment: Instead of statically - set the desired \n host's master interface name one by one, user can define - a policy on attaching multiple secondary network \n interfaces such as specifying - only the number of desired interfaces, filtering only highspeed NICs.\n\n## Instructions\n\nPlease - check the [User Guide](https://foundation-model-stack.github.io/multi-nic-cni/user_guide/)" - displayName: multi-nic-cni-operator - icon: - - base64data: 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 - mediatype: image/png - install: - spec: - clusterPermissions: - - rules: - - apiGroups: - - multinic.fms.io - resources: - - cidrs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - multinic.fms.io - resources: - - cidrs/finalizers - verbs: - - update - - apiGroups: - - multinic.fms.io - resources: - - cidrs/status - verbs: - - get - - patch - - update - - apiGroups: - - multinic.fms.io - resources: - - configs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - multinic.fms.io - resources: - - configs/status - verbs: - - get - - patch - - update - - apiGroups: - - multinic.fms.io - resources: - - hostinterfaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - multinic.fms.io - resources: - - hostinterfaces/finalizers - verbs: - - update - - apiGroups: - - multinic.fms.io - resources: - - hostinterfaces/status - verbs: - - get - - patch - - update - - apiGroups: - - multinic.fms.io - resources: - - ippools - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - multinic.fms.io - resources: - - ippools/finalizers - verbs: - - update - - apiGroups: - - multinic.fms.io - resources: - - ippools/status - verbs: - - get - - patch - - update - - apiGroups: - - multinic.fms.io - resources: - - multinicnetworks - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - multinic.fms.io - resources: - - multinicnetworks/finalizers - verbs: - - update - - apiGroups: - - multinic.fms.io - resources: - - multinicnetworks/status - verbs: - - get - - patch - - update - - apiGroups: - - mellanox.com - resources: - - hostdevicenetworks - - nicclusterpolicies - verbs: - - create - - delete - - get - - list - - watch - - apiGroups: - - "" - resources: - - pods - - nodes - - namespaces - verbs: - - get - - watch - - list - - patch - - apiGroups: - - apps - resources: - - daemonsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - k8s.cni.cncf.io - resources: - - network-attachment-definitions - verbs: - - create - - update - - get - - watch - - list - - delete - - apiGroups: - - security.openshift.io - resourceNames: - - privileged - resources: - - securitycontextconstraints - verbs: - - use - - apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create - - apiGroups: - - sriovnetwork.openshift.io - resources: - - sriovnetworknodestates - verbs: - - get - - list - - watch - - apiGroups: - - sriovnetwork.openshift.io - resources: - - sriovnetworknodepolicies - - sriovibnetworks - - sriovnetworks - verbs: - - create - - delete - - get - - list - - watch - serviceAccountName: multi-nic-cni-operator-controller-manager - deployments: - - label: - control-plane: controller-manager - name: multi-nic-cni-operator-controller-manager - spec: - replicas: 1 - selector: - matchLabels: - control-plane: controller-manager - strategy: {} - template: - metadata: - annotations: - kubectl.kubernetes.io/default-container: manager - labels: - control-plane: controller-manager - spec: - containers: - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=10 - image: gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 - name: kube-rbac-proxy - ports: - - containerPort: 8443 - name: https - resources: - limits: - cpu: 100m - memory: 100Mi - requests: - cpu: 10m - memory: 20Mi - - args: - - --zap-log-level=4 - - --zap-time-encoding=iso8601 - - --health-probe-bind-address=:8083 - - --metrics-bind-address=127.0.0.1:8080 - - --leader-elect - command: - - /manager - env: - - name: OPERATOR_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: POD_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - image: ghcr.io/foundation-model-stack/multi-nic-cni-controller:v1.3.0 - imagePullPolicy: Always - livenessProbe: - httpGet: - path: /healthz - port: 8083 - initialDelaySeconds: 15 - periodSeconds: 20 - name: manager - readinessProbe: - httpGet: - path: /readyz - port: 8083 - initialDelaySeconds: 5 - periodSeconds: 10 - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 500Mi - securityContext: - allowPrivilegeEscalation: false - hostNetwork: true - priorityClassName: system-cluster-critical - securityContext: - runAsNonRoot: true - serviceAccountName: multi-nic-cni-operator-controller-manager - terminationGracePeriodSeconds: 10 - permissions: - - rules: - - apiGroups: - - "" - - coordination.k8s.io - resources: - - configmaps - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - serviceAccountName: multi-nic-cni-operator-controller-manager - strategy: deployment - installModes: - - supported: true - type: OwnNamespace - - supported: true - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - multi-nic - - cni - - network - links: - - name: Multi-NIC CNI Operator - url: https://github.com/foundation-model-stack/multi-nic-cni - maintainers: - - email: sunyanan.choochotkaew1@ibm.com - name: Sunyanan Choochotkaew - - email: chiba@jp.ibm.com - name: Tatsuhiro Chiba - maturity: alpha - minKubeVersion: 1.25.0 - provider: - name: Foundation Model Stack - replaces: multi-nic-cni-operator.v1.2.2 - version: 1.3.0 diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_cidrs.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_cidrs.yaml deleted file mode 100644 index ebc556961d3..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_cidrs.yaml +++ /dev/null @@ -1,125 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: cidrs.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: CIDR - listKind: CIDRList - plural: cidrs - singular: cidr - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: CIDR is the Schema for the cidrs API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: CIDRSpec defines the desired state of CIDR - properties: - cidr: - items: - properties: - hosts: - items: - properties: - hostIP: - type: string - hostIndex: - type: integer - hostName: - type: string - interfaceName: - type: string - ippool: - type: string - podCIDR: - type: string - required: - - hostIP - - hostIndex - - hostName - - interfaceName - - podCIDR - type: object - type: array - interfaceIndex: - type: integer - netAddress: - type: string - vlanCIDR: - type: string - required: - - hosts - - interfaceIndex - - netAddress - - vlanCIDR - type: object - type: array - config: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - properties: - excludeCIDRs: - items: - type: string - type: array - hostBlock: - type: integer - interfaceBlock: - type: integer - masterNets: - items: - type: string - type: array - name: - type: string - subnet: - type: string - type: - type: string - vlanMode: - type: string - required: - - hostBlock - - interfaceBlock - - masterNets - - name - - subnet - - type - type: object - required: - - cidr - - config - type: object - status: - description: CIDRStatus defines the observed state of CIDR - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_configs.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_configs.yaml deleted file mode 100644 index 39eeb294c43..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_configs.yaml +++ /dev/null @@ -1,494 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: configs.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: Config - listKind: ConfigList - plural: configs - singular: config - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: Config is the Schema for the configs API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ConfigSpec defines the desired state of Config - properties: - addRoutePath: - type: string - cniType: - description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file' - type: string - contextTimeoutMinutes: - type: integer - daemon: - properties: - env: - items: - description: EnvVar represents an environment variable present - in a Container. - properties: - name: - description: Name of the environment variable. Must be a - C_IDENTIFIER. - type: string - value: - description: 'Variable references $(VAR_NAME) are expanded - using the previously defined environment variables in - the container and any service environment variables. If - a variable cannot be resolved, the reference in the input - string will be unchanged. Double $$ are reduced to a single - $, which allows for escaping the $(VAR_NAME) syntax: i.e. - "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". - Escaped references will never be expanded, regardless - of whether the variable exists or not. Defaults to "".' - type: string - valueFrom: - description: Source for the environment variable's value. - Cannot be used if value is not empty. - properties: - configMapKeyRef: - description: Selects a key of a ConfigMap. - properties: - key: - description: The key to select. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the ConfigMap or its - key must be defined - type: boolean - required: - - key - type: object - fieldRef: - description: 'Selects a field of the pod: supports metadata.name, - metadata.namespace, `metadata.labels['''']`, - `metadata.annotations['''']`, spec.nodeName, - spec.serviceAccountName, status.hostIP, status.podIP, - status.podIPs.' - properties: - apiVersion: - description: Version of the schema the FieldPath - is written in terms of, defaults to "v1". - type: string - fieldPath: - description: Path of the field to select in the - specified API version. - type: string - required: - - fieldPath - type: object - resourceFieldRef: - description: 'Selects a resource of the container: only - resources limits and requests (limits.cpu, limits.memory, - limits.ephemeral-storage, requests.cpu, requests.memory - and requests.ephemeral-storage) are currently supported.' - properties: - containerName: - description: 'Container name: required for volumes, - optional for env vars' - type: string - divisor: - anyOf: - - type: integer - - type: string - description: Specifies the output format of the - exposed resources, defaults to "1" - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - resource: - description: 'Required: resource to select' - type: string - required: - - resource - type: object - secretKeyRef: - description: Selects a key of a secret in the pod's - namespace - properties: - key: - description: The key of the secret to select from. Must - be a valid secret key. - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, - uid?' - type: string - optional: - description: Specify whether the Secret or its key - must be defined - type: boolean - required: - - key - type: object - type: object - required: - - name - type: object - type: array - envFrom: - items: - description: EnvFromSource represents the source of a set of - ConfigMaps - properties: - configMapRef: - description: The ConfigMap to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the ConfigMap must be defined - type: boolean - type: object - prefix: - description: An optional identifier to prepend to each key - in the ConfigMap. Must be a C_IDENTIFIER. - type: string - secretRef: - description: The Secret to select from - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - optional: - description: Specify whether the Secret must be defined - type: boolean - type: object - type: object - type: array - image: - type: string - imagePullPolicy: - type: string - imagePullSecretName: - type: string - mounts: - items: - properties: - hostpath: - type: string - name: - type: string - podpath: - type: string - required: - - hostpath - - name - - podpath - type: object - type: array - nodeSelector: - additionalProperties: - type: string - type: object - port: - type: integer - resources: - description: ResourceRequirements describes the compute resource - requirements. - properties: - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Limits describes the maximum amount of compute - resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - description: 'Requests describes the minimum amount of compute - resources required. If Requests is omitted for a container, - it defaults to Limits if that is explicitly specified, otherwise - to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' - type: object - type: object - securityContext: - description: SecurityContext holds security configuration that - will be applied to a container. Some fields are present in both - SecurityContext and PodSecurityContext. When both are set, - the values in SecurityContext take precedence. - properties: - allowPrivilegeEscalation: - description: 'AllowPrivilegeEscalation controls whether a - process can gain more privileges than its parent process. - This bool directly controls if the no_new_privs flag will - be set on the container process. AllowPrivilegeEscalation - is true always when the container is: 1) run as Privileged - 2) has CAP_SYS_ADMIN Note that this field cannot be set - when spec.os.name is windows.' - type: boolean - capabilities: - description: The capabilities to add/drop when running containers. - Defaults to the default set of capabilities granted by the - container runtime. Note that this field cannot be set when - spec.os.name is windows. - properties: - add: - description: Added capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - drop: - description: Removed capabilities - items: - description: Capability represent POSIX capabilities - type - type: string - type: array - type: object - privileged: - description: Run container in privileged mode. Processes in - privileged containers are essentially equivalent to root - on the host. Defaults to false. Note that this field cannot - be set when spec.os.name is windows. - type: boolean - procMount: - description: procMount denotes the type of proc mount to use - for the containers. The default is DefaultProcMount which - uses the container runtime defaults for readonly paths and - masked paths. This requires the ProcMountType feature flag - to be enabled. Note that this field cannot be set when spec.os.name - is windows. - type: string - readOnlyRootFilesystem: - description: Whether this container has a read-only root filesystem. - Default is false. Note that this field cannot be set when - spec.os.name is windows. - type: boolean - runAsGroup: - description: The GID to run the entrypoint of the container - process. Uses runtime default if unset. May also be set - in PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - format: int64 - type: integer - runAsNonRoot: - description: Indicates that the container must run as a non-root - user. If true, the Kubelet will validate the image at runtime - to ensure that it does not run as UID 0 (root) and fail - to start the container if it does. If unset or false, no - such validation will be performed. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. - type: boolean - runAsUser: - description: The UID to run the entrypoint of the container - process. Defaults to user specified in image metadata if - unspecified. May also be set in PodSecurityContext. If - set in both SecurityContext and PodSecurityContext, the - value specified in SecurityContext takes precedence. Note - that this field cannot be set when spec.os.name is windows. - format: int64 - type: integer - seLinuxOptions: - description: The SELinux context to be applied to the container. - If unspecified, the container runtime will allocate a random - SELinux context for each container. May also be set in - PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. Note that this field cannot be set when - spec.os.name is windows. - properties: - level: - description: Level is SELinux level label that applies - to the container. - type: string - role: - description: Role is a SELinux role label that applies - to the container. - type: string - type: - description: Type is a SELinux type label that applies - to the container. - type: string - user: - description: User is a SELinux user label that applies - to the container. - type: string - type: object - seccompProfile: - description: The seccomp options to use by this container. - If seccomp options are provided at both the pod & container - level, the container options override the pod options. Note - that this field cannot be set when spec.os.name is windows. - properties: - localhostProfile: - description: localhostProfile indicates a profile defined - in a file on the node should be used. The profile must - be preconfigured on the node to work. Must be a descending - path, relative to the kubelet's configured seccomp profile - location. Must only be set if type is "Localhost". - type: string - type: - description: "type indicates which kind of seccomp profile - will be applied. Valid options are: \n Localhost - a - profile defined in a file on the node should be used. - RuntimeDefault - the container runtime default profile - should be used. Unconfined - no profile should be applied." - type: string - required: - - type - type: object - windowsOptions: - description: The Windows specific settings applied to all - containers. If unspecified, the options from the PodSecurityContext - will be used. If set in both SecurityContext and PodSecurityContext, - the value specified in SecurityContext takes precedence. - Note that this field cannot be set when spec.os.name is - linux. - properties: - gmsaCredentialSpec: - description: GMSACredentialSpec is where the GMSA admission - webhook (https://github.com/kubernetes-sigs/windows-gmsa) - inlines the contents of the GMSA credential spec named - by the GMSACredentialSpecName field. - type: string - gmsaCredentialSpecName: - description: GMSACredentialSpecName is the name of the - GMSA credential spec to use. - type: string - hostProcess: - description: HostProcess determines if a container should - be run as a 'Host Process' container. This field is - alpha-level and will only be honored by components that - enable the WindowsHostProcessContainers feature flag. - Setting this field without the feature flag will result - in errors when validating the Pod. All of a Pod's containers - must have the same effective HostProcess value (it is - not allowed to have a mix of HostProcess containers - and non-HostProcess containers). In addition, if HostProcess - is true then HostNetwork must also be set to true. - type: boolean - runAsUserName: - description: The UserName in Windows to run the entrypoint - of the container process. Defaults to the user specified - in image metadata if unspecified. May also be set in - PodSecurityContext. If set in both SecurityContext and - PodSecurityContext, the value specified in SecurityContext - takes precedence. - type: string - type: object - type: object - tolerations: - items: - description: The pod this Toleration is attached to tolerates - any taint that matches the triple using - the matching operator . - properties: - effect: - description: Effect indicates the taint effect to match. - Empty means match all taint effects. When specified, allowed - values are NoSchedule, PreferNoSchedule and NoExecute. - type: string - key: - description: Key is the taint key that the toleration applies - to. Empty means match all taint keys. If the key is empty, - operator must be Exists; this combination means to match - all values and all keys. - type: string - operator: - description: Operator represents a key's relationship to - the value. Valid operators are Exists and Equal. Defaults - to Equal. Exists is equivalent to wildcard for value, - so that a pod can tolerate all taints of a particular - category. - type: string - tolerationSeconds: - description: TolerationSeconds represents the period of - time the toleration (which must be of effect NoExecute, - otherwise this field is ignored) tolerates the taint. - By default, it is not set, which means tolerate the taint - forever (do not evict). Zero and negative values will - be treated as 0 (evict immediately) by the system. - format: int64 - type: integer - value: - description: Value is the taint value the toleration matches - to. If the operator is Exists, the value should be empty, - otherwise just a regular string. - type: string - type: object - type: array - required: - - image - - port - type: object - deleteRoutePath: - type: string - getInterfacePath: - type: string - ipamType: - type: string - joinPath: - type: string - logLevel: - type: integer - longReconcileMinutes: - type: integer - normalReconcileMinutes: - type: integer - urgentReconcileSeconds: - type: integer - required: - - cniType - - daemon - - getInterfacePath - - ipamType - - joinPath - type: object - status: - description: ConfigStatus defines the observed state of Config - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_deviceclasses.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_deviceclasses.yaml deleted file mode 100644 index b4ddd3e6f2b..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_deviceclasses.yaml +++ /dev/null @@ -1,67 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: deviceclasses.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: DeviceClass - listKind: DeviceClassList - plural: deviceclasses - singular: deviceclass - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: DeviceClass is the Schema for the deviceclasses API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: DeviceClassSpec defines the desired state of DeviceClass - properties: - ids: - items: - properties: - products: - items: - type: string - type: array - vendor: - type: string - required: - - products - - vendor - type: object - type: array - required: - - ids - type: object - status: - description: DeviceClassStatus defines the observed state of DeviceClass - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_hostinterfaces.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_hostinterfaces.yaml deleted file mode 100644 index 0e939713038..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_hostinterfaces.yaml +++ /dev/null @@ -1,116 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: hostinterfaces.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: HostInterface - listKind: HostInterfaceList - plural: hostinterfaces - singular: hostinterface - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: HostInterface is the Schema for the hostinterfaces API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: HostInterfaceSpec defines the desired state of HostInterface - properties: - hostName: - type: string - interfaces: - items: - properties: - hostIP: - type: string - interfaceName: - type: string - netAddress: - type: string - pciAddress: - type: string - product: - type: string - vendor: - type: string - required: - - interfaceName - type: object - type: array - required: - - hostName - - interfaces - type: object - status: - description: HostInterfaceStatus defines the observed state of HostInterface - properties: - stat: - properties: - count: - type: integer - interfaceName: - type: string - lastRx: - type: integer - lastRxDrop: - type: integer - lastTimestamp: - format: int64 - type: integer - lastTx: - type: integer - lastTxDrop: - type: integer - rxDropRate: - type: integer - rxRate: - type: integer - txDropRate: - type: integer - txRate: - type: integer - required: - - count - - interfaceName - - lastRx - - lastRxDrop - - lastTimestamp - - lastTx - - lastTxDrop - - rxDropRate - - rxRate - - txDropRate - - txRate - type: object - required: - - stat - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_ippools.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_ippools.yaml deleted file mode 100644 index 5bb0093dc5e..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_ippools.yaml +++ /dev/null @@ -1,93 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: ippools.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: IPPool - listKind: IPPoolList - plural: ippools - singular: ippool - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: IPPool is the Schema for the ippools API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: IPPoolSpec defines the desired state of IPPool - properties: - allocations: - items: - properties: - address: - type: string - index: - type: integer - namespace: - type: string - pod: - type: string - required: - - address - - index - - namespace - - pod - type: object - type: array - excludes: - items: - type: string - type: array - hostName: - type: string - interfaceName: - type: string - netAttachDef: - type: string - podCIDR: - description: Foo is an example field of IPPool. Edit ippool_types.go - to remove/update - type: string - vlanCIDR: - type: string - required: - - allocations - - excludes - - hostName - - interfaceName - - netAttachDef - - podCIDR - - vlanCIDR - type: object - status: - description: IPPoolStatus defines the observed state of IPPool - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_multinicnetworks.yaml b/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_multinicnetworks.yaml deleted file mode 100644 index 0bbf5e76e47..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/manifests/multinic.fms.io_multinicnetworks.yaml +++ /dev/null @@ -1,163 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.4.1 - creationTimestamp: null - name: multinicnetworks.multinic.fms.io -spec: - group: multinic.fms.io - names: - kind: MultiNicNetwork - listKind: MultiNicNetworkList - plural: multinicnetworks - singular: multinicnetwork - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: MultiNicNetwork is the Schema for the multinicnetworks API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: 'MultiNicNetworkSpec defines the desired state of MultiNicNetwork - MasterNetAddrs is network addresses of NIC members in the pool Subnet - is global subnet, default: 172.30.0.0/16 IPAM is ipam specification - MainPlugin is plugin specification Policy is general policy of the pool' - properties: - attachPolicy: - description: AssignmentPolicy defines the policy to select the NICs - from the pool Strategy is one of None, CostOpt, PerfOpt, QoSClass - Target is target bandwidth in a format (d+)Gbps, (d+)Mbps, (d+)Kbps - required for CostOpt and PerfOpt - properties: - strategy: - type: string - target: - type: string - required: - - strategy - type: object - ipam: - type: string - masterNets: - items: - type: string - type: array - multiNICIPAM: - type: boolean - namespaces: - items: - type: string - type: array - plugin: - description: 'reference: github.com/containernetworking/cni/pkg/types' - properties: - args: - additionalProperties: - type: string - type: object - capabilities: - additionalProperties: - type: boolean - type: object - cniVersion: - type: string - dns: - description: 'reference: github.com/containernetworking/cni/pkg/types' - properties: - domain: - type: string - nameservers: - items: - type: string - type: array - options: - items: - type: string - type: array - search: - items: - type: string - type: array - type: object - type: - type: string - required: - - cniVersion - - type - type: object - subnet: - type: string - required: - - ipam - - plugin - type: object - status: - description: MultiNicNetworkStatus defines the observed state of MultiNicNetwork - properties: - computeResults: - items: - properties: - netAddress: - type: string - numOfHosts: - type: integer - required: - - netAddress - - numOfHosts - type: object - type: array - configStatus: - type: string - discovery: - properties: - cidrProcessed: - type: integer - existDaemon: - type: integer - infoAvailable: - type: integer - required: - - cidrProcessed - - existDaemon - - infoAvailable - type: object - lastSyncTime: - format: date-time - type: string - message: - type: string - routeStatus: - type: string - required: - - computeResults - - configStatus - - discovery - - lastSyncTime - - message - - routeStatus - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/operators/multi-nic-cni-operator/1.3.0/metadata/annotations.yaml b/operators/multi-nic-cni-operator/1.3.0/metadata/annotations.yaml deleted file mode 100644 index 322570dc444..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/metadata/annotations.yaml +++ /dev/null @@ -1,17 +0,0 @@ -annotations: - # Core bundle annotations. - operators.operatorframework.io.bundle.mediatype.v1: registry+v1 - operators.operatorframework.io.bundle.manifests.v1: manifests/ - operators.operatorframework.io.bundle.metadata.v1: metadata/ - operators.operatorframework.io.bundle.package.v1: multi-nic-cni-operator - operators.operatorframework.io.bundle.channels.v1: alpha - operators.operatorframework.io.metrics.builder: operator-sdk-v1.34.1 - operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 - operators.operatorframework.io.metrics.project_layout: go.kubebuilder.io/v3 - - # Annotations for testing. - operators.operatorframework.io.test.mediatype.v1: scorecard+v1 - operators.operatorframework.io.test.config.v1: tests/scorecard/ - - # Annotations to specify OCP versions compatibility - com.redhat.openshift.versions: v4.12-v4.14 \ No newline at end of file diff --git a/operators/multi-nic-cni-operator/1.3.0/tests/scorecard/config.yaml b/operators/multi-nic-cni-operator/1.3.0/tests/scorecard/config.yaml deleted file mode 100644 index 5710c6c0609..00000000000 --- a/operators/multi-nic-cni-operator/1.3.0/tests/scorecard/config.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: scorecard.operatorframework.io/v1alpha3 -kind: Configuration -metadata: - name: config -stages: -- parallel: true - tests: - - entrypoint: - - scorecard-test - - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: basic - test: basic-check-spec-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-bundle-validation-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-crds-have-validation-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-crds-have-resources-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-spec-descriptors-test - storage: - spec: - mountPath: {} - - entrypoint: - - scorecard-test - - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.6.2 - labels: - suite: olm - test: olm-status-descriptors-test - storage: - spec: - mountPath: {} -storage: - spec: - mountPath: {}