Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • See all Red Hat products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Red Hat OpenShift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • See all technologies
    • Programming languages & frameworks

      • Java
      • Python
      • JavaScript
    • System design & architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer experience

      • Productivity
      • Tools
      • GitOps
    • Automated data processing

      • AI/ML
      • Data science
      • Apache Kafka on Kubernetes
    • Platform engineering

      • DevOps
      • DevSecOps
      • Red Hat Ansible Automation Platform for applications and services
    • Secure development & architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & cloud native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • See all learning resources

    E-books

    • GitOps cookbook
    • Podman in action
    • Kubernetes operators
    • The path to GitOps
    • See all e-books

    Cheat sheets

    • Linux commands
    • Bash commands
    • Git
    • systemd commands
    • See all cheat sheets

    Documentation

    • Product documentation
    • API catalog
    • Legacy documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore the Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

How to manage Red Hat OpenShift AI dependencies with Kustomize and Argo CD

March 13, 2026
Davide Bianchi Andrea Tarocchi
Related topics:
Artificial intelligenceGitOpsKubernetes
Related products:
Red Hat AIRed Hat OpenShift AI

    Red Hat OpenShift AI provides a platform for data science and AI workloads, but managing its external dependencies can become complex, slowing down setup and maintenance.

    To streamline this workflow, we created the odh-gitops repository. This repository provides a declarative, version-controlled, GitOps-ready template for deploying OpenShift AI dependencies on OpenShift. It includes predefined configurations to help you manage the entire dependency lifecycle.

    The core idea is simple: every operator dependency is expressed as Kustomize manifests. A single oc apply -k . command or an Argo CD Application installs everything.

    Why Kustomize?

    Kustomize is an open source configuration management tool that lets you customize YAML manifests for different environments. It is now included in both the kubectl and oc command line interfaces (CLIs).

    The odh-gitops repository uses Kustomize to manage the OpenShift AI dependencies. This GitOps approach lets you customize configurations and helps prevent conflicts by skipping resources already in your cluster.

    A note on Helm: A Helm chart alternative is also being developed in the same repository (under the chart/ directory) for teams that prefer a values-driven approach. We expect to release that option in the coming months. The Kustomize-based workflow described in this post is the primary and recommended method today.

    Getting started

    You can deploy this GitOps configuration using two primary methods: the OpenShift CLI (oc) or Argo CD for automated synchronization.

    Prerequisites:

    • A Red Hat OpenShift cluster (version 4.19 or later)
    • oc or kubectl CLI installed
    • Cluster admin permissions

    Install using the CLI

    The CLI method offers manual control over the installation process.

    1. Clone the repository: Start by cloning the odh-gitops repository to your local machine.
    2. Review and customize: By default, almost all the necessary dependencies for the OpenShift AI components are enabled. Before applying, you can review the configurations and make any changes. More information in the Customize the installation section.
    3. Install the dependencies: Use the oc apply -k command with the path to your Kustomize directory. This processes the Kustomize files and applies the resulting manifests, installing all required dependencies.

      oc apply -k dependencies
    4. Once the operators are Ready, install the custom resources to configure the dependencies:

      oc apply -k configurations

    And that's it! All OpenShift AI dependencies are now installed and configured in the cluster.

    Important note on default dependencies

    Not all dependencies are installed by default, as some require manual configuration. Always refer to the README for full instructions. Before applying the configuration to your cluster, you can validate the resources that will be installed by running the following command: oc kustomize build <path-to-kustomize-dir>

    Install a specific dependency

    You can also choose to install only one operator and its specific dependencies. For example, if you only require the Kueue component, which also requires the cert-manager dependency. You can install both using:

    oc apply -k dependencies/operators/kueue-operator

    Once the Red Hat build of Kueue operator is Ready, you can install its configuration:

    oc apply -k configurations/kueue-operator

    Video demo

    Install using Argo CD

    The Argo CD method provides a GitOps approach with automated synchronization and consistency monitoring.

    Prerequisites:

    • Argo CD must be installed and configured to deploy resources on your cluster.
    • Your Argo CD instance needs to be configured with permissions to handle all actions on kueues.kueue.openshift.io and kuadrants.kuadrant.io groups.
    • Fork the odh-gitops repository and apply your customizations.

    Once the prerequisites are met, you can install all the dependencies by creating an Argo CD application. Since operators install Custom Resource Definitions (CRDs) asynchronously via Operator Lifecycle Manager (OLM), you must enable the SkipDryRunOnMissingResource sync policy.

    A sample Application manifest is provided below. Important: Before using this manifest, you must modify the repoURL and targetRevision fields to match your own repository fork and the desired version.

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: rhoai-dependencies
      namespace: openshift-gitops
    spec:
      project: default
      source:
        repoURL: https://github.com/opendatahub-io/odh-gitops.git # Match your fork
        targetRevision: main  # Match your target revision
        path: .
      destination:
        server: https://kubernetes.default.svc
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
          - SkipDryRunOnMissingResource=true

    To install only selected operators, you can modify dependencies/operators/kustomization.yaml file in your fork to comment out unwanted dependencies. See the Customize the installation section for more information.

    Video demo

    Customize the installation

    The main customization point is the dependencies/operators/kustomization.yaml file. It lists every operator as a Kustomize component reference:

    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    components:
      - ../../components/operators/cert-manager
      - ../../components/operators/kueue-operator
      - ../../components/operators/cluster-observability-operator
      - ../../components/operators/opentelemetry-product
      - ../../components/operators/leader-worker-set
      - ../../components/operators/job-set-operator
      - ../../components/operators/tempo-product
      - ../../components/operators/openshift-custom-metrics-autoscaler
      - ../../components/operators/rhcl-operator
      # Uncomment to enable optional operators:
      # - ../../components/operators/nfd
      # - ../../components/operators/nvidia-gpu-operator
      # - ../../components/operators/maria-db

    Comment out a line to skip an operator. Uncomment to add an optional one. The same applies to configurations/kustomization.yaml for post-install Custom Resources.

    For deeper customizations (changing a subscription channel, pinning a CSV version, adjusting a CR), you can either edit the manifests directly in your fork or use standard Kustomize patches in an overlay.

    Conclusion

    Using the odh-gitops repository and Kustomize simplifies how you manage Red Hat OpenShift AI dependencies. This method provides flexibility for customization and straightforward processes for both initial deployment and ongoing updates, whether you choose the manual control of the CLI or the automation of Argo CD.

    To continue simplifying this process, we are actively working on a Helm chart to provide an alternative installation path for Red Hat OpenShift AI users who prefer a native Helm experience.

    • Follow the OpenShift AI latest release notes for updates.
    • To learn more about the project, check the odh-gitops repository.
    • To learn more about Kustomize, see the documentation.

    Related Posts

    • Extracting dependencies from Python packages

    • Optimize and deploy LLMs for production with OpenShift AI

    • How to deploy language models with Red Hat OpenShift AI

    • From raw data to model serving with OpenShift AI

    • Improve GPU utilization with Kueue in OpenShift AI

    Recent Posts

    • Zero trust GitOps: Build a secure, secretless GitOps pipeline

    • How to manage Red Hat OpenShift AI dependencies with Kustomize and Argo CD

    • How to develop agentic workflows in a CI pipeline with cicaddy

    • Accelerated expert-parallel distributed tuning in Red Hat OpenShift AI

    • Improve code quality and security with PatchPatrol

    What’s up next?

    Learning Path intro-to-OS-LP-feature-image

    Introduction to OpenShift AI

    Learn how to use Red Hat OpenShift AI to quickly develop, train, and deploy...
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer tools
    • Interactive tutorials
    • API catalog

    Quicklinks

    • Learning resources
    • E-books
    • Cheat sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site status dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2026 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue