The GitOps Console plugin provides list and details pages for Argo CD AppProjects in the OpenShift web console. You can search and filter AppProjects, create them from a YAML template, review destinations and allow or deny rules, and manage roles and sync windows.
- You have access to the OpenShift web console.
- The GitOps Console plugin is enabled. See Enable the GitOps Console plugin.
- You can list AppProjects in the selected namespace (or across namespaces, depending on your permissions).
-
In the Administrator or Core platform perspective, navigate to GitOps → AppProjects.
-
Optional: Use the Project dropdown to limit the list to one project (namespace), or choose all projects.
The AppProjects list page includes:
- Filtering: Filter AppProjects by:
- Description: Has Description, No Description
- Applications: Has Applications, No Applications
- Project Type: Default Project, Custom Projects
- Source Repositories: Has Source Repos, No Source Repos
- Destinations: Has Destinations, No Destinations
- Search: Use the search field to match by Name or Label. Choose the mode from the dropdown next to the field.
- Create action: Click Create AppProject to open the YAML editor with a default AppProject template
- Table columns: Name, Namespace, Description, Applications, Labels, Last Updated, and row actions
- Pagination: Browse results in pages of 10, 20, 50, or 100 items (default 50). Search and filters change which rows are included. See Filter, search, and paginate resources.
NOTE
Creation uses the YAML editor. The console does not provide an AppProject form wizard.
From the row kebab, you can:
- Edit labels
- Edit annotations
- Edit AppProject (opens the YAML editor)
- Delete
-
From the AppProjects list, click an AppProject name.
-
The details page breadcrumb shows AppProjects → AppProject details.
-
Use the page header Actions menu for the same edit and delete actions as the list.
The details page includes the following tabs.
The Details tab summarizes identity and project configuration counts.
Section title: AppProject details.
Summary (left)
- Name
- Namespace
- Labels, with Edit
- Annotations
- Created at
Status and configuration (right)
- Project Type: Default Project badge when the AppProject name is
default - Description: Project description when set
- Applications: Count of Applications that use this AppProject, with a link to the Applications tab
- Destinations: Count of allowed destinations, with a link to the Allow/Deny tab
- Source Repositories: Count of allowed source repositories
- Source Namespaces: Count of allowed source namespaces
- Roles: Count of Argo CD project roles, with a link to the Roles tab
- Sync Windows: Count of sync windows, with a link to the Sync Windows tab
- Project-Scoped Clusters Only: Enabled or Disabled when the field is set on the AppProject
The YAML tab provides a live editor for the AppProject manifest. Use it to inspect or update the full resource definition.
The editor includes a Schema side panel that describes AppProject fields, and a Download control to save the YAML.
The Allow/Deny tab shows which sources and destinations this AppProject permits, and which Kubernetes resource kinds are allowed or denied.
- Allowed Sources: Repositories and Namespaces that applications in this project may use as sources. An Argo CD link under this section opens the project summary in the Argo CD UI when a Route to the Argo CD server is available.
- Allowed Destinations: A table of allowed or denied destinations with Type, Server, Name, and Namespace
- Resource Allow/Deny Lists: Four lists of Kubernetes kinds — Cluster Resource Allow List, Cluster Resource Deny List, Namespace Resource Allow List, and Namespace Resource Deny List. Each list shows Kind and Group.
Source repositories, source namespaces, and destinations use Allow or Deny badges. Empty lists show a placeholder.
The Applications tab shows Applications that belong to this AppProject.
The table provides the same experience as the main Applications list, including search, filtering, and pagination, scoped to this project. See Applications in the GitOps Console and Filter, search, and paginate resources.
The Roles tab displays Argo CD project roles and bindings in a paginated table. An Argo CD link on the tab opens the project roles page in the Argo CD UI when a Route to the Argo CD server is available.
| Column | Description |
|---|---|
| Name | Role name. |
| Description | Role description. |
| Groups | Groups bound to the role. |
| Policies | Policy statements for the role. |
These are Argo CD AppProject roles, not OpenShift RoleBindings.
The Sync Windows tab shows configured sync windows for the project in a paginated table. An Argo CD link on the tab opens the project sync windows page in the Argo CD UI when a Route to the Argo CD server is available.
| Column | Description |
|---|---|
| Kind | Window kind, such as allow or deny. |
| Schedule | Cron schedule for the window. |
| Duration | How long the window lasts. |
| Applications | Applications covered by the window. |
| Clusters | Clusters covered by the window. |
| Namespaces | Namespaces covered by the window. |
| Manual Sync | Whether manual sync is allowed during the window. |
| Time Zone | Time zone for the schedule. |
The Events tab shows Kubernetes events for the AppProject object, using the standard console event stream for that resource.
OpenShift RBAC and Argo CD AppProject rules both apply; they control different things.
- OpenShift RBAC controls whether you can get, list, create, update, patch, or delete AppProject (and other GitOps) custom resources. The plugin uses Console access reviews:
- patch — edit labels and annotations
- update — edit AppProject and save YAML
- delete — delete the AppProject
- get / list — open list and details pages
- AppProject rules control what Argo CD may sync for Applications in that project (source repositories, destinations, and allow or deny resource lists). A YAML save can succeed while a sync still fails if those rules block the resources.
- The Roles tab shows Argo CD AppProject roles and group bindings, not OpenShift RoleBindings. The plugin does not create OpenShift Roles from AppProject roles. Use OpenShift RoleBindings for console and API access to the CRs.