Uploaded image for project: 'OpenShift Request For Enhancement'
  1. OpenShift Request For Enhancement
  2. RFE-8582

Sync Windows as Standalone CRDs in OpenShift GitOps/ArgoCD

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • GitOps
    • None
    • None
    • Product / Portfolio Work
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      1. Proposed title of this feature request
      Sync Windows as Standalone CRDs in OpenShift GitOps/ArgoCD

      2. What is the nature and description of the request?
      Request to implement sync windows as standalone Custom Resource Definitions (CRDs) instead of embedded specifications within AppProject CRs, enabling better tracking, auditability, and management capabilities.

      3. Why does the customer need this? (List the business requirements here)

      Our organization frequently needs to freeze one or more applications during maintenance windows, change freezes, or specific operational scenarios. The current implementation where sync windows are embedded in AppProject CRs creates significant operational challenges and risks.

      4.  Current Limitations

      1. Lack of Audit Trail

      • No version history for sync window modifications
      • Unable to track who made changes and when
      • Difficult to perform audits or compliance reviews
      • No rollback capability for sync window configurations

      2. Concurrent Modification Risks

      • High risk of losing values when multiple GitOps tools access the same AppProject file
      • Race conditions when different teams or automation tools update sync windows simultaneously
      • No conflict resolution mechanism

      3. Poor Visibility and Attribution

      • Very difficult to identify the author of changes
      • No clear reason/justification captured with changes
      • Troubleshooting sync window issues requires extensive investigation

      4. Scalability and Flexibility Constraints

      • Only one AppProject CR to declare all sync windows
      • Cannot easily share sync windows across multiple projects
      • Difficult to implement global or organizational-wide sync windows

      Proposed Solution
      Feature Request
      Implement sync windows as standalone CRDs that can be:

      • Referenced by AppProjects
      • Referenced by Applications (individually)
      • Applied globally across the cluster

       

      Key Capabilities Needed

      1. Standalone CRD for Sync Windows

       

      apiVersion: argoproj.io/v1alpha1 
      kind: SyncWindow
      metadata:
        name: maintenance-window-q4
        namespace: argocd
      spec:
        schedule: "0 2 * * 0" # Example: Every Sunday at 2 AM
        duration: 4h
        applications: ["*"]
        kind: deny

       

      2. Referenceable by AppProjects and Applications

      • Projects can reference one or more SyncWindow CRs
      • Individual applications can override or add specific sync windows
      • Global sync windows can be applied cluster-wide

      3. Self-Service Capabilities

      • Enable RBAC for sync window management
      • Allow non-admin users to create/modify sync windows with proper permissions
      • Integration with automation tools for sync window lifecycle management

      4. History and Auditability

      • Track all changes to sync window resources (similar to Application history in ArgoCD)
      • Capture metadata: author, timestamp, reason for change
      • Enable rollback to previous sync window configurations
      • Support audit logs for compliance requirements

      Benefits

      • {}Improved Auditability{}: Full history tracking and change attribution
      • {}Reduced Risk{}: Eliminates concurrent modification conflicts
      • {}Better Scalability{}: Reusable sync windows across multiple projects/applications
      • {}Enhanced Self-Service{}: Enables delegation through RBAC and automation
      • {}Operational Excellence{}: Clear visibility into active and historical sync windows
      • {}Compliance{}: Better support for change management and audit requirements

      Upstream Reference
      This enhancement aligns with an existing feature request in the ArgoCD upstream project:

      Priority
      {}High{} - This impacts our daily operational workflows and introduces risks in our current multi-team GitOps environment.

      Additional Context

      • Current Product: OpenShift GitOps / ArgoCD
      • Environment: Multi-tenant, multiple teams managing applications
      • Use Case: Frequent maintenance windows requiring application sync freezes

       

              halawren@redhat.com Harriet Lawrence
              rhn-support-disharma Diksha Sharma
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                None
                None