You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-3Lines changed: 28 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ IBM Operational Decision Manager on Certified Kubernetes
9
9
10
10
## Deploying IBM Operational Decision Manager on a Certified Kubernetes Cluster
11
11
12
-
This repository centralizes materials to deploy [IBM® Operational Decision Manager](https://www.ibm.com/docs/en/odm/8.12.0) ODM on Certified Kubernetes. It is deployed in a clustered topology that uses WebSphere® Application Server Liberty on a Kubernetes cluster.
12
+
This repository centralizes materials to deploy [IBM® Operational Decision Manager](https://www.ibm.com/docs/en/odm/9.0.0) ODM on Certified Kubernetes. It is deployed in a clustered topology that uses WebSphere® Application Server Liberty on a Kubernetes cluster.
13
13
14
14
ODM is a decisioning platform to automate your business policies. Business rules are used at the heart of the platform to implement decision logic on a business vocabulary and run it as web decision services.
15
15
@@ -23,20 +23,45 @@ The ODM Docker material is used here, which is available in the [odm-ondocker](h
23
23
-[Amazon EKS](platform/eks/README.md)
24
24
-[Azure AKS](platform/azure/README.md)
25
25
-[Google Cloud GKE](platform/gcloud/README.md)
26
+
-[Redhat OpenShift Kubernetes Service on IBM Cloud (ROKS)](platform/roks/README.md)
26
27
-[Minikube](platform/minikube/README.md) - Minikube can be used to evaluate ODM locally.
27
28
28
-
### Contributions to customize the deployment
29
+
### Integrating with Third-Party Providers
30
+
31
+
#### Integration with OpenID Providers
32
+
33
+
To integrate with OpenID providers for authentication and authorization, follow these steps:
29
34
-[Configure ODM with an OpenID Okta service](authentication/Okta/README.md)
30
35
-[Configure ODM with an Azure Active Directory service](authentication/AzureAD/README.md)
31
36
-[Configure ODM with a Keycloak service](authentication/Keycloak/README.md)
37
+
-[Configure ODM with a Cognito User Pool](authentication/Cognito/README.md)
38
+
39
+
#### Managing Secrets within a Vault
40
+
41
+
Ensure secure management of secrets within your deployment using one of the following methods:
42
+
43
+
44
+
-[Manage secrets with Secret Store CSI Driver](./contrib/secrets-store/README.md): Use the Secrets Store CSI Driver (e.g., HashiCorp Vault) to securely manage sensitive information such as client secrets and keys. This option is designed to minimize configuration efforts and reduce the workload on your part.
45
+
-[Manage secrets with Vault via InitContainer](./contrib/vault-initcontainer/README.md): Use an InitContainer to securely retrieve secrets from a Vault (e.g., HashiCorp Vault) and inject them into your application containers. This option requires more hands-on work but it offers greater flexibility to tailor the secret management to your specific requirements.
46
+
47
+
We encourage you to explore both configurations to identify which setup aligns better with your operational needs and simplicity preferences.
48
+
49
+
#### Integration with Analytics Tools
50
+
To enable analytics and monitoring capabilities within your deployment, consider integrating with analytics tools using Decisions' monitoring features:
51
+
-[MPMetrics Integration](./contrib/monitor/mpmetrics/README.md) : Use MPMetrics for comprehensive monitoring and performance tracking.
52
+
-[OpenTelemetry Integration](./contrib/monitor/opentelemetry/README.md) : Leverage OpenTelemetry for observability and tracing functionalities. This article with guide you to configure your deployment to work seamlessly with OpenTelemetry.
53
+
54
+
55
+
#### Contribution to customize the deployment
56
+
32
57
-[Scope the Decision Server Console to a dedicated node with `kustomize`](contrib/kustomize/ds-console-dedicated-node/README.md)
33
58
34
59
## Issues and contributions
35
60
36
61
For issues relating specifically to the Dockerfiles and scripts, please use the [GitHub issue tracker](https://github.com/ODMDev/odm-docker-kubernetes/issues). For more general issue relating to IBM Operational Decision Manager you can [get help](https://community.ibm.com/community/user/automation/communities/community-home?communitykey=c0005a22-520b-4181-bfad-feffd8bdc022) through the ODMDev community or, if you have production licenses for Operational Decision Manager, via the usual support channels. We welcome contributions following [our guidelines](https://github.com/ODMDev/odm-docker-kubernetes/blob/master/CONTRIBUTING.md).
Copy file name to clipboardExpand all lines: authentication/AzureAD/README.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -125,7 +125,7 @@ After activating your account by email, you should have access to your Microsoft
125
125
126
126
* Click the **myodmuser** user previously created
127
127
* Edit properties
128
-
* Fill the email field with *myodmuser*@YOURDOMAIN
128
+
* Fill the email field with *myodmuser*@YOURDOMAIN (in the 'Contact Information' tab)
129
129
130
130
* Try to log in to the [Azure portal](https://portal.azure.com/) with the user principal name.
131
131
This may require to enable 2FA and/or change the password for the first time.
@@ -134,7 +134,7 @@ After activating your account by email, you should have access to your Microsoft
134
134
135
135
## Choose the way to set up your application
136
136
137
-
Client credentials are used in the context of authentication in systems that utilize OAuth 2.0, a common protocol for secure authorization. These credentials are typically used by a client application (like a web or mobile app) to prove its identity to an authorization server in order to obtain access tokens for making API requests. There are two ways to use client credentials in Microfoft Entra ID: with a private key (often referred to as client certificates) and with a secret (usually referred to as a client secret).
137
+
Client credentials are used in the context of authentication in systems that utilize OAuth 2.0, a common protocol for secure authorization. These credentials are typically used by a client application (like a web or mobile app) to prove its identity to an authorization server in order to obtain access tokens for making API requests. There are two ways to use client credentials in Microsoft Entra ID: with a private key (often referred to as client certificates) and with a secret (usually referred to as a client secret).
138
138
139
139
[Client Credentials with a Secret](README_WITH_CLIENT_SECRET.md) (Client Secret):
Copy file name to clipboardExpand all lines: authentication/AzureAD/README_WITH_CLIENT_SECRET.md
+27-27Lines changed: 27 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -87,12 +87,13 @@
87
87
88
88
In **Azure Active Directory** / **Enterprise applications**, select **ODM Application**, and in **Manage / Single sign-on**:
89
89
90
-
* Click on Edit of the "Attributes & Claims" section
90
+
* Click Edit in the "Attributes & Claims" section
91
91
* Click + Add new claim
92
92
* Name: identity
93
93
* Fill 2 Claim conditions in the exact following order:
94
-
1. User Type: Any / Scope Groups: 0 / Source: Attribute / Value: <CLIENT_ID>
95
-
2. User Type: Members / Scope Groups: 0 / Source: Attribute / Value: user.mail
94
+
1. User Type: Any / Scoped Groups: 0 / Source: Attribute / Value: <CLIENT_ID>
95
+
2. User Type: Members / Scoped Groups: 0 / Source: Attribute / Value: user.mail
96
+
* Click Save
96
97
97
98
6. API Permissions.
98
99
@@ -116,7 +117,7 @@
116
117
117
118
Download the [azuread-odm-script.zip](azuread-odm-script.zip) file to your machine and unzip it in your working directory. This .zip file contains scripts and templates to verify and set up ODM.
118
119
119
-
8.1 Verify the Client Credential Token
120
+
8.1 Verify the token issued using the 'Client Credentials' flow
120
121
121
122
You can request an access token using the Client-Credentials flow to verify the token format.
122
123
This token is used for the deployment between Decision Center and the Decision Server console:
@@ -153,13 +154,14 @@
153
154
}
154
155
```
155
156
156
-
- *ver*: should be 2.0. otherwise you should verify the previous step **Manifest change**
157
157
- *aud*: should be your CLIENT_ID
158
+
- *identity*: should be your CLIENT_ID
158
159
- *iss*: should end with 2.0. otherwise you should verify the previous step **Manifest change**
160
+
- *ver*: should be 2.0. otherwise you should verify the previous step **Manifest change**
159
161
160
-
8.2 Verify the Client Password Token.
162
+
8.2 Verify the token issued using the 'Password Credentials' flow
161
163
162
-
To check that it has been correctly taken into account, you can request an ID token using the Client password flow.
164
+
To check that it has been correctly taken into account, you can request an ID token using the Password Credentials flow.
163
165
164
166
This token is used for the invocation of the ODM components like Decision Center, Decision Servcer console, and the invocation of the Decision Server Runtime REST API.
- *iss*: should end with 2.0. Otherwise you should verify the previous step **Manifest change**
196
198
- *email*: should be present. Otherwise you should verify the creation of your user and fill the Email field.
197
199
- *groups*: should contain your GROUP_ID
198
-
- *iss*: should end with 2.0. Otherwise you should verify the previous step **Manifest change**
199
200
- *ver*: should be 2.0. Otherwise you should verify the previous step **Manifest change**
201
+
- *identity*: should be the user's email/username
200
202
201
203
> If this command failed, try to log in to the [Azure portal](https://portal.azure.com/). You may have to enable 2FA and/or change the password for the first time.
202
204
@@ -264,7 +266,7 @@
264
266
Where:
265
267
- *TENANT_ID* and *CLIENT_ID* have been obtained from [previous step](#retrieve-tenant-and-client-information)
266
268
- *CLIENT_SECRET* is listed in your ODM Application, section **General** / **Client Credentials**
267
-
- *GROUP_ID* is the ODM Admin group created in a [previous step](#manage-group-and-user) (*odm-admin*)
269
+
- *GROUP_ID* is the identifier of the ODM Admin group created in a [previous step](#manage-group-and-user) (ID of the group named *odm-admin*)
268
270
- *SSO_DOMAIN* is the domain name of your SSO. If your AzureAD is connected to another SSO, you should add the SSO domain name in this parameter. If your user has been declared as explained in step **Create at least one user that belongs to this new group**, you can omit this parameter.
269
271
270
272
The following four files are generated into the `output` directory:
@@ -273,10 +275,10 @@
273
275
* All ODM roles are given to the GROUP_ID group
274
276
* rtsAdministrators/resAdministrators/resExecutors ODM roles are given to the CLIENT_ID (which is seen as a user) to manage the client-credentials flow
275
277
- openIdWebSecurity.xml contains two openIdConnectClient Liberty configurations:
276
-
* For web access to the Decision Center an Decision Server consoles using userIdentifier="email" with the Authorization Code flow
277
-
* For the rest-api call using userIdentifier="aud" with the client-credentials flow
278
+
* For web access to the Decision Center and Decision Server consoles using userIdentifier="email" with the Authorization Code flow
279
+
* For the rest-api calls using userIdentifier="aud" with the client-credentials flow
278
280
- openIdParameters.properties configures several features like allowed domains, logout, and some internal ODM OpenId features
279
-
- OdmOidcProviders.json configures the client-credentials OpenId provider used by the Decision Center server configuration to connect Decision Center to the Decision Server console and Decision Center to the Decision Runner
281
+
- OdmOidcProviders.json configures the client-credentials OpenId provider used by the Decision Center server configuration to connect Decision Center to the Decision Server console and Decision Center to Decision Runner
280
282
281
283
3. Create the Microsoft Entra ID authentication secret.
282
284
@@ -302,7 +304,7 @@
302
304
```shell
303
305
helm search repo ibm-odm-prod
304
306
NAME CHART VERSION APP VERSION DESCRIPTION
305
-
ibm-helm/ibm-odm-prod 23.1.0 8.12.0.0 IBM Operational Decision Manager
307
+
ibm-helm/ibm-odm-prod 24.0.0 9.0.0.0 IBM Operational Decision Manager
306
308
```
307
309
308
310
### Run the `helm install` command
@@ -311,7 +313,7 @@ You can now install the product. We will use the PostgreSQL internal database an
311
313
312
314
#### a. Installation on OpenShift using Routes
313
315
314
-
See the [Preparing to install](https://www.ibm.com/docs/en/odm/8.12.0?topic=production-preparing-install-operational-decision-manager) documentation for additional information.
316
+
See the [Preparing to install](https://www.ibm.com/docs/en/odm/9.0.0?topic=production-preparing-install-operational-decision-manager) documentation for additional information.
@@ -354,7 +356,7 @@ You can now install the product. We will use the PostgreSQL internal database an
354
356
355
357
1. Get the ODM endpoints.
356
358
357
-
Refer to the [documentation](https://www.ibm.com/docs/en/odm/8.12.0?topic=tasks-configuring-external-access) to retrieve the endpoints.
359
+
Refer to the [documentation](https://www.ibm.com/docs/en/odm/9.0.0?topic=tasks-configuring-external-access) to retrieve the endpoints.
358
360
For example, on OpenShift you can get the route names and hosts with:
359
361
360
362
```shell
@@ -403,14 +405,14 @@ You can now install the product. We will use the PostgreSQL internal database an
403
405
404
406
From the Azure console, in **Azure Active Directory** / **App Registrations** / **ODM Application**:
405
407
406
-
- Click`Add Redirect URIs link`
408
+
- Click the `Add a Redirect URI` link
407
409
- Click `Add Platform`
408
410
- Select `Web`
409
411
- `Redirect URIs` Add the Decision Center redirect URI that you got earlier (`https://<DC_HOST>/decisioncenter/openid/redirect/odm` -- don't forget to replace <DC_HOST> with your actual host name!)
410
-
- Check Access Token and ID Token
411
-
- Click Configure
412
-
- Click Add URI Link
413
-
- Repeat the previous steps for all other redirect URIs.
412
+
- Check the `Access Token` and `ID Token` check boxes
413
+
- Click `Configure`
414
+
- Click the `Add URI` Link and enter another redirect URI
415
+
- Repeat the previous step until all redirect URIs have been entered.
414
416
415
417
- Click **Save** at the bottom of the page.
416
418

@@ -419,8 +421,6 @@ You can now install the product. We will use the PostgreSQL internal database an
419
421
420
422
Well done! You can now connect to ODM using the endpoints you got [earlier](#register-the-odm-redirect-url) and log in as an ODM admin with the account you created in [the first step](#manage-group-and-user).
421
423
422
-
>Note: Logout in ODM components using Microsoft Entra ID authentication raises an error for the time being. This is a known issue. We recommend to use a private window in your browser to log in, so that logout is done just by closing this window.
423
-
424
424
### Set up Rule Designer
425
425
426
426
To be able to securely connect your Rule Designer to the Decision Server and Decision Center services that are running in Certified Kubernetes, you need to establish a TLS connection through a security certificate in addition to the OpenID configuration.
@@ -449,7 +449,7 @@ To be able to securely connect your Rule Designer to the Decision Server and Dec
449
449
450
450
4. Restart Rule Designer.
451
451
452
-
For more information, refer to the [documentation](https://www.ibm.com/docs/en/odm/8.12.0?topic=designer-importing-security-certificate-in-rule).
452
+
For more information, refer to the [documentation](https://www.ibm.com/docs/en/odm/9.0.0?topic=designer-importing-security-certificate-in-rule).
453
453
454
454
### Getting Started with IBM Operational Decision Manager for Containers
455
455
@@ -469,7 +469,7 @@ Deploy the **Loan Validation Service** production_deployment ruleapps using the
469
469
470
470
You can retrieve the payload.json from the ODM Decision Server Console or use [the provided payload](payload.json).
471
471
472
-
As explained in the ODM on Certified Kubernetes documentation [Configuring user access with OpenID](https://www.ibm.com/docs/en/odm/8.12.0?topic=access-configuring-user-openid), we advise to use basic authentication for the ODM runtime call for performance reasons and to avoid the issue of token expiration and revocation.
472
+
As explained in the ODM on Certified Kubernetes documentation [Configuring user access with OpenID](https://www.ibm.com/docs/en/odm/9.0.0?topic=access-configuring-user-openid), we advise to use basic authentication for the ODM runtime call for performance reasons and to avoid the issue of token expiration and revocation.
473
473
474
474
You can realize a basic authentication ODM runtime call the following way:
0 commit comments