diff --git a/.secrets.baseline b/.secrets.baseline index 92ea6043..74159a0e 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "^.secrets.baseline$", "lines": null }, - "generated_at": "2024-11-06T17:35:02Z", + "generated_at": "2024-11-08T08:23:37Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -1238,7 +1238,7 @@ "hashed_secret": "8b712744eee080d5fe6048e4f589235d00435559", "is_secret": false, "is_verified": false, - "line_number": 132, + "line_number": 133, "type": "Secret Keyword", "verified_result": null }, @@ -1246,7 +1246,7 @@ "hashed_secret": "b11974a9da0d56698df935ab86e19b127804d6d4", "is_secret": false, "is_verified": false, - "line_number": 156, + "line_number": 157, "type": "Secret Keyword", "verified_result": null } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ad4cf69c..f7072c4d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -248,4 +248,4 @@ request. [Fork a Repo]: https://help.github.com/articles/fork-a-repo [coding guidelines]: https://github.com/ibm-js/sdk/blob/master/GUIDELINES.md [interactive rebase]: http://git-scm.com/book/en/Git-Tools-Rewriting-History#Changing-Multiple-Commit-Messages -[rebasing]: http://git-scm.com/book/en/Git-Branching-Rebasing +[rebasing]: https://git-scm.com/book/en/v2/Git-Branching-Rebasing diff --git a/contrib/file-server/README.md b/contrib/file-server/README.md index 070d2d0c..6dc8851b 100644 --- a/contrib/file-server/README.md +++ b/contrib/file-server/README.md @@ -64,9 +64,11 @@ helm install fileserver bitnami/apache -f httpd-values.yaml [Optional] Expose the service The service exposition is optional. It's only needed if you want to manage an upload on the file server using an external URL. +On several platform like AWS EKS, a cluster external access is provided. +For OCP, if you want to create a route providing a public URL, you have to do : ```bash -kubectl expose svc fileserver-apache +oc expose svc fileserver-apache ``` If you are on OCP, you can get the fileserver route URL to upload the sample jar or zip file : diff --git a/contrib/monitor/opentelemetry/README.md b/contrib/monitor/opentelemetry/README.md index f7f383ec..0db1dd73 100644 --- a/contrib/monitor/opentelemetry/README.md +++ b/contrib/monitor/opentelemetry/README.md @@ -20,7 +20,7 @@ For installations on other platforms, refer to the [Jaeger documentation](https: ## Deploy the OpenTelemetry Collector -We used the following [descriptor](https://github.com/open-telemetry/opentelemetry-go/blob/main/example/otel-collector/otel-collector.yaml) as the basis for the OTEL Collector deployment. +We used the following [descriptor](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/examples/otel-collector/otel-collector.yaml) as the basis for the OTEL Collector deployment. However, it's likely that you will encounter an error similar to: ```console diff --git a/contrib/sticky-session/ingress-dc.yaml b/contrib/sticky-session/ingress-dc.yaml index 0fefeec3..113e5d57 100644 --- a/contrib/sticky-session/ingress-dc.yaml +++ b/contrib/sticky-session/ingress-dc.yaml @@ -6,11 +6,11 @@ metadata: app: ibm-odm-prod ingressroutes: ${RELEASE_NAME} annotations: - kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/backend-protocol: https nginx.ingress.kubernetes.io/affinity: cookie spec: + ingressClassName: nginx rules: - http: paths: diff --git a/contrib/sticky-session/ingress-ds.yaml b/contrib/sticky-session/ingress-ds.yaml index d9a674c3..975eb4c8 100644 --- a/contrib/sticky-session/ingress-ds.yaml +++ b/contrib/sticky-session/ingress-ds.yaml @@ -6,10 +6,10 @@ metadata: app: ibm-odm-prod ingressroutes: ${RELEASE_NAME} annotations: - kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/backend-protocol: https spec: + ingressClassName: nginx rules: - http: paths: diff --git a/platform/eks/README-NGINX.md b/platform/eks/README-NGINX.md index ec682a44..00057a72 100644 --- a/platform/eks/README-NGINX.md +++ b/platform/eks/README-NGINX.md @@ -6,6 +6,10 @@ The aim of this complementary documentation is to explain how to replace the **A You must have created an EKS cluster and set up your environment by following step 1 of [Deploying IBM Operational Decision Manager on Amazon EKS](README.md#1-prepare-your-environment-20-min). +> **Note**: +> Make sure that AWS Load Balancer Controller is not provisioned in this cluster. + + ## Provision an NGINX Ingress Controller You can replace the [Provision an AWS Load Balancer Controller](README.md#d-provision-an-aws-load-balancer-controller) step by provisioning an NGINX Ingress Controller with the following commands. @@ -13,7 +17,7 @@ You can replace the [Provision an AWS Load Balancer Controller](README.md#d-prov ```bash helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update -helm install my-odm-nginx ingress-nginx/ingress-nginx +helm install my-odm-nginx ingress-nginx/ingress-nginx --set controller.service.annotations."service\.beta\.kubernetes\.io/aws-load-balancer-type"=nlb ``` For more information, refer to the [ingress-nginx readme](https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx#install-chart). @@ -24,11 +28,11 @@ The `my-odm-nginx` service should have an available `External-IP` when you run t kubectl get service my-odm-nginx-ingress-nginx-controller ``` -You can then go back to the [main documentation](README.md#2-create-an-rds-database-10-min). +You can then go back to the main documentation to continue [Step 2: Create an RDS database](README.md#2-create-an-rds-database-10-min) and [Step 3: Prepare your environment for the ODM installation](README.md#3-prepare-your-environment-for-the-odm-installation-5-min). ## Install an ODM release with NGINX Ingress Controller -During the helm install, you just have to replace [eks-values.yaml](./eks-values.yaml) with [eks-nginx-values.yaml](./eks-nginx-values.yaml) that contains the relevant Ingress class: `nginx` and annotation: `nginx.ingress.kubernetes.io/backend-protocol: https` +In this tutorial, you will use [eks-nginx-values.yaml](./eks-nginx-values.yaml) or [eks-rds-nginx-values.yaml](./eks-rds-nginx-values.yaml) file that contains the relevant Ingress class: `nginx` and annotation: `nginx.ingress.kubernetes.io/backend-protocol: https` for the installation. To install ODM with the AWS RDS PostgreSQL database created in [step 2](README.md#2-create-an-rds-database-10-min): @@ -37,7 +41,7 @@ To install ODM with the AWS RDS PostgreSQL database created in [step 2](README.m - ``: the initial database name defined when creating the RDS database ```bash -helm install mycompany ibm-helm/ibm-odm-prod --version 23.2.0 -f eks-rds-nginx-values.yaml +helm install mycompany ibm-helm/ibm-odm-prod --version 24.1.0 -f eks-rds-nginx-values.yaml ``` > **Note** @@ -49,12 +53,13 @@ helm install mycompany ibm-helm/ibm-odm-prod --version 23.2.0 -f eks-rds-nginx-v > - Get the [eks-nginx-values.yaml](./eks-nginx-values.yaml) file: > > ```bash -> helm install mycompany ibm-helm/ibm-odm-prod --version 23.2.0 -f eks-nginx-values.yaml +> helm install mycompany ibm-helm/ibm-odm-prod --version 24.1.0 -f eks-nginx-values.yaml > ``` + ## Track ODM usage with the IBM License Service with NGINX Ingress Controller -Install the IBM License Service following a. section of [Track ODM usage with the IBM License Service](README.md#7-track-odm-usage-with-the-ibm-license-service) step of the documentation. +Install the IBM License Service following 7a. section of [Track ODM usage with the IBM License Service](README.md#7-track-odm-usage-with-the-ibm-license-service) step of the documentation. To create the IBM Licensing instance using NGINX, get the [licensing-instance-nginx.yaml](./licensing-instance-nginx.yaml) file and run the command: @@ -69,7 +74,9 @@ export LICENSING_URL=$(kubectl get ingress ibm-licensing-service-instance -n ibm export TOKEN=$(kubectl get secret ibm-licensing-token -n ibm-common-services -o jsonpath='{.data.token}' |base64 -d) ``` -You can access the `http://${LICENSING_URL}/status?token=${TOKEN}` URL to view the licensing usage or retrieve the licensing report .zip file by running: +You can access the `http://${LICENSING_URL}/status?token=${TOKEN}` URL to view the licensing usage. + +Otherwise, you can also retrieve the licensing report .zip file by running: ```bash curl "http://${LICENSING_URL}/snapshot?token=${TOKEN}" --output report.zip diff --git a/platform/eks/README.md b/platform/eks/README.md index 9e83f0d4..43a8fa94 100644 --- a/platform/eks/README.md +++ b/platform/eks/README.md @@ -4,6 +4,7 @@ This project demonstrates how to deploy an IBM® Operational Decision Manager (O Flow + The ODM on Kubernetes Docker images are available in the [IBM Cloud Container Registry](https://www.ibm.com/cloud/container-registry). The ODM Helm chart is available in the [IBM Helm charts repository](https://github.com/IBM/charts). ## Included components @@ -49,16 +50,16 @@ Set up your environment by [configuring the AWS CLI](https://docs.aws.amazon.com ```bash aws configure  ``` +Where you provide your `AWS Access Key ID`, `AWS Secret Access Key` and the `Default region name`. #### b. Create an EKS cluster (20 min) ```bash -eksctl create cluster --version 1.28 --alb-ingress-access - +eksctl create cluster --version 1.30 --alb-ingress-access ``` > **Note** -> The tutorial has been tested with the Kubernetes version 1.28. Check the supported kubernetes version in the [system requirement](https://www.ibm.com/support/pages/ibm-operational-decision-manager-detailed-system-requirements) page. +> The tutorial has been tested with the Kubernetes version 1.30. Check the supported kubernetes version in the [system requirement](https://www.ibm.com/support/pages/ibm-operational-decision-manager-detailed-system-requirements) page. > **Warning** > If you prefer to use the NGINX Ingress Controller instead of the ALB Load Balancer to expose ODM services, don't use the --alb-ingress-access option during the creation of the cluster ! @@ -177,7 +178,7 @@ helm repo update ```bash $ helm search repo ibm-odm-prod NAME CHART VERSION APP VERSION DESCRIPTION -ibm-helm/ibm-odm-prod 24.0.0 9.0.0.0 IBM Operational Decision Manager +ibm-helm/ibm-odm-prod 24.1.0 9.0.0.1 IBM Operational Decision Manager ``` ### 4. Manage a  digital certificate (10 min) @@ -229,7 +230,7 @@ To install ODM with the AWS RDS PostgreSQL database created in [step 2](#2-creat - `` is the initial database name defined when creating the RDS database ```bash -helm install mycompany ibm-helm/ibm-odm-prod --version 23.2.0 -f eks-rds-values.yaml +helm install mycompany ibm-helm/ibm-odm-prod --version 24.1.0 -f eks-rds-values.yaml ``` > **Note** @@ -239,7 +240,7 @@ helm install mycompany ibm-helm/ibm-odm-prod --version 23.2.0 -f eks-rds-values. > - `` is your AWS Account Id > >```bash ->helm install mycompany ibm-helm/ibm-odm-prod --version 23.2.0 -f eks-values.yaml +>helm install mycompany ibm-helm/ibm-odm-prod --version 24.1.0 -f eks-values.yaml >``` > **Note** @@ -267,6 +268,7 @@ After a couple of minutes, the ALB reflects the Ingress configuration. You can ```bash export ROOTURL=$(kubectl get ingress mycompany-odm-ingress --no-headers |awk '{print $4}') +echo $ROOTURL ``` > **Note** diff --git a/platform/minikube/README.md b/platform/minikube/README.md index cf9a2d71..03cb5cfa 100644 --- a/platform/minikube/README.md +++ b/platform/minikube/README.md @@ -21,6 +21,7 @@ This tutorial was tested on macOS and Linux. - [Minikube](https://minikube.sigs.k8s.io/docs/start/) - [Helm](https://helm.sh/docs/intro/install/) +- [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/) ## Steps @@ -93,7 +94,7 @@ helm repo update ```shell $ helm search repo ibm-odm-prod NAME CHART VERSION APP VERSION DESCRIPTION -ibmcharts/ibm-odm-prod 24.0.0 9.0.0.0 IBM Operational Decision Manager +ibmcharts/ibm-odm-prod 24.1.0 9.0.0.1 IBM Operational Decision Manager ``` ### 3. Install an IBM Operational Decision Manager release