Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated plugin doc for Argo CD Rollouts feature #725

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

gtrivedi88
Copy link
Contributor

IMPORTANT: Do Not Merge - To be merged by Docs Team Only

In this PR:

  • I added content for the Argo CD Rollouts feature

Version(s): RHDH 1.4 and RHTAP 1.3

Issue:
HACDOCS-1157

Output:

@rhdh-bot
Copy link
Collaborator

rhdh-bot commented Nov 21, 2024

Copy link

@karthikjeeyar karthikjeeyar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@subhashkhileri
Copy link
Contributor

LGTM

Copy link

openshift-ci bot commented Dec 2, 2024

New changes are detected. LGTM label has been removed.

Copy link
Member

@linfraze linfraze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the content! A couple suggestions.

@@ -70,6 +70,143 @@ global:
disabled: false
----

== (Optional) Enabling Argo CD Rollouts feature
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
== (Optional) Enabling Argo CD Rollouts feature
== Enabling Argo CD Rollouts

@@ -70,6 +70,143 @@ global:
disabled: false
----

== (Optional) Enabling Argo CD Rollouts feature

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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
The optional 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 teams to visualize and manage Argo CD Rollouts seamlessly within the Backstage interface.


.Prerequisites

* *Backstage Kubernetes plugin installed:* Verify that the Kubernetes plugin in Backstage (`@backstage/plugin-kubernetes`) is installed and configured. To install and configure Kubernetes plugin in Backstage, see link:https://backstage.io/docs/features/kubernetes/installation/[Installaltion] and link:https://backstage.io/docs/features/kubernetes/configuration/[Configuration] guide.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* *Backstage Kubernetes plugin installed:* Verify that the Kubernetes plugin in Backstage (`@backstage/plugin-kubernetes`) is installed and configured. To install and configure Kubernetes plugin in Backstage, see link:https://backstage.io/docs/features/kubernetes/installation/[Installaltion] and link:https://backstage.io/docs/features/kubernetes/configuration/[Configuration] guide.
* The Backstage Kubernetes plugin (`@backstage/plugin-kubernetes`) is installed and configured.
** To install and configure a Kubernetes plugin in Backstage, see the link:https://backstage.io/docs/features/kubernetes/installation/[Installaltion] and link:https://backstage.io/docs/features/kubernetes/configuration/[Configuration] guides.


* *Backstage Kubernetes plugin installed:* Verify that the Kubernetes plugin in Backstage (`@backstage/plugin-kubernetes`) is installed and configured. To install and configure Kubernetes plugin in Backstage, see link:https://backstage.io/docs/features/kubernetes/installation/[Installaltion] and link:https://backstage.io/docs/features/kubernetes/configuration/[Configuration] guide.

* *Kubernetes cluster access:* Ensure you have access to the Kubernetes cluster with the necessary permissions to create and manage custom resources and `ClusterRoles`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* *Kubernetes cluster access:* Ensure you have access to the Kubernetes cluster with the necessary permissions to create and manage custom resources and `ClusterRoles`.
* You have access to the Kubernetes cluster with the necessary permissions to create and manage custom resources and `ClusterRoles`.


* *Kubernetes cluster access:* Ensure you have access to the Kubernetes cluster with the necessary permissions to create and manage custom resources and `ClusterRoles`.

* *Argo Rollouts resources:* Confirm that the Kubernetes cluster has the `argoproj.io` group resources (for example, Rollouts and AnalysisRuns) installed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* *Argo Rollouts resources:* Confirm that the Kubernetes cluster has the `argoproj.io` group resources (for example, Rollouts and AnalysisRuns) installed.
* The Kubernetes cluster has the `argoproj.io` group resources (for example, Rollouts and AnalysisRuns) installed.

Comment on lines +87 to +104
. Update `app-config.yaml` for custom resources.

.. Open the `app-config.yaml` file in your Backstage instance.

.. Add the following `customResources` component under the `kubernetes` configuration to enable Argo Rollouts and AnalysisRuns:
+
[source,yaml]
----
kubernetes:
...
customResources:
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'Rollouts'
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'analysisruns'
----
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
. Update `app-config.yaml` for custom resources.
.. Open the `app-config.yaml` file in your Backstage instance.
.. Add the following `customResources` component under the `kubernetes` configuration to enable Argo Rollouts and AnalysisRuns:
+
[source,yaml]
----
kubernetes:
...
customResources:
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'Rollouts'
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'analysisruns'
----
. In the `app-config.yaml` file in your Backstage instance, add the following `customResources` component under the `kubernetes` configuration to enable Argo Rollouts and AnalysisRuns:
+
[source,yaml]
----
kubernetes:
...
customResources:
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'Rollouts'
- group: 'argoproj.io'
apiVersion: 'v1alpha1'
plural: 'analysisruns'
----


. Grant `ClusterRole` permissions for custom resources.

.. Verify whether the Backstage Kubernetes plugin is already configured. If it is, the `ClusterRole` for Rollouts and AnalysisRuns might already be granted.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.. Verify whether the Backstage Kubernetes plugin is already configured. If it is, the `ClusterRole` for Rollouts and AnalysisRuns might already be granted.
.. If the Backstage Kubernetes plugin is already configured, the `ClusterRole` permission for Rollouts and AnalysisRuns might already be granted.

Use a link:https://raw.githubusercontent.com/backstage/community-plugins/main/workspaces/redhat-argocd/plugins/argocd/manifests/clusterrole.yaml[prepared manifest] for a read-only `ClusterRole` that provides access for both the Kubernetes plugin and the ArgoCD plugin.
====

.. If not already granted, use the following YAML manifest to create the ClusterRole:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.. If not already granted, use the following YAML manifest to create the ClusterRole:
.. If the `ClusterRole` permission is not already granted, use the following YAML manifest to create the ClusterRole:

should the second instance of ClusterRole also be formatted as ClusterRole?

backstage.io/kubernetes-namespace: <RESOURCE_NAMESPACE>
----

.. For using custom label selectors (takes precedence over the above annotations):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technical documentation generally strives to avoid the use of "pointing language", such as "above." Consider replacing "above annotations" with the actual annotations you are referring to. This also prevents users from having to scroll back up to see what you are referencing "above".

Comment on lines +204 to +209
. Confirm that:

** Kubernetes resources, such as Rollouts and AnalysisRuns, are visible under the *Kubernetes* tab.

** The Argo CD Rollouts feature is functioning as expected, allowing you to monitor rollouts status and manage deployments.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
. Confirm that:
** Kubernetes resources, such as Rollouts and AnalysisRuns, are visible under the *Kubernetes* tab.
** The Argo CD Rollouts feature is functioning as expected, allowing you to monitor rollouts status and manage deployments.
. Confirm that the Argo CD Rollouts feature is functioning as expected by performing the following checks:
** Kubernetes resources, such as Rollouts and AnalysisRuns, are visible under the *Kubernetes* tab.
** You are able to effectively monitor rollouts status and manage deployments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants