Skip to content

Commit 021cb59

Browse files
authored
RHIDP-3440-plugins-1-3 Add congigure files (#568)
1 parent 7f30c83 commit 021cb59

File tree

12 files changed

+956
-4
lines changed

12 files changed

+956
-4
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
= Enabling the Argo CD plugin
2+
3+
You can use the Argo CD plugin to visualize the Continuous Delivery (CD) workflows in OpenShift GitOps. This plugin provides a visual overview of the application’s status, deployment details, commit message, author of the commit, container image promoted to environment and deployment history.
4+
5+
.Prerequisites
6+
7+
* Add Argo CD instance information to your `app-config.yaml` configmap as shown in the following example:
8+
9+
+
10+
[source,yaml]
11+
----
12+
argocd:
13+
appLocatorMethods:
14+
- type: 'config'
15+
instances:
16+
- name: argoInstance1
17+
url: https://argoInstance1.com
18+
username: ${ARGOCD_USERNAME}
19+
password: ${ARGOCD_PASSWORD}
20+
- name: argoInstance2
21+
url: https://argoInstance2.com
22+
username: ${ARGOCD_USERNAME}
23+
password: ${ARGOCD_PASSWORD}
24+
----
25+
26+
* Add the following annotation to the entity’s `catalog-info.yaml` file to identify the Argo CD applications.
27+
28+
+
29+
[source,yaml]
30+
----
31+
annotations:
32+
...
33+
# The label that Argo CD uses to fetch all the applications. The format to be used is label.key=label.value. For example, rht-gitops.com/janus-argocd=quarkus-app.
34+
35+
argocd/app-selector: '${ARGOCD_LABEL_SELECTOR}'
36+
----
37+
38+
* (Optional) Add the following annotation to the entity’s `catalog-info.yaml` file to switch between Argo CD instances as shown in the following example:
39+
40+
+
41+
[source,yaml]
42+
----
43+
annotations:
44+
...
45+
# The Argo CD instance name used in `app-config.yaml`.
46+
47+
argocd/instance-name: '${ARGOCD_INSTANCE}'
48+
----
49+
50+
+
51+
[NOTE]
52+
====
53+
If you do not set this annotation, the Argo CD plugin defaults to the first Argo CD instance configured in `app-config.yaml`.
54+
====
55+
56+
.Procedure
57+
58+
. Add the following to your dynamic-plugins ConfigMap to enable the Argo CD plugin.
59+
+
60+
[source,yaml]
61+
----
62+
global:
63+
dynamic:
64+
includes:
65+
- dynamic-plugins.default.yaml
66+
plugins:
67+
- package: ./dynamic-plugins/dist/roadiehq-backstage-plugin-argo-cd-backend-dynamic
68+
disabled: false
69+
- package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-argocd
70+
disabled: false
71+
----
72+
73+
[role="_additional-resources"]
74+
.Additional resources
75+
76+
* For more information on dynamic plugins, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.2/html/configuring_plugins_in_red_hat_developer_hub/rhdh-installing-dynamic-plugins[Dynamic plugin installation].
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
[id="rhdh-keycloak_{context}"]
2+
= Installing and configuring Keycloak
3+
4+
The Keycloak backend plugin, which integrates Keycloak into {product-short}, has the following capabilities:
5+
6+
* Synchronization of Keycloak users in a realm.
7+
* Synchronization of Keycloak groups and their users in a realm.
8+
9+
== Installation
10+
11+
The Keycloak plugin is pre-loaded in {product-short} with basic configuration properties. To enable it, set the `disabled` property to `false` as follows:
12+
13+
[source,yaml]
14+
----
15+
global:
16+
dynamic:
17+
includes:
18+
- dynamic-plugins.default.yaml
19+
plugins:
20+
- package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-keycloak-backend-dynamic
21+
disabled: false
22+
----
23+
24+
== Basic configuration
25+
To enable the Keycloak plugin, you must set the following environment variables:
26+
27+
* `KEYCLOAK_BASE_URL`
28+
29+
* `KEYCLOAK_LOGIN_REALM`
30+
31+
* `KEYCLOAK_REALM`
32+
33+
* `KEYCLOAK_CLIENT_ID`
34+
35+
* `KEYCLOAK_CLIENT_SECRET`
36+
37+
== Advanced configuration
38+
39+
.Schedule configuration
40+
You can configure a schedule in the `app-config.yaml` file, as follows:
41+
42+
[source,yaml]
43+
----
44+
catalog:
45+
providers:
46+
keycloakOrg:
47+
default:
48+
# ...
49+
# highlight-add-start
50+
schedule: # optional; same options as in TaskScheduleDefinition
51+
# supports cron, ISO duration, "human duration" as used in code
52+
frequency: { minutes: 1 }
53+
# supports ISO duration, "human duration" as used in code
54+
timeout: { minutes: 1 }
55+
initialDelay: { seconds: 15 }
56+
# highlight-add-end
57+
----
58+
59+
[NOTE]
60+
====
61+
If you have made any changes to the schedule in the `app-config.yaml` file, then restart to apply the changes.
62+
====
63+
64+
.Keycloak query parameters
65+
66+
You can override the default Keycloak query parameters in the `app-config.yaml` file, as follows:
67+
68+
[source,yaml]
69+
----
70+
catalog:
71+
providers:
72+
keycloakOrg:
73+
default:
74+
# ...
75+
# highlight-add-start
76+
userQuerySize: 500 # Optional
77+
groupQuerySize: 250 # Optional
78+
# highlight-add-end
79+
----
80+
81+
Communication between {product-short} and Keycloak is enabled by using the Keycloak API. Username and password, or client credentials are supported authentication methods.
82+
83+
84+
The following table describes the parameters that you can configure to enable the plugin under `catalog.providers.keycloakOrg.<ENVIRONMENT_NAME>` object in the `app-config.yaml` file:
85+
86+
|===
87+
| Name | Description | Default Value | Required
88+
89+
| `baseUrl`
90+
| Location of the Keycloak server, such as `pass:c[https://localhost:8443/auth]`. Note that the newer versions of Keycloak omit the `/auth` context path.
91+
| ""
92+
| Yes
93+
94+
| `realm`
95+
| Realm to synchronize
96+
| `master`
97+
| No
98+
99+
| `loginRealm`
100+
| Realm used to authenticate
101+
| `master`
102+
| No
103+
104+
| `username`
105+
| Username to authenticate
106+
| ""
107+
| Yes if using password based authentication
108+
109+
| `password`
110+
| Password to authenticate
111+
| ""
112+
| Yes if using password based authentication
113+
114+
| `clientId`
115+
| Client ID to authenticate
116+
| ""
117+
| Yes if using client credentials based authentication
118+
119+
| `clientSecret`
120+
| Client Secret to authenticate
121+
| ""
122+
| Yes if using client credentials based authentication
123+
124+
| `userQuerySize`
125+
| Number of users to query at a time
126+
| `100`
127+
| No
128+
129+
| `groupQuerySize`
130+
| Number of groups to query at a time
131+
| `100`
132+
| No
133+
|===
134+
135+
When using client credentials, the access type must be set to `confidential` and service accounts must be enabled. You must also add the following roles from the `realm-management` client role:
136+
137+
* `query-groups`
138+
* `query-users`
139+
* `view-users`
140+
141+
== Limitations
142+
143+
If you have self-signed or corporate certificate issues, you can set the following environment variable before starting {product-short}:
144+
145+
`NODE_TLS_REJECT_UNAUTHORIZED=0`
146+
147+
148+
[NOTE]
149+
====
150+
The solution of setting the environment variable is not recommended.
151+
====
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[id="installing-configuring-nexus-plugin"]
2+
= Installing and configuring the Nexus Repository Manager plugin
3+
4+
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.
5+
6+
[IMPORTANT]
7+
====
8+
The Nexus Repository Manager plugin is a Technology Preview feature only.
9+
10+
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.
11+
12+
For more information on Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/[Technology Preview Features Scope].
13+
14+
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.
15+
====
16+
17+
== Installation
18+
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:
19+
20+
[source,yaml]
21+
----
22+
global:
23+
dynamic:
24+
includes:
25+
- dynamic-plugins.default.yaml
26+
plugins:
27+
- package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-nexus-repository-manager
28+
disabled: false
29+
----
30+
31+
== Configuration
32+
. Set the proxy to the desired Nexus Repository Manager server in the `app-config.yaml` file as follows:
33+
+
34+
[source,yaml]
35+
----
36+
proxy:
37+
'/nexus-repository-manager':
38+
target: 'https://<NEXUS_REPOSITORY_MANAGER_URL>'
39+
headers:
40+
X-Requested-With: 'XMLHttpRequest'
41+
# Uncomment the following line to access a private Nexus Repository Manager using a token
42+
# Authorization: 'Bearer <YOUR TOKEN>'
43+
changeOrigin: true
44+
# Change to "false" in case of using self hosted Nexus Repository Manager instance with a self-signed certificate
45+
secure: true
46+
----
47+
48+
. Optional: Change the base URL of Nexus Repository Manager proxy as follows:
49+
+
50+
[source,yaml]
51+
----
52+
nexusRepositoryManager:
53+
# default path is `/nexus-repository-manager`
54+
proxyPath: /custom-path
55+
----
56+
57+
. Optional: Enable the following experimental annotations:
58+
+
59+
[source,yaml]
60+
----
61+
nexusRepositoryManager:
62+
experimentalAnnotations: true
63+
----
64+
65+
. Annotate your entity using the following annotations:
66+
+
67+
[source,yaml]
68+
----
69+
metadata:
70+
annotations:
71+
# insert the chosen annotations here
72+
# example
73+
nexus-repository-manager/docker.image-name: `<ORGANIZATION>/<REPOSITORY>`,
74+
----
75+
76+
//Cannot xref across titles. Convert xref to a link.
77+
//For additional information about installing and configuring dynamic plugins, see the xref:rhdh-installing-dynamic-plugins[] section.

0 commit comments

Comments
 (0)