Skip to content

Commit ca8b0dd

Browse files
authored
Merge branch 'main' into RHIDP-5489
2 parents 8a47329 + 1f1ccc2 commit ca8b0dd

File tree

78 files changed

+774
-377
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+774
-377
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Generate update PR for the Dynamic Plugins tables
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
branch:
7+
description: "Branch to run the script from"
8+
required: true
9+
default: "main"
10+
11+
jobs:
12+
run-script:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
with:
18+
ref: ${{ github.event.inputs.branch }}
19+
fetch-depth: 0
20+
21+
- name: Install PIP `yq`
22+
run: |
23+
python3 -m pip install --upgrade pip
24+
pip install yq
25+
echo "Installed `yq` version: $(yq --version)"
26+
27+
- name: Set up Git user
28+
run: |
29+
git config --global user.name "github-actions[bot]"
30+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
31+
32+
- name: Generate timestamp
33+
run: echo "TIMESTAMP=$(date +'%Y%m%d-%H%M%S' -u)" >> $GITHUB_ENV
34+
35+
- name: Run the script on branch
36+
run: bash modules/dynamic-plugins/rhdh-supported-plugins.sh -b ${{ github.event.inputs.branch }}
37+
38+
- name: Create Pull Request
39+
uses: peter-evans/create-pull-request@v6
40+
with:
41+
commit-message: "chore: automated update of supported plugins list"
42+
title: "Automated update of supported plugins list for ${{ github.event.inputs.branch }}"
43+
body: "This PR was automatically generated by running rhdh-supported-plugins.sh."
44+
branch: "update-${{ github.event.inputs.branch }}-${{ env.TIMESTAMP }}"
45+
base: ${{ github.event.inputs.branch }}

artifacts/rhdh-plugins-reference/argocd/argocd-plugin-admin.adoc

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,159 @@ global:
7070
disabled: false
7171
----
7272

73+
== Enabling Argo CD Rollouts
74+
75+
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.
76+
77+
.Prerequisites
78+
79+
* The Backstage Kubernetes plugin (`@backstage/plugin-kubernetes`) is installed and configured.
80+
81+
** 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.
82+
83+
* You have access to the Kubernetes cluster with the necessary permissions to create and manage custom resources and `ClusterRoles`.
84+
85+
* The Kubernetes cluster has the `argoproj.io` group resources (for example, Rollouts and AnalysisRuns) installed.
86+
87+
.Procedure
88+
89+
. 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:
90+
91+
+
92+
[source,yaml]
93+
----
94+
kubernetes:
95+
...
96+
customResources:
97+
- group: 'argoproj.io'
98+
apiVersion: 'v1alpha1'
99+
plural: 'Rollouts'
100+
- group: 'argoproj.io'
101+
apiVersion: 'v1alpha1'
102+
plural: 'analysisruns'
103+
----
104+
105+
. Grant `ClusterRole` permissions for custom resources.
106+
107+
+
108+
[NOTE]
109+
====
110+
111+
* If the Backstage Kubernetes plugin is already configured, the `ClusterRole` permissions for Rollouts and AnalysisRuns might already be granted.
112+
113+
* Use the link:https://raw.githubusercontent.com/backstage/community-plugins/main/workspaces/redhat-argocd/plugins/argocd/manifests/clusterrole.yaml[prepared manifest] to provide read-only `ClusterRole` access to both the Kubernetes and ArgoCD plugins.
114+
====
115+
116+
.. If the `ClusterRole` permission is not granted, use the following YAML manifest to create the `ClusterRole`:
117+
118+
+
119+
[source,yaml]
120+
----
121+
apiVersion: rbac.authorization.k8s.io/v1
122+
kind: ClusterRole
123+
metadata:
124+
name: backstage-read-only
125+
rules:
126+
- apiGroups:
127+
- argoproj.io
128+
resources:
129+
- rollouts
130+
- analysisruns
131+
verbs:
132+
- get
133+
- list
134+
----
135+
136+
.. Apply the manifest to the cluster using `kubectl`:
137+
+
138+
[source,bash]
139+
----
140+
kubectl apply -f <your-clusterrole-file>.yaml
141+
----
142+
143+
.. Ensure the `ServiceAccount` accessing the cluster has this `ClusterRole` assigned.
144+
145+
. Add annotations to `catalog-info.yaml` to identify Kubernetes resources for Backstage.
146+
147+
.. For identifying resources by entity ID:
148+
+
149+
[source,yaml]
150+
----
151+
annotations:
152+
...
153+
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
154+
----
155+
156+
.. (Optional) For identifying resources by namespace:
157+
+
158+
[source,yaml]
159+
----
160+
annotations:
161+
...
162+
backstage.io/kubernetes-namespace: <RESOURCE_NAMESPACE>
163+
----
164+
165+
.. For using custom label selectors, which override resource identification by entity ID or namespace:
166+
+
167+
[source,yaml]
168+
----
169+
annotations:
170+
...
171+
backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
172+
----
173+
+
174+
[NOTE]
175+
====
176+
Ensure you specify the labels declared in `backstage.io/kubernetes-label-selector` on your Kubernetes resources. This annotation overrides entity-based or namespace-based identification annotations, such as `backstage.io/kubernetes-id` and `backstage.io/kubernetes-namespace`.
177+
====
178+
179+
. Add label to Kubernetes resources to enable Backstage to find the appropriate Kubernetes resources.
180+
181+
.. Backstage Kubernetes plugin label: Add this label to map resources to specific Backstage entities.
182+
+
183+
[source,yaml]
184+
----
185+
labels:
186+
...
187+
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
188+
----
189+
190+
.. GitOps application mapping: Add this label to map Argo CD Rollouts to a specific GitOps application
191+
+
192+
[source,yaml]
193+
----
194+
labels:
195+
...
196+
app.kubernetes.io/instance: <GITOPS_APPLICATION_NAME>
197+
----
198+
199+
+
200+
[NOTE]
201+
====
202+
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.
203+
====
204+
205+
.Verification
206+
207+
. Push the updated configuration to your GitOps repository to trigger a rollout.
208+
209+
. Open {Product} interface and navigate to the entity you configured.
210+
211+
. Select the *CD* tab and then select the *GitOps application*. The side panel opens.
212+
213+
. In the *Resources* table of the side panel, verify that the following resources are displayed:
214+
215+
* Rollouts
216+
217+
* AnalysisRuns (optional)
218+
219+
. Expand a rollout resource and review the following details:
220+
221+
* The Revisions row displays traffic distribution details for different rollout versions.
222+
223+
* The Analysis Runs row displays the status of analysis tasks that evaluate rollout success.
224+
225+
73226
[role="_additional-resources"]
74227
.Additional resources
75228

artifacts/rhdh-plugins-reference/keycloak/keycloak-plugin-admin.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[id="rhdh-keycloak_{context}"]
2-
= Installing and configuring Keycloak
2+
= Installing and configuring Keycloak
33

44
The Keycloak backend plugin, which integrates Keycloak into {product-short}, has the following capabilities:
55

@@ -8,7 +8,7 @@ The Keycloak backend plugin, which integrates Keycloak into {product-short}, has
88

99
[NOTE]
1010
====
11-
The supported Keycloak version is `{keycloak-version}`.
11+
The supported {rhbk-brand-name} ({rhbk}) version is `{keycloak-version}`.
1212
====
1313

1414
== Installation

assemblies/assembly-configuring-authorization-in-rhdh.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ include::assembly-managing-authorizations-by-using-the-rest-api.adoc[leveloffset
4141
include::assembly-managing-authorizations-by-using-external-files.adoc[leveloffset=+1]
4242

4343

44+
include::assembly-configuring-guest-access-with-rbac-ui.adoc[leveloffset=+1]
45+
46+
4447
include::modules/authorization/ref-rbac-permission-policies.adoc[leveloffset=+1]
4548

4649

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
[id="configuring-guest-access-with-rbac-ui_{context}"]
2+
= Configuring guest access with RBAC UI
3+
4+
Use guest access with the role-based access control (RBAC) front-end plugin to allow a user to test role and policy creation without the need to set up and configure an authentication provider.
5+
6+
[NOTE]
7+
====
8+
Guest access is not recommended for production.
9+
====
10+
11+
include::modules/authorization/proc-configuring-the-RBAC-backend-plugin.adoc[leveloffset=+1]
12+
13+
include::modules/authorization/proc-setting-up-the-guest-authentication-provider.adoc[leveloffset=+1]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
:context: readonlyrootfilesystem
3+
[id="{context}"]
4+
= Configuring readOnlyRootFilesystem in {product}
5+
6+
The {product} deployment consists of two containers: an `initContainer` that installs the Dynamic Plugins, and a backend container that runs the application. The `initContainer` has the `readOnlyRootFilesystem` option enabled by default. To enable this option on the backend container, you must either have permission to deploy resources through Helm or to create or update a CR for Operator-backed deployments. You can manually configure the `readOnlyRootFilesystem` option on the backend container by using the following methods:
7+
8+
* The {product} Operator
9+
* The {product} Helm chart
10+
11+
include::modules/configuring-readonlyrootfilesystem/proc-configuring-readonlyrootfilesystem-option-in-rhdh-operator-deployment.adoc[leveloffset=+1]
12+
13+
include::modules/configuring-readonlyrootfilesystem/proc-configuring-readonlyrootfilesystem-option-in-rhdh-helm-chart-deployment.adoc[leveloffset=+1]

assemblies/assembly-configuring-techdocs.adoc

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,7 @@
33
[id="{context}"]
44
= Configuring TechDocs
55

6-
Configure the {product} TechDocs plugin to create, find, and use documentation in a central location and in a standardized way. For example:
7-
8-
Docs-like-code approach::
9-
Write your technical documentation in Markdown files that are stored inside your project repository along with your code.
10-
11-
Documentation site generation::
12-
Use MkDocs to create a full-featured, Markdown-based, static HTML site for your documentation that is rendered centrally in {product-short}.
13-
14-
Documentation site metadata and integrations::
15-
See additional metadata about the documentation site alongside the static documentation, such as the date of the last update, the site owner, top contributors, open GitHub issues, Slack support channels, and Stack Overflow Enterprise tags.
16-
17-
Built-in navigation and search::
18-
Find the information that you want from a document more quickly and easily.
19-
20-
Add-ons::
21-
Customize your TechDocs experience with Add-ons to address higher-order documentation needs.
22-
23-
The TechDocs plugin is preinstalled and enabled on a {product-short} instance by default. You can disable or enable the TechDocs plugin, and change other parameters, by configuring the {product} Helm chart or the {product} Operator config map.
6+
The TechDocs plugin is preinstalled and enabled on a {product-short} instance by default. You can disable or enable the TechDocs plugin, and change other parameters, by configuring the {product} Helm chart or the {product} Operator ConfigMap.
247

258
[IMPORTANT]
269
====
@@ -38,30 +21,20 @@ After you configure {odf-name} to store the files that TechDocs generates, you c
3821
3922
include::modules/customizing-techdocs/con-techdocs-configure-storage.adoc[leveloffset=+1]
4023

41-
4224
include::modules/customizing-techdocs/proc-techdocs-using-odf-storage.adoc[leveloffset=+2]
4325

44-
4526
include::modules/customizing-techdocs/proc-techdocs-configure-odf-helm.adoc[leveloffset=+2]
4627

47-
4828
include::modules/customizing-techdocs/ref-techdocs-example-config-plugin-helm.adoc[leveloffset=+3]
4929

50-
5130
include::modules/customizing-techdocs/proc-techdocs-configure-odf-operator.adoc[leveloffset=+2]
5231

53-
5432
include::modules/customizing-techdocs/ref-techdocs-example-config-plugin-operator.adoc[leveloffset=+3]
5533

56-
5734
include::modules/customizing-techdocs/con-techdocs-config-cicd.adoc[leveloffset=+1]
5835

59-
6036
include::modules/customizing-techdocs/proc-techdocs-config-cicd-prep-repo.adoc[leveloffset=+2]
6137

62-
6338
include::modules/customizing-techdocs/proc-techdocs-generate-site.adoc[leveloffset=+2]
6439

65-
6640
include::modules/customizing-techdocs/proc-techdocs-publish-site.adoc[leveloffset=+2]
67-

assemblies/assembly-release-notes-fixed-security-issues.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This section lists security issues fixed in {product} {product-version}.
66

77
== {product} {product-bundle-version}
88

9-
include::modules/release-notes/snip-fixed-security-issues-in-product-1.3.0.adoc[leveloffset=+2]
9+
include::modules/release-notes/snip-fixed-security-issues-in-product-1.5.0.adoc[leveloffset=+2]
1010

11-
include::modules/release-notes/snip-fixed-security-issues-in-rpm-1.3.0.adoc[leveloffset=+2]
11+
include::modules/release-notes/snip-fixed-security-issues-in-rpm-1.5.0.adoc[leveloffset=+2]
1212

modules/authentication/proc-enabling-authentication-with-github.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ TIP: If you plan to make changes using the GitHub API, ensure that `Read and wri
5555
+
5656
`AUTH_GITHUB_APP_ID`:: Enter the saved **App ID**.
5757
`AUTH_GITHUB_CLIENT_ID`:: Enter the saved **Client ID**.
58-
`GITHUB_HOST_DOMAIN`:: Enter your GitHub host domain: `github.com` unless you are using GitHub Enterprise.
58+
//`GITHUB_HOST_DOMAIN`:: Enter your GitHub host domain: `github.com` unless you are using GitHub Enterprise.
5959
`GITHUB_ORGANIZATION`:: Enter your GitHub organization name, such as `__<your_github_organization_name>__'.
6060
`GITHUB_ORG_URL`:: Enter `$GITHUB_HOST_DOMAIN/$GITHUB_ORGANIZATION`.
6161
`GITHUB_CLIENT_SECRET`:: Enter the saved **Client Secret**.
@@ -145,6 +145,7 @@ auth:
145145
callbackUrl: __<your_intermediate_service_url/handler>__
146146
----
147147

148+
////
148149
`enterpriseInstanceUrl`::
149150
Your GitHub Enterprise URL.
150151
Requires you defined the `GITHUB_HOST_DOMAIN` secret in the previous step.
@@ -158,6 +159,7 @@ auth:
158159
production:
159160
enterpriseInstanceUrl: ${GITHUB_HOST_DOMAIN}
160161
----
162+
////
161163

162164
[TIP]
163165
====
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[id="configuring-the-rbac-backend-plugin_{context}"]
2+
= Configuring the RBAC backend plugin
3+
4+
You can configure the RBAC backend plugin by updating the `app-config.yaml` file to enable the permission framework.
5+
6+
.Prerequisites
7+
* You have installed the `@janus-idp/backstage-plugin-rbac` plugin in {product-short}. For more information, see link:{plugins-configure-book-url}[{plugins-configure-book-title}].
8+
9+
.Procedure
10+
* Update the `app-config.yaml` file to enable the permission framework as shown:
11+
12+
[source,yaml,subs=+quotes]
13+
----
14+
permission
15+
enabled: true
16+
rbac:
17+
admin:
18+
users:
19+
- name: user:default/guest
20+
pluginsWithPermission:
21+
- catalog
22+
- permission
23+
- scaffolder
24+
----
25+
26+
[NOTE]
27+
====
28+
The `pluginsWithPermission` section of the `app-config.yaml` section includes only three plugins by default. Update the section as needed to include any additional plugins that also incorporate permissions.
29+
====

0 commit comments

Comments
 (0)