diff --git a/bundle/manifests/datasciencecluster.opendatahub.io_datascienceclusters.yaml b/bundle/manifests/datasciencecluster.opendatahub.io_datascienceclusters.yaml index ba962a1d9a1..bf7194c2d0a 100644 --- a/bundle/manifests/datasciencecluster.opendatahub.io_datascienceclusters.yaml +++ b/bundle/manifests/datasciencecluster.opendatahub.io_datascienceclusters.yaml @@ -321,6 +321,7 @@ spec: type: array type: object managementState: + default: Removed description: "Set to one of the following values: \n - \"Managed\" : the operator is actively managing the component and trying to keep it active. It will only upgrade the component if @@ -421,7 +422,10 @@ spec: type: string type: object trustyai: - description: TrustyAI component configuration. + description: '## DEPRECATED ## : Installation of TrustyAI operator + is deprecated in downstream(RHOAI). If TrustyAI operator is + installed, it will be removed Changes in managemenstState are + not supported.' properties: devFlags: description: Add developer fields diff --git a/bundle/manifests/dscinitialization.opendatahub.io_dscinitializations.yaml b/bundle/manifests/dscinitialization.opendatahub.io_dscinitializations.yaml index 8ae3397ba85..cc3b16403f3 100644 --- a/bundle/manifests/dscinitialization.opendatahub.io_dscinitializations.yaml +++ b/bundle/manifests/dscinitialization.opendatahub.io_dscinitializations.yaml @@ -30,7 +30,7 @@ spec: name: v1 schema: openAPIV3Schema: - description: DSCInitialization is the Schema for the dscinitializations API. + description: DSCInitialization is the Schema for the dscinitializations API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation @@ -45,7 +45,7 @@ spec: metadata: type: object spec: - description: DSCInitializationSpec defines the desired state of DSCInitialization. + description: DSCInitializationSpec defines the desired state of DSCInitialization properties: applicationsNamespace: default: redhat-ods-applications @@ -115,7 +115,7 @@ spec: type: string type: object managementState: - default: Removed + default: Managed enum: - Managed - Unmanaged @@ -146,13 +146,14 @@ spec: pattern: ^(Managed|Unmanaged|Force|Removed)$ type: string required: + - customCABundle - managementState type: object required: - applicationsNamespace type: object status: - description: DSCInitializationStatus defines the observed state of DSCInitialization. + description: DSCInitializationStatus defines the observed state of DSCInitialization properties: conditions: description: Conditions describes the state of the DSCInitializationStatus diff --git a/bundle/manifests/redhat-ods-operator-controller-manager-metrics-service_v1_service.yaml b/bundle/manifests/redhat-ods-operator-controller-manager-metrics-service_v1_service.yaml index 2a2c9fdd0b0..20e975d438a 100644 --- a/bundle/manifests/redhat-ods-operator-controller-manager-metrics-service_v1_service.yaml +++ b/bundle/manifests/redhat-ods-operator-controller-manager-metrics-service_v1_service.yaml @@ -10,7 +10,7 @@ spec: - name: https port: 8443 protocol: TCP - targetPort: 8080 + targetPort: https selector: control-plane: controller-manager status: diff --git a/bundle/manifests/redhat-ods-operator-manager-config_v1_configmap.yaml b/bundle/manifests/redhat-ods-operator-manager-config_v1_configmap.yaml deleted file mode 100644 index 6328abbfeb0..00000000000 --- a/bundle/manifests/redhat-ods-operator-manager-config_v1_configmap.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: v1 -data: - controller_manager_config.yaml: | - apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 - kind: ControllerManagerConfig - health: - healthProbeBindAddress: :8081 - metrics: - bindAddress: 0.0.0.0:8080 - webhook: - port: 9443 - leaderElection: - leaderElect: true - resourceName: 07ed84f7.opendatahub.io - # leaderElectionReleaseOnCancel defines if the leader should step down volume - # when the Manager ends. This requires the binary to immediately end when the - # Manager is stopped, otherwise, this setting is unsafe. Setting this significantly - # speeds up voluntary leader transitions as the new leader don't have to wait - # LeaseDuration time first. - # In the default scaffold provided, the program ends immediately after - # the manager stops, so would be fine to enable this option. However, - # if you are doing or is intended to do any operation such as perform cleanups - # after the manager stops then its usage might be unsafe. - # leaderElectionReleaseOnCancel: true -kind: ConfigMap -metadata: - name: redhat-ods-operator-manager-config diff --git a/bundle/manifests/rhods-operator.clusterserviceversion.yaml b/bundle/manifests/rhods-operator.clusterserviceversion.yaml index 68b97af403c..98a4d8caed5 100644 --- a/bundle/manifests/rhods-operator.clusterserviceversion.yaml +++ b/bundle/manifests/rhods-operator.clusterserviceversion.yaml @@ -1,7 +1,82 @@ +--- apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: + name: rhods-operator.NAME + namespace: placeholder annotations: + capabilities: Full Lifecycle + categories: AI/Machine Learning, Big Data + containerImage: REPLACE_IMAGE:latest + createdAt: REPLACE_DATE + features.operators.openshift.io/disconnected: "true" + features.operators.openshift.io/fips-compliant: "true" + 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" + description: + Operator for deployment and management of Red Hat OpenShift AI + repository: https://github.com/red-hat-data-services/rhods-operator + support: Red Hat OpenShift AI + operators.openshift.io/valid-subscription: '["OpenShift AI"]' + operatorframework.io/suggested-namespace: redhat-ods-operator + operators.openshift.io/infrastructure-features: '["disconnected"]' + operatorframework.io/initialization-resource: |- + { + "apiVersion": "datasciencecluster.opendatahub.io/v1", + "kind": "DataScienceCluster", + "metadata": { + "name": "default-dsc", + "labels": { + "app.kubernetes.io/name": "datasciencecluster", + "app.kubernetes.io/instance": "default-dsc", + "app.kubernetes.io/part-of": "rhods-operator", + "app.kubernetes.io/managed-by": "kustomize", + "app.kubernetes.io/created-by": "rhods-operator" + } + }, + "spec": { + "components": { + "codeflare": { + "managementState": "Removed" + }, + "dashboard": { + "managementState": "Managed" + }, + "datasciencepipelines": { + "managementState": "Managed" + }, + "kserve": { + "managementState": "Managed", + "serving": { + "ingressGateway": { + "certificate": { + "type": "SelfSigned" + } + }, + "managementState": "Managed", + "name": "knative-serving" + } + }, + "kueue": { + "managementState": "Removed" + }, + "modelmeshserving": { + "managementState": "Managed" + }, + "ray": { + "managementState": "Removed" + }, + "workbenches": { + "managementState": "Managed" + } + } + } + } + operators.operatorframework.io/builder: operator-sdk-v1.24.1 + operators.operatorframework.io/internal-objects: '[dscinitialization.opendatahub.io]' alm-examples: |- [ { @@ -40,12 +115,12 @@ metadata: "name": "knative-serving" } }, - "kueue": { - "managementState": "Removed" - }, "modelmeshserving": { "managementState": "Managed" }, + "kueue": { + "managementState": "Removed" + }, "ray": { "managementState": "Removed" }, @@ -103,78 +178,33 @@ metadata: } } ] - capabilities: Full Lifecycle - categories: AI/Machine Learning, Big Data - certified: "False" - containerImage: quay.io/opendatahub/opendatahub-operator:v2.8.0 - createdAt: "2023-8-23T00:00:00Z" - features.operators.openshift.io/disconnected: "true" - features.operators.openshift.io/fips-compliant: "true" - 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" - olm.skipRange: '>=1.0.0 <2.0.0' - operatorframework.io/initialization-resource: |- - { - "apiVersion": "datasciencecluster.opendatahub.io/v1", - "kind": "DataScienceCluster", - "metadata": { - "name": "default-dsc", - "labels": { - "app.kubernetes.io/name": "datasciencecluster", - "app.kubernetes.io/instance": "default-dsc", - "app.kubernetes.io/part-of": "rhods-operator", - "app.kubernetes.io/managed-by": "kustomize", - "app.kubernetes.io/created-by": "rhods-operator" - } - }, - "spec": { - "components": { - "codeflare": { - "managementState": "Removed" - }, - "dashboard": { - "managementState": "Managed" - }, - "datasciencepipelines": { - "managementState": "Managed" - }, - "kserve": { - "managementState": "Managed", - "serving": { - "ingressGateway": { - "certificate": { - "type": "SelfSigned" - } - }, - "managementState": "Managed", - "name": "knative-serving" - } - }, - "kueue": { - "managementState": "Removed" - }, - "modelmeshserving": { - "managementState": "Managed" - }, - "ray": { - "managementState": "Removed" - }, - "workbenches": { - "managementState": "Managed" - } - } - } - } - operators.operatorframework.io/builder: operator-sdk-v1.24.1 - operators.operatorframework.io/internal-objects: '[dscinitialization.opendatahub.io]' - operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 - repository: https://github.com/red-hat-data-services/rhods-operator - name: rhods-operator.v2.4.0 - namespace: placeholder spec: + displayName: Red Hat OpenShift AI + description: | + Red Hat OpenShift AI is a complete platform for the entire lifecycle of your AI/ML projects. + + When using Red Hat OpenShift AI, your users will find all the tools they would expect from a modern AI/ML platform in an interface that is intuitive, requires no local install, and is backed by the power of your OpenShift cluster. + + Your Data Scientists will feel right at home with quick and simple access to the Notebook interface they are used to. They can leverage the default Notebook Images (Including PyTorch, tensorflow, and CUDA), or add custom ones. Your MLOps engineers will be able to leverage Data Science Pipelines to easily parallelize and/or schedule the required workloads. They can then quickly serve, monitor, and update the created AI/ML models. They can do that by either using the provided out-of-the-box OpenVino Server Model Runtime or by adding their own custom serving runtime instead. These activities are tied together with the concept of Data Science Projects, simplifying both organization and collaboration. + + But beyond the individual features, one of the key aspects of this platform is its flexibility. Not only can you augment it with your own Customer Workbench Image and Custom Model Serving Runtime Images, but you will also have a consistent experience across any infrastructure footprint. Be it in the public cloud, private cloud, on-premises, and even in disconnected clusters. Red Hat OpenShift AI can be installed on any supported OpenShift. It can scale out or in depending on the size of your team and its computing requirements. + + Finally, thanks to the operator-driven deployment and updates, the administrative load of the platform is very light, leaving everyone more time to focus on the work that makes a difference. + + + ### Components + * Dashboard + * Curated Workbench Images (incl CUDA, PyTorch, Tensorflow, code-server) + * Ability to add Custom Images + * Ability to leverage accelerators (such as NVIDIA GPU) + * Data Science Pipelines. (including Elyra notebook interface, and based on standard OpenShift Pipelines) + * Model Serving using ModelMesh and Kserve. + * Ability to use other runtimes for serving + * Model Monitoring + * Distributed workloads (KubeRay, CodeFlare, Kueue) + + version: REPLACE_VERSION + maturity: stable apiservicedefinitions: {} customresourcedefinitions: owned: @@ -218,1696 +248,1594 @@ spec: path: devFlags statusDescriptors: - description: Conditions describes the state of the DSCInitializationStatus - resource + resource. displayName: Conditions path: conditions version: v1 - kind: FeatureTracker name: featuretrackers.features.opendatahub.io version: v1 - description: |- - Red Hat OpenShift AI is a complete platform for the entire lifecycle of your AI/ML projects. - - When using Red Hat OpenShift AI, your users will find all the tools they would expect from a modern AI/ML platform in an interface that is intuitive, requires no local install, and is backed by the power of your OpenShift cluster. - - Your Data Scientists will feel right at home with quick and simple access to the Notebook interface they are used to. They can leverage the default Notebook Images (Including PyTorch, tensorflow, and CUDA), or add custom ones. Your MLOps engineers will be able to leverage Data Science Pipelines to easily parallelize and/or schedule the required workloads. They can then quickly serve, monitor, and update the created AI/ML models. They can do that by either using the provided out-of-the-box OpenVino Server Model Runtime or by adding their own custom serving runtime instead. These activities are tied together with the concept of Data Science Projects, simplifying both organization and collaboration. - - But beyond the individual features, one of the key aspects of this platform is its flexibility. Not only can you augment it with your own Customer Workbench Image and Custom Model Serving Runtime Images, but you will also have a consistent experience across any infrastructure footprint. Be it in the public cloud, private cloud, on-premises, and even in disconnected clusters. Red Hat OpenShift AI can be installed on any supported OpenShift. It can scale out or in depending on the size of your team and its computing requirements. - - Finally, thanks to the operator-driven deployment and updates, the administrative load of the platform is very light, leaving everyone more time to focus on the work that makes a difference. - - ### Components - * Dashboard - * Curated Workbench Images (incl CUDA, PyTorch, Tensorflow, VScode) - * Ability to add Custom Images - * Ability to leverage accelerators (such as NVIDIA GPU) - * Data Science Pipelines. (including Elyra notebook interface, and based on standard OpenShift Pipelines) - * Model Serving using ModelMesh and Kserve. - * Ability to use other runtimes for serving - * Model Monitoring - * Distributed workloads (KubeRay, CodeFlare, Kueue) - displayName: Red Hat OpenShift AI + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + selector: + matchLabels: + component: rhods-operator icon: - - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjQuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxvZ29zIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgODM1LjkgMjQ0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4MzUuOSAyNDQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KCS5zdDF7ZmlsbDojRUUwMDAwO30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMzAxLjMsMTgzLjFjMCw1LjItMSwxMC4xLTMsMTQuN2MtMiw0LjYtNC43LDguNi04LjEsMTJjLTMuNCwzLjQtNy40LDYtMTIuMSw4Yy00LjYsMS45LTkuNiwyLjktMTQuOSwyLjkKCQkJYy01LjMsMC0xMC4yLTEtMTQuOS0yLjljLTQuNi0xLjktOC43LTQuNi0xMi04Yy0zLjQtMy40LTYtNy4zLTgtMTJjLTItNC42LTMtOS41LTMtMTQuN2MwLTUuMiwxLTEwLjEsMy0xNC43YzItNC42LDQuNi04LjYsOC0xMgoJCQljMy40LTMuNCw3LjQtNiwxMi04YzQuNi0xLjksOS42LTIuOSwxNC45LTIuOWM1LjMsMCwxMC4yLDEsMTQuOSwyLjljNC42LDEuOSw4LjcsNC42LDEyLjEsOGMzLjQsMy40LDYuMSw3LjQsOC4xLDEyCgkJCUMzMDAuNCwxNzMsMzAxLjMsMTc3LjksMzAxLjMsMTgzLjF6IE0yOTAuMiwxODMuMWMwLTMuOS0wLjctNy41LTIuMS0xMC45Yy0xLjQtMy40LTMuMy02LjMtNS43LTguN2MtMi40LTIuNS01LjItNC40LTguNS01LjgKCQkJYy0zLjMtMS40LTYuOC0yLjEtMTAuNi0yLjFzLTcuMiwwLjctMTAuNSwyLjFjLTMuMywxLjQtNi4xLDMuMy04LjUsNS44Yy0yLjQsMi41LTQuMyw1LjQtNS43LDguN2MtMS40LDMuNC0yLjEsNy0yLjEsMTAuOQoJCQljMCwzLjksMC43LDcuNSwyLjEsMTAuOWMxLjQsMy40LDMuMyw2LjMsNS43LDguN2MyLjQsMi40LDUuMiw0LjQsOC41LDUuOGMzLjMsMS40LDYuOCwyLjEsMTAuNSwyLjFzNy4zLTAuNywxMC42LTIuMQoJCQljMy4zLTEuNCw2LjEtMy4zLDguNS01LjhjMi40LTIuNCw0LjMtNS4zLDUuNy04LjdDMjg5LjUsMTkwLjYsMjkwLjIsMTg3LDI5MC4yLDE4My4xeiIvPgoJCTxwYXRoIGQ9Ik0zMTEuNiwyNDEuMXYtNzQuNWgxMC4zdjVjMi4yLTEuOSw0LjctMy4zLDcuNS00LjNjMi44LTEsNS43LTEuNSw4LjctMS41YzMuNywwLDcuMiwwLjcsMTAuNSwyLjEKCQkJYzMuMywxLjQsNi4xLDMuNCw4LjUsNS44YzIuNCwyLjUsNC4zLDUuNCw1LjcsOC43YzEuNCwzLjMsMi4xLDYuOSwyLjEsMTAuNmMwLDMuOC0wLjcsNy40LTIuMSwxMC43Yy0xLjQsMy4zLTMuMyw2LjItNS43LDguNwoJCQljLTIuNCwyLjUtNS4zLDQuNC04LjYsNS44Yy0zLjMsMS40LTYuOSwyLjEtMTAuNywyLjFjLTMsMC01LjgtMC41LTguNS0xLjRjLTIuNy0wLjktNS4xLTIuMi03LjMtMy44djI1LjlIMzExLjZ6IE0zMzYuNywxNzQuOAoJCQljLTMuMSwwLTUuOCwwLjYtOC4zLDEuN2MtMi41LDEuMS00LjYsMi42LTYuMyw0LjZ2MjQuMWMxLjcsMS45LDMuOCwzLjQsNi4zLDQuNWMyLjYsMS4xLDUuMywxLjcsOC4zLDEuN2M1LjEsMCw5LjQtMS44LDEyLjgtNS4zCgkJCWMzLjQtMy41LDUuMS03LjgsNS4xLTEyLjljMC01LjItMS44LTkuNi01LjMtMTMuMUMzNDUuOSwxNzYuNiwzNDEuNywxNzQuOCwzMzYuNywxNzQuOHoiLz4KCQk8cGF0aCBkPSJNMzcyLjQsMTkzYzAtMy43LDAuNy03LjMsMi0xMC42YzEuNC0zLjMsMy4yLTYuMiw1LjYtOC43YzIuNC0yLjUsNS4yLTQuNCw4LjQtNS44YzMuMi0xLjQsNi43LTIuMSwxMC41LTIuMQoJCQljMy42LDAsNywwLjcsMTAuMSwyLjFjMy4yLDEuNCw1LjksMy40LDguMSw1LjhjMi4zLDIuNSw0LDUuNCw1LjQsOC44YzEuMywzLjQsMiw3LDIsMTAuOXYzaC00MS44YzAuNyw0LjQsMi43LDgsNiwxMC45CgkJCWMzLjMsMi45LDcuMyw0LjMsMTEuOSw0LjNjMi42LDAsNS0wLjQsNy40LTEuMmMyLjQtMC44LDQuNC0yLDYtMy40bDYuNyw2LjZjLTMuMSwyLjQtNi4zLDQuMi05LjYsNS4zYy0zLjMsMS4xLTYuOSwxLjctMTAuOSwxLjcKCQkJYy0zLjksMC03LjUtMC43LTEwLjktMi4xYy0zLjQtMS40LTYuMy0zLjMtOC44LTUuOGMtMi41LTIuNC00LjUtNS4zLTUuOS04LjdDMzczLjEsMjAwLjUsMzcyLjQsMTk2LjksMzcyLjQsMTkzeiBNMzk4LjcsMTc0LjUKCQkJYy00LDAtNy41LDEuMy0xMC40LDRjLTIuOSwyLjYtNC44LDYtNS41LDEwLjJoMzEuNGMtMC43LTQtMi41LTcuNC01LjQtMTAuMUM0MDUuOSwxNzUuOSw0MDIuNSwxNzQuNSwzOTguNywxNzQuNXoiLz4KCQk8cGF0aCBkPSJNNDM0LjMsMjE5LjV2LTUyLjloMTAuNHY1LjNjMi4xLTIuMSw0LjUtMy43LDcuMS00LjdjMi43LTEuMSw1LjYtMS42LDguOC0xLjZjNiwwLDExLDEuOSwxNC44LDUuOAoJCQljMy44LDMuOSw1LjgsOC44LDUuOCwxNC45djMzLjNoLTEwLjNWMTg4YzAtNC4xLTEuMi03LjMtMy41LTkuOGMtMi40LTIuNC01LjYtMy42LTkuNy0zLjZjLTIuOCwwLTUuMywwLjYtNy41LDEuOAoJCQljLTIuMiwxLjItNC4xLDIuOS01LjUsNS4xdjM4LjFINDM0LjN6Ii8+CgkJPHBhdGggZD0iTTQ4OCwyMDcuNWw2LjctNy43YzMuOSwzLjgsNy45LDYuNywxMiw4LjZjNC4xLDEuOSw4LjUsMi45LDEzLjEsMi45YzUuMywwLDkuNS0xLjEsMTIuOC0zLjRjMy4zLTIuMyw0LjktNS4yLDQuOS04LjcKCQkJYzAtMy4yLTEuMS01LjctMy4zLTcuNGMtMi4yLTEuOC02LTMuMS0xMS40LTRsLTEyLjItMmMtNi43LTEuMS0xMS43LTMuMy0xNS02LjRjLTMuMy0zLjItNC45LTcuMy00LjktMTIuNQoJCQljMC02LjIsMi40LTExLjMsNy4zLTE1LjFjNC45LTMuOCwxMS40LTUuOCwxOS41LTUuOGM1LjEsMCwxMC4zLDAuOCwxNS40LDIuNWM1LjEsMS43LDkuOCw0LjEsMTMuOSw3LjNsLTYsOC4zCgkJCWMtNC0zLTcuOS01LjItMTEuOS02LjdjLTQtMS41LTgtMi4yLTExLjktMi4yYy00LjcsMC04LjUsMS0xMS40LDNjLTIuOSwyLTQuNCw0LjYtNC40LDcuOGMwLDIuOSwxLDUuMiwzLDYuOAoJCQljMiwxLjYsNS4zLDIuOCwxMCwzLjVsMTEuOCwxLjljNy43LDEuMiwxMy4zLDMuNSwxNyw2LjhjMy42LDMuMyw1LjQsNy43LDUuNCwxMy40YzAsMy4zLTAuNyw2LjQtMi4xLDkuMQoJCQljLTEuNCwyLjctMy4zLDUuMS01LjksNy4xYy0yLjUsMi01LjYsMy41LTkuMiw0LjZjLTMuNiwxLjEtNy42LDEuNi0xMS45LDEuNmMtNS44LDAtMTEuNC0xLjEtMTYuOC0zLjQKCQkJQzQ5NywyMTQuOSw0OTIuMiwyMTEuNiw0ODgsMjA3LjV6Ii8+CgkJPHBhdGggZD0iTTU2Ny40LDE0NC41djc1LjFINTU3di03Mi44TDU2Ny40LDE0NC41eiBNNTU3LDIxOS41di01Mi45aDEwLjR2NS4zYzIuMS0yLjEsNC41LTMuNyw3LjEtNC43YzIuNy0xLjEsNS42LTEuNiw4LjgtMS42CgkJCWM2LDAsMTEsMS45LDE0LjgsNS44YzMuOCwzLjksNS44LDguOCw1LjgsMTQuOXYzMy4zaC0xMC4zVjE4OGMwLTQuMS0xLjItNy4zLTMuNS05LjhjLTIuNC0yLjQtNS42LTMuNi05LjctMy42CgkJCWMtMi44LDAtNS4zLDAuNi03LjUsMS44Yy0yLjIsMS4yLTQuMSwyLjktNS41LDUuMXYzOC4xSDU1N3oiLz4KCQk8cGF0aCBkPSJNNjIxLjEsMTU4LjFjLTEuNywwLTMuMi0wLjYtNC41LTEuOWMtMS4zLTEuMy0xLjktMi44LTEuOS00LjVjMC0xLjcsMC42LTMuMiwxLjktNC41YzEuMy0xLjMsMi44LTEuOSw0LjUtMS45CgkJCWMxLjcsMCwzLjIsMC42LDQuNSwxLjljMS4yLDEuMywxLjksMi44LDEuOSw0LjVjMCwxLjctMC42LDMuMi0xLjksNC41QzYyNC40LDE1Ny40LDYyMi45LDE1OC4xLDYyMS4xLDE1OC4xeiBNNjI2LjMsMTY2LjZ2NTIuOQoJCQloLTEwLjR2LTUyLjlINjI2LjN6Ii8+CgkJPHBhdGggZD0iTTYzNC4xLDE2Ni42aDEyLjN2LThjMC01LjMsMS41LTkuNSw0LjYtMTIuNWMzLTMsNy41LTQuNSwxMy40LTQuNWMxLjMsMCwyLjYsMC4xLDMuOSwwLjNjMS4zLDAuMiwyLjUsMC40LDMuNiwwLjd2OQoJCQljLTEuMi0wLjMtMi4zLTAuNi0zLjItMC43Yy0xLTAuMS0yLjEtMC4yLTMuMy0wLjJjLTIuOSwwLTUuMSwwLjctNi41LDJjLTEuNCwxLjMtMi4xLDMuNC0yLjEsNi4ydjcuOGgxNS4ydjguN2gtMTUuMnY0NC4yaC0xMC4zCgkJCXYtNDQuMmgtMTIuM1YxNjYuNnoiLz4KCQk8cGF0aCBkPSJNNjg3LjcsMjA2LjR2LTMxLjFoLTExLjJ2LTguN2gxMS4ydi0xMy41bDEwLjMtMi41djE2aDE1LjZ2OC43SDY5OFYyMDRjMCwyLjcsMC42LDQuNiwxLjgsNS43YzEuMiwxLjEsMy4yLDEuNyw2LDEuNwoJCQljMS41LDAsMi44LTAuMSw0LTAuM2MxLjEtMC4yLDIuMy0wLjUsMy42LTF2OC43Yy0xLjUsMC41LTMuMSwwLjktNC45LDEuMWMtMS44LDAuMy0zLjUsMC40LTUsMC40Yy01LjEsMC05LTEuMi0xMS44LTMuNgoJCQlTNjg3LjcsMjExLDY4Ny43LDIwNi40eiIvPgoJCTxwYXRoIGQ9Ik03MzcsMjE5LjVsMzAuMi03Mi44aDEyLjhsMjkuNyw3Mi44aC0xMS45bC04LjQtMjEuM2gtMzIuNmwtOC41LDIxLjNINzM3eiBNNzYwLjUsMTg5LjJoMjUuNGwtMTIuNy0zMS45TDc2MC41LDE4OS4yeiIvPgoJCTxwYXRoIGQ9Ik04MTcuMiwyMTkuNXYtNzIuOGgxMC45djcyLjhIODE3LjJ6Ii8+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyOSw4NWMxMi41LDAsMzAuNi0yLjYsMzAuNi0xNy41YzAtMS4yLDAtMi4zLTAuMy0zLjRsLTcuNC0zMi40Yy0xLjctNy4xLTMuMi0xMC4zLTE1LjctMTYuNgoJCQkJQzEyNi40LDEwLjIsMTA1LjMsMiw5OSwyYy01LjgsMC03LjUsNy41LTE0LjQsNy41Yy02LjcsMC0xMS42LTUuNi0xNy45LTUuNmMtNiwwLTkuOSw0LjEtMTIuOSwxMi41YzAsMC04LjQsMjMuNy05LjUsMjcuMgoJCQkJQzQ0LDQ0LjMsNDQsNDUsNDQsNDUuNUM0NCw1NC44LDgwLjMsODUsMTI5LDg1IE0xNjEuNSw3My42YzEuNyw4LjIsMS43LDkuMSwxLjcsMTAuMWMwLDE0LTE1LjcsMjEuOC0zNi40LDIxLjgKCQkJCUM4MCwxMDUuNSwzOS4xLDc4LjEsMzkuMSw2MGMwLTIuOCwwLjYtNS40LDEuNS03LjNDMjMuOCw1My41LDIsNTYuNSwyLDc1LjdDMiwxMDcuMiw3Ni42LDE0NiwxMzUuNywxNDYKCQkJCWM0NS4zLDAsNTYuNy0yMC41LDU2LjctMzYuNkMxOTIuMyw5Ni42LDE4MS40LDgyLjIsMTYxLjUsNzMuNiIvPgoJCQk8cGF0aCBkPSJNMTYxLjUsNzMuNmMxLjcsOC4yLDEuNyw5LjEsMS43LDEwLjFjMCwxNC0xNS43LDIxLjgtMzYuNCwyMS44QzgwLDEwNS41LDM5LjEsNzguMSwzOS4xLDYwYzAtMi44LDAuNi01LjQsMS41LTcuMwoJCQkJbDMuNy05LjFDNDQsNDQuMyw0NCw0NSw0NCw0NS41QzQ0LDU0LjgsODAuMyw4NSwxMjksODVjMTIuNSwwLDMwLjYtMi42LDMwLjYtMTcuNWMwLTEuMiwwLTIuMy0wLjMtMy40TDE2MS41LDczLjZ6Ii8+CgkJPC9nPgoJCTxwYXRoIGQ9Ik01ODEuMiw5NC4zYzAsMTEuOSw3LjIsMTcuNywyMC4yLDE3LjdjMy4yLDAsOC42LTAuNywxMS45LTEuN1Y5Ni41Yy0yLjgsMC44LTQuOSwxLjItNy43LDEuMmMtNS40LDAtNy40LTEuNy03LjQtNi43CgkJCVY2OS44aDE1LjZWNTUuNmgtMTUuNnYtMThsLTE3LDMuN3YxNC4zSDU3MHYxNC4yaDExLjNWOTQuM3ogTTUyOC4zLDk0LjZjMC0zLjcsMy43LTUuNSw5LjMtNS41YzMuNywwLDcsMC41LDEwLjEsMS4zdjcuMgoJCQljLTMuMiwxLjgtNi44LDIuNi0xMC42LDIuNkM1MzEuNiwxMDAuMiw1MjguMyw5OC4xLDUyOC4zLDk0LjYgTTUzMy41LDExMi4yYzYsMCwxMC44LTEuMywxNS40LTQuM3YzLjRoMTYuOFY3NS42CgkJCWMwLTEzLjYtOS4xLTIxLTI0LjQtMjFjLTguNSwwLTE2LjksMi0yNiw2LjFsNi4xLDEyLjVjNi41LTIuNywxMi00LjQsMTYuOC00LjRjNywwLDEwLjYsMi43LDEwLjYsOC4zdjIuNwoJCQljLTQtMS4xLTguMi0xLjYtMTIuNi0xLjZjLTE0LjMsMC0yMi45LDYtMjIuOSwxNi43QzUxMy4zLDEwNC43LDUyMS4xLDExMi4yLDUzMy41LDExMi4yIE00NDEuMSwxMTEuMmgxOC4xVjgyLjRoMzAuM3YyOC44aDE4LjEKCQkJVjM3LjZoLTE4LjF2MjguM2gtMzAuM1YzNy42aC0xOC4xVjExMS4yeiBNMzcyLjEsODMuNGMwLTgsNi4zLTE0LjEsMTQuNi0xNC4xYzQuNiwwLDguOCwxLjYsMTEuOCw0LjNWOTNjLTMsMi45LTcsNC40LTExLjgsNC40CgkJCUMzNzguNSw5Ny41LDM3Mi4xLDkxLjQsMzcyLjEsODMuNCBNMzk4LjcsMTExLjJoMTYuOFYzMy45bC0xNywzLjd2MjAuOWMtNC4yLTIuNC05LTMuNy0xNC4yLTMuN2MtMTYuMiwwLTI4LjksMTIuNS0yOC45LDI4LjUKCQkJYzAsMTYsMTIuNSwyOC42LDI4LjQsMjguNmM1LjUsMCwxMC42LTEuNywxNC45LTQuOFYxMTEuMnogTTMyMS41LDY4LjVjNS40LDAsOS45LDMuNSwxMS43LDguOEgzMTAKCQkJQzMxMS43LDcxLjgsMzE1LjksNjguNSwzMjEuNSw2OC41IE0yOTIuOCw4My41YzAsMTYuMiwxMy4zLDI4LjgsMzAuMywyOC44YzkuNCwwLDE2LjItMi41LDIzLjItOC40bC0xMS4zLTEwCgkJCWMtMi42LDIuNy02LjUsNC4yLTExLjEsNC4yYy02LjMsMC0xMS41LTMuNS0xMy43LTguOGgzOS42Vjg1YzAtMTcuNy0xMS45LTMwLjQtMjguMS0zMC40QzMwNS42LDU0LjcsMjkyLjgsNjcuMywyOTIuOCw4My41CgkJCSBNMjYzLjUsNTMuMWM2LDAsOS40LDMuOCw5LjQsOC4zcy0zLjQsOC4zLTkuNCw4LjNoLTE3LjlWNTMuMUgyNjMuNXogTTIyNy41LDExMS4yaDE4LjFWODQuNGgxMy44bDEzLjksMjYuOGgyMC4ybC0xNi4yLTI5LjQKCQkJYzguNy0zLjgsMTMuOS0xMS43LDEzLjktMjAuN2MwLTEzLjMtMTAuNC0yMy41LTI2LTIzLjVoLTM3LjdWMTExLjJ6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg== - mediatype: image/svg+xml + - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI3LjQuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxvZ29zIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgODM1LjkgMjQ0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA4MzUuOSAyNDQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojRkZGRkZGO30KCS5zdDF7ZmlsbDojRUUwMDAwO30KPC9zdHlsZT4KPGc+Cgk8Zz4KCQk8cGF0aCBkPSJNMzAxLjMsMTgzLjFjMCw1LjItMSwxMC4xLTMsMTQuN2MtMiw0LjYtNC43LDguNi04LjEsMTJjLTMuNCwzLjQtNy40LDYtMTIuMSw4Yy00LjYsMS45LTkuNiwyLjktMTQuOSwyLjkKCQkJYy01LjMsMC0xMC4yLTEtMTQuOS0yLjljLTQuNi0xLjktOC43LTQuNi0xMi04Yy0zLjQtMy40LTYtNy4zLTgtMTJjLTItNC42LTMtOS41LTMtMTQuN2MwLTUuMiwxLTEwLjEsMy0xNC43YzItNC42LDQuNi04LjYsOC0xMgoJCQljMy40LTMuNCw3LjQtNiwxMi04YzQuNi0xLjksOS42LTIuOSwxNC45LTIuOWM1LjMsMCwxMC4yLDEsMTQuOSwyLjljNC42LDEuOSw4LjcsNC42LDEyLjEsOGMzLjQsMy40LDYuMSw3LjQsOC4xLDEyCgkJCUMzMDAuNCwxNzMsMzAxLjMsMTc3LjksMzAxLjMsMTgzLjF6IE0yOTAuMiwxODMuMWMwLTMuOS0wLjctNy41LTIuMS0xMC45Yy0xLjQtMy40LTMuMy02LjMtNS43LTguN2MtMi40LTIuNS01LjItNC40LTguNS01LjgKCQkJYy0zLjMtMS40LTYuOC0yLjEtMTAuNi0yLjFzLTcuMiwwLjctMTAuNSwyLjFjLTMuMywxLjQtNi4xLDMuMy04LjUsNS44Yy0yLjQsMi41LTQuMyw1LjQtNS43LDguN2MtMS40LDMuNC0yLjEsNy0yLjEsMTAuOQoJCQljMCwzLjksMC43LDcuNSwyLjEsMTAuOWMxLjQsMy40LDMuMyw2LjMsNS43LDguN2MyLjQsMi40LDUuMiw0LjQsOC41LDUuOGMzLjMsMS40LDYuOCwyLjEsMTAuNSwyLjFzNy4zLTAuNywxMC42LTIuMQoJCQljMy4zLTEuNCw2LjEtMy4zLDguNS01LjhjMi40LTIuNCw0LjMtNS4zLDUuNy04LjdDMjg5LjUsMTkwLjYsMjkwLjIsMTg3LDI5MC4yLDE4My4xeiIvPgoJCTxwYXRoIGQ9Ik0zMTEuNiwyNDEuMXYtNzQuNWgxMC4zdjVjMi4yLTEuOSw0LjctMy4zLDcuNS00LjNjMi44LTEsNS43LTEuNSw4LjctMS41YzMuNywwLDcuMiwwLjcsMTAuNSwyLjEKCQkJYzMuMywxLjQsNi4xLDMuNCw4LjUsNS44YzIuNCwyLjUsNC4zLDUuNCw1LjcsOC43YzEuNCwzLjMsMi4xLDYuOSwyLjEsMTAuNmMwLDMuOC0wLjcsNy40LTIuMSwxMC43Yy0xLjQsMy4zLTMuMyw2LjItNS43LDguNwoJCQljLTIuNCwyLjUtNS4zLDQuNC04LjYsNS44Yy0zLjMsMS40LTYuOSwyLjEtMTAuNywyLjFjLTMsMC01LjgtMC41LTguNS0xLjRjLTIuNy0wLjktNS4xLTIuMi03LjMtMy44djI1LjlIMzExLjZ6IE0zMzYuNywxNzQuOAoJCQljLTMuMSwwLTUuOCwwLjYtOC4zLDEuN2MtMi41LDEuMS00LjYsMi42LTYuMyw0LjZ2MjQuMWMxLjcsMS45LDMuOCwzLjQsNi4zLDQuNWMyLjYsMS4xLDUuMywxLjcsOC4zLDEuN2M1LjEsMCw5LjQtMS44LDEyLjgtNS4zCgkJCWMzLjQtMy41LDUuMS03LjgsNS4xLTEyLjljMC01LjItMS44LTkuNi01LjMtMTMuMUMzNDUuOSwxNzYuNiwzNDEuNywxNzQuOCwzMzYuNywxNzQuOHoiLz4KCQk8cGF0aCBkPSJNMzcyLjQsMTkzYzAtMy43LDAuNy03LjMsMi0xMC42YzEuNC0zLjMsMy4yLTYuMiw1LjYtOC43YzIuNC0yLjUsNS4yLTQuNCw4LjQtNS44YzMuMi0xLjQsNi43LTIuMSwxMC41LTIuMQoJCQljMy42LDAsNywwLjcsMTAuMSwyLjFjMy4yLDEuNCw1LjksMy40LDguMSw1LjhjMi4zLDIuNSw0LDUuNCw1LjQsOC44YzEuMywzLjQsMiw3LDIsMTAuOXYzaC00MS44YzAuNyw0LjQsMi43LDgsNiwxMC45CgkJCWMzLjMsMi45LDcuMyw0LjMsMTEuOSw0LjNjMi42LDAsNS0wLjQsNy40LTEuMmMyLjQtMC44LDQuNC0yLDYtMy40bDYuNyw2LjZjLTMuMSwyLjQtNi4zLDQuMi05LjYsNS4zYy0zLjMsMS4xLTYuOSwxLjctMTAuOSwxLjcKCQkJYy0zLjksMC03LjUtMC43LTEwLjktMi4xYy0zLjQtMS40LTYuMy0zLjMtOC44LTUuOGMtMi41LTIuNC00LjUtNS4zLTUuOS04LjdDMzczLjEsMjAwLjUsMzcyLjQsMTk2LjksMzcyLjQsMTkzeiBNMzk4LjcsMTc0LjUKCQkJYy00LDAtNy41LDEuMy0xMC40LDRjLTIuOSwyLjYtNC44LDYtNS41LDEwLjJoMzEuNGMtMC43LTQtMi41LTcuNC01LjQtMTAuMUM0MDUuOSwxNzUuOSw0MDIuNSwxNzQuNSwzOTguNywxNzQuNXoiLz4KCQk8cGF0aCBkPSJNNDM0LjMsMjE5LjV2LTUyLjloMTAuNHY1LjNjMi4xLTIuMSw0LjUtMy43LDcuMS00LjdjMi43LTEuMSw1LjYtMS42LDguOC0xLjZjNiwwLDExLDEuOSwxNC44LDUuOAoJCQljMy44LDMuOSw1LjgsOC44LDUuOCwxNC45djMzLjNoLTEwLjNWMTg4YzAtNC4xLTEuMi03LjMtMy41LTkuOGMtMi40LTIuNC01LjYtMy42LTkuNy0zLjZjLTIuOCwwLTUuMywwLjYtNy41LDEuOAoJCQljLTIuMiwxLjItNC4xLDIuOS01LjUsNS4xdjM4LjFINDM0LjN6Ii8+CgkJPHBhdGggZD0iTTQ4OCwyMDcuNWw2LjctNy43YzMuOSwzLjgsNy45LDYuNywxMiw4LjZjNC4xLDEuOSw4LjUsMi45LDEzLjEsMi45YzUuMywwLDkuNS0xLjEsMTIuOC0zLjRjMy4zLTIuMyw0LjktNS4yLDQuOS04LjcKCQkJYzAtMy4yLTEuMS01LjctMy4zLTcuNGMtMi4yLTEuOC02LTMuMS0xMS40LTRsLTEyLjItMmMtNi43LTEuMS0xMS43LTMuMy0xNS02LjRjLTMuMy0zLjItNC45LTcuMy00LjktMTIuNQoJCQljMC02LjIsMi40LTExLjMsNy4zLTE1LjFjNC45LTMuOCwxMS40LTUuOCwxOS41LTUuOGM1LjEsMCwxMC4zLDAuOCwxNS40LDIuNWM1LjEsMS43LDkuOCw0LjEsMTMuOSw3LjNsLTYsOC4zCgkJCWMtNC0zLTcuOS01LjItMTEuOS02LjdjLTQtMS41LTgtMi4yLTExLjktMi4yYy00LjcsMC04LjUsMS0xMS40LDNjLTIuOSwyLTQuNCw0LjYtNC40LDcuOGMwLDIuOSwxLDUuMiwzLDYuOAoJCQljMiwxLjYsNS4zLDIuOCwxMCwzLjVsMTEuOCwxLjljNy43LDEuMiwxMy4zLDMuNSwxNyw2LjhjMy42LDMuMyw1LjQsNy43LDUuNCwxMy40YzAsMy4zLTAuNyw2LjQtMi4xLDkuMQoJCQljLTEuNCwyLjctMy4zLDUuMS01LjksNy4xYy0yLjUsMi01LjYsMy41LTkuMiw0LjZjLTMuNiwxLjEtNy42LDEuNi0xMS45LDEuNmMtNS44LDAtMTEuNC0xLjEtMTYuOC0zLjQKCQkJQzQ5NywyMTQuOSw0OTIuMiwyMTEuNiw0ODgsMjA3LjV6Ii8+CgkJPHBhdGggZD0iTTU2Ny40LDE0NC41djc1LjFINTU3di03Mi44TDU2Ny40LDE0NC41eiBNNTU3LDIxOS41di01Mi45aDEwLjR2NS4zYzIuMS0yLjEsNC41LTMuNyw3LjEtNC43YzIuNy0xLjEsNS42LTEuNiw4LjgtMS42CgkJCWM2LDAsMTEsMS45LDE0LjgsNS44YzMuOCwzLjksNS44LDguOCw1LjgsMTQuOXYzMy4zaC0xMC4zVjE4OGMwLTQuMS0xLjItNy4zLTMuNS05LjhjLTIuNC0yLjQtNS42LTMuNi05LjctMy42CgkJCWMtMi44LDAtNS4zLDAuNi03LjUsMS44Yy0yLjIsMS4yLTQuMSwyLjktNS41LDUuMXYzOC4xSDU1N3oiLz4KCQk8cGF0aCBkPSJNNjIxLjEsMTU4LjFjLTEuNywwLTMuMi0wLjYtNC41LTEuOWMtMS4zLTEuMy0xLjktMi44LTEuOS00LjVjMC0xLjcsMC42LTMuMiwxLjktNC41YzEuMy0xLjMsMi44LTEuOSw0LjUtMS45CgkJCWMxLjcsMCwzLjIsMC42LDQuNSwxLjljMS4yLDEuMywxLjksMi44LDEuOSw0LjVjMCwxLjctMC42LDMuMi0xLjksNC41QzYyNC40LDE1Ny40LDYyMi45LDE1OC4xLDYyMS4xLDE1OC4xeiBNNjI2LjMsMTY2LjZ2NTIuOQoJCQloLTEwLjR2LTUyLjlINjI2LjN6Ii8+CgkJPHBhdGggZD0iTTYzNC4xLDE2Ni42aDEyLjN2LThjMC01LjMsMS41LTkuNSw0LjYtMTIuNWMzLTMsNy41LTQuNSwxMy40LTQuNWMxLjMsMCwyLjYsMC4xLDMuOSwwLjNjMS4zLDAuMiwyLjUsMC40LDMuNiwwLjd2OQoJCQljLTEuMi0wLjMtMi4zLTAuNi0zLjItMC43Yy0xLTAuMS0yLjEtMC4yLTMuMy0wLjJjLTIuOSwwLTUuMSwwLjctNi41LDJjLTEuNCwxLjMtMi4xLDMuNC0yLjEsNi4ydjcuOGgxNS4ydjguN2gtMTUuMnY0NC4yaC0xMC4zCgkJCXYtNDQuMmgtMTIuM1YxNjYuNnoiLz4KCQk8cGF0aCBkPSJNNjg3LjcsMjA2LjR2LTMxLjFoLTExLjJ2LTguN2gxMS4ydi0xMy41bDEwLjMtMi41djE2aDE1LjZ2OC43SDY5OFYyMDRjMCwyLjcsMC42LDQuNiwxLjgsNS43YzEuMiwxLjEsMy4yLDEuNyw2LDEuNwoJCQljMS41LDAsMi44LTAuMSw0LTAuM2MxLjEtMC4yLDIuMy0wLjUsMy42LTF2OC43Yy0xLjUsMC41LTMuMSwwLjktNC45LDEuMWMtMS44LDAuMy0zLjUsMC40LTUsMC40Yy01LjEsMC05LTEuMi0xMS44LTMuNgoJCQlTNjg3LjcsMjExLDY4Ny43LDIwNi40eiIvPgoJCTxwYXRoIGQ9Ik03MzcsMjE5LjVsMzAuMi03Mi44aDEyLjhsMjkuNyw3Mi44aC0xMS45bC04LjQtMjEuM2gtMzIuNmwtOC41LDIxLjNINzM3eiBNNzYwLjUsMTg5LjJoMjUuNGwtMTIuNy0zMS45TDc2MC41LDE4OS4yeiIvPgoJCTxwYXRoIGQ9Ik04MTcuMiwyMTkuNXYtNzIuOGgxMC45djcyLjhIODE3LjJ6Ii8+Cgk8L2c+Cgk8Zz4KCQk8Zz4KCQkJPHBhdGggY2xhc3M9InN0MSIgZD0iTTEyOSw4NWMxMi41LDAsMzAuNi0yLjYsMzAuNi0xNy41YzAtMS4yLDAtMi4zLTAuMy0zLjRsLTcuNC0zMi40Yy0xLjctNy4xLTMuMi0xMC4zLTE1LjctMTYuNgoJCQkJQzEyNi40LDEwLjIsMTA1LjMsMiw5OSwyYy01LjgsMC03LjUsNy41LTE0LjQsNy41Yy02LjcsMC0xMS42LTUuNi0xNy45LTUuNmMtNiwwLTkuOSw0LjEtMTIuOSwxMi41YzAsMC04LjQsMjMuNy05LjUsMjcuMgoJCQkJQzQ0LDQ0LjMsNDQsNDUsNDQsNDUuNUM0NCw1NC44LDgwLjMsODUsMTI5LDg1IE0xNjEuNSw3My42YzEuNyw4LjIsMS43LDkuMSwxLjcsMTAuMWMwLDE0LTE1LjcsMjEuOC0zNi40LDIxLjgKCQkJCUM4MCwxMDUuNSwzOS4xLDc4LjEsMzkuMSw2MGMwLTIuOCwwLjYtNS40LDEuNS03LjNDMjMuOCw1My41LDIsNTYuNSwyLDc1LjdDMiwxMDcuMiw3Ni42LDE0NiwxMzUuNywxNDYKCQkJCWM0NS4zLDAsNTYuNy0yMC41LDU2LjctMzYuNkMxOTIuMyw5Ni42LDE4MS40LDgyLjIsMTYxLjUsNzMuNiIvPgoJCQk8cGF0aCBkPSJNMTYxLjUsNzMuNmMxLjcsOC4yLDEuNyw5LjEsMS43LDEwLjFjMCwxNC0xNS43LDIxLjgtMzYuNCwyMS44QzgwLDEwNS41LDM5LjEsNzguMSwzOS4xLDYwYzAtMi44LDAuNi01LjQsMS41LTcuMwoJCQkJbDMuNy05LjFDNDQsNDQuMyw0NCw0NSw0NCw0NS41QzQ0LDU0LjgsODAuMyw4NSwxMjksODVjMTIuNSwwLDMwLjYtMi42LDMwLjYtMTcuNWMwLTEuMiwwLTIuMy0wLjMtMy40TDE2MS41LDczLjZ6Ii8+CgkJPC9nPgoJCTxwYXRoIGQ9Ik01ODEuMiw5NC4zYzAsMTEuOSw3LjIsMTcuNywyMC4yLDE3LjdjMy4yLDAsOC42LTAuNywxMS45LTEuN1Y5Ni41Yy0yLjgsMC44LTQuOSwxLjItNy43LDEuMmMtNS40LDAtNy40LTEuNy03LjQtNi43CgkJCVY2OS44aDE1LjZWNTUuNmgtMTUuNnYtMThsLTE3LDMuN3YxNC4zSDU3MHYxNC4yaDExLjNWOTQuM3ogTTUyOC4zLDk0LjZjMC0zLjcsMy43LTUuNSw5LjMtNS41YzMuNywwLDcsMC41LDEwLjEsMS4zdjcuMgoJCQljLTMuMiwxLjgtNi44LDIuNi0xMC42LDIuNkM1MzEuNiwxMDAuMiw1MjguMyw5OC4xLDUyOC4zLDk0LjYgTTUzMy41LDExMi4yYzYsMCwxMC44LTEuMywxNS40LTQuM3YzLjRoMTYuOFY3NS42CgkJCWMwLTEzLjYtOS4xLTIxLTI0LjQtMjFjLTguNSwwLTE2LjksMi0yNiw2LjFsNi4xLDEyLjVjNi41LTIuNywxMi00LjQsMTYuOC00LjRjNywwLDEwLjYsMi43LDEwLjYsOC4zdjIuNwoJCQljLTQtMS4xLTguMi0xLjYtMTIuNi0xLjZjLTE0LjMsMC0yMi45LDYtMjIuOSwxNi43QzUxMy4zLDEwNC43LDUyMS4xLDExMi4yLDUzMy41LDExMi4yIE00NDEuMSwxMTEuMmgxOC4xVjgyLjRoMzAuM3YyOC44aDE4LjEKCQkJVjM3LjZoLTE4LjF2MjguM2gtMzAuM1YzNy42aC0xOC4xVjExMS4yeiBNMzcyLjEsODMuNGMwLTgsNi4zLTE0LjEsMTQuNi0xNC4xYzQuNiwwLDguOCwxLjYsMTEuOCw0LjNWOTNjLTMsMi45LTcsNC40LTExLjgsNC40CgkJCUMzNzguNSw5Ny41LDM3Mi4xLDkxLjQsMzcyLjEsODMuNCBNMzk4LjcsMTExLjJoMTYuOFYzMy45bC0xNywzLjd2MjAuOWMtNC4yLTIuNC05LTMuNy0xNC4yLTMuN2MtMTYuMiwwLTI4LjksMTIuNS0yOC45LDI4LjUKCQkJYzAsMTYsMTIuNSwyOC42LDI4LjQsMjguNmM1LjUsMCwxMC42LTEuNywxNC45LTQuOFYxMTEuMnogTTMyMS41LDY4LjVjNS40LDAsOS45LDMuNSwxMS43LDguOEgzMTAKCQkJQzMxMS43LDcxLjgsMzE1LjksNjguNSwzMjEuNSw2OC41IE0yOTIuOCw4My41YzAsMTYuMiwxMy4zLDI4LjgsMzAuMywyOC44YzkuNCwwLDE2LjItMi41LDIzLjItOC40bC0xMS4zLTEwCgkJCWMtMi42LDIuNy02LjUsNC4yLTExLjEsNC4yYy02LjMsMC0xMS41LTMuNS0xMy43LTguOGgzOS42Vjg1YzAtMTcuNy0xMS45LTMwLjQtMjguMS0zMC40QzMwNS42LDU0LjcsMjkyLjgsNjcuMywyOTIuOCw4My41CgkJCSBNMjYzLjUsNTMuMWM2LDAsOS40LDMuOCw5LjQsOC4zcy0zLjQsOC4zLTkuNCw4LjNoLTE3LjlWNTMuMUgyNjMuNXogTTIyNy41LDExMS4yaDE4LjFWODQuNGgxMy44bDEzLjksMjYuOGgyMC4ybC0xNi4yLTI5LjQKCQkJYzguNy0zLjgsMTMuOS0xMS43LDEzLjktMjAuN2MwLTEzLjMtMTAuNC0yMy41LTI2LTIzLjVoLTM3LjdWMTExLjJ6Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg== + mediatype: image/svg+xml + provider: + name: Red Hat + maintainers: + - name: Red Hat + email: managed-open-data-hub@redhat.com + keywords: + - Operator + - OpenShift + - Open Data Hub + - opendatahub + - Red Hat OpenShift AI + - notebooks + - serving + - training + - kserve + - distributed-workloads + links: + - name: Red Hat OpenShift AI + url: https://www.redhat.com/en/technologies/cloud-computing/openshift/openshift-ai install: + strategy: deployment spec: clusterPermissions: - - rules: - - apiGroups: - - '*' - resources: - - customresourcedefinitions - verbs: - - get - - list - - watch - - apiGroups: - - '*' - resources: - - deployments - verbs: - - '*' - - apiGroups: - - '*' - resources: - - replicasets - verbs: - - '*' - - apiGroups: - - '*' - resources: - - services - verbs: - - '*' - - apiGroups: - - '*' - resources: - - statefulsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - addons.managed.openshift.io - resources: - - addons - verbs: - - get - - apiGroups: - - admissionregistration.k8s.io - resources: - - mutatingwebhookconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - admissionregistration.k8s.io - resources: - - validatingwebhookconfigurations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - delete - - get - - list - - patch - - watch - - apiGroups: - - apiregistration.k8s.io - resources: - - apiservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - apps - resources: - - deployments - verbs: - - '*' - - apiGroups: - - apps - resources: - - deployments/finalizers - verbs: - - '*' - - apiGroups: - - apps - resources: - - replicasets - verbs: - - '*' - - apiGroups: - - apps - resources: - - statefulsets - verbs: - - '*' - - apiGroups: - - argoproj.io - resources: - - workflows - verbs: - - '*' - - apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create - - get - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create - - get - - apiGroups: - - authorization.openshift.io - resources: - - clusterrolebindings - verbs: - - '*' - - apiGroups: - - authorization.openshift.io - resources: - - clusterroles - verbs: - - '*' - - apiGroups: - - authorization.openshift.io - resources: - - rolebindings - verbs: - - '*' - - apiGroups: - - authorization.openshift.io - resources: - - roles - verbs: - - '*' - - apiGroups: - - autoscaling - resources: - - horizontalpodautoscalers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - autoscaling.openshift.io - resources: - - machineautoscalers - verbs: - - delete - - get - - list - - patch - - apiGroups: - - autoscaling.openshift.io - resources: - - machinesets - verbs: - - delete - - get - - list - - patch - - apiGroups: - - batch - resources: - - cronjobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - batch - resources: - - jobs - verbs: - - '*' - - apiGroups: - - batch - resources: - - jobs/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - build.openshift.io - resources: - - buildconfigs - verbs: - - create - - delete - - get - - list - - patch - - watch - - apiGroups: - - build.openshift.io - resources: - - buildconfigs/instantiate - verbs: - - create - - delete - - get - - list - - patch - - watch - - apiGroups: - - build.openshift.io - resources: - - builds - verbs: - - create - - delete - - get - - list - - patch - - watch - - apiGroups: - - cert-manager.io - resources: - - certificates - - issuers - verbs: - - create - - patch - - apiGroups: - - codeflare.codeflare.dev - resources: - - instascales - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - codeflare.codeflare.dev - resources: - - mcads - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - config.openshift.io - resources: - - clusterversions - verbs: - - get - - list - - watch - - apiGroups: - - config.openshift.io - resources: - - ingresses - verbs: - - get - - apiGroups: - - console.openshift.io - resources: - - consolelinks - verbs: - - create - - delete - - get - - patch - - apiGroups: - - console.openshift.io - resources: - - odhquickstarts - verbs: - - create - - delete - - get - - list - - patch - - apiGroups: - - controller-runtime.sigs.k8s.io - resources: - - controllermanagerconfigs - verbs: - - create - - delete - - get - - patch - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - clusterversions - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - configmaps/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - "" - resources: - - deployments - verbs: - - '*' - - apiGroups: - - "" - resources: - - endpoints - verbs: - - create - - delete - - get - - list - - update - - watch - - apiGroups: - - "" - resources: - - events - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - namespaces - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - namespaces/finalizers - verbs: - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - persistentvolumeclaims - verbs: - - '*' - - apiGroups: - - "" - resources: - - persistentvolumes - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods/exec - verbs: - - '*' - - apiGroups: - - "" - resources: - - pods/log - verbs: - - '*' - - apiGroups: - - "" - resources: - - rhmis - verbs: - - get - - list - - watch - - apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - secrets/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - services - verbs: - - '*' - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - "" - resources: - - services/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - custom.tekton.dev - resources: - - pipelineloops - verbs: - - '*' - - apiGroups: - - dashboard.opendatahub.io - resources: - - acceleratorprofiles - verbs: - - create - - delete - - get - - list - - patch - - apiGroups: - - dashboard.opendatahub.io - resources: - - odhapplications - verbs: - - create - - delete - - get - - list - - patch - - apiGroups: - - dashboard.opendatahub.io - resources: - - odhdocuments - verbs: - - create - - delete - - get - - list - - patch - - apiGroups: - - datasciencecluster.opendatahub.io - resources: - - datascienceclusters - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - datasciencecluster.opendatahub.io - resources: - - datascienceclusters/finalizers - verbs: - - patch - - update - - apiGroups: - - datasciencecluster.opendatahub.io - resources: - - datascienceclusters/status - verbs: - - get - - patch - - update - - apiGroups: - - datasciencepipelinesapplications.opendatahub.io - resources: - - datasciencepipelinesapplications - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - datasciencepipelinesapplications.opendatahub.io - resources: - - datasciencepipelinesapplications/finalizers - verbs: - - get - - patch - - update - - apiGroups: - - datasciencepipelinesapplications.opendatahub.io - resources: - - datasciencepipelinesapplications/status - verbs: - - get - - patch - - update - - apiGroups: - - dscinitialization.opendatahub.io - resources: - - dscinitializations - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - dscinitialization.opendatahub.io - resources: - - dscinitializations/finalizers - verbs: - - delete - - get - - patch - - update - - apiGroups: - - dscinitialization.opendatahub.io - resources: - - dscinitializations/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - events.k8s.io - resources: - - events - verbs: - - delete - - get - - list - - patch - - watch - - apiGroups: - - extensions - resources: - - deployments - verbs: - - '*' - - apiGroups: - - extensions - resources: - - ingresses - verbs: - - delete - - get - - list - - patch - - watch - - apiGroups: - - extensions - resources: - - replicasets - verbs: - - '*' - - apiGroups: - - features.opendatahub.io - resources: - - featuretrackers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - features.opendatahub.io - resources: - - featuretrackers/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - image.openshift.io - resources: - - imagestreams - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - image.openshift.io - resources: - - imagestreamtags - verbs: - - get - - apiGroups: - - image.openshift.io - resources: - - registry/metrics - verbs: - - get - - apiGroups: - - integreatly.org - resources: - - rhmis - verbs: - - delete - - get - - list - - patch - - watch - - apiGroups: - - kfdef.apps.kubeflow.org - resources: - - kfdefs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - kubeflow.org - resources: - - '*' - verbs: - - '*' - - apiGroups: - - machine.openshift.io - resources: - - machineautoscalers - verbs: - - delete - - get - - list - - patch - - apiGroups: - - machine.openshift.io - resources: - - machinesets - verbs: - - delete - - get - - list - - patch - - apiGroups: - - machinelearning.seldon.io - resources: - - seldondeployments - verbs: - - '*' - - apiGroups: - - maistra.io - resources: - - servicemeshcontrolplanes - verbs: - - create - - get - - list - - patch - - update - - use - - watch - - apiGroups: - - maistra.io - resources: - - servicemeshmemberrolls - verbs: - - create - - get - - list - - patch - - update - - use - - watch - - apiGroups: - - maistra.io - resources: - - servicemeshmembers - verbs: - - create - - get - - list - - patch - - update - - use - - watch - - apiGroups: - - maistra.io - resources: - - servicemeshmembers/finalizers - verbs: - - create - - get - - list - - patch - - update - - use - - watch - - apiGroups: - - mcad.ibm.com - resources: - - appwrappers - verbs: - - create - - delete - - get - - list - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagerconfigs - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers/finalizers - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers/status - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - podmonitors - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - monitoring.coreos.com - resources: - - probes - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - prometheuses - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - prometheuses/finalizers - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - prometheuses/status - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - prometheusrules - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - servicemonitors - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - monitoring.coreos.com - resources: - - thanosrulers - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - thanosrulers/finalizers - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - monitoring.coreos.com - resources: - - thanosrulers/status - verbs: - - create - - delete - - deletecollection - - get - - patch - - apiGroups: - - networking.istio.io - resources: - - gateways - verbs: - - '*' - - apiGroups: - - networking.istio.io - resources: - - virtualservices - verbs: - - '*' - - apiGroups: - - networking.istio.io - resources: - - virtualservices/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - networking.istio.io - resources: - - virtualservices/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - networking.k8s.io - resources: - - ingresses - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - networking.k8s.io - resources: - - networkpolicies - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - oauth.openshift.io - resources: - - oauthclients - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - opendatahub.io - resources: - - odhdashboardconfigs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - operator.knative.dev - resources: - - knativeservings - verbs: - - '*' - - apiGroups: - - operator.openshift.io - resources: - - consoles - verbs: - - delete - - get - - list - - patch - - watch - - apiGroups: - - operators.coreos.com - resources: - - catalogsources - verbs: - - get - - list - - watch - - apiGroups: - - operators.coreos.com - resources: - - clusterserviceversions - verbs: - - delete - - get - - list - - update - - watch - - apiGroups: - - operators.coreos.com - resources: - - customresourcedefinitions - verbs: - - create - - delete - - get - - patch - - apiGroups: - - operators.coreos.com - resources: - - operatorconditions - verbs: - - get - - list - - watch - - apiGroups: - - operators.coreos.com - resources: - - subscriptions - verbs: - - delete - - get - - list - - watch - - apiGroups: - - ray.io - resources: - - rayclusters - verbs: - - create - - delete - - get - - list - - patch - - apiGroups: - - ray.io - resources: - - rayjobs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - ray.io - resources: - - rayservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - verbs: - - '*' - - apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterroles - verbs: - - '*' - - apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - verbs: - - '*' - - apiGroups: - - rbac.authorization.k8s.io - resources: - - roles - verbs: - - '*' - - apiGroups: - - route.openshift.io - resources: - - routers/federate - verbs: - - get - - apiGroups: - - route.openshift.io - resources: - - routers/metrics - verbs: - - get - - apiGroups: - - route.openshift.io - resources: - - routes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - security.openshift.io - resources: - - securitycontextconstraints - verbs: - - '*' - - apiGroups: - - security.openshift.io - resourceNames: - - anyuid - resources: - - securitycontextconstraints - verbs: - - '*' - - apiGroups: - - security.openshift.io - resourceNames: - - restricted - resources: - - securitycontextconstraints - verbs: - - '*' - - apiGroups: - - serving.knative.dev - resources: - - services - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.knative.dev - resources: - - services/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.knative.dev - resources: - - services/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - clusterservingruntimes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - clusterservingruntimes/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - clusterservingruntimes/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - inferencegraphs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - inferencegraphs/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - inferenceservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - inferenceservices/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - inferenceservices/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - predictors - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - predictors/finalizers - verbs: - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - predictors/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - servingruntimes - verbs: - - '*' - - apiGroups: - - serving.kserve.io - resources: - - servingruntimes/finalizers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - servingruntimes/status - verbs: - - get - - patch - - update - - apiGroups: - - serving.kserve.io - resources: - - trainedmodels - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - serving.kserve.io - resources: - - trainedmodels/status - verbs: - - delete - - get - - patch - - update - - apiGroups: - - snapshot.storage.k8s.io - resources: - - volumesnapshots - verbs: - - create - - delete - - get - - patch - - apiGroups: - - tekton.dev - resources: - - '*' - verbs: - - '*' - - apiGroups: - - template.openshift.io - resources: - - templates - verbs: - - '*' - - apiGroups: - - trustyai.opendatahub.io - resources: - - trustyaiservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch - - apiGroups: - - trustyai.opendatahub.io - resources: - - trustyaiservices/finalizers - verbs: - - update - - apiGroups: - - trustyai.opendatahub.io - resources: - - trustyaiservices/status - verbs: - - get - - patch - - update - - apiGroups: - - user.openshift.io - resources: - - groups - verbs: - - create - - delete - - get - - list - - patch - - watch - - apiGroups: - - user.openshift.io - resources: - - users - verbs: - - delete - - get - - list - - patch - - watch - - apiGroups: - - workload.codeflare.dev - resources: - - appwrappers - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - workload.codeflare.dev - resources: - - appwrappers/finalizers - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - workload.codeflare.dev - resources: - - appwrappers/status - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - workload.codeflare.dev - resources: - - queuejobs - verbs: - - create - - delete - - deletecollection - - get - - list - - patch - - update - - watch - - apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create - serviceAccountName: redhat-ods-operator-controller-manager + - rules: + - apiGroups: + - '*' + resources: + - customresourcedefinitions + verbs: + - get + - list + - watch + - apiGroups: + - '*' + resources: + - deployments + verbs: + - '*' + - apiGroups: + - '*' + resources: + - replicasets + verbs: + - '*' + - apiGroups: + - '*' + resources: + - services + verbs: + - '*' + - apiGroups: + - '*' + resources: + - statefulsets + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - addons.managed.openshift.io + resources: + - addons + verbs: + - get + - apiGroups: + - admissionregistration.k8s.io + resources: + - mutatingwebhookconfigurations + verbs: + - create + - delete + - list + - get + - patch + - update + - watch + - apiGroups: + - admissionregistration.k8s.io + resources: + - validatingwebhookconfigurations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - create + - delete + - get + - list + - patch + - watch + - apiGroups: + - apiregistration.k8s.io + resources: + - apiservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - apps + resources: + - deployments + verbs: + - '*' + - apiGroups: + - apps + resources: + - deployments/finalizers + verbs: + - '*' + - apiGroups: + - apps + resources: + - replicasets + verbs: + - '*' + - apiGroups: + - apps + resources: + - statefulsets + verbs: + - '*' + - apiGroups: + - argoproj.io + resources: + - workflows + verbs: + - '*' + - apiGroups: + - authorization.openshift.io + resources: + - clusterrolebindings + verbs: + - '*' + - apiGroups: + - authorization.openshift.io + resources: + - clusterroles + verbs: + - '*' + - apiGroups: + - authorization.openshift.io + resources: + - rolebindings + verbs: + - '*' + - apiGroups: + - authorization.openshift.io + resources: + - roles + verbs: + - '*' + - apiGroups: + - autoscaling + resources: + - horizontalpodautoscalers + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - autoscaling.openshift.io + resources: + - machineautoscalers + verbs: + - delete + - list + - patch + - get + - apiGroups: + - autoscaling.openshift.io + resources: + - machinesets + verbs: + - delete + - list + - patch + - get + - apiGroups: + - batch + resources: + - cronjobs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - batch + resources: + - jobs + verbs: + - '*' + - apiGroups: + - batch + resources: + - jobs/status + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - build.openshift.io + resources: + - buildconfigs + verbs: + - create + - delete + - list + - patch + - watch + - get + - apiGroups: + - build.openshift.io + resources: + - buildconfigs/instantiate + verbs: + - create + - delete + - get + - list + - patch + - watch + - apiGroups: + - build.openshift.io + resources: + - builds + verbs: + - create + - delete + - list + - patch + - watch + - get + - apiGroups: + - cert-manager.io + resources: + - certificates + - issuers + verbs: + - create + - patch + - get + - apiGroups: + - codeflare.codeflare.dev + resources: + - instascales + verbs: + - create + - patch + - delete + - get + - list + - watch + - update + - apiGroups: + - codeflare.codeflare.dev + resources: + - mcads + verbs: + - create + - patch + - delete + - get + - list + - update + - watch + - apiGroups: + - config.openshift.io + resources: + - clusterversions + verbs: + - list + - watch + - apiGroups: + - config.openshift.io + resources: + - ingresses + verbs: + - get + - apiGroups: + - console.openshift.io + resources: + - consolelinks + verbs: + - create + - delete + - get + - patch + - apiGroups: + - console.openshift.io + resources: + - odhquickstarts + verbs: + - create + - delete + - get + - list + - patch + - apiGroups: + - controller-runtime.sigs.k8s.io + resources: + - controllermanagerconfigs + verbs: + - create + - delete + - get + - patch + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - clusterversions + verbs: + - list + - watch + - get + - apiGroups: + - "" + resources: + - configmaps + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - configmaps/status + verbs: + - delete + - get + - patch + - update + - apiGroups: + - "" + resources: + - deployments + verbs: + - '*' + - apiGroups: + - "" + resources: + - endpoints + verbs: + - list + - watch + - get + - apiGroups: + - "" + resources: + - events + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - namespaces/finalizers + verbs: + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - '*' + - apiGroups: + - "" + resources: + - persistentvolumes + verbs: + - '*' + - apiGroups: + - "" + resources: + - pods + verbs: + - '*' + - apiGroups: + - "" + resources: + - pods/exec + verbs: + - '*' + - apiGroups: + - "" + resources: + - pods/log + verbs: + - '*' + - apiGroups: + - "" + resources: + - rhmis + verbs: + - list + - watch + - get + - apiGroups: + - "" + resources: + - secrets + verbs: + - create + - get + - watch + - delete + - list + - patch + - update + - apiGroups: + - "" + resources: + - secrets/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - services + verbs: + - '*' + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - "" + resources: + - services/finalizers + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - custom.tekton.dev + resources: + - pipelineloops + verbs: + - '*' + - apiGroups: + - dashboard.opendatahub.io + resources: + - odhapplications + verbs: + - create + - delete + - get + - list + - patch + - apiGroups: + - dashboard.opendatahub.io + resources: + - odhdocuments + verbs: + - create + - delete + - get + - list + - patch + - apiGroups: + - datasciencecluster.opendatahub.io + resources: + - datascienceclusters + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - datasciencecluster.opendatahub.io + resources: + - datascienceclusters/finalizers + verbs: + - patch + - update + - get + - apiGroups: + - datasciencecluster.opendatahub.io + resources: + - datascienceclusters/status + verbs: + - get + - patch + - update + - apiGroups: + - datasciencepipelinesapplications.opendatahub.io + resources: + - datasciencepipelinesapplications + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - datasciencepipelinesapplications.opendatahub.io + resources: + - datasciencepipelinesapplications/finalizers + verbs: + - patch + - update + - get + - apiGroups: + - datasciencepipelinesapplications.opendatahub.io + resources: + - datasciencepipelinesapplications/status + verbs: + - patch + - update + - get + - apiGroups: + - dscinitialization.opendatahub.io + resources: + - dscinitializations + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - dscinitialization.opendatahub.io + resources: + - dscinitializations/finalizers + verbs: + - get + - delete + - patch + - update + - apiGroups: + - dscinitialization.opendatahub.io + resources: + - dscinitializations/status + verbs: + - delete + - get + - patch + - update + - apiGroups: + - events.k8s.io + resources: + - events + verbs: + - delete + - list + - patch + - watch + - get + - apiGroups: + - extensions + resources: + - deployments + verbs: + - '*' + - apiGroups: + - extensions + resources: + - ingresses + verbs: + - delete + - get + - list + - patch + - watch + - apiGroups: + - extensions + resources: + - replicasets + verbs: + - '*' + - apiGroups: + - features.opendatahub.io + resources: + - featuretrackers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - features.opendatahub.io + resources: + - featuretrackers/status + verbs: + - delete + - get + - patch + - update + - apiGroups: + - image.openshift.io + resources: + - imagestreams + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - image.openshift.io + resources: + - imagestreamtags + verbs: + - get + - apiGroups: + - integreatly.org + resources: + - rhmis + verbs: + - delete + - list + - patch + - watch + - get + - apiGroups: + - kfdef.apps.kubeflow.org + resources: + - kfdefs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - kubeflow.org + resources: + - '*' + verbs: + - '*' + - apiGroups: + - machine.openshift.io + resources: + - machineautoscalers + verbs: + - delete + - list + - patch + - get + - apiGroups: + - machine.openshift.io + resources: + - machinesets + verbs: + - delete + - list + - patch + - get + - apiGroups: + - machinelearning.seldon.io + resources: + - seldondeployments + verbs: + - '*' + - apiGroups: + - maistra.io + resources: + - servicemeshcontrolplanes + verbs: + - create + - get + - list + - patch + - update + - use + - watch + - apiGroups: + - maistra.io + resources: + - servicemeshmemberrolls + verbs: + - create + - get + - list + - patch + - update + - use + - watch + - apiGroups: + - maistra.io + resources: + - servicemeshmembers + verbs: + - create + - get + - list + - patch + - update + - use + - watch + - apiGroups: + - maistra.io + resources: + - servicemeshmembers/finalizers + verbs: + - create + - get + - list + - patch + - update + - use + - watch + - apiGroups: + - mcad.ibm.com + resources: + - appwrappers + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - workload.codeflare.dev + resources: + - appwrappers + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - workload.codeflare.dev + resources: + - appwrappers/finalizers + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - workload.codeflare.dev + resources: + - appwrappers/status + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - workload.codeflare.dev + resources: + - queuejobs + verbs: + - create + - delete + - deletecollection + - get + - list + - patch + - update + - watch + - apiGroups: + - monitoring.coreos.com + resources: + - podmonitors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - monitoring.coreos.com + resources: + - prometheuses + verbs: + - create + - delete + - get + - patch + - apiGroups: + - monitoring.coreos.com + resources: + - prometheusrules + verbs: + - create + - delete + - get + - patch + - apiGroups: + - monitoring.coreos.com + resources: + - servicemonitors + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.istio.io + resources: + - gateways + verbs: + - '*' + - apiGroups: + - networking.istio.io + resources: + - virtualservices + verbs: + - '*' + - apiGroups: + - networking.istio.io + resources: + - virtualservices/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.istio.io + resources: + - virtualservices/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - oauth.openshift.io + resources: + - oauthclients + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - opendatahub.io + resources: + - odhdashboardconfigs + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - operator.knative.dev + resources: + - knativeservings + verbs: + - '*' + - apiGroups: + - operator.openshift.io + resources: + - consoles + verbs: + - delete + - list + - patch + - watch + - get + - apiGroups: + - operators.coreos.com + resources: + - catalogsources + verbs: + - get + - list + - watch + - apiGroups: + - operators.coreos.com + resources: + - clusterserviceversions + verbs: + - delete + - get + - list + - update + - watch + - apiGroups: + - operators.coreos.com + resources: + - customresourcedefinitions + verbs: + - create + - delete + - get + - patch + - apiGroups: + - operators.coreos.com + resources: + - operatorconditions + verbs: + - get + - list + - watch + - apiGroups: + - operators.coreos.com + resources: + - subscriptions + verbs: + - delete + - get + - list + - watch + - apiGroups: + - ray.io + resources: + - rayclusters + verbs: + - create + - delete + - list + - patch + - get + - apiGroups: + - ray.io + resources: + - rayjobs + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - ray.io + resources: + - rayservices + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterrolebindings + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - clusterroles + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - rolebindings + verbs: + - '*' + - apiGroups: + - rbac.authorization.k8s.io + resources: + - roles + verbs: + - '*' + - apiGroups: + - route.openshift.io + resources: + - routers/federate + verbs: + - get + - apiGroups: + - route.openshift.io + resources: + - routers/metrics + verbs: + - get + - apiGroups: + - route.openshift.io + resources: + - routes + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - security.istio.io + resources: + - peerauthentications + verbs: + - create + - get + - list + - patch + - update + - use + - watch + - apiGroups: + - security.openshift.io + resources: + - securitycontextconstraints + verbs: + - '*' + - apiGroups: + - security.openshift.io + resourceNames: + - anyuid + resources: + - securitycontextconstraints + verbs: + - '*' + - apiGroups: + - security.openshift.io + resourceNames: + - restricted + resources: + - securitycontextconstraints + verbs: + - '*' + - apiGroups: + - serving.knative.dev + resources: + - services + verbs: + - create + - delete + - list + - patch + - update + - get + - watch + - apiGroups: + - serving.knative.dev + resources: + - services/finalizers + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - serving.knative.dev + resources: + - services/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - clusterservingruntimes + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - serving.kserve.io + resources: + - clusterservingruntimes/finalizers + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - serving.kserve.io + resources: + - clusterservingruntimes/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - inferencegraphs + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - serving.kserve.io + resources: + - inferencegraphs/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - inferenceservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - serving.kserve.io + resources: + - inferenceservices/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - serving.kserve.io + resources: + - inferenceservices/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - predictors + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - serving.kserve.io + resources: + - predictors/finalizers + verbs: + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - predictors/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - servingruntimes + verbs: + - '*' + - apiGroups: + - serving.kserve.io + resources: + - servingruntimes/finalizers + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - serving.kserve.io + resources: + - servingruntimes/status + verbs: + - patch + - update + - get + - apiGroups: + - serving.kserve.io + resources: + - trainedmodels + verbs: + - create + - delete + - list + - patch + - update + - watch + - get + - apiGroups: + - serving.kserve.io + resources: + - trainedmodels/status + verbs: + - delete + - patch + - update + - get + - apiGroups: + - snapshot.storage.k8s.io + resources: + - volumesnapshots + verbs: + - create + - delete + - patch + - get + - apiGroups: + - tekton.dev + resources: + - '*' + verbs: + - '*' + - apiGroups: + - telemetry.istio.io + resources: + - telemetries + verbs: + - create + - get + - list + - patch + - update + - use + - watch + - apiGroups: + - template.openshift.io + resources: + - templates + verbs: + - '*' + - apiGroups: + - trustyai.opendatahub.io + resources: + - trustyaiservices + verbs: + - create + - delete + - get + - list + - patch + - update + - watch + - apiGroups: + - trustyai.opendatahub.io + resources: + - trustyaiservices/finalizers + verbs: + - update + - get + - apiGroups: + - trustyai.opendatahub.io + resources: + - trustyaiservices/status + verbs: + - get + - patch + - update + - apiGroups: + - user.openshift.io + resources: + - groups + verbs: + - create + - delete + - get + - list + - patch + - watch + - apiGroups: + - user.openshift.io + resources: + - users + verbs: + - delete + - list + - patch + - watch + - get + - apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create + - get + - apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create + - get + - apiGroups: + - dashboard.opendatahub.io + resources: + - acceleratorprofiles + verbs: + - create + - delete + - get + - list + - patch + serviceAccountName: redhat-ods-operator-controller-manager deployments: - - label: - control-plane: controller-manager - name: redhat-ods-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: - - --health-probe-bind-address=:8081 - - --metrics-bind-address=0.0.0.0:8080 - - --leader-elect - command: - - /manager - image: REPLACE_IMAGE:latest - imagePullPolicy: Always - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 15 - periodSeconds: 20 - name: manager - readinessProbe: - httpGet: - path: /readyz - port: 8081 - initialDelaySeconds: 5 - periodSeconds: 10 - resources: - limits: - cpu: 500m - memory: 4Gi - requests: - cpu: 500m - memory: 256Mi - securityContext: - runAsNonRoot: true - serviceAccountName: redhat-ods-operator-controller-manager - terminationGracePeriodSeconds: 10 + - label: + name: rhods-operator + name: rhods-operator + spec: + replicas: 1 + selector: + matchLabels: + name: rhods-operator + strategy: {} + template: + metadata: + annotations: + kubectl.kubernetes.io/default-container: manager + labels: + name: rhods-operator + spec: + containers: + - name: rhods-operator + image: REPLACE_IMAGE:latest + imagePullPolicy: + Always + args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=0.0.0.0:8080 + - --leader-elect + env: + - name: OPERATOR_NAME + value: rhods-operator + command: + - /manager + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 15 + periodSeconds: 20 + ports: + - containerPort: 8080 + name: http + protocol: TCP + readinessProbe: + httpGet: + path: /readyz + port: 8081 + initialDelaySeconds: 5 + periodSeconds: 10 + resources: + limits: + cpu: 500m + memory: 4Gi + requests: + cpu: 500m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + serviceAccountName: redhat-ods-operator-controller-manager + terminationGracePeriodSeconds: 10 permissions: - - rules: - - apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete - - apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - watch - - create - - update - - patch - - delete - - apiGroups: - - "" - resources: - - events - verbs: - - create - - patch - serviceAccountName: redhat-ods-operator-controller-manager - strategy: deployment - installModes: - - supported: false - type: OwnNamespace - - supported: false - type: SingleNamespace - - supported: false - type: MultiNamespace - - supported: true - type: AllNamespaces - keywords: - - OpenShift - - Open Data Hub - - opendatahub - - Red Hat OpenShift AI - - notebooks - - serving - - training - - kserve - - distributed-workloads - - trustyai - links: - - name: Red Hat OpenShift AI - url: https://www.redhat.com/en/technologies/cloud-computing/openshift/openshift-ai - minKubeVersion: 1.22.0 - provider: - name: Red Hat - version: 2.8.0 + - rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete + - apiGroups: + - "" + resources: + - events + verbs: + - create + - patch + serviceAccountName: redhat-ods-operator-controller-manager