Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-10486

Add remote cluster support on gitops repo - argocd application

    • Icon: Story Story
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • None
    • RHDHPAI Sprint 3270, RHDHPAI Sprint 3271

      Story (Required)

      As a developer trying to deploy my AI Software Template application on a remote cluster I want the gitops template used by the ST to allow me to use a server different than the default (the one that RHDH runs on).

      Background (Required)

      The idea for the remote cluster support comes from the official argoCD documentation https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#clusters and the support of remote clusters.

      Therefore, the argoCD dev application and its resources can be deployed on a remote cluster while the application is being monitored by the parent application installed on the RHDH cluster side.

      An important note, is that the tekton repository resources should remain on the RHDH cluster side too so the PaC support, the github webhook etc remain unchanged, as well as the remote cluster doesn't need to have PaC or other dependencies installed.

      Out of scope

      Only updates on the ai-lab-app repo are in the scope of this issue.

      Approach (Required)

      The application dev needs to have a conditional that defines each time the `spec.destination.namespace` and `spec.destination.server`. See here.

      Apart from the application-dev we need to keep the gitops-repository.yaml and source-repository.yaml in the RHDH cluster environment. A potential approach could be to move them in the kustomization.yaml of the application rather than the application-dev OR we could figure out a way to keep specific resource of application dev in the source cluster.

      Finally the initialize-namespace.yaml needs to be executed on the RHDH cluster too allowing the PipelineRun to update the gitops repo.

      Dependencies

      The suggested changes are all based on a conditional that does not exist on the template side and as a result will have no impact on the ai-lab-template. However this should be confirmed during the testing phase.

      Acceptance Criteria (Required)

      • The argoCD application-dev can be deployed on a remote cluster
      • The PipelineRuns run correctly on the RHDH cluster, updating the gitops repo.
      • The argoCD "parent" application monitors all dev resources and updates them whenever the gitops repo is updated (exactly like the default non-remote approach).
      • The updates introduced in the gitops repo have no impact on the current version of the ai-lab-templates. So if the updates are pulled before the ai-lab-template is updated everything works fine.

      <Provides a required and minimum list of acceptance tests for this story. More is expected as the engineer implements this story>

      documentation updates (design docs, release notes etc)
      demo needed
      SOP required
      education module update (Filled by RHDHPAI team only)
      R&D label required (Filled by RHDHPAI team only)

      Done Checklist

      Code is completed, reviewed, documented and checked in
      Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
      Continuous Delivery pipeline(s) is able to proceed with new code included
      Customer facing documentation, API docs, design docs etc. are produced/updated, reviewed and published
      Acceptance criteria are met
      If the Grafana dashboard is updated, ensure the corresponding SOP is updated as well

              rh-ee-tpetkos Theofanis Petkos
              rh-ee-tpetkos Theofanis Petkos
              RHDH AI
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: