diff --git a/.wordlist-md b/.wordlist-md index e2bd91ca..a651e77e 100644 --- a/.wordlist-md +++ b/.wordlist-md @@ -17,12 +17,17 @@ CICD CRD CRDs CheCluster +ClusterPolicy ClusterRoleBindings ClusterTask +CodeFlare CodeReady Codeflare +ConfigMap +DCGM DNS DataScienceCluster +DataSciencePipelines Dev DevSpaces DevWorkspace @@ -43,6 +48,7 @@ IgnoreExtraneous JSON Jaeger Jenkins +KServe Kafka Keycloak Kibana @@ -59,6 +65,7 @@ MTA MachineConfig MachineSet Minio +ModelMesh MultiClusterHub NFD NMState @@ -80,6 +87,7 @@ Querier RBAC README RHACM +RHOAI Rollout SAR SDKs @@ -118,6 +126,7 @@ approver argocd argoproj arn +auth authorino autoscaling aws @@ -129,11 +138,14 @@ checluster cicd cli clusterissuer +clusterpolicies clusterrolebinding composable config configmap +culler datasource +dcgmExporter deployable dev devfile @@ -171,10 +183,14 @@ io jaeger jenkins json +jsonpath kafka kataconfig kiali knative +kubeadmin +kubectl +kubernetes kustomization kustomize labeler @@ -211,10 +227,13 @@ postgres pre prem prometheus +pvc redhat redistributions repo +rh rhel +rhoai rhpds runtime sagemaker @@ -233,6 +252,7 @@ tekton templating thanos traefik +triton truly vSphere vscode diff --git a/openshift-ai b/openshift-ai new file mode 120000 index 00000000..2a28d2cd --- /dev/null +++ b/openshift-ai @@ -0,0 +1 @@ +rhods-operator \ No newline at end of file diff --git a/openshift-ai/INFO.md b/openshift-ai/INFO.md deleted file mode 100644 index d64dc55d..00000000 --- a/openshift-ai/INFO.md +++ /dev/null @@ -1,16 +0,0 @@ -# Red Hat OpenShift AI - -Red Hat OpenShift AI (RHOAI) is a machine-learning-as-a-service -platform built on Red Hat's Kubernetes-based OpenShift Container Platform -integrating a collection of open source projects. - -The RHOAI operator allows users to install and manage RHOAI components. -Users can mix and match tools from each project to fulfill the needs of -their use case. Each of the projects share some components, but can be -mostly seen as an extension of each other to provide as complete a solution -as possible for enterprise users. - -### Components - -* Notebook Controller - Open source multi-user notebook platform w/ GPU support -* RHOAI Dashboard - Dashboard for Red Hat OpenShift AI diff --git a/openshift-ai/instance/overlays/default/kustomization.yaml b/openshift-ai/instance/overlays/default/kustomization.yaml deleted file mode 100644 index 774a422d..00000000 --- a/openshift-ai/instance/overlays/default/kustomization.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: - - ../../base diff --git a/openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md b/openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md deleted file mode 100644 index f744e8f9..00000000 --- a/openshift-ai/instance/overlays/enable-codeflare-ray/Readme.md +++ /dev/null @@ -1 +0,0 @@ -Overlay to enable Codeflare and Ray in DataScienceCluster that are Removed by default. diff --git a/openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml b/openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml deleted file mode 100644 index 9fdccbed..00000000 --- a/openshift-ai/instance/overlays/enable-codeflare-ray/patch-dsc.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- op: replace - path: /spec/components/codeflare/managementState - value: Managed -- op: replace - path: /spec/components/ray/managementState - value: Managed diff --git a/rhods-operator b/rhods-operator deleted file mode 120000 index 78b7a757..00000000 --- a/rhods-operator +++ /dev/null @@ -1 +0,0 @@ -openshift-ai \ No newline at end of file diff --git a/rhods-operator/INFO.md b/rhods-operator/INFO.md new file mode 100644 index 00000000..03aa8245 --- /dev/null +++ b/rhods-operator/INFO.md @@ -0,0 +1,22 @@ +# rhods-operator + +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) +* Model Serving using ModelMesh and Kserve. +* Ability to use other runtimes for serving +* Model Monitoring +* Distributed workloads (KubeRay, CodeFlare, Kueue) diff --git a/openshift-ai/README.md b/rhods-operator/README.md similarity index 62% rename from openshift-ai/README.md rename to rhods-operator/README.md index 011a58dd..c5973c58 100644 --- a/openshift-ai/README.md +++ b/rhods-operator/README.md @@ -6,23 +6,26 @@ Do not use the `base` directory directly, as you will need to patch the `channel The current *overlays* available are for the following channels: +* [alpha](operator/overlays/alpha) * [beta](operator/overlays/beta) -* [fast](operator/overlays/beta) +* [embedded](operator/overlays/embedded) +* [eus-2.8](operator/overlays/eus-2.8) +* [fast](operator/overlays/fast) * [stable](operator/overlays/stable) - +* [stable-2.8](operator/overlays/stable-2.8) ## Usage If you have cloned the `gitops-catalog` repository, you can install Red Hat OpenShift AI based on the overlay of your choice by running from the root (`gitops-catalog`) directory. ``` -oc apply -k openshift-ai/operator/overlays/ +oc apply -k rhods-operator/operator/overlays/ ``` Or, without cloning: ``` -oc apply -k https://github.com/redhat-cop/gitops-catalog/openshift-ai/operator/overlays/ +oc apply -k https://github.com/redhat-cop/gitops-catalog/rhods-operator/operator/overlays/ ``` As part of a different overlay in your own GitOps repo: @@ -31,5 +34,5 @@ As part of a different overlay in your own GitOps repo: apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - https://github.com/redhat-cop/gitops-catalog/openshift-ai/operator/overlays/?ref=main + - https://github.com/redhat-cop/gitops-catalog/rhods-operator/operator/overlays/?ref=main ``` diff --git a/rhods-operator/aggregate/overlays/eus-2.8-nvidia-gpu/kustomization.yaml b/rhods-operator/aggregate/overlays/eus-2.8-nvidia-gpu/kustomization.yaml new file mode 100644 index 00000000..4b4e0c19 --- /dev/null +++ b/rhods-operator/aggregate/overlays/eus-2.8-nvidia-gpu/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonAnnotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true + +resources: + - ../../../operator/overlays/eus-2.8 + - ../../../instance/overlays/eus-2.8-nvidia-gpu diff --git a/rhods-operator/aggregate/overlays/eus-2.8/kustomization.yaml b/rhods-operator/aggregate/overlays/eus-2.8/kustomization.yaml new file mode 100644 index 00000000..220cd95c --- /dev/null +++ b/rhods-operator/aggregate/overlays/eus-2.8/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonAnnotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true + +resources: + - ../../../operator/overlays/eus-2.8 + - ../../../instance/overlays/eus-2.8 diff --git a/rhods-operator/aggregate/overlays/fast-nvidia-gpu/kustomization.yaml b/rhods-operator/aggregate/overlays/fast-nvidia-gpu/kustomization.yaml new file mode 100644 index 00000000..3eab34b7 --- /dev/null +++ b/rhods-operator/aggregate/overlays/fast-nvidia-gpu/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonAnnotations: + argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true + +resources: + - ../../../operator/overlays/fast + - ../../../instance/overlays/fast-nvidia-gpu diff --git a/openshift-ai/aggregate/overlays/default/kustomization.yaml b/rhods-operator/aggregate/overlays/fast/kustomization.yaml similarity index 68% rename from openshift-ai/aggregate/overlays/default/kustomization.yaml rename to rhods-operator/aggregate/overlays/fast/kustomization.yaml index 30dcbcd2..44084bd5 100644 --- a/openshift-ai/aggregate/overlays/default/kustomization.yaml +++ b/rhods-operator/aggregate/overlays/fast/kustomization.yaml @@ -5,5 +5,5 @@ commonAnnotations: argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true resources: - - ../../../operator/overlays/stable - - ../../../instance/overlays/default + - ../../../operator/overlays/fast + - ../../../instance/overlays/fast diff --git a/openshift-ai/instance/base/datasciencecluster.yaml b/rhods-operator/instance/base/datasciencecluster.yaml similarity index 69% rename from openshift-ai/instance/base/datasciencecluster.yaml rename to rhods-operator/instance/base/datasciencecluster.yaml index 40faa18d..31cbac71 100644 --- a/openshift-ai/instance/base/datasciencecluster.yaml +++ b/rhods-operator/instance/base/datasciencecluster.yaml @@ -6,21 +6,25 @@ spec: components: codeflare: managementState: Removed - dashboard: - managementState: Managed - datasciencepipelines: - managementState: Managed kserve: - managementState: Managed + managementState: Removed serving: ingressGateway: certificate: type: SelfSigned managementState: Managed name: knative-serving - modelmeshserving: - managementState: Managed + trustyai: + managementState: Removed ray: managementState: Removed + kueue: + managementState: Removed workbenches: + managementState: Removed + dashboard: managementState: Managed + modelmeshserving: + managementState: Removed + datasciencepipelines: + managementState: Removed diff --git a/rhods-operator/instance/base/dsc-init.yaml b/rhods-operator/instance/base/dsc-init.yaml new file mode 100644 index 00000000..acafb9f3 --- /dev/null +++ b/rhods-operator/instance/base/dsc-init.yaml @@ -0,0 +1,18 @@ +apiVersion: dscinitialization.opendatahub.io/v1 +kind: DSCInitialization +metadata: + name: default-dsci +spec: + applicationsNamespace: redhat-ods-applications + monitoring: + managementState: Managed + namespace: redhat-ods-monitoring + serviceMesh: + controlPlane: + metricsCollection: Istio + name: data-science-smcp + namespace: istio-system + managementState: Removed + trustedCABundle: + customCABundle: '' + managementState: Managed diff --git a/openshift-ai/instance/base/kustomization.yaml b/rhods-operator/instance/base/kustomization.yaml similarity index 50% rename from openshift-ai/instance/base/kustomization.yaml rename to rhods-operator/instance/base/kustomization.yaml index 15555aee..9965396f 100644 --- a/openshift-ai/instance/base/kustomization.yaml +++ b/rhods-operator/instance/base/kustomization.yaml @@ -1,5 +1,10 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +namespace: redhat-ods-applications + resources: - datasciencecluster.yaml + - dsc-init.yaml + - namespace.yaml + - odhdashboardconfig.yaml diff --git a/rhods-operator/instance/base/namespace.yaml b/rhods-operator/instance/base/namespace.yaml new file mode 100644 index 00000000..4a55b505 --- /dev/null +++ b/rhods-operator/instance/base/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: redhat-ods-applications diff --git a/rhods-operator/instance/base/odhdashboardconfig.yaml b/rhods-operator/instance/base/odhdashboardconfig.yaml new file mode 100644 index 00000000..80bccb6b --- /dev/null +++ b/rhods-operator/instance/base/odhdashboardconfig.yaml @@ -0,0 +1,6 @@ +apiVersion: opendatahub.io/v1alpha +kind: OdhDashboardConfig +metadata: + annotations: + argocd.argoproj.io/sync-options: ServerSideApply=true + name: odh-dashboard-config diff --git a/rhods-operator/instance/components/auth-with-authorino/README.md b/rhods-operator/instance/components/auth-with-authorino/README.md new file mode 100644 index 00000000..da6b964d --- /dev/null +++ b/rhods-operator/instance/components/auth-with-authorino/README.md @@ -0,0 +1,21 @@ +# components-distributed-compute + +## Purpose +This component is designed help configure the the authentication endpoint for RHOAI with KServe using Authorino with ServiceMesh + +The Authorino auth is available in RHOAI 2.9 and later. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/auth-with-authorino +``` diff --git a/rhods-operator/instance/components/auth-with-authorino/kustomization.yaml b/rhods-operator/instance/components/auth-with-authorino/kustomization.yaml new file mode 100644 index 00000000..4650bf94 --- /dev/null +++ b/rhods-operator/instance/components/auth-with-authorino/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +patches: + - path: patch-dsc-init.yaml + target: + kind: DSCInitialization diff --git a/rhods-operator/instance/components/auth-with-authorino/patch-dsc-init.yaml b/rhods-operator/instance/components/auth-with-authorino/patch-dsc-init.yaml new file mode 100644 index 00000000..226c18a0 --- /dev/null +++ b/rhods-operator/instance/components/auth-with-authorino/patch-dsc-init.yaml @@ -0,0 +1,9 @@ +apiVersion: dscinitialization.opendatahub.io/v1 +kind: DSCInitialization +metadata: + name: default-dsci +spec: + serviceMesh: + auth: + audiences: + - 'https://kubernetes.default.svc' diff --git a/rhods-operator/instance/components/components-distributed-compute/README.md b/rhods-operator/instance/components/components-distributed-compute/README.md new file mode 100644 index 00000000..aa4b66c0 --- /dev/null +++ b/rhods-operator/instance/components/components-distributed-compute/README.md @@ -0,0 +1,24 @@ +# components-distributed-compute + +## Purpose +This component is designed help configure the distributed compute specific components including the following items: + +CodeFlare +Ray + +The Distributed Compute Components are Generally Available as of RHOAI 2.9. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/components-distributed-compute +``` diff --git a/rhods-operator/instance/components/components-distributed-compute/kustomization.yaml b/rhods-operator/instance/components/components-distributed-compute/kustomization.yaml new file mode 100644 index 00000000..f5a4caf2 --- /dev/null +++ b/rhods-operator/instance/components/components-distributed-compute/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +patches: + - path: patch-datasciencecluster.yaml + target: + kind: DataScienceCluster diff --git a/rhods-operator/instance/components/components-distributed-compute/patch-datasciencecluster.yaml b/rhods-operator/instance/components/components-distributed-compute/patch-datasciencecluster.yaml new file mode 100644 index 00000000..1720e07f --- /dev/null +++ b/rhods-operator/instance/components/components-distributed-compute/patch-datasciencecluster.yaml @@ -0,0 +1,12 @@ +kind: DataScienceCluster +apiVersion: datasciencecluster.opendatahub.io/v1 +metadata: + name: default +spec: + components: + codeflare: + managementState: Managed + kueue: + managementState: Managed + ray: + managementState: Managed diff --git a/rhods-operator/instance/components/components-serving/README.md b/rhods-operator/instance/components/components-serving/README.md new file mode 100644 index 00000000..f3b6ae59 --- /dev/null +++ b/rhods-operator/instance/components/components-serving/README.md @@ -0,0 +1,22 @@ +# components-serving + +## Purpose +This component is designed help configure the serving specific components including the following items: + +KServe +ModelMesh + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/components-serving +``` diff --git a/rhods-operator/instance/components/components-serving/kustomization.yaml b/rhods-operator/instance/components/components-serving/kustomization.yaml new file mode 100644 index 00000000..067c655b --- /dev/null +++ b/rhods-operator/instance/components/components-serving/kustomization.yaml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +patches: + - path: patch-datasciencecluster.yaml + target: + kind: DataScienceCluster + - path: patch-dsc-init.yaml + target: + kind: DSCInitialization + +components: + - ../wait-for-servicemesh diff --git a/rhods-operator/instance/components/components-serving/patch-datasciencecluster.yaml b/rhods-operator/instance/components/components-serving/patch-datasciencecluster.yaml new file mode 100644 index 00000000..0b645df7 --- /dev/null +++ b/rhods-operator/instance/components/components-serving/patch-datasciencecluster.yaml @@ -0,0 +1,16 @@ +kind: DataScienceCluster +apiVersion: datasciencecluster.opendatahub.io/v1 +metadata: + name: default +spec: + components: + kserve: + managementState: Managed + serving: + ingressGateway: + certificate: + type: SelfSigned + managementState: Managed + name: knative-serving + modelmeshserving: + managementState: Managed diff --git a/rhods-operator/instance/components/components-serving/patch-dsc-init.yaml b/rhods-operator/instance/components/components-serving/patch-dsc-init.yaml new file mode 100644 index 00000000..be62bb1c --- /dev/null +++ b/rhods-operator/instance/components/components-serving/patch-dsc-init.yaml @@ -0,0 +1,11 @@ +apiVersion: dscinitialization.opendatahub.io/v1 +kind: DSCInitialization +metadata: + name: default-dsci +spec: + serviceMesh: + controlPlane: + metricsCollection: Istio + name: data-science-smcp + namespace: istio-system + managementState: Managed diff --git a/rhods-operator/instance/components/components-training/README.md b/rhods-operator/instance/components/components-training/README.md new file mode 100644 index 00000000..3ae539d0 --- /dev/null +++ b/rhods-operator/instance/components/components-training/README.md @@ -0,0 +1,22 @@ +# components-training + +## Purpose +This component is designed help configure the training specific components including the following items: + +DataSciencePipelines +Workbenches + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/components-training +``` diff --git a/rhods-operator/instance/components/components-training/kustomization.yaml b/rhods-operator/instance/components/components-training/kustomization.yaml new file mode 100644 index 00000000..f5a4caf2 --- /dev/null +++ b/rhods-operator/instance/components/components-training/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +patches: + - path: patch-datasciencecluster.yaml + target: + kind: DataScienceCluster diff --git a/rhods-operator/instance/components/components-training/patch-datasciencecluster.yaml b/rhods-operator/instance/components/components-training/patch-datasciencecluster.yaml new file mode 100644 index 00000000..322183bf --- /dev/null +++ b/rhods-operator/instance/components/components-training/patch-datasciencecluster.yaml @@ -0,0 +1,10 @@ +kind: DataScienceCluster +apiVersion: datasciencecluster.opendatahub.io/v1 +metadata: + name: default +spec: + components: + datasciencepipelines: + managementState: Managed + workbenches: + managementState: Managed diff --git a/rhods-operator/instance/components/default-notebook-pvc-size/README.md b/rhods-operator/instance/components/default-notebook-pvc-size/README.md new file mode 100644 index 00000000..110aff3c --- /dev/null +++ b/rhods-operator/instance/components/default-notebook-pvc-size/README.md @@ -0,0 +1,25 @@ +# default-notebook-pvc-size + +## Purpose +This component is designed help admins configure the default PVC size that users are presented with when creating new Workbenches. + + +For more information see the official docs for [Configuring Default PVC size](https://access.redhat.com/documentation/en-us/red_hat_openshift_ai_self-managed/2-latest/html/managing_resources/managing-cluster-resources_cluster-mgmt#configuring-the-default-pvc-size-for-your-cluster_cluster-mgmt) + + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/default-notebook-pvc-size +``` + +You can customize the PVC size by updating the [patch-rhoai-dashboard.yaml](./patch-rhoai-dashboard.yaml) file. diff --git a/rhods-operator/instance/components/default-notebook-pvc-size/kustomization.yaml b/rhods-operator/instance/components/default-notebook-pvc-size/kustomization.yaml new file mode 100644 index 00000000..e5836471 --- /dev/null +++ b/rhods-operator/instance/components/default-notebook-pvc-size/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +commonAnnotations: + argocd.argoproj.io/sync-options: ServerSideApply=true + +patches: + - path: patch-rhoai-dashboard.yaml + target: + kind: OdhDashboardConfig diff --git a/rhods-operator/instance/components/default-notebook-pvc-size/patch-rhoai-dashboard.yaml b/rhods-operator/instance/components/default-notebook-pvc-size/patch-rhoai-dashboard.yaml new file mode 100644 index 00000000..5a96b544 --- /dev/null +++ b/rhods-operator/instance/components/default-notebook-pvc-size/patch-rhoai-dashboard.yaml @@ -0,0 +1,7 @@ +apiVersion: opendatahub.io/v1alpha +kind: OdhDashboardConfig +metadata: + name: odh-dashboard-config +spec: + notebookController: + pvcSize: 20Gi diff --git a/rhods-operator/instance/components/idle-notebook-culling/README.md b/rhods-operator/instance/components/idle-notebook-culling/README.md new file mode 100644 index 00000000..210860c7 --- /dev/null +++ b/rhods-operator/instance/components/idle-notebook-culling/README.md @@ -0,0 +1,23 @@ +# idle-notebook-culling + +## Purpose +This component is designed help admins configure the default PVC size that users are presented with when creating new Workbenches. + +For more information see the official docs for [Stopping Idle Notebooks](https://access.redhat.com/documentation/en-us/red_hat_openshift_ai_self-managed/2-latest/html/managing_resources/managing-notebook-servers_notebook-mgmt#stopping-idle-notebooks_notebook-mgmt) + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/idle-notebook-culling +``` + +You can customize the time notebooks can remain running while inactive by updating the [culler-config.yaml](./culler-config.yaml) file. diff --git a/rhods-operator/instance/components/idle-notebook-culling/culler-config.yaml b/rhods-operator/instance/components/idle-notebook-culling/culler-config.yaml new file mode 100644 index 00000000..d89307d2 --- /dev/null +++ b/rhods-operator/instance/components/idle-notebook-culling/culler-config.yaml @@ -0,0 +1,11 @@ +kind: ConfigMap +apiVersion: v1 +metadata: + name: notebook-controller-culler-config + namespace: redhat-ods-applications + labels: + opendatahub.io/dashboard: 'true' +data: + CULL_IDLE_TIME: '240' + ENABLE_CULLING: 'true' + IDLENESS_CHECK_PERIOD: '1' diff --git a/rhods-operator/instance/components/idle-notebook-culling/kustomization.yaml b/rhods-operator/instance/components/idle-notebook-culling/kustomization.yaml new file mode 100644 index 00000000..e183bd78 --- /dev/null +++ b/rhods-operator/instance/components/idle-notebook-culling/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - culler-config.yaml diff --git a/rhods-operator/instance/components/make-kubeadmin-cluster-admin/README.md b/rhods-operator/instance/components/make-kubeadmin-cluster-admin/README.md new file mode 100644 index 00000000..850f6848 --- /dev/null +++ b/rhods-operator/instance/components/make-kubeadmin-cluster-admin/README.md @@ -0,0 +1,23 @@ +# make-kubeadmin-cluster-admin + +## Purpose +This component is designed to add kubeadmin as a Cluster Admin. Out of the box, the Dashboard does not recognize kubeadmin as an admin user and does not have access to the Settings page. + +For more information, see [this](https://github.com/opendatahub-io/odh-dashboard/issues/2006) upstream issue. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/idle-notebook-culling +``` + +You can customize the time notebooks can remain running while inactive by updating the [culler-config.yaml](./culler-config.yaml) file. diff --git a/rhods-operator/instance/components/make-kubeadmin-cluster-admin/kustomization.yaml b/rhods-operator/instance/components/make-kubeadmin-cluster-admin/kustomization.yaml new file mode 100644 index 00000000..aed1684e --- /dev/null +++ b/rhods-operator/instance/components/make-kubeadmin-cluster-admin/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - rolebinding.yaml diff --git a/rhods-operator/instance/components/make-kubeadmin-cluster-admin/rolebinding.yaml b/rhods-operator/instance/components/make-kubeadmin-cluster-admin/rolebinding.yaml new file mode 100644 index 00000000..135ff83b --- /dev/null +++ b/rhods-operator/instance/components/make-kubeadmin-cluster-admin/rolebinding.yaml @@ -0,0 +1,12 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: add-kubeadmin +subjects: + - kind: User + apiGroup: rbac.authorization.k8s.io + name: 'kube:admin' +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin diff --git a/rhods-operator/instance/components/model-server-pod-sizes/README.md b/rhods-operator/instance/components/model-server-pod-sizes/README.md new file mode 100644 index 00000000..8735fd39 --- /dev/null +++ b/rhods-operator/instance/components/model-server-pod-sizes/README.md @@ -0,0 +1,21 @@ +# model-server-pod-sizes + +## Purpose +This component is designed help admins configure the default sizes users can select from when creating a new Model Server. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/model-server-pod-sizes +``` + +You can customize the pod sizes by updating the [patch-rhoai-dashboard.yaml](./patch-rhoai-dashboard.yaml) file. diff --git a/rhods-operator/instance/components/model-server-pod-sizes/kustomization.yaml b/rhods-operator/instance/components/model-server-pod-sizes/kustomization.yaml new file mode 100644 index 00000000..e5836471 --- /dev/null +++ b/rhods-operator/instance/components/model-server-pod-sizes/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +commonAnnotations: + argocd.argoproj.io/sync-options: ServerSideApply=true + +patches: + - path: patch-rhoai-dashboard.yaml + target: + kind: OdhDashboardConfig diff --git a/rhods-operator/instance/components/model-server-pod-sizes/patch-rhoai-dashboard.yaml b/rhods-operator/instance/components/model-server-pod-sizes/patch-rhoai-dashboard.yaml new file mode 100644 index 00000000..ff8af3e7 --- /dev/null +++ b/rhods-operator/instance/components/model-server-pod-sizes/patch-rhoai-dashboard.yaml @@ -0,0 +1,30 @@ +apiVersion: opendatahub.io/v1alpha +kind: OdhDashboardConfig +metadata: + name: odh-dashboard-config +spec: + modelServerSizes: + - name: Small + resources: + limits: + cpu: '2' + memory: 8Gi + requests: + cpu: '1' + memory: 4Gi + - name: Medium + resources: + limits: + cpu: '8' + memory: 10Gi + requests: + cpu: '4' + memory: 8Gi + - name: Large + resources: + limits: + cpu: '10' + memory: 20Gi + requests: + cpu: '6' + memory: 16Gi diff --git a/rhods-operator/instance/components/notebook-pod-sizes/README.md b/rhods-operator/instance/components/notebook-pod-sizes/README.md new file mode 100644 index 00000000..d8130a9f --- /dev/null +++ b/rhods-operator/instance/components/notebook-pod-sizes/README.md @@ -0,0 +1,21 @@ +# notebook-pod-sizes + +## Purpose +This component is designed help admins configure the default sizes users can select from when creating a new Workbenches. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/notebook-pod-sizes +``` + +You can customize the pod sizes by updating the [patch-rhoai-dashboard.yaml](./patch-rhoai-dashboard.yaml) file. diff --git a/rhods-operator/instance/components/notebook-pod-sizes/kustomization.yaml b/rhods-operator/instance/components/notebook-pod-sizes/kustomization.yaml new file mode 100644 index 00000000..e5836471 --- /dev/null +++ b/rhods-operator/instance/components/notebook-pod-sizes/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +commonAnnotations: + argocd.argoproj.io/sync-options: ServerSideApply=true + +patches: + - path: patch-rhoai-dashboard.yaml + target: + kind: OdhDashboardConfig diff --git a/rhods-operator/instance/components/notebook-pod-sizes/patch-rhoai-dashboard.yaml b/rhods-operator/instance/components/notebook-pod-sizes/patch-rhoai-dashboard.yaml new file mode 100644 index 00000000..914f00a6 --- /dev/null +++ b/rhods-operator/instance/components/notebook-pod-sizes/patch-rhoai-dashboard.yaml @@ -0,0 +1,38 @@ +apiVersion: opendatahub.io/v1alpha +kind: OdhDashboardConfig +metadata: + name: odh-dashboard-config +spec: + notebookSizes: + - name: Small + resources: + limits: + cpu: '2' + memory: 8Gi + requests: + cpu: '1' + memory: 8Gi + - name: Medium + resources: + limits: + cpu: '6' + memory: 24Gi + requests: + cpu: '3' + memory: 24Gi + - name: Large + resources: + limits: + cpu: '14' + memory: 56Gi + requests: + cpu: '7' + memory: 56Gi + - name: X Large + resources: + limits: + cpu: '30' + memory: 120Gi + requests: + cpu: '15' + memory: 120Gi diff --git a/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/README.md b/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/README.md new file mode 100644 index 00000000..c8dd970e --- /dev/null +++ b/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/README.md @@ -0,0 +1,23 @@ +# nvidia-gpu-accelerator-profile + +## Purpose +This component is designed help admins configure an accelerator profile with NVIDIA GPUs. + +For more information on accelerators, please see the [Working with accelerators](https://access.redhat.com/documentation/en-us/red_hat_openshift_ai_self-managed/2-latest/html/working_on_data_science_projects/working-with-accelerators_accelerators) documentation. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/nvidia-gpu-accelerator-profile +``` + +You can customize the pod sizes by updating the [patch-rhoai-dashboard.yaml](./patch-rhoai-dashboard.yaml) file. diff --git a/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/accelerator-profile.yaml b/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/accelerator-profile.yaml new file mode 100644 index 00000000..403d033f --- /dev/null +++ b/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/accelerator-profile.yaml @@ -0,0 +1,18 @@ +apiVersion: dashboard.opendatahub.io/v1 +kind: AcceleratorProfile +metadata: + name: nvidia-gpu + namespace: redhat-ods-applications +spec: + displayName: nvidia-gpu + enabled: true + identifier: nvidia.com/gpu + tolerations: + - effect: NoSchedule + key: nvidia-gpu-only + operator: Exists + value: '' + - effect: NoSchedule + key: nvidia.com/gpu + operator: Exists + value: '' diff --git a/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/kustomization.yaml b/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/kustomization.yaml new file mode 100644 index 00000000..9aab6dd5 --- /dev/null +++ b/rhods-operator/instance/components/nvidia-gpu-accelerator-profile/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - accelerator-profile.yaml diff --git a/rhods-operator/instance/components/rhoai-dashboard-access/README.md b/rhods-operator/instance/components/rhoai-dashboard-access/README.md new file mode 100644 index 00000000..ef675ca4 --- /dev/null +++ b/rhods-operator/instance/components/rhoai-dashboard-access/README.md @@ -0,0 +1,21 @@ +# rhoai-dashboard-access + +## Purpose +This component is designed help admins configure the default access to the RHOAI Dashboard. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/rhoai-dashboard-access +``` + +You can customize the access by updating the [patch-rhoai-dashboard.yaml](./patch-rhoai-dashboard.yaml) file. diff --git a/rhods-operator/instance/components/rhoai-dashboard-access/kustomization.yaml b/rhods-operator/instance/components/rhoai-dashboard-access/kustomization.yaml new file mode 100644 index 00000000..e5836471 --- /dev/null +++ b/rhods-operator/instance/components/rhoai-dashboard-access/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +commonAnnotations: + argocd.argoproj.io/sync-options: ServerSideApply=true + +patches: + - path: patch-rhoai-dashboard.yaml + target: + kind: OdhDashboardConfig diff --git a/rhods-operator/instance/components/rhoai-dashboard-access/patch-rhoai-dashboard.yaml b/rhods-operator/instance/components/rhoai-dashboard-access/patch-rhoai-dashboard.yaml new file mode 100644 index 00000000..81509318 --- /dev/null +++ b/rhods-operator/instance/components/rhoai-dashboard-access/patch-rhoai-dashboard.yaml @@ -0,0 +1,8 @@ +apiVersion: opendatahub.io/v1alpha +kind: OdhDashboardConfig +metadata: + name: odh-dashboard-config +spec: + groupsConfig: + adminGroups: rhods-admins + allowedGroups: 'system:authenticated' diff --git a/rhods-operator/instance/components/runtime-template-triton/README.md b/rhods-operator/instance/components/runtime-template-triton/README.md new file mode 100644 index 00000000..d5e22ee0 --- /dev/null +++ b/rhods-operator/instance/components/runtime-template-triton/README.md @@ -0,0 +1,21 @@ +# runtime-template-triton + +## Purpose +This component is designed configure the Triton Serving Runtime Template. + +For more information on the Triton Serving Runtime, refer to the [Custom Runtime Triton](https://ai-on-openshift.io/odh-rhoai/custom-runtime-triton/) documentation. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/runtime-template-triton +``` diff --git a/rhods-operator/instance/components/runtime-template-triton/kustomization.yaml b/rhods-operator/instance/components/runtime-template-triton/kustomization.yaml new file mode 100644 index 00000000..91d33724 --- /dev/null +++ b/rhods-operator/instance/components/runtime-template-triton/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - triton-runtime-template.yaml diff --git a/rhods-operator/instance/components/runtime-template-triton/triton-runtime-template.yaml b/rhods-operator/instance/components/runtime-template-triton/triton-runtime-template.yaml new file mode 100644 index 00000000..72624e24 --- /dev/null +++ b/rhods-operator/instance/components/runtime-template-triton/triton-runtime-template.yaml @@ -0,0 +1,86 @@ +kind: Template +apiVersion: template.openshift.io/v1 +metadata: + name: trition-serving-runtime + namespace: redhat-ods-applications + labels: + opendatahub.io/dashboard: 'true' + annotations: + opendatahub.io/apiProtocol: REST + opendatahub.io/modelServingSupport: '["multi"]' +objects: + - apiVersion: serving.kserve.io/v1alpha1 + kind: ServingRuntime + metadata: + name: triton-23.05 + labels: + name: triton-23.05 + annotations: + maxLoadingConcurrency: '2' + openshift.io/display-name: Triton runtime 23.05 + spec: + supportedModelFormats: + - name: keras + version: '2' + autoSelect: true + - name: onnx + version: '1' + autoSelect: true + - name: pytorch + version: '1' + autoSelect: true + - name: tensorflow + version: '1' + autoSelect: true + - name: tensorflow + version: '2' + autoSelect: true + - name: tensorrt + version: '7' + autoSelect: true + protocolVersions: + - grpc-v2 + multiModel: true + grpcEndpoint: 'port:8085' + grpcDataEndpoint: 'port:8001' + volumes: + - name: shm + emptyDir: + medium: Memory + sizeLimit: 2Gi + containers: + - name: triton + image: 'nvcr.io/nvidia/tritonserver:23.05-py3' + command: + - /bin/sh + args: + - '-c' + - 'mkdir -p /models/_triton_models; chmod 777 /models/_triton_models; exec tritonserver "--model-repository=/models/_triton_models" "--model-control-mode=explicit" "--strict-model-config=false" "--strict-readiness=false" "--allow-http=true" "--allow-sagemaker=false" ' + volumeMounts: + - name: shm + mountPath: /dev/shm + resources: + requests: + cpu: 500m + memory: 1Gi + limits: + cpu: '5' + memory: 1Gi + livenessProbe: + exec: + command: + - curl + - '--fail' + - '--silent' + - '--show-error' + - '--max-time' + - '9' + - 'http://localhost:8000/v2/health/live' + initialDelaySeconds: 5 + periodSeconds: 30 + timeoutSeconds: 10 + builtInAdapter: + serverType: triton + runtimeManagementPort: 8001 + memBufferBytes: 134217728 + modelLoadingTimeoutMillis: 90000 diff --git a/rhods-operator/instance/components/wait-for-servicemesh/README.md b/rhods-operator/instance/components/wait-for-servicemesh/README.md new file mode 100644 index 00000000..a5ce0ae0 --- /dev/null +++ b/rhods-operator/instance/components/wait-for-servicemesh/README.md @@ -0,0 +1,19 @@ +# wait-for-servicemesh + +## Purpose +This component is designed prevent OpenShift AI before the ServiceMesh resources have been successfully installed that are required for KServe. + +## Usage + +This component can be added to a base by adding the `components` section to your overlay `kustomization.yaml` file: + +``` +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/wait-for-servicemesh +``` diff --git a/rhods-operator/instance/components/wait-for-servicemesh/kustomization.yaml b/rhods-operator/instance/components/wait-for-servicemesh/kustomization.yaml new file mode 100644 index 00000000..d2ce1f49 --- /dev/null +++ b/rhods-operator/instance/components/wait-for-servicemesh/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: +- wait-for-servicemesh-job.yaml + +generatorOptions: + disableNameSuffixHash: true + annotations: + argocd.argoproj.io/hook: PreSync + +configMapGenerator: + - name: wait-for-servicemesh + namespace: redhat-ods-operator + files: + - wait-for-servicemesh.sh diff --git a/rhods-operator/instance/components/wait-for-servicemesh/wait-for-servicemesh-job.yaml b/rhods-operator/instance/components/wait-for-servicemesh/wait-for-servicemesh-job.yaml new file mode 100644 index 00000000..3a758141 --- /dev/null +++ b/rhods-operator/instance/components/wait-for-servicemesh/wait-for-servicemesh-job.yaml @@ -0,0 +1,69 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: wait-for-servicemesh + namespace: redhat-ods-operator + annotations: + argocd.argoproj.io/hook: PreSync +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: wait-for-servicemesh + annotations: + argocd.argoproj.io/hook: PreSync +rules: + - apiGroups: + - apiextensions.k8s.io + resources: + - customresourcedefinitions + verbs: + - get + - list +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: wait-for-servicemesh + annotations: + argocd.argoproj.io/hook: PreSync +subjects: + - kind: ServiceAccount + name: wait-for-servicemesh + namespace: redhat-ods-operator +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: wait-for-servicemesh +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: wait-for-servicemesh + namespace: redhat-ods-operator + annotations: + argocd.argoproj.io/hook: PreSync + argocd.argoproj.io/sync-wave: "10" +spec: + template: + spec: + containers: + - name: minion + image: registry.redhat.io/openshift4/ose-cli + command: + - /bin/bash + - -c + - /scripts/wait-for-servicemesh.sh + volumeMounts: + - name: scripts + mountPath: /scripts + volumes: + - name: scripts + configMap: + name: wait-for-servicemesh + defaultMode: 0755 + restartPolicy: Never + serviceAccount: wait-for-servicemesh + serviceAccountName: wait-for-servicemesh + backoffLimit: 4 diff --git a/rhods-operator/instance/components/wait-for-servicemesh/wait-for-servicemesh.sh b/rhods-operator/instance/components/wait-for-servicemesh/wait-for-servicemesh.sh new file mode 100755 index 00000000..bbd0172d --- /dev/null +++ b/rhods-operator/instance/components/wait-for-servicemesh/wait-for-servicemesh.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -e + +TIMEOUT_SECONDS=60 + +wait_for_service_mesh(){ + echo "Checking status of all service_mesh pre-reqs" + SERVICEMESH_RESOURCES=( + crd/kialis.kiali.io:condition=established \ + crd/jaegers.jaegertracing.io:condition=established \ + crd/elasticsearches.logging.openshift.io:condition=established \ + crd/knativeservings.operator.knative.dev:condition=established \ + crd/servicemeshcontrolplanes.maistra.io:condition=established \ + ) + + for n in "${SERVICEMESH_RESOURCES[@]}" + do + RESOURCE=$(echo $n | cut -d ":" -f 1) + CONDITION=$(echo $n | cut -d ":" -f 2) + + echo "Waiting for ${RESOURCE} state to be ${CONDITION}..." + oc wait --for=${CONDITION} ${RESOURCE} --timeout=${TIMEOUT_SECONDS}s + + done +} + +wait_for_service_mesh diff --git a/rhods-operator/instance/overlays/eus-2.8-nvidia-gpu/kustomization.yaml b/rhods-operator/instance/overlays/eus-2.8-nvidia-gpu/kustomization.yaml new file mode 100644 index 00000000..2745e753 --- /dev/null +++ b/rhods-operator/instance/overlays/eus-2.8-nvidia-gpu/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: redhat-ods-applications + +resources: + - ../../base + +components: + - ../../components/components-serving + - ../../components/components-training + - ../../components/default-notebook-pvc-size + - ../../components/idle-notebook-culling + - ../../components/notebook-pod-sizes + - ../../components/nvidia-gpu-accelerator-profile + - ../../components/make-kubeadmin-cluster-admin + - ../../components/model-server-pod-sizes + - ../../components/rhoai-dashboard-access diff --git a/rhods-operator/instance/overlays/eus-2.8-serving-only/kustomization.yaml b/rhods-operator/instance/overlays/eus-2.8-serving-only/kustomization.yaml new file mode 100644 index 00000000..7182111b --- /dev/null +++ b/rhods-operator/instance/overlays/eus-2.8-serving-only/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/components-serving + - ../../components/model-server-pod-sizes + - ../../components/rhoai-dashboard-access diff --git a/rhods-operator/instance/overlays/eus-2.8-training-only/kustomization.yaml b/rhods-operator/instance/overlays/eus-2.8-training-only/kustomization.yaml new file mode 100644 index 00000000..15c03b91 --- /dev/null +++ b/rhods-operator/instance/overlays/eus-2.8-training-only/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/components-training + - ../../components/default-notebook-pvc-size + - ../../components/idle-notebook-culling + - ../../components/notebook-pod-sizes + - ../../components/rhoai-dashboard-access diff --git a/rhods-operator/instance/overlays/eus-2.8/kustomization.yaml b/rhods-operator/instance/overlays/eus-2.8/kustomization.yaml new file mode 100644 index 00000000..70561945 --- /dev/null +++ b/rhods-operator/instance/overlays/eus-2.8/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: redhat-ods-applications + +resources: + - ../../base + +components: + - ../../components/components-serving + - ../../components/components-training + - ../../components/default-notebook-pvc-size + - ../../components/idle-notebook-culling + - ../../components/notebook-pod-sizes + - ../../components/make-kubeadmin-cluster-admin + - ../../components/model-server-pod-sizes + - ../../components/rhoai-dashboard-access diff --git a/rhods-operator/instance/overlays/fast-nvidia-gpu/kustomization.yaml b/rhods-operator/instance/overlays/fast-nvidia-gpu/kustomization.yaml new file mode 100644 index 00000000..1e427046 --- /dev/null +++ b/rhods-operator/instance/overlays/fast-nvidia-gpu/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/auth-with-authorino + - ../../components/components-distributed-compute + - ../../components/components-serving + - ../../components/components-training + - ../../components/default-notebook-pvc-size + - ../../components/idle-notebook-culling + - ../../components/notebook-pod-sizes + - ../../components/nvidia-gpu-accelerator-profile + - ../../components/make-kubeadmin-cluster-admin + - ../../components/model-server-pod-sizes + - ../../components/rhoai-dashboard-access diff --git a/rhods-operator/instance/overlays/fast/kustomization.yaml b/rhods-operator/instance/overlays/fast/kustomization.yaml new file mode 100644 index 00000000..ad12d7e5 --- /dev/null +++ b/rhods-operator/instance/overlays/fast/kustomization.yaml @@ -0,0 +1,17 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +components: + - ../../components/auth-with-authorino + - ../../components/components-distributed-compute + - ../../components/components-serving + - ../../components/components-training + - ../../components/default-notebook-pvc-size + - ../../components/idle-notebook-culling + - ../../components/notebook-pod-sizes + - ../../components/make-kubeadmin-cluster-admin + - ../../components/model-server-pod-sizes + - ../../components/rhoai-dashboard-access diff --git a/openshift-ai/operator/base/kustomization.yaml b/rhods-operator/operator/base/kustomization.yaml similarity index 100% rename from openshift-ai/operator/base/kustomization.yaml rename to rhods-operator/operator/base/kustomization.yaml diff --git a/openshift-ai/operator/base/namespace.yaml b/rhods-operator/operator/base/namespace.yaml similarity index 100% rename from openshift-ai/operator/base/namespace.yaml rename to rhods-operator/operator/base/namespace.yaml diff --git a/openshift-ai/operator/base/operator-group.yaml b/rhods-operator/operator/base/operator-group.yaml similarity index 100% rename from openshift-ai/operator/base/operator-group.yaml rename to rhods-operator/operator/base/operator-group.yaml diff --git a/openshift-ai/operator/base/subscription.yaml b/rhods-operator/operator/base/subscription.yaml similarity index 100% rename from openshift-ai/operator/base/subscription.yaml rename to rhods-operator/operator/base/subscription.yaml diff --git a/openshift-ai/operator/overlays/beta/kustomization.yaml b/rhods-operator/operator/overlays/beta/kustomization.yaml similarity index 100% rename from openshift-ai/operator/overlays/beta/kustomization.yaml rename to rhods-operator/operator/overlays/beta/kustomization.yaml diff --git a/openshift-ai/operator/overlays/beta/patch-channel.yaml b/rhods-operator/operator/overlays/beta/patch-channel.yaml similarity index 100% rename from openshift-ai/operator/overlays/beta/patch-channel.yaml rename to rhods-operator/operator/overlays/beta/patch-channel.yaml diff --git a/openshift-ai/operator/overlays/fast/kustomization.yaml b/rhods-operator/operator/overlays/eus-2.8/kustomization.yaml similarity index 100% rename from openshift-ai/operator/overlays/fast/kustomization.yaml rename to rhods-operator/operator/overlays/eus-2.8/kustomization.yaml diff --git a/rhods-operator/operator/overlays/eus-2.8/patch-channel.yaml b/rhods-operator/operator/overlays/eus-2.8/patch-channel.yaml new file mode 100644 index 00000000..90587e81 --- /dev/null +++ b/rhods-operator/operator/overlays/eus-2.8/patch-channel.yaml @@ -0,0 +1,3 @@ +- op: replace + path: /spec/channel + value: eus-2.8 diff --git a/openshift-ai/operator/overlays/stable/kustomization.yaml b/rhods-operator/operator/overlays/fast/kustomization.yaml similarity index 100% rename from openshift-ai/operator/overlays/stable/kustomization.yaml rename to rhods-operator/operator/overlays/fast/kustomization.yaml diff --git a/openshift-ai/operator/overlays/fast/patch-channel.yaml b/rhods-operator/operator/overlays/fast/patch-channel.yaml similarity index 100% rename from openshift-ai/operator/overlays/fast/patch-channel.yaml rename to rhods-operator/operator/overlays/fast/patch-channel.yaml diff --git a/openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml b/rhods-operator/operator/overlays/stable-2.8/kustomization.yaml similarity index 58% rename from openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml rename to rhods-operator/operator/overlays/stable-2.8/kustomization.yaml index 6d5686ba..975881f4 100644 --- a/openshift-ai/instance/overlays/enable-codeflare-ray/kustomization.yaml +++ b/rhods-operator/operator/overlays/stable-2.8/kustomization.yaml @@ -6,6 +6,6 @@ resources: patches: - target: - kind: DataScienceCluster - name: default - path: patch-dsc.yaml + kind: Subscription + name: rhods-operator + path: patch-channel.yaml diff --git a/rhods-operator/operator/overlays/stable-2.8/patch-channel.yaml b/rhods-operator/operator/overlays/stable-2.8/patch-channel.yaml new file mode 100644 index 00000000..f00f6cff --- /dev/null +++ b/rhods-operator/operator/overlays/stable-2.8/patch-channel.yaml @@ -0,0 +1,3 @@ +- op: replace + path: /spec/channel + value: stable-2.8 diff --git a/rhods-operator/operator/overlays/stable/kustomization.yaml b/rhods-operator/operator/overlays/stable/kustomization.yaml new file mode 100644 index 00000000..975881f4 --- /dev/null +++ b/rhods-operator/operator/overlays/stable/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +patches: + - target: + kind: Subscription + name: rhods-operator + path: patch-channel.yaml diff --git a/openshift-ai/operator/overlays/stable/patch-channel.yaml b/rhods-operator/operator/overlays/stable/patch-channel.yaml similarity index 100% rename from openshift-ai/operator/overlays/stable/patch-channel.yaml rename to rhods-operator/operator/overlays/stable/patch-channel.yaml