Skip to content

Commit 9dd897b

Browse files
keithchongaali309
authored andcommitted
Merge pull request #271 from aali309/GITOPS-10081
Comprehensive docs for gitops-console-plugin Signed-off-by: Atif Ali <atali@redhat.com>
1 parent 0034442 commit 9dd897b

35 files changed

Lines changed: 1740 additions & 1 deletion

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# OpenShift Console GitOps Plugin
22
Based on [Openshift Console dynamic plugin](https://github.com/openshift/console/tree/master/frontend/packages/console-dynamic-plugin-sdk), this plugin implement the console elements for GitOps.
33

4+
## Documentation
5+
6+
[docs/](docs/) provide description of what the UI does. Preview with `pnpm serve-docs` (http://localhost:3000).
47

58
## Building
69
### Option 1: Without running Console locally

docs/README.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Working with the GitOps Console plugin
2+
3+
The GitOps Console plugin extends the OpenShift Container Platform web console by adding GitOps resources. The plugin is available as part of the Red Hat OpenShift GitOps Operator and provides a console UI for managing Argo CD and Argo Rollouts custom resources.
4+
5+
After you install the Red Hat OpenShift GitOps Operator, the OpenShift web console displays a **GitOps** navigation tab in the **Administrator** or **Core platform** perspective. The plugin is enabled by default. The GitOps navigation tab replaces the previous **Environments** tab and related pages in the **Developer** perspective.
6+
7+
The GitOps navigation tab provides access to the following Argo CD and Argo Rollouts resources:
8+
9+
* Applications
10+
* ApplicationSets
11+
* AppProjects
12+
* ImageUpdaters
13+
* Rollouts
14+
15+
## Prerequisites
16+
17+
* You have access to OpenShift Container Platform 4.18 or later.
18+
* You have installed the Red Hat OpenShift GitOps Operator.
19+
20+
## GitOps resources in the web console
21+
22+
Each GitOps resource provides list and details pages that follow the standard OpenShift web console experience.
23+
24+
You can use these pages to:
25+
26+
* View GitOps resources in a selected namespace
27+
* Create resources by using YAML templates
28+
* Edit labels and annotations
29+
* Filter resources by status, where applicable
30+
* Paginate large filtered lists and details tables (10, 20, 50, or 100 items per page; default 50)
31+
* Access related resources and events
32+
33+
The GitOps Console plugin integrates with the console navigation, allowing you to navigate between related resources and access contextual actions for each resource type.
34+
35+
### Search and YAML templates
36+
37+
The GitOps Console plugin provides search and template capabilities:
38+
39+
* **Search integration**: Search pages are enabled for Applications and ApplicationSets, allowing you to find instances from global search like other first-class resources.
40+
* **YAML templates**: Pre-configured YAML templates are registered for Applications, ApplicationSets, AppProjects, ImageUpdaters, and Rollouts. These templates provide starter configurations with placeholders to speed up resource creation from the console.
41+
42+
## Additional resources
43+
44+
* [Enable the GitOps Console plugin](admin-enable-plugin.md)
45+
* [Applications in the GitOps Console](applications.md)
46+
* [ApplicationSets in the GitOps Console](applicationsets.md)
47+
* [AppProjects in the GitOps Console](appprojects-rbac.md)
48+
* [ImageUpdaters in the GitOps Console](image-updaters.md)
49+
* [Rollouts in the GitOps Console](rollouts.md)
50+
* [Filter, search, and paginate resources](filter-resources.md)
51+
* [Graphs and topology views](topology.md)
52+
* [Getting started](getting-started.md)
53+
* [Troubleshooting](troubleshooting.md)
54+
55+
## Preview this manual
56+
57+
From the `gitops-console-plugin` repository root:
58+
59+
```bash
60+
pnpm serve-docs
61+
```
62+
63+
Open [http://localhost:3000](http://localhost:3000).

docs/_sidebar.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
- [Working with the GitOps Console plugin](/)
2+
- [Getting started](getting-started.md)
3+
- [Enable the GitOps Console plugin](admin-enable-plugin.md)
4+
- [Applications in the GitOps Console](applications.md)
5+
- [ApplicationSets in the GitOps Console](applicationsets.md)
6+
- [AppProjects in the GitOps Console](appprojects-rbac.md)
7+
- [ImageUpdaters in the GitOps Console](image-updaters.md)
8+
- [Rollouts in the GitOps Console](rollouts.md)
9+
- [Graphs and topology views](topology.md)
10+
- [Filter, search, and paginate resources](filter-resources.md)
11+
- [Troubleshooting](troubleshooting.md)

docs/admin-enable-plugin.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Enable the GitOps Console plugin
2+
3+
The GitOps Console plugin is enabled by default after you install the Red Hat OpenShift GitOps Operator. If you disable the plugin, you can enable it manually.
4+
5+
## Prerequisites
6+
7+
* You have installed the Red Hat OpenShift GitOps Operator.
8+
* You have access to the OpenShift web console with cluster administrator permissions.
9+
10+
## Procedure
11+
12+
1. In the OpenShift web console, navigate to **Home****Overview**.
13+
14+
![Home Overview in the OpenShift web console](assets/pics/enable-console-plugin-home-overview.png)
15+
16+
2. In the **Status** panel, click **Dynamic Plugins**.
17+
18+
![Status panel with Dynamic Plugins](assets/pics/enable-console-plugin-status-dynamic-plugins.png)
19+
20+
A popup appears with a link to view all dynamic plugins.
21+
22+
3. Click **View all**.
23+
24+
4. Under the **Console plugins** tab, find **gitops-plugin**.
25+
26+
5. If the plugin is disabled, click **Enable**.
27+
28+
![Console plugin enablement dialog for gitops-plugin](assets/pics/enable-console-plugin-enablement.png)
29+
30+
The browser might require a refresh. After refreshing, the page indicates that the plugin is **Enabled**.
31+
32+
## Verification
33+
34+
* Navigate to **GitOps** in the navigation menu and verify that you can access **Applications**, **ApplicationSets**, and **AppProjects**.
35+
* If the ImageUpdater and Rollout CRDs are installed on the cluster, also verify that you can access **ImageUpdaters** and **Rollouts**.
36+
37+
![GitOps navigation with Applications, ApplicationSets, AppProjects, ImageUpdaters, and Rollouts](assets/pics/enable-console-plugin-verification-gitops-nav.png)
38+
39+
## Disable the plugin
40+
41+
Use the same **Console plugins** list and disable **gitops-plugin**.
42+
43+
### Disable or enable with the CLI
44+
45+
The console loads plugins listed in `spec.plugins` on `console.operator.openshift.io/cluster`.
46+
47+
1. Check which plugins are enabled:
48+
49+
```bash
50+
oc get console.operator.openshift.io cluster -o jsonpath='{.spec.plugins}{"\n"}'
51+
```
52+
53+
2. To enable **gitops-plugin**:
54+
55+
* If step 1 printed a JSON array (for example `["monitoring-plugin"]`), append **gitops-plugin**:
56+
57+
```bash
58+
PLUGIN_PATCH='[{"op":"add","path":"/spec/plugins/-","value":"gitops-plugin"}]'
59+
oc patch console.operator.openshift.io cluster --type=json -p "${PLUGIN_PATCH}"
60+
```
61+
62+
* If step 1 printed nothing (or only `null`), `spec.plugins` is missing. Create the list:
63+
64+
```bash
65+
PLUGIN_PATCH='[{"op":"add","path":"/spec/plugins","value":["gitops-plugin"]}]'
66+
oc patch console.operator.openshift.io cluster --type=json -p "${PLUGIN_PATCH}"
67+
```
68+
69+
Skip this step if `gitops-plugin` is already in the list from the previous command.
70+
71+
3. To disable **gitops-plugin**, edit the Console operator and remove `gitops-plugin` from `spec.plugins`:
72+
73+
```bash
74+
oc edit console.operator.openshift.io cluster
75+
```
76+
77+
Example:
78+
79+
```yaml
80+
spec:
81+
plugins:
82+
- monitoring-plugin
83+
# remove: - gitops-plugin
84+
```
85+
86+
4. Refresh the browser after the change. The **GitOps** entry disappears from the navigation when the plugin is disabled.
87+
88+
## Multi-instance configuration
89+
90+
The GitOps Console plugin is cluster-scoped. A single plugin deployment serves all Argo CD instances on the cluster; you do not install a separate plugin for each instance.
91+
92+
When multiple Argo CD instances exist in different namespaces, their resources appear together in the GitOps pages. Use the namespace selector to limit the view to one namespace or to browse across namespaces.
93+
94+
The **View in Argo CD** action opens the selected application in the Argo CD user interface. This action requires a Route to the Argo CD server.
95+
96+
## Related information
97+
98+
* [Getting started](getting-started.md)
99+
* [Troubleshooting](troubleshooting.md)

0 commit comments

Comments
 (0)