Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-1391

R&D: Define a Repository CRD and controller which watches Repository CRs and configures the relevant pieces in Argo Cd

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Won't Do
    • Icon: Normal Normal
    • None
    • None
    • Operator
    • None
    • R&D: Define a Repository CRD and controller which watches Repository CRs and configures the relevant pieces
    • False
    • False
    • To Do
    • 0% To Do, 0% In Progress, 100% Done

      Summary

      Upstream Issue:  https://github.com/argoproj/argo-cd/issues/5720 

       

      Configuring Argo CD can be an arduous process with a growing number of configuration knobs in large configmaps and secrets. Example https://argoproj.github.io/argo-cd/operator-manual/argocd-cm.yaml

      This enhancement proposal aims to introduce a set of strongly typed APIs a.k.a CRDs to make configuration of repository credentials.

      Proposal

      Define a ArgoCDConfig CRD and controller which watches ArgoCDConfig CRs and configures relevant configmaps that captures the equivalent of https://argoproj.github.io/argo-cd/operator-manual/argocd-cm.yaml for areas which aren’t covered by other CRDs.

      Goals

      • Define an API that lets users create a repository configuration, which later gets translated to appropriate Argo CD configuration (e.g. a Secret)
        • The API should support all settings that Argo CD repositories support currently
        • The API should perform strict validation on all settings
      • Credentials (Username, Password, Private Keys, ...) need to be handled securely, and are not to be embedded in the CR
      • Define the reconciliation process

      Use case

      refer the upstream issue

      Acceptance Criteria

      • Decouple declaration of repositories from the main configuration argocd-cm.yaml
      • Create an API equivalent to the GitRepositoryConfig CRD for reading `repository` and `repository.credentials`
      • Controller watches for repository configuration in the GitRepositoryConfig CRs

       

              isequeir@redhat.com Ishita Sequeira
              jfischer@redhat.com Jann Fischer
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: