Skip to content

Commit 9c8c7b8

Browse files
committed
RHIDP-7472 - Modularize plugins content in artifacts/rhdh-plugins-reference
1 parent 58a9d66 commit 9c8c7b8

8 files changed

+445
-10
lines changed

assemblies/dynamic-plugins/assembly-configuring-rhdh-plugins.adoc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
[id="rhdh-configuring-rhdh-plugins_{context}"]
22
= Configuring dynamic plugins in {product}
33

4-
// Ansible
4+
// Ansible - no-change
55
include::../modules/dynamic-plugins/con-ansible-plugin-admin.adoc[leveloffset=+1]
66

7-
// Argo CD
7+
// Argo CD - modularized
88
include::assembly-installing-configuring-argo-cd.adoc[leveloffset=+1]
99

10-
//JFrog Artifactory
10+
// JFrog Artifactory
1111
include::../../artifacts/rhdh-plugins-reference/jfrog-artifactory/jfrog-artifactory-plugin-admin.adoc[leveloffset=+1]
1212

13-
// Keycloak
14-
include::../../artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc[leveloffset=+1]
13+
// Keycloak - modularized
14+
include::assembly-enabling-configuring-keycloak.adoc[leveloffset=+1]
1515

16-
// Nexus
17-
include::../../artifacts/rhdh-plugins-reference/nexus-repository-manager/nexus-repository-manager-plugin-admin.adoc[leveloffset=+1]
16+
// Nexus - modularized
17+
include::assembly-enabling-configuring-nexus.adoc[leveloffset=+1]
1818

19-
// Tekton
20-
include::../../artifacts/rhdh-plugins-reference/tekton/tekton-plugin-admin.adoc[leveloffset=+1]
19+
// Tekton - modularized
20+
include::../../modules/dynamic-plugins/proc-enabling-the-tekton-plugin.adoc[leveloffset=+1]
2121

22-
// Topology
22+
// Topology - no-change
2323
include::../dynamic-plugins/assembly-install-topology-plugin.adoc[leveloffset=+1]
2424

2525
// Overriding Core Backend Service Configuration
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="assembly-enabling-configuring-the-keycloak-plugin_{context}"]
3+
= Enabling and configuring the Keycloak plugin
4+
:context: assembly-installing-configuring-keycloak
5+
6+
The Keycloak backend plugin, which integrates Keycloak into {product-short}, has the following capabilities:
7+
8+
* Synchronization of Keycloak users in a realm.
9+
* Synchronization of Keycloak groups and their users in a realm.
10+
11+
[NOTE]
12+
====
13+
The supported {rhbk-brand-name} ({rhbk}) version is `{keycloak-version}`.
14+
====
15+
16+
include::../modules/dynamic-plugins/proc-enabling-the-keycloak-plugin.adoc[leveloffset=+1]
17+
18+
include::../modules/dynamic-plugins/ref-configuring-the-keycloak-plugin.adoc[leveloffset=+1]
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="assembly-enabling-configuring-the-nexus-plugin_{context}"]
3+
= Enabling and configuring the Nexus Repository Manager plugin
4+
:context: assembly-installing-configuring-nexus
5+
6+
The Nexus Repository Manager plugin displays the information about your build artifacts in your {product-short} application. The build artifacts are available in the Nexus Repository Manager.
7+
8+
[IMPORTANT]
9+
====
10+
The Nexus Repository Manager plugin is a Technology Preview feature only.
11+
12+
Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend using them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
13+
14+
For more information on Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/[Technology Preview Features Scope].
15+
16+
Additional detail on how Red Hat provides support for bundled community dynamic plugins is available on the https://access.redhat.com/policy/developerhub-support-policy[Red Hat Developer Support Policy] page.
17+
====
18+
19+
include::../modules/dynamic-plugins/proc-enabling-the-nexus-plugin.adoc[leveloffset=+1]
20+
21+
include::../modules/dynamic-plugins/proc-configuring-the-nexus-plugin.adoc[leveloffset=+1]
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
:_mod-docs-content-type: PROCEDURE
2+
[id="configuring-the-nexus-plugin_{context}"]
3+
= Configuring the Nexus Repository Manager plugin
4+
5+
. Set the proxy to the desired Nexus Repository Manager server in the `app-config.yaml` file as follows:
6+
+
7+
[source,yaml]
8+
----
9+
proxy:
10+
'/nexus-repository-manager':
11+
target: 'https://<NEXUS_REPOSITORY_MANAGER_URL>'
12+
headers:
13+
X-Requested-With: 'XMLHttpRequest'
14+
# Uncomment the following line to access a private Nexus Repository Manager using a token
15+
# Authorization: 'Bearer <YOUR TOKEN>'
16+
changeOrigin: true
17+
# Change to "false" in case of using self hosted Nexus Repository Manager instance with a self-signed certificate
18+
secure: true
19+
----
20+
21+
. Optional: Change the base URL of Nexus Repository Manager proxy as follows:
22+
+
23+
[source,yaml]
24+
----
25+
nexusRepositoryManager:
26+
# default path is `/nexus-repository-manager`
27+
proxyPath: /custom-path
28+
----
29+
30+
. Optional: Enable the following experimental annotations:
31+
+
32+
[source,yaml]
33+
----
34+
nexusRepositoryManager:
35+
experimentalAnnotations: true
36+
----
37+
38+
. Annotate your entity using the following annotations:
39+
+
40+
[source,yaml]
41+
----
42+
metadata:
43+
annotations:
44+
# insert the chosen annotations here
45+
# example
46+
nexus-repository-manager/docker.image-name: `<ORGANIZATION>/<REPOSITORY>`,
47+
----
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[id="proc-enabling-the-keycloak-plugin"]
2+
= Enabling the Keycloak plugin
3+
4+
.Prerequisites
5+
* To enable the Keycloak plugin, you must set the following environment variables:
6+
7+
** `KEYCLOAK_BASE_URL`
8+
9+
** `KEYCLOAK_LOGIN_REALM`
10+
11+
** `KEYCLOAK_REALM`
12+
13+
** `KEYCLOAK_CLIENT_ID`
14+
15+
** `KEYCLOAK_CLIENT_SECRET`
16+
17+
.Procedure
18+
. The Keycloak plugin is pre-loaded in {product-short} with basic configuration properties. To enable it, set the `disabled` property to `false` as follows:
19+
+
20+
[source,yaml]
21+
----
22+
global:
23+
dynamic:
24+
includes:
25+
- dynamic-plugins.default.yaml
26+
plugins:
27+
- package: ./dynamic-plugins/dist/backstage-community-plugin-catalog-backend-module-keycloak-dynamic
28+
disabled: false
29+
----
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
:_mod-docs-content-type: PROCEDURE
2+
[id="enabling-the-nexus-plugin_{context}"]
3+
= Enabling the Nexus Repository Manager plugin
4+
5+
The Nexus Repository Manager plugin is pre-loaded in {product-short} with basic configuration properties. To enable it, set the disabled property to `false` as follows:
6+
7+
[source,yaml]
8+
----
9+
global:
10+
dynamic:
11+
includes:
12+
- dynamic-plugins.default.yaml
13+
plugins:
14+
- package: ./dynamic-plugins/dist/backstage-community-plugin-nexus-repository-manager
15+
disabled: false
16+
----
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
[id="proc-enabling-the-tekton-plugin"]
2+
= Enabling the Tekton plugin
3+
4+
You can use the Tekton plugin to visualize the results of CI/CD pipeline runs on your Kubernetes or OpenShift clusters. The plugin allows users to visually see high level status of all associated tasks in the pipeline for their applications.
5+
6+
.Prerequisites
7+
* You have installed and configured the `@backstage/plugin-kubernetes` and `@backstage/plugin-kubernetes-backend` dynamic plugins.
8+
//For more information about installing dynamic plugins, see xref:rhdh-installing-dynamic-plugins[].
9+
//Cannot xref across titles. Convert xref to a link.
10+
11+
* You have configured the Kubernetes plugin to connect to the cluster using a `ServiceAccount`.
12+
13+
* The `ClusterRole` must be granted for custom resources (PipelineRuns and TaskRuns) to the `ServiceAccount` accessing the cluster.
14+
+
15+
[NOTE]
16+
If you have the RHDH Kubernetes plugin configured, then the `ClusterRole` is already granted.
17+
18+
* To view the pod logs, you have granted permissions for `pods/log`.
19+
20+
* You can use the following code to grant the `ClusterRole` for custom resources and pod logs:
21+
+
22+
--
23+
[source,yaml]
24+
----
25+
kubernetes:
26+
...
27+
customResources:
28+
- group: 'tekton.dev'
29+
apiVersion: 'v1'
30+
plural: 'pipelineruns'
31+
- group: 'tekton.dev'
32+
apiVersion: 'v1'
33+
34+
35+
...
36+
apiVersion: rbac.authorization.k8s.io/v1
37+
kind: ClusterRole
38+
metadata:
39+
name: backstage-read-only
40+
rules:
41+
- apiGroups:
42+
- ""
43+
resources:
44+
- pods/log
45+
verbs:
46+
- get
47+
- list
48+
- watch
49+
...
50+
- apiGroups:
51+
- tekton.dev
52+
resources:
53+
- pipelineruns
54+
- taskruns
55+
verbs:
56+
- get
57+
- list
58+
----
59+
--
60+
+
61+
You can use the prepared manifest for a read-only `ClusterRole`, which provides access for both Kubernetes plugin and Tekton plugin.
62+
63+
* Add the following annotation to the entity's `catalog-info.yaml` file to identify whether an entity contains the Kubernetes resources:
64+
+
65+
--
66+
[source,yaml]
67+
----
68+
annotations:
69+
...
70+
71+
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
72+
----
73+
--
74+
75+
* You can also add the `backstage.io/kubernetes-namespace` annotation to identify the Kubernetes resources using the defined namespace.
76+
+
77+
--
78+
[source,yaml]
79+
----
80+
annotations:
81+
...
82+
83+
backstage.io/kubernetes-namespace: <RESOURCE_NS>
84+
----
85+
--
86+
87+
* Add the following annotation to the `catalog-info.yaml` file of the entity to enable the Tekton related features in RHDH. The value of the annotation identifies the name of the RHDH entity:
88+
+
89+
--
90+
[source,yaml]
91+
----
92+
annotations:
93+
...
94+
95+
janus-idp.io/tekton : <BACKSTAGE_ENTITY_NAME>
96+
----
97+
--
98+
99+
* Add a custom label selector, which RHDH uses to find the Kubernetes resources. The label selector takes precedence over the ID annotations.
100+
+
101+
--
102+
[source,yaml]
103+
----
104+
annotations:
105+
...
106+
107+
backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
108+
----
109+
--
110+
111+
* Add the following label to the resources so that the Kubernetes plugin gets the Kubernetes resources from the requested entity:
112+
+
113+
--
114+
[source,yaml]
115+
----
116+
labels:
117+
...
118+
119+
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
120+
----
121+
--
122+
+
123+
[NOTE]
124+
When you use the label selector, the mentioned labels must be present on the resource.
125+
126+
.Procedure
127+
* The Tekton plugin is pre-loaded in RHDH with basic configuration properties. To enable it, set the disabled property to false as follows:
128+
+
129+
--
130+
[source,yaml]
131+
----
132+
global:
133+
dynamic:
134+
includes:
135+
- dynamic-plugins.default.yaml
136+
plugins:
137+
- package: ./dynamic-plugins/dist/backstage-community-plugin-tekton
138+
disabled: false
139+
----
140+
--

0 commit comments

Comments
 (0)