You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: artifacts/rhdh-plugins-reference/argocd/argocd-plugin-admin.adoc
+137Lines changed: 137 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,6 +70,143 @@ global:
70
70
disabled: false
71
71
----
72
72
73
+
== (Optional) Enabling Argo CD Rollouts feature
74
+
75
+
The Argo CD Rollouts feature enhances Kubernetes by providing advanced deployment strategies, such as blue-green and canary deployments, for your applications. When integrated into the backstage Kubernetes plugin, it allows developers and operations team to visualize and manage these Rollouts seamlessly within the Backstage interface.
76
+
77
+
.Prerequisites
78
+
79
+
* *Backstage Kubernetes plugin installed:* Verify that the @backstage/plugin-kubernetes-backend is installed and configured. Follow the installation guide and configuration guide if needed.
80
+
81
+
* *Kubernetes cluster access:* Ensure you have access to the Kubernetes cluster with the necessary permissions to create and manage custom resources and `ClusterRoles`.
82
+
83
+
* *Argo Rollouts resources:* Confirm that the Kubernetes cluster has the `argoproj.io` group resources (for example, Rollouts and AnalysisRuns) installed.
84
+
85
+
.Procedures
86
+
87
+
. Update `app-config.yaml` for custom resources.
88
+
89
+
.. Open the `app-config.yaml` file in your Backstage instance.
90
+
91
+
.. Add the following `customResources` component under the `kubernetes` configuration to enable Argo Rollouts and AnalysisRuns:
92
+
+
93
+
[source,yaml]
94
+
----
95
+
kubernetes:
96
+
...
97
+
customResources:
98
+
- group: 'argoproj.io'
99
+
apiVersion: 'v1alpha1'
100
+
plural: 'Rollouts'
101
+
- group: 'argoproj.io'
102
+
apiVersion: 'v1alpha1'
103
+
plural: 'analysisruns'
104
+
----
105
+
106
+
. Grant `ClusterRole` permissions for custom resources.
107
+
108
+
.. Verify whether the Backstage Kubernetes plugin is already configured. If it is, the `ClusterRole` for Rollouts and AnalysisRuns might already be granted.
109
+
+
110
+
[NOTE]
111
+
====
112
+
You can use a prepared manifest for a read-only `ClusterRole` that provides access for both the Kubernetes plugin and the ArgoCD plugin.
113
+
====
114
+
115
+
.. If not already granted, use the following YAML manifest to create the ClusterRole:
116
+
+
117
+
[source,yaml]
118
+
----
119
+
apiVersion: rbac.authorization.k8s.io/v1
120
+
kind: ClusterRole
121
+
metadata:
122
+
name: backstage-read-only
123
+
rules:
124
+
- apiGroups:
125
+
- argoproj.io
126
+
resources:
127
+
- Rollouts
128
+
- analysisruns
129
+
verbs:
130
+
- get
131
+
- list
132
+
----
133
+
134
+
.. Apply the manifest to the cluster using `kubectl`:
135
+
+
136
+
[source,bash]
137
+
----
138
+
kubectl apply -f <your-clusterrole-file>.yaml
139
+
----
140
+
141
+
.. Ensure the `ServiceAccount` accessing the cluster has this `ClusterRole` assigned.
142
+
143
+
. Add annotations to `catalog-info.yaml` to identify Kubernetes resources for Backstage
If using the label selector annotation (backstage.io/kubernetes-label-selector), ensure the specified labels are present on the resources. The label selector will override other annotations like kubernetes-id or kubernetes-namespace.
196
+
====
197
+
198
+
.Verification
199
+
200
+
. Push code changes to your GitOps repository to trigger a deployment.
201
+
202
+
. Open the Backstage interface and navigate to the entity you configured.
203
+
204
+
. Confirm that:
205
+
206
+
** Kubernetes resources, such as Rollouts and AnalysisRuns, are visible under the *Kubernetes* tab.
207
+
208
+
** The Argo CD Rollouts feature is functioning as expected, allowing you to monitor rollouts status and manage deployments.
0 commit comments