Skip to content

Commit c7a6bff

Browse files
authored
Merge pull request #13 from HCL-TECH-SOFTWARE/sync/cf230
Sync/cf230
2 parents 4aab946 + c9df003 commit c7a6bff

Some content is hidden

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

43 files changed

+2099
-192
lines changed

docs/assets/Keycloak-Login.png

3.93 MB
Loading

docs/deploy_dx/install/kubernetes_deployment/image_list.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,44 @@ The following software files are packaged and licensed for use with HCL DX Compo
1212
In future continuous delivery updates, entitled customers can obtain the HCL DX 9.5 Compose container updates from the download package entries in the [MHS portal](https://my.hcltechsw.com/downloads){target="blank"}.
1313

1414
Video: [How to upload HCL DX 9.5 container images to a private repository](https://youtu.be/XJONRdpgCuo)
15+
16+
## HCL DX 9.5 Compose CF230
17+
18+
If you are deploying the HCL DX 9.5 Compose CF230 release, the following software packages are available in your MHS portal HCL DX Compose v9.5 entitlements:
19+
20+
- HCL DX Compose v9.5
21+
- HCL DXClient
22+
- HCL Leap 9.3.x for use with DX Compose
23+
- HCL Volt Foundry 9.5.x for use with DX Compose
24+
25+
## hcl-compose-kubernetes-CF230.zip
26+
27+
```shell
28+
HCL DX Compose notices CF230.txt
29+
hcl-dx-content-composer-image-v1.43.0_20250922-1241.tar.gz
30+
hcl-dx-dam-plugin-google-vision-image-v1.0.0_20250922-1235.tar.gz
31+
hcl-dx-dam-plugin-kaltura-image-v1.0.0_20250922-1235.tar.gz
32+
hcl-dx-deployment-v2.41.0_20250924-1733.tgz
33+
hcl-dx-digital-asset-manager-image-v1.42.0_20250922-1244.tar.gz
34+
hcl-dx-file-processor-image-v2.0.0_20250922-1241.tar.gz
35+
hcl-dx-haproxy-image-v1.26.0_20250922-1242.tar.gz
36+
hcl-dx-image-processor-image-v1.43.0_20250922-1244.tar.gz
37+
hcl-dx-license-manager-image-v95_CF230_20250922-1237.tar.gz
38+
hcl-dx-logging-sidecar-image-v1.0.0_20250922-1237.tar.gz
39+
hcl-dx-openldap-image-v2.6.8_20250922-1237.tar.gz
40+
hcl-dx-opensearch-image-v2.0.0_20250922-1233.tar.gz
41+
hcl-dx-people-service-image-v1.0.0_20250922-1234.tar.gz
42+
hcl-dx-persistence-connection-pool-image-v1.40.0_20250922-1247.tar.gz
43+
hcl-dx-persistence-metrics-exporter-image-v1.38.0_20250922-1248.tar.gz
44+
hcl-dx-persistence-node-image-v1.30_20250922-1248.tar.gz
45+
hcl-dx-prereqs-checker-image-v1.0.0_20250922-1238.tar.gz
46+
hcl-dx-ringapi-image-v1.43.0_20250922-1249.tar.gz
47+
hcl-dx-runtime-controller-image-v95_CF230_20250922-1239.tar.gz
48+
hcl-dx-search-middleware-image-v2.0.0_20250922-1232.tar.gz
49+
hcl-dx-search-v2.28.0_20250923-1517.tgz
50+
hcl-dx-webengine-image-CF230_20250924-1550.tar.gz
51+
```
52+
<!--
1553
## HCL DX 9.5 Compose CF229
1654
1755
If you are deploying the HCL DX 9.5 Compose CF229 release, the following software packages are available in your MHS portal HCL DX Compose v9.5 entitlements:

docs/deploy_dx/install/kubernetes_deployment/kubernetes_runtime.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,9 @@ Review your chosen Kubernetes platform and ensure that it supports the following
3737

3838
|CF Level|Kubernetes versions|
3939
|--------------|-----------------|
40+
|CF229| Kubernetes 1.34<br/>Kubernetes 1.33<br/>Kubernetes 1.32<br/>Kubernetes 1.31<br/>Kubernetes 1.30<br/>Kubernetes 1.29<br/>Kubernetes 1.28<br/>Kubernetes 1.27<br/>Kubernetes 1.26<br/>|
4041
|CF229| Kubernetes 1.33<br/>Kubernetes 1.32<br/>Kubernetes 1.31<br/>Kubernetes 1.30<br/>Kubernetes 1.29<br/>Kubernetes 1.28<br/>Kubernetes 1.27<br/>Kubernetes 1.26<br/>|
4142
|CF228| Kubernetes 1.33<br/>Kubernetes 1.32<br/>Kubernetes 1.31<br/>Kubernetes 1.30<br/>Kubernetes 1.29<br/>Kubernetes 1.28<br/>Kubernetes 1.27<br/>Kubernetes 1.26<br/>|
42-
|CF227| Kubernetes 1.32<br/>Kubernetes 1.31<br/>Kubernetes 1.30<br/>Kubernetes 1.29<br/>Kubernetes 1.28<br/>Kubernetes 1.27<br/>Kubernetes 1.26<br/>|
43-
4443

4544
!!!important
4645
To prevent a possible Kubernetes deployment failure in Kubernetes versions 1.28 and 1.29, it may be required to run the command `modprobe br_netfilter` before running `kubeadm init`. This is a potential solution to avoid a networking bridge/iptables issue.

docs/deploy_dx/manage/cfg_dx_compose/.pages

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ nav:
88
- enable_search.md
99
- integrate_ddc
1010
- setup_cntnt_serv_pgs.md
11+
- configure_sso
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
title: Integrating SSO in DX Compose
2+
nav:
3+
- index.md
4+
- integrating_leap_sso
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Configuring SSO in DX Compose
2+
3+
This guide explains how to set up Single Sign-On (SSO) between HCL DX Compose and HCL Leap. Both applications can be connected to a central Identity Provider (IdP) using the OpenID Connect (OIDC) protocol. This setup allows users and administrators to log in once and then switch between creating pages in DX Compose and designing forms in Leap without logging in again. This improves workflow efficiency and security.
4+
5+
- **[Configuring HCL DX Compose and HCL Leap SSO with OIDC](integrating_leap_sso/index.md)**
6+
Learn how to use OIDC protocol to authenticate with the preferred Identity Provider.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
title: Integrating SSO for HCL Leap using OIDC
2+
nav:
3+
- index.md
4+
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Configuring HCL DX Compose and HCL Leap SSO with OIDC
2+
3+
This page provides information on how to configure the Single Sign-On (SSO) layer between HCL DX Compose and HCL Leap.
4+
5+
## Enabling SSO between HCL Leap and HCL DX Compose in Kubernetes
6+
7+
This guide shows how to enable SSO between HCL DX and HCL Leap. You can use the modern and natively supported OpenID Connect (OIDC) protocol since both applications run on Open Liberty. The protocol connects directly to the preferred Identity Provider (IdP), such as Azure AD, Keycloak or Okta. By configuring DX and Leap to trust your central IdP, users get a seamless, single log-in experience.
8+
9+
### Implementing OIDC SSO
10+
11+
1. Install and configure your IdP.
12+
13+
Create a client for each product. IdPs will serve as the single point of truth for credential inputs.
14+
15+
2. Enable OIDC in HCL DX.
16+
17+
Refer to [Configuring DX Compose to use an OIDC identity provider](./../../../cfg_webengine/configure_compose_to_use_oidc.md) to enable and configure OIDC for DX Compose.
18+
19+
3. Enable OIDC in HCL Leap.
20+
21+
Leap can be configured to leverage OIDC as the primary authentication mechanism, turning it into a Relying Party (RP) to the specific IdP. RP is an application that relies on a third-party (such as an IdP) for authentication. When OIDC is used, the user and group lookup feature of Leap is not available and must be disabled as part of the configuration.
22+
23+
1. Configure the OIDC IdP, which will serve as the OIDC provider.
24+
25+
As part of the configuration process for your identify provider, you will have created or obtained a digital certificate for configuring HTTPS. This certificate will also need to be deployed to Leap so that the two servers can communicate with each other.
26+
27+
!!!note
28+
The SSL certificate (`.crt`) and public key (`.key`) should be in PKCS12 format.
29+
30+
2. After copying the `.key` and `.crt` to the Kubernetes image, create a secret using the following command:
31+
32+
```bash
33+
kubectl -n <namespace> create secret tls <tls-secret> --key="/tmp/oidc.key" --cert="/tmp/oidc.crt"
34+
```
35+
36+
This secret can be referenced in the `values.yaml` file using the following configuration:
37+
38+
```yaml
39+
configuration:
40+
leap:
41+
customCertificateSecrets:
42+
keycloakCert: <tls-secret>
43+
```
44+
45+
3. Add the OIDC definition as a server customization in the `values.yaml` file.
46+
47+
The properties that you need to specify may differ based on your identity provider. For additional information, refer to [Open Liberty documentation on OIDC](https://openliberty.io/docs/latest/reference/config/openidConnectClient.html)
48+
49+
Before moving on, verify that the `discoveryEndpointURL` property is valid by opening the URL in a browser prior to entering it in the `values.yaml` file and updating the `clientSecret` with the proper value obtained from your IdP.
50+
51+
Example of an OIDC definition:
52+
53+
```yaml
54+
# Enter appropriate values for <your-oidc-id>, <your-client-id>, <your-client-secret>, <your-oidc-server>, <your-realm-name>.
55+
# You may have to refer to your identity provider's configuration.
56+
configuration:
57+
leap:
58+
configOverrideFiles:
59+
openIdConnect: |
60+
<server description="leapServer">
61+
<openidConnectClient id="<your-oidc-id>"
62+
clientId="<your-client-id>"
63+
clientSecret="<your-client-secret>"
64+
signatureAlgorithm="RS256"
65+
authFilterRef="interceptedAuthFilter"
66+
mapIdentityToRegistryUser="false"
67+
httpsRequired="true"
68+
scope="openid"
69+
userIdentityToCreateSubject="preferred_username"
70+
discoveryEndpointUrl="https://<your-oidc-server>/realms/<your-realm-name>/.well-known/openid-configuration">
71+
</openidConnectClient>
72+
<authFilter id="interceptedAuthFilter">
73+
<requestUrl id="authRequestUrl" matchType="contains" urlPattern="/apps/secure|/apps/secured"/>
74+
</authFilter>
75+
<httpEndpoint id="defaultHttpEndpoint"
76+
host="*"
77+
httpPort="9080"
78+
httpsPort="9443">
79+
<samesite none="*" />
80+
</httpEndpoint>
81+
</server>
82+
```
83+
84+
For more details on defining a server customization, refer to [Open Liberty server customizations](https://opensource.hcltechsw.com/leap-doc/latest/helm_open_liberty_custom.html){target="_blank"}.
85+
86+
!!!important
87+
The openIdConnectClient redirects to `https://<your-domain>/oidcclient/redirect/<your-oidc-id>` after authentication. Make sure that your valid redirect URIs includes an entry that matches this, and that you're using a different id than what you're using for DX. You may also have to modify your Ingress/Gateway API configuration so that `/oidcclient/redirect/<your-oidc-id>` redirects to the Leap service.
88+
89+
4. Add the following config properties related to OIDC in the `values.yaml` file.
90+
91+
The following properties must be set to complete the OIDC configuration:
92+
93+
- `userLookups`: Set this to `false` to disable user lookups, which is not available when configured with OIDC.
94+
- `userGroups`: Set this to `false` to disable group lookups, which is not available when configured with OIDC.
95+
- `postLogoutRedirectURL`: Set this to the URL to which Leap will redirect the browser after a user logs out. This is necessary to complete the loop with the OIDC IdP.
96+
97+
```yaml
98+
configuration:
99+
leap:
100+
leapProperties: |
101+
ibm.nitro.NitroConfig.userLookup=false
102+
ibm.nitro.NitroConfig.userGroups=false
103+
ibm.nitro.LogoutServlet.postLogoutRedirectURL=https://myOIDCServer.com/realms/Leap/protocol/openid-connect/logout?client_id=hcl-leap-oidc-client&post_logout_redirect_uri=https://myLeapServer.com/apps/secure/org/ide/manager.html
104+
```
105+
106+
For more details on setting Leap properties, refer to [Leap properties](https://opensource.hcltechsw.com/leap-doc/latest/helm_leap_properties.html).
107+
108+
5. Perform a Helm upgrade to apply your changes.
109+
110+
6. Restart the Leap pod. After restarting the Leap pod, accessing Leap should redirect you to authenticate using your OIDC IdP.
111+
112+
For example, the following screenshot shows an authentication page accessed using Keycloak:
113+
114+
![](../../../../../assets/Keycloak-Login.png)

0 commit comments

Comments
 (0)