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

Enhance GitOps Operator to Support Wildcards in ApplicationSet Source Namespaces

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • 1.20.0
    • None
    • Operator
    • Enhance GitOps Operator to Support Wildcards in ApplicationSet Source Namespaces
    • M
    • False
    • Hide

      None

      Show
      None
    • False
    • RFE-7191Support for  wildcards (*)  in the `.spec.applicationSet.sourceNamespaces` field
    • To Do
    • 100% To Do, 0% In Progress, 0% Done

      Epic Goal

      The goal of this Epic is to enhance the GitOps Operator to recognize and process wildcard characters (*) within the .spec.applicationSet.sourceNamespaces field of the ArgoCD Custom Resource (CR).

      This enhancement provides significant administrative efficiency and scalability by allowing cluster administrators to enable the "ApplicationSets in Any Namespace" feature for a dynamic group of namespaces using a single pattern (e.g., team-*) instead of a static, unmaintainable list.

      Why is this important?

      Currently, the ArgoCD Operator enforces a manual, explicit listing of all target namespaces in .spec.applicationSet.sourceNamespaces. This violates the principle of automation, is prone to human error, and creates an ongoing maintenance burden whenever new namespaces are provisioned or retired.

      Scenarios

      As a cluster administrator, I want to configure the "ApplicationSets in Any Namespace" feature using a wildcard pattern (e.g., qa-{} or dev-) in the .spec.applicationSet.sourceNamespaces field, so that all namespaces matching that prefix automatically inherit the capability without manual updates to the ArgoCD CR.

      Example Configuration:

      kind: ArgoCD
      spec:
        applicationSet:
          sourceNamespaces:
            - 'team-*' # Supports all namespaces starting with 'team-'
            - 'staging' # Explicitly supports one namespace
            - '*' # Supports ALL namespaces (if needed) 

      Other Considerations

      Definition of Ready

      • The epic has been broken down into stories.
      • Stories have been scoped.
      • The epic has been stack ranked.

      Definition of Done

      • Code Complete:
        • All code has been written, reviewed, and approved.
      • Tested:
        • Unit tests have been written and passed.
        • Integration tests have been completed.
        • System tests have been conducted, and all critical bugs have been fixed.
        • Tested on OpenShift either upstream or downstream on a local build.
      • Documentation:
        • User documentation or release notes have been written.
      • Build:
        • Code has been successfully built and integrated into the main repository / project.
      • Review:
        • Code has been peer-reviewed and meets coding standards.
        • All acceptance criteria defined in the user story have been met.
        • Tested by reviewer on OpenShift.
      • Deployment:
        • The feature has been deployed on OpenShift cluster for testing.
      • Acceptance:
        • Product Manager or stakeholder has reviewed and accepted the work.

              nmirasch@redhat.com Neus Miras Chueca
              rh-ee-sghadi Siddhesh Ghadi
              Crimson
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: