Chapter 7. GitOps Console features and troubleshooting


The GitOps Console plugin provides features for filtering, searching, and paginating resources, graphical views of Argo resources in a tree layout, and troubleshooting common issues. These features help you work efficiently with GitOps resources in the OpenShift Container Platform web console.

7.1. Prerequisites

  • You have access to an OpenShift Container Platform cluster running version 4.19 or later.
  • You have installed the Red Hat OpenShift GitOps Operator.
  • You have enabled the GitOps Console plugin. For more information, see GitOps Console plugin setup and configuration.

The GitOps Console plugin provides search, filters, and client-side pagination on resource list pages. These features improve usability and browser performance for large lists.

Search

The search field lets you match resources by Name or Label. Search is separate from filters, so you can combine search with filters to narrow results further.

Filters

Available filters vary by resource type:

  • Applications: Health status (Healthy, Progressing, Suspended, Degraded, Missing, Unknown) and sync status (Synced, OutOfSync, Unknown)
  • ApplicationSets: Health status (Healthy, Error, Unknown)
  • AppProjects: Description, Applications, Project Type, Source Repositories, and Destinations
  • ImageUpdaters: Apps and Ready status
  • Rollouts: Rollout status (Healthy, Paused, Progressing, Degraded)

You can combine multiple filters to narrow results further. Search and filters work together.

Pagination

Pagination keeps large result sets usable and improves browser performance. The console shows one page of rows at a time so long lists are easier to scan and the browser does not render every row at once.

Pagination is available on all GitOps list pages (Applications, ApplicationSets, AppProjects, ImageUpdaters, and Rollouts) and on nested tables in details pages:

  • The Applications tab on ApplicationSet and AppProject details pages
  • Application details: Resources (list view), Sources, Sync Status (resources last synced), and History
  • AppProject details: Roles and Sync Windows
  • ImageUpdater details: Recent Updates
  • Rollout details: Pods

Pagination behavior:

  • Page size: Choose 10, 20, 50, or 100 items per page. The default is 50.
  • Controls: Pagination appears above and below the table when the filtered list contains at least one row.
  • URL state: The current page and page size are stored in the URL (page and perPage) so you can refresh or share the view.
  • Reset: Changing filters, name or label search, or the selected project returns you to page 1. Changing the page size or sorting does not reset the page by itself.
  • Client-side only: Pagination runs in the browser on the already loaded and filtered list. It does not use Kubernetes API limit or continue tokens.

7.3. Filter, search, and paginate resources

You can search, filter, and paginate resources on the GitOps Console plugin list pages.

Prerequisites

  • You have access to the OpenShift Container Platform web console.
  • The GitOps Console plugin is enabled.

Procedure

  1. To search for resources:

    1. In the OpenShift Container Platform web console, navigate to GitOps and select a resource type.
    2. On the list page, use the search field to match resources by Name or Label.
    3. Choose the search mode from the dropdown next to the field, for example, Name with Search by name…​, or Label.

      You can use search and filters together.

  2. To filter resources:

    1. In the OpenShift Container Platform web console, navigate to GitOps and select a resource type.
    2. On the list page, click Filter to narrow the displayed resources by status or other properties.
    3. Optional: Combine multiple filters to narrow the results further.
    4. To clear filters, click the Clear all filters link or remove individual filter selections.
  3. To use pagination:

    1. On the list page or details table, locate the pagination controls above and below the table.
    2. To change the page size, select 10, 20, 50, or 100 items per page from the dropdown. The default is 50.
    3. To navigate pages, use the Previous and Next buttons or click a specific page number.

      When you use search or filters, pagination applies only to the matching resources. Changing the search or filters returns you to page 1.

7.4. About graphs and topology views

The GitOps Console plugin provides two kinds of graphical experience:

  • Graph view: In-plugin graphs on Application Resources and ApplicationSet Applications tabs
  • Topology: The OpenShift Container Platform Developer or Core platform perspective Workloads Topology page for Rollout workloads, opened with the Topology view control

Application graph view

On an Application Resources tab, the graph view shows immediate managed resources for the Application, not the full Argo CD resource tree. The graph displays resources as nodes with connections showing their relationships.

Graph features:

  • Related resources of the same kind can be grouped or ungrouped
  • Context-menu actions on graph nodes include viewing details, editing labels and annotations, deleting resources, and viewing resources in Argo CD
  • You can pan, zoom, and select resources
  • Status filters apply to both the table and the graph

Use the Argo CD link to open the Argo CD UI and view the complete hierarchy.

ApplicationSet graph view

On an ApplicationSet Applications tab, the graph view shows Applications generated by the ApplicationSet. The list view on the same tab shows the same applications in table form.

When progressive sync is not configured, the graph uses an owner reference layout. The ApplicationSet node connects to each generated Application. Each Application node shows sync and health status. You can pan, zoom, group nodes, and open context actions from the graph toolbar.

When progressive sync is enabled and the controller reports step status, you can switch the graph to Progressive Sync Flow View. In this layout, Applications are grouped by sync step instead of shown flat under the ApplicationSet. Each step group shows:

  • Step number and the step’s label selector, for example, stage in 1
  • Application count for that step
  • Status counts for healthy, syncing, warning, and waiting Applications in the step

The controller advances one step at a time. A step must reach a healthy state before the next step starts syncing.

This step-based flow is separate from sync waves on an Application’s managed resources, which is the Sync Wave column on an Application Resources tab. Progressive sync controls the order in which Applications sync; sync waves control the order of resources within a single Application sync.

Rollout topology integration

In the Developer perspective Topology view, Rollout workloads appear in graph or list view when the Rollout CRD is installed on the cluster and you are using OpenShift Container Platform 4.19 or later.

The Topology page includes the following components:

  • Header: Project and Application dropdowns scope which workloads appear, view shortcuts list keyboard and mouse shortcuts, and you can switch between graph and list view
  • Toolbar: Display options to expand application or operator groupings and show or hide labels and pod count, filter by resource to limit results to selected kinds, and find by name or label to narrow visible workloads
  • Graph or list: In graph view, Rollout nodes include a visual decorator and can appear inside application or operator groupings. Selecting a Rollout opens Details and Overview sidebar tabs. Context actions include Edit Rollout and Delete Rollout.

The Rollout kind appears in the filter by resource list when Rollouts exist in the project, shown with the R badge.

From the GitOps Rollouts list, Details tab, or Pods tab, use the Topology view control to open this graph. From Details or Pods, the selected Rollout is highlighted.

7.5. Use graphs and topology views

You can view Application resources, ApplicationSet applications, and Rollout workloads in graphical layouts.

Prerequisites

  • You have access to the OpenShift Container Platform web console.
  • The GitOps Console plugin is enabled.

Procedure

  1. To view an Application resource graph:

    1. Navigate to GitOps Applications.
    2. Click an Application name to open the details page.
    3. Click the Resources tab.

      The Resources tab displays resources in list view by default. You can switch between list and graph views.

    4. Switch to Graph view.

      The graph shows immediate managed resources for the Application. You can pan, zoom, select resources, and use context-menu actions on graph nodes.

  2. To view an ApplicationSet application graph:

    1. Navigate to GitOps ApplicationSets.
    2. Click an ApplicationSet name to open the details page.
    3. Click the Applications tab.
    4. Switch to Graph view.

      The graph shows Applications generated by the ApplicationSet.

    5. Optional: If progressive sync is enabled and step status is available, switch to Progressive Sync Flow View from the toolbar to see Applications grouped by sync step.
  3. To view Rollout topology:

    1. Navigate to the Developer perspective.
    2. Click Topology.
    3. Optional: Use the Filter by resource control and select Rollout to show only Rollout workloads.

      You can also open this view directly from the GitOps Rollouts list page by clicking the Topology view control.

7.6. Graphs and topology views

The GitOps Console plugin provides two kinds of graphical experience:

  • Graph view: In-plugin graphs on Application Resources and ApplicationSet Applications tabs
  • Topology: The OpenShift Container Platform Developer perspective Topology page for Rollout workloads, opened with the Topology view control

On an Application, open the Resources tab and switch to Graph view.

The graph and table show immediate managed resources for the Application, not the full Argo CD resource tree. The graph displays resources as nodes with connections showing their relationships. You can pan, zoom, and select resources. Status filters apply to both the table and the graph.

  • Related resources of the same kind can be grouped or ungrouped.
  • Context-menu actions on graph nodes include viewing details, editing labels and annotations, deleting resources, and viewing resources in Argo CD.
  • Use the Argo CD link on the tab to open the complete resource hierarchy in the Argo CD UI.

On an ApplicationSet, open the Applications tab and switch to Graph view.

The graph shows Applications generated by the ApplicationSet. Use Filter and search to narrow by health and sync status. The list view on the same tab shows the same applications in table form.

When progressive sync is not configured, the graph uses an owner reference layout. The ApplicationSet node connects to each generated Application. Each Application node shows sync and health status. You can pan, zoom, group nodes, and open context actions from the graph toolbar.

When progressive sync is enabled on the ApplicationSet and the controller reports step status, switch the graph to Progressive Sync Flow View from the toolbar. The control is disabled until step status is available.

In this layout, Applications are grouped by sync step instead of shown flat under the ApplicationSet. Each step group shows:

  • Step number and the step’s label selector, for example, stage in 1
  • Application count for that step
  • Status counts for healthy, syncing, warning, and waiting Applications in the step

The controller advances one step at a time. A step must reach a healthy state before the next step starts syncing.

Progressive sync requires:

  1. The ApplicationSet controller feature enabled on the cluster:

    $ oc patch configmap argocd-cmd-params-cm -n openshift-gitops --type merge -p \
      '{"data":{"applicationsetcontroller.enable.progressive.syncs":"true"}}'
    $ oc rollout restart deployment openshift-gitops-applicationset-controller -n openshift-gitops

    Confirm the deployment name with oc get deploy -n openshift-gitops | grep applicationset if it differs on your cluster.

  2. A RollingSync strategy with rollingSync.steps defined on the ApplicationSet
  3. Generated Applications labeled so they match each step’s selector
Note

Progressive sync is an optional feature that requires explicit configuration. After enabling the feature on the ApplicationSet controller, you must configure a RollingSync strategy on each ApplicationSet that uses progressive sync.

Example ApplicationSet strategy that syncs Applications labeled stage=1, then stage=2, then stage=3

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: progressive-sync-apps
  namespace: openshift-gitops
spec:
  generators:
    - list:
        elements:
          - name: app-stage-1
            stage: '1'
          - name: app-stage-2
            stage: '2'
          - name: app-stage-3
            stage: '3'
  strategy:
    type: RollingSync
    rollingSync:
      steps:
        - matchExpressions:
            - key: stage
              operator: In
              values:
                - '1'
        - matchExpressions:
            - key: stage
              operator: In
              values:
                - '2'
        - matchExpressions:
            - key: stage
              operator: In
              values:
                - '3'
  template:
    metadata:
      name: '{{name}}'
      labels:
        stage: '{{stage}}'
    spec:
      project: default
      source:
        repoURL: https://github.com/example/repo.git
        targetRevision: HEAD
        path: apps/{{name}}
      destination:
        server: https://kubernetes.default.svc
        namespace: '{{name}}'

The template.metadata.labels values must match the rollingSync.steps selectors. Applications that do not match any step are not synced by RollingSync and must be synced manually.

This step-based flow is separate from sync waves on an Application’s managed resources, which is the Sync Wave column on an Application Resources tab. Progressive sync controls the order in which Applications sync; sync waves control the order of resources within a single Application sync.

In the Developer perspective, open Topology to see Rollout workloads in graph or list view.

Rollout topology integration requires:

  • The Rollout CRD installed on the cluster
  • OpenShift Container Platform 4.19 or later

When available, the Topology page includes the following components, from top to bottom:

  1. Header

    • Project and Application dropdowns scope which workloads appear
    • View shortcuts lists Topology keyboard and mouse shortcuts
    • Switch between graph and list view with the view control on the right of the header
  2. Toolbar

    • Display options: Expand Application groupings or Operator groupings, and show or hide Labels and Pod count
    • Filter by resource: Limit results to selected kinds. Rollout appears in this list when Rollouts exist in the project, shown with the R badge
    • Find by name or Label: Narrow visible workloads with the search field
  3. Graph or list

    • In graph view, Rollout nodes include a visual decorator and can appear inside application or operator groupings
    • Selecting a Rollout opens Details and Overview sidebar tabs
    • Context actions include Edit Rollout and Delete Rollout

From the GitOps Rollouts list, Details tab, or Pods tab, use the Topology view control to open this graph. From Details or Pods, the selected Rollout is highlighted.

Progressive sync is an optional feature that requires explicit configuration.

Prerequisites

  • You have access to the OpenShift Container Platform cluster with cluster-admin permissions.
  • You have installed the OpenShift CLI (oc).

Procedure

  1. Enable the ApplicationSet controller feature on the cluster:

    $ oc patch configmap argocd-cmd-params-cm -n openshift-gitops --type merge -p \
      '{"data":{"applicationsetcontroller.enable.progressive.syncs":"true"}}'
  2. Restart the ApplicationSet controller:

    $ oc rollout restart deployment openshift-gitops-applicationset-controller -n openshift-gitops

    Confirm the deployment name with oc get deploy -n openshift-gitops | grep applicationset if it differs on your cluster.

  3. Configure a RollingSync strategy with rollingSync.steps on your ApplicationSet:

    Example ApplicationSet strategy that syncs Applications labeled stage=1, then stage=2, then stage=3

    apiVersion: argoproj.io/v1alpha1
    kind: ApplicationSet
    metadata:
      name: progressive-sync-apps
      namespace: openshift-gitops
    spec:
      generators:
        - list:
            elements:
              - name: app-stage-1
                stage: '1'
              - name: app-stage-2
                stage: '2'
              - name: app-stage-3
                stage: '3'
      strategy:
        type: RollingSync
        rollingSync:
          steps:
            - matchExpressions:
                - key: stage
                  operator: In
                  values:
                    - '1'
            - matchExpressions:
                - key: stage
                  operator: In
                  values:
                    - '2'
            - matchExpressions:
                - key: stage
                  operator: In
                  values:
                    - '3'
      template:
        metadata:
          name: '{{name}}'
          labels:
            stage: '{{stage}}'
        spec:
          project: default
          source:
            repoURL: https://github.com/example/repo.git
            targetRevision: HEAD
            path: apps/{{name}}
          destination:
            server: https://kubernetes.default.svc
            namespace: '{{name}}'

    The template.metadata.labels values must match the rollingSync.steps selectors. Applications that do not match any step are not synced by RollingSync and must be synced manually.

7.8. Common console features

The GitOps Console plugin provides consistent features across all GitOps resource list and details pages.

Project selector
Use the Project dropdown on list pages to filter resources by namespace. Select a specific project to view resources in that namespace, or select all projects to view resources across all namespaces. A project represents an OpenShift Container Platform namespace.
YAML editor

The YAML tab on details pages provides a live editor for viewing and modifying resource manifests. The editor includes:

  • A Schema side panel that documents resource fields
  • A Download button to save the YAML file locally
  • Syntax highlighting and validation
Create resources from YAML templates

Click the Create button on any list page to open the YAML editor with a starter template. The template includes placeholders for common fields such as name, namespace, repository URL, and destination. Edit the YAML for your configuration, then create the resource.

The console does not provide form-based wizards for creating GitOps resources. All resource creation uses the YAML editor.

Row actions

Each row in a resource list table includes a kebab menu with these actions:

  • Edit labels
  • Edit annotations
  • Edit [Resource] to open the YAML editor
  • Delete [Resource]

    The available actions depend on your OpenShift Container Platform RBAC permissions for that resource type.

Pagination controls

List pages and details page tables support pagination. The console displays results in pages to improve usability and browser performance for large lists.

  • Page size: Choose 10, 20, 50, or 100 items per page. The default is 50. There is no All option.
  • Controls: Pagination appears above and below the table when the list contains at least one row.
  • URL state: The current page number and page size are stored in the URL (page and perPage) so you can refresh or share the view.
  • Reset behavior: Changing filters, search terms, or the selected project returns you to page 1. Changing the page size or sorting does not reset the page; if the list shrinks, the page is clamped to the last valid page.
  • Client-side operation: Pagination runs in the browser on the already loaded and filtered list. It does not use Kubernetes API limit or continue tokens.

    When you apply search or filters, pagination applies only to the matching resources.

Events tab
The Events tab on resource details pages shows Kubernetes events for that resource object, using the standard console event stream. Events help diagnose resource state changes, controller actions, and errors.
Favorites
You can mark Applications as favorites by using the console favorites control on the list and details pages. Favorites follow your console user settings across browser sessions.

7.9. Troubleshoot the GitOps Console plugin

Use these troubleshooting tips to resolve common issues with the GitOps Console plugin.

GitOps is missing from the navigation

The plugin is disabled, or the plugin pods are not running. Refresh the browser after you enable the plugin.

ImageUpdaters or Rollouts are missing

Those list pages appear only when the matching CRDs are installed.

Empty lists or disabled actions

Confirm the Project (namespace) selector and that resources exist. Empty lists or disabled edit and delete actions often mean the user lacks OpenShift Container Platform RBAC (get, list, create, update, patch, or delete) on the GitOps custom resources. An AppProject can still block an Argo CD sync after a YAML save succeeds.

Health is Unknown or missing

The plugin reads health from the Application CR. Set controller.resource.health.persist: "true" in the argocd-cmd-params-cm ConfigMap, for example in the openshift-gitops namespace.

Application stays OutOfSync

Check Sync Status, History, conditions, and Events. The Application kebab and History tab do not provide Sync or Rollback. Use the Argo CD UI, YAML, or the argocd CLI.

View in Argo CD is missing or disabled

The action requires a Route to the Argo CD server for that Application’s instance. Confirm the Argo CD Route exists in the Application namespace or the instance namespace your Operator uses.

The Application graph looks incomplete

The Graph view on the Application Resources tab shows immediate managed resources only, not the full Argo CD resource tree. Use the Argo CD link on the tab for the complete hierarchy.

List pages are slow

Search, filtering, and pagination run in the browser on the loaded list. They do not use Kubernetes API limit or continue tokens. Select a narrower namespace or tighten filters.

Pagination shows unexpected totals

Totals reflect the filtered and searched result set, not the full cluster inventory. Clear filters or search, then confirm the namespace selector.

ImageUpdater shows no recent updates

Nothing was recorded in status.recentUpdates for the last reconciliation cycle. Check Ready, Conditions when present, and the ImageUpdater YAML status. Some ImageUpdater builds do not write conditions even when updates exist.

Rollout Rollback is disabled

Rollback is disabled for the current revision, which is the first revision in the tree, when the ReplicaSet is missing, or when you cannot patch the Rollout. Use a non-current revision and confirm your permissions.

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top