From e4ced45058961f47a07fbd9b5841382b55d18d77 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Tue, 9 Dec 2025 19:08:35 +0530 Subject: [PATCH 01/35] EFS CSI Driver operator changes --- .../functions/gitops_efs_csi_driver_operator | 205 ++++++++++++++++++ .../gitops/gitops-mas-cluster.yml.j2 | 33 ++- .../tasks/gitops/gitops-efs-csi-driver.yml.j2 | 76 +++++++ 3 files changed, 313 insertions(+), 1 deletion(-) create mode 100644 image/cli/mascli/functions/gitops_efs_csi_driver_operator create mode 100644 tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 diff --git a/image/cli/mascli/functions/gitops_efs_csi_driver_operator b/image/cli/mascli/functions/gitops_efs_csi_driver_operator new file mode 100644 index 00000000000..8132caca20d --- /dev/null +++ b/image/cli/mascli/functions/gitops_efs_csi_driver_operator @@ -0,0 +1,205 @@ +#!/usr/bin/env bash + +function gitops_efs_csi_driver_operator_help() { + [[ -n "$1" ]] && echo_warning "$1" + reset_colors + cat << EOM +Usage: + mas gitops_efs_csi_driver_operator [options] +Where ${COLOR_YELLOW}specified${TEXT_RESET} each option may also be defined by setting the appropriate environment variable. +When no options are specified on the command line, interactive-mode will be enabled by default. + +Basic Configuration: + -d, --dir ${COLOR_YELLOW}GITOPS_WORKING_DIR${TEXT_RESET} Directory for GitOps repository + -a, --account-id ${COLOR_YELLOW}ACCOUNT_ID${TEXT_RESET} Account name that the cluster belongs to + -c, --cluster-id ${COLOR_YELLOW}CLUSTER_ID${TEXT_RESET} Cluster ID + -r, --efs-csi-driver-role-arn ${COLOR_YELLOW}EFS_CSI_DRIVER_ROLE_ARN${TEXT_RESET} ARN of the IAM Role to assign to the EFS CSI driver + +Automatic GitHub Push (Optional): + -P, --github-push ${COLOR_YELLOW}GITHUB_PUSH${TEXT_RESET} Enable automatic push to GitHub + -H, --github-host ${COLOR_YELLOW}GITHUB_HOST${TEXT_RESET} GitHub Hostname for your GitOps repository + -O, --github-org ${COLOR_YELLOW}GITHUB_ORG${TEXT_RESET} Github org for your GitOps repository + -R, --github-repo ${COLOR_YELLOW}GITHUB_REPO${TEXT_RESET} Github repo for your GitOps repository + -S, --github-ssh ${COLOR_YELLOW}GIT_SSH${TEXT_RESET} Git ssh key path + -B, --git-branch ${COLOR_YELLOW}GIT_BRANCH${TEXT_RESET} Git branch to commit to of your GitOps repository + -M, --git-commit-msg ${COLOR_YELLOW}GIT_COMMIT_MSG${TEXT_RESET} Git commit message to use when committing to of your GitOps repository + +Other Commands: + -h, --help Show this help message +EOM + [[ -n "$1" ]] && exit 1 || exit 0 +} + +function gitops_efs_csi_driver_operator_noninteractive() { + GITOPS_WORKING_DIR=$PWD/working-dir + SECRETS_KEY_SEPERATOR="/" + GIT_COMMIT_MSG="gitops-efs-csi-driver commit" + + while [[ $# -gt 0 ]] + do + key="$1" + shift + case $key in + # GitOps Configuration + -d|--dir) + export GITOPS_WORKING_DIR=$1 && shift + ;; + -a|--account-id) + export ACCOUNT_ID=$1 && shift + ;; + -c|--cluster-id) + export CLUSTER_ID=$1 && shift + ;; + -r|--efs-csi-driver-role-arn) + export export EFS_CSI_DRIVER_ROLE_ARN=$1 && shift + ;; + + + # Automatic GitHub Push + -P|--github-push) + export GITHUB_PUSH=true + ;; + -H|--github-host) + export GITHUB_HOST=$1 && shift + ;; + -O|--github-org) + export GITHUB_ORG=$1 && shift + ;; + -R|--github-repo) + export GITHUB_REPO=$1 && shift + ;; + -S|--github-ssh) + export GIT_SSH=$1 && shift + ;; + -B|--git-branch) + export GIT_BRANCH=$1 && shift + ;; + -M|--git-commit-msg) + export GIT_COMMIT_MSG=$1 && shift + ;; + + # Other Commands + -h|--help) + gitops_efs_csi_driver_operator_help + ;; + *) + # unknown option + gitops_efs_csi_driver_operator_help "Usage Error: Unsupported option \"${key}\" " + ;; + esac + done + + [[ -z "$GITOPS_WORKING_DIR" ]] && gitops_efs_csi_driver_help "GITOPS_WORKING_DIR is not set" + [[ -z "$ACCOUNT_ID" ]] && gitops_efs_csi_driver_help "ACCOUNT_ID is not set" + [[ -z "$CLUSTER_ID" ]] && gitops_efs_csi_driver_help "CLUSTER_ID is not set" + + if [[ "$GITHUB_PUSH" == "true" ]]; then + [[ -z "$GITHUB_HOST" ]] && gitops_efs_csi_driver_help "GITHUB_HOST is not set" + [[ -z "$GITHUB_ORG" ]] && gitops_efs_csi_driver_help "GITHUB_ORG is not set" + [[ -z "$GITHUB_REPO" ]] && gitops_efs_csi_driver_help "GITHUB_REPO is not set" + [[ -z "$GIT_BRANCH" ]] && gitops_efs_csi_driver_help "GIT_BRANCH is not set" + fi + + [[ -z "$EFS_CSI_DRIVER_ROLE_ARN" ]] && gitops_efs_csi_driver_operator_help "EFS_CSI_DRIVER_ROLE_ARN is not set" + +} + +function gitops_efs_csi_driver_operator() { + # Take the first parameter off (it will be create-gitops) + shift + if [[ $# -gt 0 ]]; then + gitops_efs_csi_driver_operator_noninteractive "$@" + else + echo "Not supported yet" + exit 1 + gitops_efs_csi_driver_operator_interactive + fi + + # catch errors + set -o pipefail + trap 'echo "[ERROR] Error occurred at $BASH_SOURCE, line $LINENO, exited with $?"; exit 1' ERR + + mkdir -p ${GITOPS_WORKING_DIR} + GITOPS_CLUSTER_DIR=${GITOPS_WORKING_DIR}/${GITHUB_REPO}/${ACCOUNT_ID}/${CLUSTER_ID} + + echo + reset_colors + echo_h2 "Review Settings" + + echo "${TEXT_DIM}" + echo_h2 "Target" " " + echo_reset_dim "Account ID ..................... ${COLOR_MAGENTA}${ACCOUNT_ID}" + echo_reset_dim "Region ID ...................... ${COLOR_MAGENTA}${REGION_ID}" + echo_reset_dim "Cluster ID ..................... ${COLOR_MAGENTA}${CLUSTER_ID}" + echo_reset_dim "Cluster Config Directory ....... ${COLOR_MAGENTA}${GITOPS_CLUSTER_DIR}" + reset_colors + + echo "${TEXT_DIM}" + if [[ "$GITHUB_PUSH" == "true" ]]; then + echo_h2 "GitOps Target" " " + echo_reset_dim "Automatic Push ........................ ${COLOR_GREEN}Enabled" + echo_reset_dim "Working Directory ..................... ${COLOR_MAGENTA}${GITOPS_WORKING_DIR}" + echo_reset_dim "Host .................................. ${COLOR_MAGENTA}${GITHUB_HOST}" + echo_reset_dim "Organization .......................... ${COLOR_MAGENTA}${GITHUB_ORG}" + echo_reset_dim "Repository ............................ ${COLOR_MAGENTA}${GITHUB_REPO}" + echo_reset_dim "Branch ................................ ${COLOR_MAGENTA}${GIT_BRANCH}" + else + echo_h2 "GitOps Target" " " + echo_reset_dim "Automatic Push ........................ ${COLOR_RED}Disabled" + echo_reset_dim "Working Directory ..................... ${COLOR_MAGENTA}${GITOPS_WORKING_DIR}" + fi + reset_colors + + echo "${TEXT_DIM}" + echo_h2 "EFS CSI Driver" " " + echo_reset_dim "EFS_CSI_DRIVER_ROLE_ARN .......................... ${COLOR_MAGENTA}${EFS_CSI_DRIVER_ROLE_ARN}" + reset_colors + + + + CURRENT_DIR=$PWD + TEMP_DIR=$CURRENT_DIR/tmp-efs_csi_driver + mkdir -p $TEMP_DIR + + if [ -z $GIT_SSH ]; then + export GIT_SSH=false + fi + + + # Set and Validate App Names + # --------------------------------------------------------------------------- + EFS_CSI_DRIVER_APP_NAME="efs-csi-driver.${CLUSTER_ID}" + validate_app_name "${EFS_CSI_DRIVER_APP_NAME}" + + + # Clone github target repo + # --------------------------------------------------------------------------- + if [ "$GITHUB_PUSH" == "true" ]; then + echo + echo_h2 "Cloning GitHub repo $GITHUB_ORG $GITHUB_REPO" + clone_target_git_repo $GITHUB_HOST $GITHUB_ORG $GITHUB_REPO $GIT_BRANCH $GITOPS_WORKING_DIR $GIT_SSH + fi + mkdir -p ${GITOPS_CLUSTER_DIR} + + + # Generate ArgoApps + # --------------------------------------------------------------------------- + echo + echo_h2 "Generating efs_csi_driver operator Applications" + echo "- efs_csi_driver operator" + + echo "Generating efs_csi_driver file ${GITOPS_CLUSTER_DIR}/efs-csi-driver.yaml" + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 ${GITOPS_CLUSTER_DIR}/efs-csi-driver.yaml + + # Commit and push to github target repo + # --------------------------------------------------------------------------- + if [ "$GITHUB_PUSH" == "true" ]; then + echo + echo_h2 "Commit and push changes to GitHub repo $GITHUB_ORG $GITHUB_REPO" + save_to_target_git_repo $GITHUB_HOST $GITHUB_ORG $GITHUB_REPO $GIT_BRANCH "${GITOPS_WORKING_DIR}/${GITHUB_REPO}" "${GIT_COMMIT_MSG}" + remove_git_repo_clone $GITOPS_WORKING_DIR/$GITHUB_REPO + fi + + rm -rf $TEMP_DIR + +} diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index 65f7f395a55..2f8cc537831 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -45,6 +45,9 @@ spec: - name: mas_catalog_image type: string + - name: efs_role_arn + type: string + - name: dro_namespace type: string default: "ibm-software-central" @@ -390,9 +393,37 @@ spec: - name: gitops-cluster-configs workspace: gitops-cluster-configs - - name: gitops-dro + - name: gitops-efs-csi-driver runAfter: - gitops-cluster + params: + - name: cluster_name + value: $(params.cluster_name) + - name: account + value: $(params.account) + - name: git_branch + value: $(params.git_branch) + - name: github_org + value: $(params.github_org) + - name: github_repo + value: $(params.github_repo) + - name: github_host + value: $(params.github_host) + - name: git_commit_msg + value: $(params.git_commit_msg) + - name: efs_role_arn + value: $(params.efs_role_arn) + taskRef: + kind: Task + name: gitops-efs-csi-driver + workspaces: + - name: configs + workspace: configs + + + - name: gitops-dro + runAfter: + - gitops-efs-csi-driver params: - name: cluster_name value: $(params.cluster_name) diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 new file mode 100644 index 00000000000..a5f74ec51bc --- /dev/null +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -0,0 +1,76 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: gitops-efs-csi-driver +spec: + params: + - name: cluster_name + type: string + - name: account + type: string + - name: git_branch + type: string + - name: github_org + type: string + - name: github_repo + type: string + - name: github_host + type: string + - name: efs_role_arn + type: string + - name: efs_install_plan + type: string + default: "Automatic" + stepTemplate: + name: gitops-efs-csi-driver + env: + - name: CLUSTER_NAME + value: $(params.cluster_name) + - name: ACCOUNT + value: $(params.account) + - name: GIT_BRANCH + value: $(params.git_branch) + - name: GITHUB_ORG + value: $(params.github_org) + - name: GITHUB_HOST + value: $(params.github_host) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: EFS_CSI_DRIVER_ROLE_ARN + value: $(params.efs_role_arn) + - name: EFS_INSTALL_PLAN + value: $(params.efs_install_plan) + envFrom: + - configMapRef: + name: environment-properties + optional: true + - secretRef: + name: secure-properties + steps: + - args: + - |- + git config --global user.name "MAS Automation" + git config --global user.email "you@example.com" + git config --global user.password $GITHUB_PAT + + mkdir -p /tmp/init-efs-csi + mas gitops-efs-csi-driver-operator -a $ACCOUNT -c $CLUSTER_NAME \ + --secrets-path $SECRET_PATH \ + --dir /tmp/init-efs-csi \ + --github-push \ + --github-host $GITHUB_HOST \ + --github-org $GITHUB_ORG \ + --github-repo $GITHUB_REPO \ + --git-branch $GIT_BRANCH + --efs-csi-driver-role-arn $EFS_CSI_DRIVER_ROLE_ARN + + exit $? + command: + - /bin/sh + - -c + name: gitops-efs-csi-driver + imagePullPolicy: IfNotPresent + image: quay.io/ibmmas/cli:latest + workspaces: + - name: configs From 97ad4dbd5997681c5f6758fe9f0be0287e9a5b66 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Thu, 11 Dec 2025 15:04:30 +0530 Subject: [PATCH 02/35] updated task list --- image/cli/mascli/mas | 1 + tekton/generate-tekton-tasks.yml | 1 + tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/image/cli/mascli/mas b/image/cli/mascli/mas index f6ee522a0dd..83fecaae027 100755 --- a/image/cli/mascli/mas +++ b/image/cli/mascli/mas @@ -75,6 +75,7 @@ mkdir -p $CONFIG_DIR . $CLI_DIR/functions/gitops_deprovision_suite_workspace . $CLI_DIR/functions/gitops_efs . $CLI_DIR/functions/gitops_efs_csi_driver +. $CLI_DIR/functions/gitops_efs_csi_driver_operator . $CLI_DIR/functions/gitops_dro . $CLI_DIR/functions/gitops_db2u . $CLI_DIR/functions/gitops_db2u_database diff --git a/tekton/generate-tekton-tasks.yml b/tekton/generate-tekton-tasks.yml index 501f3be4f0f..4b347462ef1 100644 --- a/tekton/generate-tekton-tasks.yml +++ b/tekton/generate-tekton-tasks.yml @@ -222,6 +222,7 @@ - gitops-deprovision-suite - gitops-dro - gitops-efs + - gitops-efs-csi-driver - gitops-jdbc-config - gitops-kafka - gitops-kafka-config diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index 2f8cc537831..dbe0a5e6bec 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -412,7 +412,7 @@ spec: - name: git_commit_msg value: $(params.git_commit_msg) - name: efs_role_arn - value: $(params.efs_role_arn) + value: $(params.role_arn) taskRef: kind: Task name: gitops-efs-csi-driver From 286184625756025ca053b5b879a77bcedffb250a Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Sat, 13 Dec 2025 21:31:29 +0530 Subject: [PATCH 03/35] updated role arn variable name --- tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 4 ++-- tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index dbe0a5e6bec..b8446ce2dd8 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -45,7 +45,7 @@ spec: - name: mas_catalog_image type: string - - name: efs_role_arn + - name: role_arn type: string - name: dro_namespace @@ -411,7 +411,7 @@ spec: value: $(params.github_host) - name: git_commit_msg value: $(params.git_commit_msg) - - name: efs_role_arn + - name: role_arn value: $(params.role_arn) taskRef: kind: Task diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index a5f74ec51bc..730bf4ec174 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -17,7 +17,7 @@ spec: type: string - name: github_host type: string - - name: efs_role_arn + - name: role_arn type: string - name: efs_install_plan type: string @@ -38,7 +38,7 @@ spec: - name: GITHUB_REPO value: $(params.github_repo) - name: EFS_CSI_DRIVER_ROLE_ARN - value: $(params.efs_role_arn) + value: $(params.role_arn) - name: EFS_INSTALL_PLAN value: $(params.efs_install_plan) envFrom: From 3dc37de4fd0bbbddb6ae61a863829cb64266b4c9 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Fri, 26 Dec 2025 11:36:40 +0530 Subject: [PATCH 04/35] removed unused param from task --- tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index 730bf4ec174..3e48477ea9b 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -63,7 +63,6 @@ spec: --github-org $GITHUB_ORG \ --github-repo $GITHUB_REPO \ --git-branch $GIT_BRANCH - --efs-csi-driver-role-arn $EFS_CSI_DRIVER_ROLE_ARN exit $? command: From ef7dcfd4f7a76adb00e45ac9829526c7cc7d97be Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Fri, 26 Dec 2025 12:41:13 +0530 Subject: [PATCH 05/35] blank commit to trigger build --- tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index 3e48477ea9b..46cede95ae3 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -73,3 +73,4 @@ spec: image: quay.io/ibmmas/cli:latest workspaces: - name: configs + From 770ddd9285450f72a0a9f444f68ccbddad9fa18d Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Mon, 5 Jan 2026 13:37:58 +0530 Subject: [PATCH 06/35] Removed install plan param for testing --- tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index 46cede95ae3..6479357b2b3 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -19,9 +19,6 @@ spec: type: string - name: role_arn type: string - - name: efs_install_plan - type: string - default: "Automatic" stepTemplate: name: gitops-efs-csi-driver env: @@ -39,8 +36,6 @@ spec: value: $(params.github_repo) - name: EFS_CSI_DRIVER_ROLE_ARN value: $(params.role_arn) - - name: EFS_INSTALL_PLAN - value: $(params.efs_install_plan) envFrom: - configMapRef: name: environment-properties From 3aa742aaff44fd92817b3f04538513d55524b320 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Mon, 5 Jan 2026 14:32:43 +0530 Subject: [PATCH 07/35] Registered MAS CLI function gitops-efs-csi-driver-operator --- image/cli/mascli/mas | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/image/cli/mascli/mas b/image/cli/mascli/mas index 420c316ca19..242aa375f49 100755 --- a/image/cli/mascli/mas +++ b/image/cli/mascli/mas @@ -555,6 +555,14 @@ case $1 in gitops_efs_csi_driver "$@" ;; + gitops-efs-csi-driver-operator) + echo "${TEXT_UNDERLINE}IBM Maximo Application Suite GitOps Manager (v${VERSION})${TEXT_RESET}" + echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" + echo + reset_colors + gitops_efs_csi_driver_operator "$@" + ;; + gitops-dro) echo "${TEXT_UNDERLINE}IBM Maximo Application Suite GitOps Manager (v${VERSION})${TEXT_RESET}" echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" From 0d1efab739eb04d40545f59c0b547b7dfe8a0038 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Mon, 5 Jan 2026 15:02:20 +0530 Subject: [PATCH 08/35] Updated task step --- tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index 6479357b2b3..f94884613c1 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -51,7 +51,6 @@ spec: mkdir -p /tmp/init-efs-csi mas gitops-efs-csi-driver-operator -a $ACCOUNT -c $CLUSTER_NAME \ - --secrets-path $SECRET_PATH \ --dir /tmp/init-efs-csi \ --github-push \ --github-host $GITHUB_HOST \ From a7e43c369486cda11de1872adbd14aa5598aacc4 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Thu, 5 Feb 2026 12:32:44 +0530 Subject: [PATCH 09/35] added hypervisor param & conditioned mas-cluster task --- tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 8 ++++++++ tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index b8446ce2dd8..6cfca8232a9 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -266,6 +266,8 @@ spec: - name: provisioner_mas_annotations_repo_url type: string default: '' + - name: hypervisor + type: string tasks: - name: gitops-cluster params: @@ -413,9 +415,15 @@ spec: value: $(params.git_commit_msg) - name: role_arn value: $(params.role_arn) + - name: hypervisor + value: $(params.hypervisor) taskRef: kind: Task name: gitops-efs-csi-driver + when: + - input: "$(params.hypervisor)" + operator: in + values: ["rosa"] workspaces: - name: configs workspace: configs diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index f94884613c1..5ce01f190df 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -19,6 +19,8 @@ spec: type: string - name: role_arn type: string + - name: hypervisor + type: string stepTemplate: name: gitops-efs-csi-driver env: @@ -36,6 +38,8 @@ spec: value: $(params.github_repo) - name: EFS_CSI_DRIVER_ROLE_ARN value: $(params.role_arn) + - name: HYPERVISOR + value: $(params.hypervisor) envFrom: - configMapRef: name: environment-properties From 786d55233dec6e048775c1ab403c724e42768962 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Mon, 9 Feb 2026 14:50:07 +0530 Subject: [PATCH 10/35] Merge master branch into eps-csi-driver-operator (#2048) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: David Parker Co-authored-by: Anil Prajapati <169060963+anilprajapatiibm@users.noreply.github.com> Co-authored-by: Alfishan Salar Co-authored-by: Mahammad Alfishan Salar Co-authored-by: mnivedithaa Co-authored-by: unnati-solanki-git <131964221+unnati-solanki-git@users.noreply.github.com> Co-authored-by: Hardik Prajapati Co-authored-by: karol-czarnecki <112193189+karol-czarnecki@users.noreply.github.com> Co-authored-by: Társis Augusto <64480693+terc1997@users.noreply.github.com> Co-authored-by: gabrielbonamicoibm <146848045+gabrielbonamicoibm@users.noreply.github.com> Co-authored-by: Abhishekkushawaha <159771922+Abhishekkushawaha@users.noreply.github.com> Co-authored-by: Sumit Jain <59478347+sumitjain-1901@users.noreply.github.com> Co-authored-by: Drashti-Malviya Co-authored-by: jainyjoseph Co-authored-by: leo-miran <105313348+leo-miran@users.noreply.github.com> Co-authored-by: Daniel Istrate <16302386+istrate@users.noreply.github.com> Co-authored-by: Daniel Istrate Co-authored-by: stonepd Co-authored-by: Jasmin Makwana Co-authored-by: Parveen Kumar Co-authored-by: Divyesh-Khokhar Co-authored-by: aniket.choudhary@ibm.com Co-authored-by: Anil Prajapati Co-authored-by: joshiricha444 <37139779+joshiricha444@users.noreply.github.com> Co-authored-by: Andre Ferreira Guimaraes Junior Co-authored-by: Hita-Pandya Co-authored-by: Ian Boden <82514609+IanBoden@users.noreply.github.com> Co-authored-by: amitpandey0217 Co-authored-by: AquaD17 <112812380+dixitgsathwara@users.noreply.github.com> Co-authored-by: Dixit Sathwara Co-authored-by: Bhautiksinh Vala <94218990+Bhautik-Vala@users.noreply.github.com> --- .gitignore | 48 +- .secrets.baseline | 20 +- CONTRIBUTING.md | 67 +- README.md | 6 +- build/bin/build-docs.sh | 28 +- catalogs/v9-251231-amd64.yaml | 12 + catalogs/v9-251231-ppc64le.yaml | 12 + catalogs/v9-251231-s390x.yaml | 12 + catalogs/v9-260129-amd64.yaml | 12 + catalogs/v9-260129-ppc64le.yaml | 12 + catalogs/v9-260129-s390x.yaml | 12 + docs/catalogs/index.md | 37 +- .../packages/db2u-operator/120103.0.1.md | 109 +++ docs/catalogs/packages/db2u-operator/7.6.0.md | 109 +++ .../catalogs/packages/ibm-aiservice/9.1.11.md | 101 +++ .../ibm-aiservice/9.2.0-pre.stable-9768.md | 101 +++ .../ibm-cert-manager-operator/4.2.19.md | 85 ++ .../ibm-commonui-operator-app/4.12.0.md | 62 ++ .../ibm-commonui-operator-app/4.4.16.md | 61 ++ .../packages/ibm-data-dictionary/1.1.21.md | 54 ++ .../packages/ibm-iam-operator/4.15.0.md | 77 ++ .../packages/ibm-iam-operator/4.5.16.md | 74 ++ .../catalogs/packages/ibm-mas-arcgis/9.0.6.md | 70 ++ .../catalogs/packages/ibm-mas-arcgis/9.1.5.md | 70 ++ .../packages/ibm-mas-assist/9.0.13.md | 104 +++ .../catalogs/packages/ibm-mas-assist/9.1.7.md | 102 +++ .../packages/ibm-mas-facilities/9.1.7.md | 76 ++ docs/catalogs/packages/ibm-mas-iot/8.7.30.md | 143 ++++ docs/catalogs/packages/ibm-mas-iot/8.8.26.md | 146 ++++ docs/catalogs/packages/ibm-mas-iot/9.0.16.md | 148 ++++ docs/catalogs/packages/ibm-mas-iot/9.1.7.md | 148 ++++ .../packages/ibm-mas-manage/8.6.34.md | 89 +++ .../packages/ibm-mas-manage/8.7.28.md | 103 +++ .../packages/ibm-mas-manage/9.0.21.md | 114 +++ .../catalogs/packages/ibm-mas-manage/9.1.8.md | 119 +++ .../ibm-mas-manage/9.2.0-pre.stable-10282.md | 105 +++ .../packages/ibm-mas-monitor/8.10.27.md | 71 ++ .../packages/ibm-mas-monitor/8.11.25.md | 71 ++ .../packages/ibm-mas-monitor/9.0.17.md | 71 ++ .../packages/ibm-mas-monitor/9.1.7.md | 73 ++ .../packages/ibm-mas-optimizer/8.4.26.md | 74 ++ .../packages/ibm-mas-optimizer/8.5.25.md | 76 ++ .../packages/ibm-mas-optimizer/9.0.19.md | 77 ++ .../packages/ibm-mas-optimizer/9.1.8.md | 81 ++ .../9.2.0-pre.stable-9869.md | 73 ++ .../ibm-mas-visualinspection/8.9.19.md | 76 ++ .../ibm-mas-visualinspection/9.0.16.md | 75 ++ .../ibm-mas-visualinspection/9.1.7.md | 75 ++ docs/catalogs/packages/ibm-mas/8.10.33.md | 152 ++++ docs/catalogs/packages/ibm-mas/8.11.30.md | 284 +++++++ docs/catalogs/packages/ibm-mas/9.0.19.md | 271 +++++++ docs/catalogs/packages/ibm-mas/9.1.8.md | 318 ++++++++ .../packages/ibm-mas/9.2.0-pre.stable-9887.md | 294 +++++++ docs/catalogs/packages/ibm-sls/3.12.5.md | 28 + .../ibm-watson-discovery-operator/11.0.0.md | 151 ++++ .../ibm-watson-gateway-operator/1.0.60.md | 67 ++ docs/catalogs/packages/isf-operator/2.12.0.md | 366 +++++++++ docs/catalogs/v8-220717-amd64.md | 2 +- docs/catalogs/v8-220805-amd64.md | 2 +- docs/catalogs/v8-220927-amd64.md | 2 +- docs/catalogs/v8-221025-amd64.md | 2 +- docs/catalogs/v8-221129-amd64.md | 2 +- docs/catalogs/v8-221228-amd64.md | 2 +- docs/catalogs/v8-230414-amd64.md | 30 +- docs/catalogs/v8-230518-amd64.md | 30 +- docs/catalogs/v8-230526-amd64.md | 30 +- docs/catalogs/v8-230616-amd64.md | 30 +- docs/catalogs/v8-230627-amd64.md | 30 +- docs/catalogs/v8-230721-amd64.md | 30 +- docs/catalogs/v8-230725-amd64.md | 30 +- docs/catalogs/v8-230829-amd64.md | 30 +- docs/catalogs/v8-230926-amd64.md | 30 +- docs/catalogs/v8-231004-amd64.md | 21 +- docs/catalogs/v8-231031-amd64.md | 21 +- docs/catalogs/v8-231128-amd64.md | 30 +- docs/catalogs/v8-231228-amd64.md | 30 +- docs/catalogs/v8-240130-amd64.md | 30 +- docs/catalogs/v8-240227-amd64.md | 30 +- docs/catalogs/v8-240326-amd64.md | 30 +- docs/catalogs/v8-240405-amd64.md | 30 +- docs/catalogs/v8-240430-amd64.md | 30 +- docs/catalogs/v8-240528-amd64.md | 30 +- docs/catalogs/v9-240625-amd64.md | 30 +- docs/catalogs/v9-240730-amd64.md | 31 +- docs/catalogs/v9-240827-amd64.md | 31 +- docs/catalogs/v9-241003-amd64.md | 30 +- docs/catalogs/v9-241107-amd64.md | 31 +- docs/catalogs/v9-241107-s390x.md | 29 +- docs/catalogs/v9-241205-amd64.md | 30 +- docs/catalogs/v9-241205-s390x.md | 29 +- docs/catalogs/v9-250109-amd64.md | 87 +- docs/catalogs/v9-250109-s390x.md | 73 +- docs/catalogs/v9-250206-amd64.md | 87 +- docs/catalogs/v9-250206-s390x.md | 73 +- docs/catalogs/v9-250306-amd64.md | 89 +-- docs/catalogs/v9-250306-s390x.md | 73 +- docs/catalogs/v9-250403-amd64.md | 89 +-- docs/catalogs/v9-250403-s390x.md | 73 +- docs/catalogs/v9-250501-amd64.md | 88 +-- docs/catalogs/v9-250501-s390x.md | 73 +- docs/catalogs/v9-250624-amd64.md | 117 +-- docs/catalogs/v9-250624-ppc64le.md | 88 +-- docs/catalogs/v9-250624-s390x.md | 88 +-- docs/catalogs/v9-250731-amd64.md | 107 +-- docs/catalogs/v9-250731-ppc64le.md | 82 +- docs/catalogs/v9-250731-s390x.md | 82 +- docs/catalogs/v9-250828-amd64.md | 105 +-- docs/catalogs/v9-250828-ppc64le.md | 82 +- docs/catalogs/v9-250828-s390x.md | 82 +- docs/catalogs/v9-250902-amd64.md | 54 +- docs/catalogs/v9-250902-ppc64le.md | 77 +- docs/catalogs/v9-250902-s390x.md | 77 +- docs/catalogs/v9-250925-amd64.md | 65 +- docs/catalogs/v9-250925-ppc64le.md | 73 +- docs/catalogs/v9-251010-amd64.md | 52 +- docs/catalogs/v9-251010-ppc64le.md | 73 +- docs/catalogs/v9-251030-amd64.md | 62 +- docs/catalogs/v9-251030-ppc64le.md | 86 +- docs/catalogs/v9-251030-s390x.md | 86 +- docs/catalogs/v9-251127-amd64.md | 97 +-- docs/catalogs/v9-251127-ppc64le.md | 75 +- docs/catalogs/v9-251127-s390x.md | 74 +- docs/catalogs/v9-251224-amd64.md | 99 +-- docs/catalogs/v9-251224-ppc64le.md | 75 +- docs/catalogs/v9-251224-s390x.md | 74 +- docs/catalogs/v9-251231-amd64.md | 688 ++++++++++++++++ docs/catalogs/v9-251231-ppc64le.md | 85 ++ docs/catalogs/v9-251231-s390x.md | 85 ++ docs/catalogs/v9-260129-amd64.md | 693 ++++++++++++++++ docs/catalogs/v9-260129-ppc64le.md | 85 ++ docs/catalogs/v9-260129-s390x.md | 85 ++ docs/commands/update.md | 80 -- docs/commands/upgrade.md | 37 - docs/examples/minimal-rbac.md | 13 +- docs/guides/aiservice-install.md | 23 +- docs/guides/facilities-external-db.md | 16 - docs/guides/image-mirroring.md | 9 +- docs/guides/install.md | 12 +- docs/guides/update.md | 82 +- docs/guides/upgrade.md | 53 +- docs/index.md | 5 +- image/cli/app-root/src/finalizer.py | 105 ++- .../mascli/functions/gitops_aiservice_tenant | 64 +- .../gitops_deprovision_aiservice_tenant | 2 +- image/cli/mascli/functions/gitops_dro | 20 +- image/cli/mascli/functions/gitops_iac | 741 ++++++++++++++++-- image/cli/mascli/functions/gitops_mas_config | 69 +- .../mascli/functions/gitops_rds_db2_database | 379 +++++++++ image/cli/mascli/functions/gitops_suite | 20 +- image/cli/mascli/functions/gitops_utils | 2 +- .../mascli/functions/help/mirror_images_help | 107 +++ .../cli/mascli/functions/internal/save_config | 2 + image/cli/mascli/functions/internal/utils | 4 +- .../mascli/functions/mirror_aiservice_images | 31 +- image/cli/mascli/functions/mirror_images | 97 +-- .../cli/mascli/functions/mirror_images_common | 53 +- image/cli/mascli/mas | 30 +- image/cli/mascli/templates/filters/yaml.py | 5 + .../appset-configs/cluster/ibm-dro.yaml.j2 | 6 + .../configs/ibm-mas-appcfg-config.yaml.j2 | 24 + .../ibm-dbs-rds-databases-common.yaml.j2 | 2 + .../ibm-dbs-rds-databases.yaml.j2 | 34 + .../instance/ibm-aiservice-tenant.yaml.j2 | 6 + ...-backend.yaml.j2 => ibm-iac-backend.tf.j2} | 0 .../instance/ibm-iac-db2paramaters.yaml.j2 | 9 + ...{ibm-iac-efs.yaml.j2 => ibm-iac-efs.tf.j2} | 0 .../instance/ibm-iac-iampolicy-db2.tf.j2 | 8 + ...policy.yaml.j2 => ibm-iac-iampolicy.tf.j2} | 0 .../cluster/instance/ibm-iac-main.tf.j2 | 408 ++++++++++ .../cluster/instance/ibm-iac-main.yaml.j2 | 202 ----- .../cluster/instance/ibm-iac-msk.tf.j2 | 36 + ...rovider.yaml.j2 => ibm-iac-provider.tf.j2} | 0 .../cluster/instance/ibm-iac-rdsdb2.tf.j2 | 55 ++ .../instance/ibm-iac-s3accesspoints-db2.tf.j2 | 28 + ...s.yaml.j2 => ibm-iac-s3accesspoints.tf.j2} | 7 +- .../instance/ibm-iac-s3instance-db2.tf.j2 | 19 + ...tance.yaml.j2 => ibm-iac-s3instance.tf.j2} | 0 .../instance/ibm-iac-terraformtfvars.tf.j2 | 113 +++ .../instance/ibm-iac-terraformtfvars.yaml.j2 | 63 -- ...iables.yaml.j2 => ibm-iac-variables.tf.j2} | 138 +++- .../instance/ibm-mas-instance-base.yaml.j2 | 12 + .../templates/gitops/bootstrap/argocd.yaml.j2 | 23 + .../gitops/bootstrap/subscription.yaml | 2 +- image/cli/masfvt/fvt-manage-ai.yml | 49 ++ .../masfvt/templates/mas-fvt-manage-ai.yml.j2 | 52 ++ mkdocs.yml | 14 +- mkdocs_plugins/README.md | 548 +++++++++++++ .../mkdocs_mas_catalogs/__init__.py | 299 +++++++ mkdocs_plugins/mkdocs_mas_catalogs/setup.py | 22 + mkdocs_plugins/mkdocs_mas_cli/__init__.py | 125 +++ mkdocs_plugins/mkdocs_mas_cli/formatter.py | 269 +++++++ mkdocs_plugins/setup.py | 23 + python/setup.py | 2 +- python/src/mas/cli/aiservice/install/app.py | 56 +- .../mas/cli/aiservice/install/argBuilder.py | 14 +- .../mas/cli/aiservice/install/argParser.py | 33 +- .../src/mas/cli/aiservice/install/params.py | 6 + .../mas/cli/aiservice/install/summarizer.py | 3 + python/src/mas/cli/cli.py | 96 +-- python/src/mas/cli/displayMixins.py | 62 +- python/src/mas/cli/install/app.py | 370 ++++++++- python/src/mas/cli/install/argBuilder.py | 25 +- python/src/mas/cli/install/argParser.py | 497 +++++++----- python/src/mas/cli/install/catalogs.py | 12 +- python/src/mas/cli/install/params.py | 12 +- .../cli/install/settings/additionalConfigs.py | 73 ++ .../mas/cli/install/settings/db2Settings.py | 107 ++- .../mas/cli/install/settings/kafkaSettings.py | 61 +- .../cli/install/settings/manageSettings.py | 122 ++- .../cli/install/settings/mongodbSettings.py | 50 ++ python/src/mas/cli/install/summarizer.py | 12 +- python/src/mas/cli/update/app.py | 64 +- python/src/mas/cli/update/argParser.py | 108 ++- python/src/mas/cli/upgrade/argParser.py | 10 +- python/src/mas/cli/validators.py | 52 +- python/test/aiservice/install/test_app.py | 136 +++- python/test/install/__init__.py | 11 + python/test/install/test_existing_catalog.py | 89 +++ python/test/install/test_no_catalog.py | 95 +++ python/test/install/test_unsupported_ocp.py | 55 ++ python/test/test_help.py | 19 +- python/test/test_install.py | 44 -- python/test/utils/__init__.py | 17 + python/test/utils/install_test_helper.py | 317 ++++++++ python/test/utils/prompt_tracker.py | 103 +++ python/test/utils/test_prompt_tracker.py | 87 ++ rbac/install/namespaces.yaml | 5 + rbac/install/pipeline/mas-x-core.yaml | 4 +- rbac/install/user/clusterrole.yaml | 48 +- rbac/install/user/openshift-pipelines.yaml | 11 + tekton/generate-tekton-pipelines.yml | 1 + tekton/generate-tekton-tasks.yml | 9 +- tekton/src/params/install-aiservice.yml.j2 | 14 + tekton/src/params/install.yml.j2 | 14 +- .../pipelines/aiservice-fvt-launcher.yml.j2 | 38 + tekton/src/pipelines/aiservice-fvt.yml.j2 | 41 + tekton/src/pipelines/aiservice-upgrade.yml.j2 | 38 + .../gitops-aiservice-tenant-pipeline.yml.j2 | 8 +- .../gitops/gitops-iac-pipeline.yml.j2 | 341 +++++++- .../pipelines/gitops/gitops-mas-apps.yml.j2 | 148 +++- .../gitops/gitops-mas-cluster.yml.j2 | 10 + .../gitops/gitops-mas-instance.yml.j2 | 99 +++ tekton/src/pipelines/mas-fvt-assist.yml.j2 | 38 + tekton/src/pipelines/mas-fvt-core.yml.j2 | 38 + .../src/pipelines/mas-fvt-facilities.yml.j2 | 38 + tekton/src/pipelines/mas-fvt-finally.yml.j2 | 26 +- tekton/src/pipelines/mas-fvt-iot.yml.j2 | 38 + tekton/src/pipelines/mas-fvt-launcher.yml.j2 | 33 +- tekton/src/pipelines/mas-fvt-manage-ai.yml.j2 | 104 +++ tekton/src/pipelines/mas-fvt-manage-is.yml.j2 | 40 + .../src/pipelines/mas-fvt-manage-regr.yml.j2 | 41 + tekton/src/pipelines/mas-fvt-manage.yml.j2 | 37 + .../pipelines/mas-fvt-mobile-pytest.yml.j2 | 41 +- .../pipelines/mas-fvt-mobile-requests.yml.j2 | 39 + .../pipelines/mas-fvt-mobile-testng.yml.j2 | 40 + tekton/src/pipelines/mas-fvt-monitor.yml.j2 | 38 + tekton/src/pipelines/mas-fvt-optimizer.yml.j2 | 38 + tekton/src/pipelines/mas-fvt-predict.yml.j2 | 38 + tekton/src/pipelines/mas-fvt-sls.yml.j2 | 46 ++ .../pipelines/mas-fvt-visualinspection.yml.j2 | 38 + tekton/src/pipelines/mas-install.yml.j2 | 9 + tekton/src/pipelines/mas-ivt-manage.yml.j2 | 41 + .../taskdefs/aiservice/aiservice.yml.j2 | 6 + .../pipelines/taskdefs/aiservice/odh.yml.j2 | 7 +- .../pipelines/taskdefs/aiservice/rhoai.yml.j2 | 37 + .../taskdefs/core/suite-install.yml.j2 | 4 + .../taskdefs/dependencies/arcgis.yml.j2 | 12 +- .../fvt-core/phase4-disruptive.yml.j2 | 30 +- .../taskdefs/fvt-manage-ai/ai-tests.yml.j2 | 18 + .../fvt-mobile/pytest/phase1-setup.yml.j2 | 2 + .../fvt-mobile/pytest/phase3-apps.yml.j2 | 11 + .../fvt-mobile/pytest/phase4-apps.yml.j2 | 3 + .../fvt-mobile/pytest/phase5-apps.yml.j2 | 11 + .../fvt-mobile/requests/phase1-reqs.yml.j2 | 2 + tekton/src/tasks/aiservice/aiservice.yml.j2 | 10 + tekton/src/tasks/aiservice/rhoai.yml.j2 | 91 +++ .../mas-launchfvt-manage-ai.yml.j2 | 126 +++ .../mas-launchfvt-optimizer.yml.j2 | 6 + ...fvt-pipeline-finish-and-deprovision.yml.j2 | 207 +++++ .../gitops/gitops-aiservice-tenant.yml.j2 | 5 + .../src/tasks/gitops/gitops-app-config.yml.j2 | 115 +++ .../gitops/gitops-delete-app-config.yml.j2 | 92 +++ .../gitops/gitops-deprovision-odh.yml.j2 | 2 +- tekton/src/tasks/gitops/gitops-dro.yml.j2 | 10 + .../gitops-iac-generate-common-files.yml.j2 | 168 +++- .../tasks/gitops/gitops-iac-manage-pr.yml.j2 | 14 +- .../gitops/gitops-iac-provision-efs.yml.j2 | 20 - .../gitops/gitops-iac-provision-msk.yml.j2 | 109 +++ .../gitops/gitops-iac-provision-rdsdb2.yml.j2 | 193 +++++ .../gitops/gitops-iac-provision-s3.yml.j2 | 6 - .../gitops/gitops-mas-fvt-preparer.yml.j2 | 4 +- .../gitops/gitops-rds-db2-database.yml.j2 | 118 +++ tekton/src/tasks/gitops/gitops-suite.yml.j2 | 10 + tekton/src/tasks/suite-install.yml.j2 | 12 + 294 files changed, 16640 insertions(+), 4763 deletions(-) create mode 100644 catalogs/v9-251231-amd64.yaml create mode 100644 catalogs/v9-251231-ppc64le.yaml create mode 100644 catalogs/v9-251231-s390x.yaml create mode 100644 catalogs/v9-260129-amd64.yaml create mode 100644 catalogs/v9-260129-ppc64le.yaml create mode 100644 catalogs/v9-260129-s390x.yaml create mode 100644 docs/catalogs/packages/db2u-operator/120103.0.1.md create mode 100644 docs/catalogs/packages/db2u-operator/7.6.0.md create mode 100644 docs/catalogs/packages/ibm-aiservice/9.1.11.md create mode 100644 docs/catalogs/packages/ibm-aiservice/9.2.0-pre.stable-9768.md create mode 100644 docs/catalogs/packages/ibm-cert-manager-operator/4.2.19.md create mode 100644 docs/catalogs/packages/ibm-commonui-operator-app/4.12.0.md create mode 100644 docs/catalogs/packages/ibm-commonui-operator-app/4.4.16.md create mode 100644 docs/catalogs/packages/ibm-data-dictionary/1.1.21.md create mode 100644 docs/catalogs/packages/ibm-iam-operator/4.15.0.md create mode 100644 docs/catalogs/packages/ibm-iam-operator/4.5.16.md create mode 100644 docs/catalogs/packages/ibm-mas-arcgis/9.0.6.md create mode 100644 docs/catalogs/packages/ibm-mas-arcgis/9.1.5.md create mode 100644 docs/catalogs/packages/ibm-mas-assist/9.0.13.md create mode 100644 docs/catalogs/packages/ibm-mas-assist/9.1.7.md create mode 100644 docs/catalogs/packages/ibm-mas-facilities/9.1.7.md create mode 100644 docs/catalogs/packages/ibm-mas-iot/8.7.30.md create mode 100644 docs/catalogs/packages/ibm-mas-iot/8.8.26.md create mode 100644 docs/catalogs/packages/ibm-mas-iot/9.0.16.md create mode 100644 docs/catalogs/packages/ibm-mas-iot/9.1.7.md create mode 100644 docs/catalogs/packages/ibm-mas-manage/8.6.34.md create mode 100644 docs/catalogs/packages/ibm-mas-manage/8.7.28.md create mode 100644 docs/catalogs/packages/ibm-mas-manage/9.0.21.md create mode 100644 docs/catalogs/packages/ibm-mas-manage/9.1.8.md create mode 100644 docs/catalogs/packages/ibm-mas-manage/9.2.0-pre.stable-10282.md create mode 100644 docs/catalogs/packages/ibm-mas-monitor/8.10.27.md create mode 100644 docs/catalogs/packages/ibm-mas-monitor/8.11.25.md create mode 100644 docs/catalogs/packages/ibm-mas-monitor/9.0.17.md create mode 100644 docs/catalogs/packages/ibm-mas-monitor/9.1.7.md create mode 100644 docs/catalogs/packages/ibm-mas-optimizer/8.4.26.md create mode 100644 docs/catalogs/packages/ibm-mas-optimizer/8.5.25.md create mode 100644 docs/catalogs/packages/ibm-mas-optimizer/9.0.19.md create mode 100644 docs/catalogs/packages/ibm-mas-optimizer/9.1.8.md create mode 100644 docs/catalogs/packages/ibm-mas-optimizer/9.2.0-pre.stable-9869.md create mode 100644 docs/catalogs/packages/ibm-mas-visualinspection/8.9.19.md create mode 100644 docs/catalogs/packages/ibm-mas-visualinspection/9.0.16.md create mode 100644 docs/catalogs/packages/ibm-mas-visualinspection/9.1.7.md create mode 100644 docs/catalogs/packages/ibm-mas/8.10.33.md create mode 100644 docs/catalogs/packages/ibm-mas/8.11.30.md create mode 100644 docs/catalogs/packages/ibm-mas/9.0.19.md create mode 100644 docs/catalogs/packages/ibm-mas/9.1.8.md create mode 100644 docs/catalogs/packages/ibm-mas/9.2.0-pre.stable-9887.md create mode 100644 docs/catalogs/packages/ibm-sls/3.12.5.md create mode 100644 docs/catalogs/packages/ibm-watson-discovery-operator/11.0.0.md create mode 100644 docs/catalogs/packages/ibm-watson-gateway-operator/1.0.60.md create mode 100644 docs/catalogs/packages/isf-operator/2.12.0.md create mode 100644 docs/catalogs/v9-251231-amd64.md create mode 100644 docs/catalogs/v9-251231-ppc64le.md create mode 100644 docs/catalogs/v9-251231-s390x.md create mode 100644 docs/catalogs/v9-260129-amd64.md create mode 100644 docs/catalogs/v9-260129-ppc64le.md create mode 100644 docs/catalogs/v9-260129-s390x.md delete mode 100644 docs/commands/update.md delete mode 100644 docs/commands/upgrade.md delete mode 100644 docs/guides/facilities-external-db.md create mode 100644 image/cli/mascli/functions/gitops_rds_db2_database create mode 100644 image/cli/mascli/functions/help/mirror_images_help create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-appcfg-config.yaml.j2 create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases-common.yaml.j2 create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases.yaml.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-backend.yaml.j2 => ibm-iac-backend.tf.j2} (100%) create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-db2paramaters.yaml.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-efs.yaml.j2 => ibm-iac-efs.tf.j2} (100%) create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy-db2.tf.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-iampolicy.yaml.j2 => ibm-iac-iampolicy.tf.j2} (100%) create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.tf.j2 delete mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.yaml.j2 create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-msk.tf.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-provider.yaml.j2 => ibm-iac-provider.tf.j2} (100%) create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints-db2.tf.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-s3accesspoints.yaml.j2 => ibm-iac-s3accesspoints.tf.j2} (91%) create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance-db2.tf.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-s3instance.yaml.j2 => ibm-iac-s3instance.tf.j2} (100%) create mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.tf.j2 delete mode 100644 image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.yaml.j2 rename image/cli/mascli/templates/gitops/appset-configs/cluster/instance/{ibm-iac-variables.yaml.j2 => ibm-iac-variables.tf.j2} (55%) create mode 100644 image/cli/masfvt/fvt-manage-ai.yml create mode 100644 image/cli/masfvt/templates/mas-fvt-manage-ai.yml.j2 create mode 100644 mkdocs_plugins/README.md create mode 100644 mkdocs_plugins/mkdocs_mas_catalogs/__init__.py create mode 100644 mkdocs_plugins/mkdocs_mas_catalogs/setup.py create mode 100644 mkdocs_plugins/mkdocs_mas_cli/__init__.py create mode 100644 mkdocs_plugins/mkdocs_mas_cli/formatter.py create mode 100644 mkdocs_plugins/setup.py create mode 100644 python/test/install/__init__.py create mode 100644 python/test/install/test_existing_catalog.py create mode 100644 python/test/install/test_no_catalog.py create mode 100644 python/test/install/test_unsupported_ocp.py delete mode 100644 python/test/test_install.py create mode 100644 python/test/utils/__init__.py create mode 100644 python/test/utils/install_test_helper.py create mode 100644 python/test/utils/prompt_tracker.py create mode 100644 python/test/utils/test_prompt_tracker.py create mode 100644 tekton/src/pipelines/mas-fvt-manage-ai.yml.j2 create mode 100644 tekton/src/pipelines/taskdefs/aiservice/rhoai.yml.j2 create mode 100644 tekton/src/pipelines/taskdefs/fvt-manage-ai/ai-tests.yml.j2 create mode 100644 tekton/src/tasks/aiservice/rhoai.yml.j2 create mode 100644 tekton/src/tasks/fvt-launcher/mas-launchfvt-manage-ai.yml.j2 create mode 100644 tekton/src/tasks/fvt/mas-fvt-pipeline-finish-and-deprovision.yml.j2 create mode 100644 tekton/src/tasks/gitops/gitops-app-config.yml.j2 create mode 100644 tekton/src/tasks/gitops/gitops-delete-app-config.yml.j2 create mode 100644 tekton/src/tasks/gitops/gitops-iac-provision-msk.yml.j2 create mode 100644 tekton/src/tasks/gitops/gitops-iac-provision-rdsdb2.yml.j2 create mode 100644 tekton/src/tasks/gitops/gitops-rds-db2-database.yml.j2 diff --git a/.gitignore b/.gitignore index 76b9d9124e3..1880ce8bbbc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,12 @@ .vscode *.pyc -image/cli/install/mas_cli.tar.gz -image/cli/mascli/templates/ibm-mas-tekton.yaml +.env +kubectl.exe +mas.log +site/ +report/ target/ tmp/ @@ -13,48 +16,49 @@ tekton/target tekton/tmp image/cli/tmp-* - +image/cli/install/mas_cli.tar.gz +image/cli/mascli/templates/ibm-mas-tekton.yaml image/cli/mascli/tmp_params image/cli/mascli/.env image/cli/mascli/working-dir image/cli/mascli/mas-local.sh image/cli/mascli/mas-local-noble.sh +image/cli/mascli/mas-local-tgk.sh +image/cli/mascli/mas-local-tgka.sh image/cli/mascli/tmp-suite image/cli/mascli/tmp-suite-config -image/cli/mascli/tmp-kafka-config -image/cli/mascli/tmp-db2u-database image/cli/mascli/tmp-suite-app-install image/cli/mascli/tmp-suite-app-config -image/cli/mascli/mas-local-tgk.sh +image/cli/mascli/tmp-suite-workspace +image/cli/mascli/tmp-suite-workspace-deprovision +image/cli/mascli/tmp-kafka-config +image/cli/mascli/tmp-db2u-database image/cli/mascli/tmp-cos-config -image/cli/mascli/mas-local-tgka.sh -image/cli/mascli/fyre-dev.noble3.tgka-env.sh -image/cli/mascli/fyre-dev.noble3.tgkb-env.sh +image/cli/mascli/tmp-suite-deprovision +image/cli/mascli/tmp-mas-config image/cli/mascli/gitops-mas-deploy.sh image/cli/mascli/gitops-mas-deploy.env.sh +image/cli/mascli/gitops-mas-deploy-merged.sh +image/cli/mascli/fyre-dev.noble3.tgka-env.sh +image/cli/mascli/fyre-dev.noble3.tgkb-env.sh image/cli/mascli/fyre-dev.noble3.tgkc-env.sh image/cli/mascli/fyre-dev.noble3.tgkd-env.sh -image/cli/mascli/gitops-mas-deploy-merged.sh -image/cli/mascli/tmp-suite-deprovision image/cli/mascli/fyre-dev.noble3.tgke-env.sh -image/cli/mascli/tmp-mas-config image/cli/mascli/fyre-dev.noble3.tgke-db2u-manage-env.sh -image/cli/mascli/tmp-suite-workspace -image/cli/mascli/tmp-suite-workspace-deprovision -kubectl.exe -mas.log +python/.venv +python/.venv-windows python/pandoc-* python/build python/dist -python/venv python/src/mas_cli.egg-info python/src/mas/cli/templates/ibm-mas-tekton.yaml python/src/mas/cli/templates/ibm-mas-tekton-with-digest.yaml python/mas-*.spec python/README.rst -.env -/.venv -/site -report/ -/python/.venv + +/mkdocs_plugins/mkdocs_mas_catalogs.egg-info +/.venv-docs +/.venv-docs +/mkdocs_plugins/mkdocs_mas_plugins.egg-info +rbac-install.yaml diff --git a/.secrets.baseline b/.secrets.baseline index 4140ca9ce69..018293f2fca 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$", "lines": null }, - "generated_at": "2025-12-22T19:12:08Z", + "generated_at": "2026-01-29T07:04:47Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -122,7 +122,7 @@ "hashed_secret": "b60d121b438a380c343d5ec3c2037564b82ffef3", "is_secret": false, "is_verified": false, - "line_number": 211, + "line_number": 215, "type": "Secret Keyword", "verified_result": null } @@ -232,7 +232,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 337, + "line_number": 357, "type": "Secret Keyword", "verified_result": null } @@ -352,7 +352,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 235, + "line_number": 249, "type": "Secret Keyword", "verified_result": null } @@ -400,7 +400,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 660, + "line_number": 694, "type": "Secret Keyword", "verified_result": null }, @@ -408,7 +408,7 @@ "hashed_secret": "effb7852555adce89885fb075fb43a77a1e0e77e", "is_secret": false, "is_verified": false, - "line_number": 845, + "line_number": 890, "type": "Secret Keyword", "verified_result": null }, @@ -416,7 +416,7 @@ "hashed_secret": "2582aea6f911bd00fc04cb25e0ec16d5ead62068", "is_secret": false, "is_verified": false, - "line_number": 847, + "line_number": 892, "type": "Secret Keyword", "verified_result": null } @@ -454,7 +454,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 582, + "line_number": 598, "type": "Secret Keyword", "verified_result": null } @@ -552,7 +552,7 @@ "hashed_secret": "fee2d55ad9a49a95fc89abe8f414dad66704ebfd", "is_secret": false, "is_verified": false, - "line_number": 12, + "line_number": 18, "type": "Secret Keyword", "verified_result": null } @@ -652,7 +652,7 @@ "hashed_secret": "fee2d55ad9a49a95fc89abe8f414dad66704ebfd", "is_secret": false, "is_verified": false, - "line_number": 37, + "line_number": 41, "type": "Secret Keyword", "verified_result": null } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a11634e67f4..370cd7bfc80 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,13 +3,13 @@ Contributing to MAS CLI Contents ------------------------------------------------------------------------------- -1. [Detect Secret](#detect-secrets) +1. [Detect Secrets](#detect-secrets) 2. [Pre-Commit Hooks](#pre-commit-hooks) 3. [Building the Tekton definitions](#building-the-tekton-definitions) -4. [Building the container image locally](#building-the-container-image-locally) -5. [Using the docker image](#using-the-docker-image) -6. [Generate a Github SSH key](#generate-a-github-ssh-key) -7. [Building your local development environment](#building-your-local-development-environment) +4. [Building the Documentation](#building-the-documentation) +5. [Building the container image locally](#building-the-container-image-locally) +6. [Using the docker image](#using-the-docker-image) +7. [Working Across Repositories](#working-across-repositories) 8. [Pull Requests](#pull-requests) 9. [Pulling MAS Ansible Devops into MAS Command Line Interface](#pulling-mas-ansible-devops-into-mas-command-line-interface) @@ -66,6 +66,24 @@ tekton/test-install.sh ``` +Building the Documentation +------------------------------------------------------------------------------- +```bash +python3 -m venv .venv-docs +source .venv-docs/bin/activate + +# We need to install the python-devops and cli packages because we generate documentation from their code using mkdocs directives +python -m pip install -e ../python-devops +python -m pip install -e ../python + +# Install mkdocs and the various plugins that we use, including our custom plugins +python -m pip install -q mkdocs mkdocs-carbon mkdocs-glightbox mkdocs-redirects +python -m pip install -e mkdocs_plugins + +mkdocs serve --livereload +``` + + Building the container image locally ------------------------------------------------------------------------------- Build & install ansible collections and the mas.devops & mas.cli Python packages, save each into image/cli/install, build the docker container, then run the container. @@ -89,44 +107,11 @@ mas install ``` -Generate a Github SSH key -------------------------------------------------------------------------------- -Follow this instructions to [generate a new SSH key and add it to your Github account to link with this repository](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). - -This will allow you authenticate to this repository and raise pull requests with your own changes and request review and merge approval for the code owners. - - -Building your local development environment +Working Across Repositories ------------------------------------------------------------------------------- -Here's how you could get started developing within a new working branch: +The **cli** build uses the output of the **ansible-devops** and **python-devops** builds, when you are making changes across all three repositories you should use the same branch name in all three, tihs will ensure that the **cli** build picks up the correct versions of the other two builds. -1. Clone MAS CLI repository locally. -2. Create your own branch. -3. Set the new branch as active working branch. - -``` -git clone git@github.com:ibm-mas/cli.git -git checkout -b name-your-branch -git checkout name-your-branch -``` - -Testing with a modified python-devops code. -------------------------------------------------------------------------------- -Make sure that the python-devops repository is cloned locally in the same directory -as the CLI repository. -From the top level CLI directory, run -``` -make python-devops -``` -This will build and copy the locally modified python-devops package into the CLI image -structure so that the modified python-devops will be included when the CLI is built. - -Build the CLI, either locally or in GitHub. - -NOTE: if building on MacOS you will need to first install pandoc or the `make python-devops` command may fail: -``` -brew install pandoc -``` +For example, if you are working on a new feature here in a branch called `rbacfix`, and you need to deliver changes in both **ansible-devops** and **python-devops** as well, ensure that you name those branches `rbacfix` too, and they the builds in those branches have completed before you build the **cli** branch. This will ensure that the **cli** build picks up the correct versions of the other two builds. Pull Requests diff --git a/README.md b/README.md index 9bd91288e1d..100452f8541 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ Documentation ------------------------------------------------------------------------------- [https://ibm-mas.github.io/cli/](https://ibm-mas.github.io/cli/) -## Want to contribute to MAS Command Line Interface? + +Want to contribute to MAS Command Line Interface? +------------------------------------------------------------------------------- We welcome every Maximo Application Suite users, developers and enthusiasts to contribute to the MAS Command Line Interface while fixing code issues and implementing new automated functionalities. -You can contribute to this collection by raising [a new issue](https://github.com/ibm-mas/cli/issues) with suggestions on how to make our MAS automation engine even better, or if you want to become a new code contributor, please refer to the [Contributing Guidelines](CONTRIBUTING.md) and learn more about how to get started. +You can contribute to this collection by raising [a new issue](https://github.com/ibm-mas/cli/issues) with suggestions on how to make our MAS automation engine even better, or if you want to become a new code contributor, please refer to the [Contributing Guidelines](CONTRIBUTING.md) and learn more about how to get started. \ No newline at end of file diff --git a/build/bin/build-docs.sh b/build/bin/build-docs.sh index f073cd8a897..119feaa2fea 100644 --- a/build/bin/build-docs.sh +++ b/build/bin/build-docs.sh @@ -1,10 +1,35 @@ #!/bin/bash + +if [[ "$GITHUB_REF_TYPE" == "branch" ]]; then + # python-devops main branch is named "stable" rather than "master" + PYTHON_BRANCH_NAME=$GITHUB_REF_NAME + if [[ "$GITHUB_REF_NAME" == "master" ]]; then + PYTHON_BRANCH_NAME=stable + fi + + RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" "https://api.github.com/repos/ibm-mas/python-devops/branches/${PYTHON_BRANCH_NAME}") + + if [[ "${RESPONSE}" == "200" ]]; then + echo "Installing development build of python-devops from GitHub branch ${PYTHON_BRANCH_NAME}" + else + echo "Branch ${PYTHON_BRANCH_NAME} not found, defaulting to stable" + PYTHON_BRANCH_NAME=stable + fi + + python3 -m pip install "git+https://github.com/ibm-mas/python-devops.git@${PYTHON_BRANCH_NAME}" +else + echo "Installing latest release of mas-devops from PyPi" + python3 -m pip install mas-devops +fi +python3 -m pip install -e python + + #Fetch CLI repo version CLI_LATEST_VERSION=$(curl -s https://api.github.com/repos/ibm-mas/cli/releases/latest | jq -r '.name') # Fetch all amd64 catalog files LATEST_CATALOG=$(curl -s "https://api.github.com/repos/ibm-mas/cli/contents/catalogs?ref=master" \ - | jq -r '[.[] | select(.name | endswith("amd64.yaml")) | .name | sub("\\.yaml$"; "")] | sort | .[-1]') + | jq -r '[.[] | select(.name | endswith("amd64.yaml")) | .name | sub("\\.yaml$"; "")] | sort | .[-1]') PREVIOUS_CATALOG=$(curl -s "https://api.github.com/repos/ibm-mas/cli/contents/catalogs?ref=master" \ | jq -r '[.[] | select(.name | endswith("amd64.yaml")) | .name | sub("\\.yaml$"; "")] | sort | .[-2]') @@ -30,4 +55,5 @@ find docs -type f -name '*.md' -exec sed -i \ {} + python -m pip install -q mkdocs mkdocs-carbon mkdocs-glightbox mkdocs-redirects +python -m pip install -e mkdocs_plugins mkdocs build --clean --strict diff --git a/catalogs/v9-251231-amd64.yaml b/catalogs/v9-251231-amd64.yaml new file mode 100644 index 00000000000..0d8879a0218 --- /dev/null +++ b/catalogs/v9-251231-amd64.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators (v9-251231-amd64) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:ecad371a50e030ce93ca00d73ef3b8b95f1305158800a077758c74ff4cf65623 + priority: 90 diff --git a/catalogs/v9-251231-ppc64le.yaml b/catalogs/v9-251231-ppc64le.yaml new file mode 100644 index 00000000000..18c6a1a155a --- /dev/null +++ b/catalogs/v9-251231-ppc64le.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators (v9-251231-ppc64le) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:4e0cc2517e252261b48774feaeb03a2f3c3f5af6673f4e455cebb561bba67cee + priority: 90 diff --git a/catalogs/v9-251231-s390x.yaml b/catalogs/v9-251231-s390x.yaml new file mode 100644 index 00000000000..1082c6af43c --- /dev/null +++ b/catalogs/v9-251231-s390x.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators (v9-251231-s390x) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:698567d4670236829443b69fc094fbd7e093b1122df59f28bd93758105a13e0c + priority: 90 diff --git a/catalogs/v9-260129-amd64.yaml b/catalogs/v9-260129-amd64.yaml new file mode 100644 index 00000000000..4e3262e494a --- /dev/null +++ b/catalogs/v9-260129-amd64.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators (v9-260129-amd64) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:54bcab31205bf3a5e0e0769158127b70b514e3a965ddd8f02785afe53171f0ee + priority: 90 diff --git a/catalogs/v9-260129-ppc64le.yaml b/catalogs/v9-260129-ppc64le.yaml new file mode 100644 index 00000000000..50895836187 --- /dev/null +++ b/catalogs/v9-260129-ppc64le.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators (v9-260129-ppc64le) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:16f3e2862d2be141c2993a5d83cb287ee987b2dc1380a4739ee78f31fd57124b + priority: 90 diff --git a/catalogs/v9-260129-s390x.yaml b/catalogs/v9-260129-s390x.yaml new file mode 100644 index 00000000000..4c256f42481 --- /dev/null +++ b/catalogs/v9-260129-s390x.yaml @@ -0,0 +1,12 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators (v9-260129-s390x) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:8ea3f0ab4086047fd00547ed39921703f4bf1e938e77bca368a9f799534755b8 + priority: 90 diff --git a/docs/catalogs/index.md b/docs/catalogs/index.md index 088b65c9f42..63fa0d9d1d2 100644 --- a/docs/catalogs/index.md +++ b/docs/catalogs/index.md @@ -10,7 +10,7 @@ The MAS CLI maintains a rolling window of approximately four months worth of sup ### Catalog Directory -Note: The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. In the case of EUS denoted OCP releases, the support dates stated below refer to the EUS1 end dates. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) +Note: The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. In the case of EUS denoted OCP releases, the support dates stated below refer to the EUS1 end dates. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) 2026 Catalogs @@ -156,15 +156,15 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit OCP 4.19 EOS N/A - v9-260129 - - - - 4.16 - 4.19 (TBC) - TBD - 7.0 - 8.0 (TBC) - N/A - OCP 4.19 EOS N/A + v9-260129 + amd64 + s390x + ppc64le + 4.16 - 4.19 + 5.2.0 + 7.0 - 8.0 + latest + OCP 4.19 EOS N/A @@ -183,6 +183,17 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit + + v9-251231 + amd64 + s390x + ppc64le + 4.16 - 4.19 + 5.2.0 + 7.0 - 8.0 + latest + OCP 4.19 EOS N/A + v9-251224 amd64 @@ -191,7 +202,7 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit 4.16 - 4.19 5.2.0 7.0 - 8.0 - latest + N/A OCP 4.19 EOS N/A @@ -213,7 +224,7 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit 4.14 - 4.19 5.1.3 6.0 - 7.0 - latest + 15.11.0 OCP 4.19 EOS N/A @@ -623,7 +634,7 @@ The packages available in the Maximo Operator Catalog are fixed. Multiple instal We **strongly discourage the use of manual update approval strategy for operator subscriptions** and all IBM-provided automation is designed to work with the automatic update approval strategy only. In our experience the use of manual subscription approvals leads to overly complicated updates requiring significant administrative effort when taking into account the range of operators running in a cluster across numerous namespaces. We promote a model of **controling when updates are introduced to a cluster at the catalog level**. -Updating the operators is only one aspect of keeping a system up to date, when using the MAS CLI [update](../commands/update.md) function many other additional actions will be performed autoamtically, if you are not using the MAS CLI to drive updates then you should implement your own processes for the non-operator update actions that are part of the MAS update pipeline. +Updating the operators is only one aspect of keeping a system up to date, when using the MAS CLI [update](../guides/update.md) function many other additional actions will be performed autoamtically, if you are not using the MAS CLI to drive updates then you should implement your own processes for the non-operator update actions that are part of the MAS update pipeline. #### Repeatable Install > I want repeatable installs across multiple OpenShift clusters, for instance in a development, staging, production setup diff --git a/docs/catalogs/packages/db2u-operator/120103.0.1.md b/docs/catalogs/packages/db2u-operator/120103.0.1.md new file mode 100644 index 00000000000..0e7032e3746 --- /dev/null +++ b/docs/catalogs/packages/db2u-operator/120103.0.1.md @@ -0,0 +1,109 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Db2 v120103.0.1 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | False | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | namespaces | get, list, patch, update, watch | +| apiextensions.k8s.io | customresourcedefinitions | create, get, list, patch, update | +| security.openshift.io | securitycontextconstraints | create, delete, get, list, patch, update, watch | +| security.openshift.io | securitycontextconstraints/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uclusters | get, list, watch | +| db2u.databases.ibm.com | db2uinstances | get, list, watch | +| db2ubnr.databases.ibm.com | db2ubackups | create, delete, get, list, patch, update, watch | +| db2ubnr.databases.ibm.com | db2urestores | create, delete, get, list, patch, update, watch | +| db2ubnr.databases.ibm.com | db2ubackups/finalizers | update | +| db2ubnr.databases.ibm.com | db2urestores/finalizers | update | +| db2ubnr.databases.ibm.com | db2ubackups/status | get, patch, update | +| db2ubnr.databases.ibm.com | db2urestores/status | get, patch, update | +| db2ulog.databases.ibm.com | db2ulogstreams | create, delete, get, list, patch, update, watch | +| db2ulog.databases.ibm.com | db2ulogstreams/finalizers | update | +| db2ulog.databases.ibm.com | db2ulogstreams/status | get, patch, update | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | configmaps/finalizers | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | endpoints/finalizers | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | events/finalizers | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims/finalizers | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/finalizers | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | secrets/finalizers | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts/finalizers | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps | statefulsets/finalizers | create, delete, get, list, patch, update, watch | +| apps | replicasets | get, list | +| apps | replicasets/finalizers | get, list | +| apps.foundationdb.org | foundationdbclusters | create, delete, get, list, patch, update, watch | +| apps.foundationdb.org | foundationdbclusters/finalizers | create, delete, get, list, patch, update, watch | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| batch | cronjobs/finalizers | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| batch | jobs/finalizers | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | backups | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | bigsqls | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | buckets | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uclusters | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uclusters/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uengines | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uhadrs | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uinstances | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formationlocks | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formations | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formations/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formations/status | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | objectstorages | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | recipes | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | sirius | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | sirius/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | bigsqls/status | get, patch, update | +| db2u.databases.ibm.com | db2uclusters/status | get, patch, update | +| db2u.databases.ibm.com | db2uengines/status | get, patch, update | +| db2u.databases.ibm.com | db2uhadrs/status | get, patch, update | +| db2u.databases.ibm.com | db2uinstances/status | get, patch, update | +| db2u.databases.ibm.com | sirius/status | get, patch, update | +| db2u.databases.ibm.com | db2uengines/finalizers | update | +| db2u.databases.ibm.com | db2uinstances/finalizers | update | +| db2ulog.databases.ibm.com | db2ulogstreams | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles/finalizers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/db2u-operator/7.6.0.md b/docs/catalogs/packages/db2u-operator/7.6.0.md new file mode 100644 index 00000000000..60a157b9ea7 --- /dev/null +++ b/docs/catalogs/packages/db2u-operator/7.6.0.md @@ -0,0 +1,109 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Db2 v7.6.0 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | False | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | namespaces | get, list, patch, update, watch | +| apiextensions.k8s.io | customresourcedefinitions | create, get, list, patch, update | +| security.openshift.io | securitycontextconstraints | create, delete, get, list, patch, update, watch | +| security.openshift.io | securitycontextconstraints/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uclusters | get, list, watch | +| db2u.databases.ibm.com | db2uinstances | get, list, watch | +| db2ubnr.databases.ibm.com | db2ubackups | create, delete, get, list, patch, update, watch | +| db2ubnr.databases.ibm.com | db2urestores | create, delete, get, list, patch, update, watch | +| db2ubnr.databases.ibm.com | db2ubackups/finalizers | update | +| db2ubnr.databases.ibm.com | db2urestores/finalizers | update | +| db2ubnr.databases.ibm.com | db2ubackups/status | get, patch, update | +| db2ubnr.databases.ibm.com | db2urestores/status | get, patch, update | +| db2ulog.databases.ibm.com | db2ulogstreams | create, delete, get, list, patch, update, watch | +| db2ulog.databases.ibm.com | db2ulogstreams/finalizers | update | +| db2ulog.databases.ibm.com | db2ulogstreams/status | get, patch, update | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | configmaps/finalizers | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | endpoints/finalizers | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | events/finalizers | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims/finalizers | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/finalizers | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | secrets/finalizers | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts/finalizers | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps | statefulsets/finalizers | create, delete, get, list, patch, update, watch | +| apps | replicasets | get, list | +| apps | replicasets/finalizers | get, list | +| apps.foundationdb.org | foundationdbclusters | create, delete, get, list, patch, update, watch | +| apps.foundationdb.org | foundationdbclusters/finalizers | create, delete, get, list, patch, update, watch | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| batch | cronjobs/finalizers | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| batch | jobs/finalizers | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | backups | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | bigsqls | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | buckets | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uclusters | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uclusters/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uengines | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uhadrs | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | db2uinstances | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formationlocks | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formations | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formations/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | formations/status | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | objectstorages | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | recipes | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | sirius | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | sirius/finalizers | create, delete, get, list, patch, update, watch | +| db2u.databases.ibm.com | bigsqls/status | get, patch, update | +| db2u.databases.ibm.com | db2uclusters/status | get, patch, update | +| db2u.databases.ibm.com | db2uengines/status | get, patch, update | +| db2u.databases.ibm.com | db2uhadrs/status | get, patch, update | +| db2u.databases.ibm.com | db2uinstances/status | get, patch, update | +| db2u.databases.ibm.com | sirius/status | get, patch, update | +| db2u.databases.ibm.com | db2uengines/finalizers | update | +| db2u.databases.ibm.com | db2uinstances/finalizers | update | +| db2ulog.databases.ibm.com | db2ulogstreams | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles/finalizers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-aiservice/9.1.11.md b/docs/catalogs/packages/ibm-aiservice/9.1.11.md new file mode 100644 index 00000000000..9b309fb72cc --- /dev/null +++ b/docs/catalogs/packages/ibm-aiservice/9.1.11.md @@ -0,0 +1,101 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo AI Service v9.1.11 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| aiservice.ibm.com | aiservicetenants | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/status | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/finalizers | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | namespaces | get, list | +| "" | pods | delete, list, watch | +| "" | configmaps | list | +| "" | secrets | list | +| "" | persistentvolumeclaims | create, delete, list | +| "" | services | create, delete, list | +| "" | events | list, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| serving.kserve.io | servingruntimes | create, delete, get, list, patch | +| serving.kserve.io | inferenceservices | create, delete, get, list, patch | +| serving.kserve.io | inferencegraphs | create, delete, get, list, patch | +| metrics.k8s.io | nodes | list | +| metrics.k8s.io | pods | list | +| apps | deployments | create, delete, list | +| batch | jobs | create, delete, list, watch | +| batch | cronjobs | create, delete, list, watch | +| route.openshift.io | routes | create, delete | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, list, patch, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| serivce.openshift.io | services | create, delete, deletecollection, get, list, patch, update, watch | +| serivce.openshift.io | services/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiserviceapps | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiserviceapps/status | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiserviceapps/finalizers | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/status | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/finalizers | create, delete, get, list, patch, update, watch | +| operators.coreos.com | subscriptions | * | +| operators.coreos.com | installplans | * | +| operators.coreos.com | operatorgroups | * | +| operators.coreos.com | catalogsources | * | +| operators.coreos.com | clusterserviceversions | * | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-aiservice/9.2.0-pre.stable-9768.md b/docs/catalogs/packages/ibm-aiservice/9.2.0-pre.stable-9768.md new file mode 100644 index 00000000000..8b62377e287 --- /dev/null +++ b/docs/catalogs/packages/ibm-aiservice/9.2.0-pre.stable-9768.md @@ -0,0 +1,101 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo AI Service v9.2.0-pre.stable-9768 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| aiservice.ibm.com | aiservicetenants | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/status | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/finalizers | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | namespaces | get, list | +| "" | pods | delete, list, watch | +| "" | configmaps | list | +| "" | secrets | list | +| "" | persistentvolumeclaims | create, delete, list | +| "" | services | create, delete, list | +| "" | events | list, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| serving.kserve.io | servingruntimes | create, delete, get, list, patch | +| serving.kserve.io | inferenceservices | create, delete, get, list, patch | +| serving.kserve.io | inferencegraphs | create, delete, get, list, patch | +| metrics.k8s.io | nodes | list | +| metrics.k8s.io | pods | list | +| apps | deployments | create, delete, list | +| batch | jobs | create, delete, list, watch | +| batch | cronjobs | create, delete, list, watch | +| route.openshift.io | routes | create, delete | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, list, patch, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| serivce.openshift.io | services | create, delete, deletecollection, get, list, patch, update, watch | +| serivce.openshift.io | services/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiserviceapps | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiserviceapps/status | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiserviceapps/finalizers | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/status | create, delete, get, list, patch, update, watch | +| aiservice.ibm.com | aiservicetenants/finalizers | create, delete, get, list, patch, update, watch | +| operators.coreos.com | subscriptions | * | +| operators.coreos.com | installplans | * | +| operators.coreos.com | operatorgroups | * | +| operators.coreos.com | catalogsources | * | +| operators.coreos.com | clusterserviceversions | * | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-cert-manager-operator/4.2.19.md b/docs/catalogs/packages/ibm-cert-manager-operator/4.2.19.md new file mode 100644 index 00000000000..c6fb9b29611 --- /dev/null +++ b/docs/catalogs/packages/ibm-cert-manager-operator/4.2.19.md @@ -0,0 +1,85 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Cert Manager v4.2.19 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | False | +| SingleNamespace | False | +| MultiNamespace | False | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | get, list | +| "" | events | create, get, patch, update | +| "" | pods | create, delete, get, list, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, update, watch | +| acme.cert-manager.io | challenges | create, delete, deletecollection, get, list, patch, update, watch | +| acme.cert-manager.io | orders | create, delete, deletecollection, get, list, patch, update, watch | +| acme.cert-manager.io | challenges/finalizers | update | +| acme.cert-manager.io | challenges/status | update | +| acme.cert-manager.io | orders/finalizers | update | +| acme.cert-manager.io | orders/status | update | +| admissionregistration.k8s.io | mutatingwebhookconfigurations | create, delete, get, list, patch, update, watch | +| admissionregistration.k8s.io | validatingwebhookconfigurations | create, delete, get, list, patch, update, watch | +| apiextensions.k8s.io | customresourcedefinitions | create, delete, get, list, patch, update, watch | +| apiregistration.k8s.io | apiservices | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, get, list, patch, update, watch | +| auditregistration.k8s.io | auditsinks | get, list, update, watch | +| authorization.k8s.io | subjectaccessreviews | create | +| cert-manager.io | certificaterequests | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificaterequests/finalizers | update | +| cert-manager.io | certificaterequests/status | update | +| cert-manager.io | certificates | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates/finalizers | update | +| cert-manager.io | certificates/status | get, patch, update | +| cert-manager.io | clusterissuers | get, list, update, watch | +| cert-manager.io | clusterissuers/status | update | +| cert-manager.io | issuers | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | issuers/finalizers | update | +| cert-manager.io | issuers/status | get, patch, update | +| cert-manager.io | signers | approve | +| certificates.k8s.io | certificatesigningrequests | get, list, update, watch | +| certificates.k8s.io | certificatesigningrequests/status | update | +| certificates.k8s.io | signers | sign | +| ibmcpcs.ibm.com | secretshares | create, get, list, watch | +| networking.k8s.io | httproutes | create, delete, get, list, update, watch | +| networking.k8s.io | ingresses | create, delete, get, list, update, watch | +| networking.k8s.io | ingresses/finalizers | update | +| networking.x-k8s.io | gateways | get, list, watch | +| networking.x-k8s.io | gateways/finalizers | update | +| networking.x-k8s.io | httproutes/finalizers | update | +| networking.x-k8s.io | httproutes | create, delete, get, list, update, watch | +| operator.ibm.com | certmanagerconfigs | create, delete, get, list, patch, update, watch | +| operator.ibm.com | certmanagerconfigs/finalizers | update | +| operator.ibm.com | certmanagerconfigs/status | get, patch, update | +| rbac.authorization.k8s.io | clusterrolebindings | create, delete, get, list, update, watch | +| rbac.authorization.k8s.io | clusterroles | create, delete, get, list, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, update, watch | +| route.openshift.io | routes/custom-host | create | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-commonui-operator-app/4.12.0.md b/docs/catalogs/packages/ibm-commonui-operator-app/4.12.0.md new file mode 100644 index 00000000000..6e047b13953 --- /dev/null +++ b/docs/catalogs/packages/ibm-commonui-operator-app/4.12.0.md @@ -0,0 +1,62 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +Ibm Common UI v4.12.0 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| apps | replicasets | get, list | +| apps | statefulsets | get, list | +| networking.k8s.io | ingresses | create, delete, get, list, patch, update, watch | +| operator.ibm.com | commonservices | get, list | +| operator.ibm.com | operandrequests | delete, get, list | +| operator.ibm.com | authentications | get, list, watch | +| operators.ibm.com | commonwebuis | create, delete, get, list, patch, update, watch | +| operators.ibm.com | commonwebuis/finalizers | create, delete, get, list, patch, update, watch | +| operators.ibm.com | commonwebuis/status | create, delete, get, list, patch, update, watch | +| operators.ibm.com | switcheritems | create, delete, get, list, patch, update, watch | +| operators.ibm.com | switcheritems/finalizers | create, delete, get, list, patch, update, watch | +| operators.ibm.com | switcheritems/status | create, delete, get, list, patch, update, watch | +| foundation.ibm.com | navconfigurations | create, delete, get, list, patch, update, watch | +| foundation.ibm.com | navconfigurations/finalizers | create, delete, get, list, patch, update, watch | +| foundation.ibm.com | navconfigurations/status | create, delete, get, list, patch, update, watch | +| certmanager.k8s.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| batch | jobs | get | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-commonui-operator-app/4.4.16.md b/docs/catalogs/packages/ibm-commonui-operator-app/4.4.16.md new file mode 100644 index 00000000000..6f45da48bad --- /dev/null +++ b/docs/catalogs/packages/ibm-commonui-operator-app/4.4.16.md @@ -0,0 +1,61 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +Ibm Common UI v4.4.16 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| apps | replicasets | get, list | +| apps | statefulsets | get, list | +| monitoring.coreos.com | servicemonitors | create, get | +| networking.k8s.io | ingresses | create, delete, get, list, patch, update, watch | +| operator.ibm.com | commonservices | get, list | +| operator.ibm.com | operandrequests | delete, get, list | +| operators.ibm.com | commonwebuis | create, delete, get, list, patch, update, watch | +| operators.ibm.com | commonwebuis/finalizers | create, delete, get, list, patch, update, watch | +| operators.ibm.com | commonwebuis/status | create, delete, get, list, patch, update, watch | +| operators.ibm.com | switcheritems | create, delete, get, list, patch, update, watch | +| operators.ibm.com | switcheritems/finalizers | create, delete, get, list, patch, update, watch | +| operators.ibm.com | switcheritems/status | create, delete, get, list, patch, update, watch | +| foundation.ibm.com | navconfigurations | create, delete, get, list, patch, update, watch | +| foundation.ibm.com | navconfigurations/finalizers | create, delete, get, list, patch, update, watch | +| foundation.ibm.com | navconfigurations/status | create, delete, get, list, patch, update, watch | +| certmanager.k8s.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| batch | jobs | get | diff --git a/docs/catalogs/packages/ibm-data-dictionary/1.1.21.md b/docs/catalogs/packages/ibm-data-dictionary/1.1.21.md new file mode 100644 index 00000000000..7ba46263b07 --- /dev/null +++ b/docs/catalogs/packages/ibm-data-dictionary/1.1.21.md @@ -0,0 +1,54 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBMAssetDataDictionary v1.1.21 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, update, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries | create, delete, get, list, patch, update, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries/status | create, delete, get, list, patch, update, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries/finalizers | create, delete, get, list, patch, update, watch | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces | create, delete, get, list, patch, update, watch | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/status | create, delete, get, list, patch, update, watch | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | diff --git a/docs/catalogs/packages/ibm-iam-operator/4.15.0.md b/docs/catalogs/packages/ibm-iam-operator/4.15.0.md new file mode 100644 index 00000000000..ac38d60a4a5 --- /dev/null +++ b/docs/catalogs/packages/ibm-iam-operator/4.15.0.md @@ -0,0 +1,77 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM IM Operator v4.15.0 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| rbac.authorization.k8s.io | clusterroles | create | +| rbac.authorization.k8s.io | clusterrolebindings | create | +| user.openshift.io | users | get, list | +| user.openshift.io | groups | get, list | +| user.openshift.io | identities | get, list | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| oidc.security.ibm.com | clients | create, delete, get, list, patch, update, watch | +| oidc.security.ibm.com | clients/finalizers | create, delete, get, list, patch, update, watch | +| oidc.security.ibm.com | clients/status | create, delete, get, list, patch, update, watch | +| operator.ibm.com | authentications | create, delete, get, list, patch, update, watch | +| operator.ibm.com | authentications/finalizers | patch, update | +| operator.ibm.com | authentications/status | get, patch, update | +| operator.ibm.com | commonservices | create, get, list | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| operator.ibm.com | operandbindinfos | create, delete, get, list, patch, update, watch | +| operator.ibm.com | operandrequests/status | get, list, watch | +| operator.ibm.com | operandbindinfos/status | get, list, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificaterequests | create, delete, get, list, patch, update, watch | +| cert-manager.io | orders | create, delete, get, list, patch, update, watch | +| cert-manager.io | challenges | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| certmanager.k8s.io | certificates | delete, get, list, watch | +| networking.k8s.io | ingresses | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create | +| rbac.authorization.k8s.io | rolebindings | create | +| zen.cpd.ibm.com | zenextensions | create, delete, get, list, patch, update, watch | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| postgresql.k8s.enterprisedb.io | clusters | get, list, watch | +| postgresql.k8s.enterprisedb.io | clusters/status | get, list, watch | +| secrets-store.csi.x-k8s.io | secretproviderclasses | get, list, watch | diff --git a/docs/catalogs/packages/ibm-iam-operator/4.5.16.md b/docs/catalogs/packages/ibm-iam-operator/4.5.16.md new file mode 100644 index 00000000000..30c68408432 --- /dev/null +++ b/docs/catalogs/packages/ibm-iam-operator/4.5.16.md @@ -0,0 +1,74 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM IM Operator v4.5.16 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| config.openshift.io | ingresses | get | +| "" | configmaps | get | +| rbac.authorization.k8s.io | clusterroles | create | +| rbac.authorization.k8s.io | clusterrolebindings | create | +| user.openshift.io | users | get, list | +| user.openshift.io | groups | get, list | +| user.openshift.io | identities | get, list | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| oidc.security.ibm.com | clients | create, delete, get, list, patch, update, watch | +| oidc.security.ibm.com | clients/finalizers | create, delete, get, list, patch, update, watch | +| oidc.security.ibm.com | clients/status | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, get | +| operator.ibm.com | authentications | create, delete, get, list, patch, update, watch | +| operator.ibm.com | authentications/finalizers | patch, update | +| operator.ibm.com | authentications/status | get, patch, update | +| operator.ibm.com | commonservices | create, get, list | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| operator.ibm.com | operandrequests/status | get, list, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificaterequests | create, delete, get, list, patch, update, watch | +| cert-manager.io | orders | create, delete, get, list, patch, update, watch | +| cert-manager.io | challenges | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| certmanager.k8s.io | certificates | delete, get, list, watch | +| networking.k8s.io | ingresses | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create | +| rbac.authorization.k8s.io | rolebindings | create | diff --git a/docs/catalogs/packages/ibm-mas-arcgis/9.0.6.md b/docs/catalogs/packages/ibm-mas-arcgis/9.0.6.md new file mode 100644 index 00000000000..badf85b3a2d --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-arcgis/9.0.6.md @@ -0,0 +1,70 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Location Service for Esri v9.0.6 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- update mas-utils version (#245) +- Fix Makefile for non-arch specific builds [9.0.x] (#278) +- update mas-utils-py (#282) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-arcgis-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | create, delete, get, list, patch, update, watch | +| opentelemetry.io | instrumentations | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-arcgis/9.1.5.md b/docs/catalogs/packages/ibm-mas-arcgis/9.1.5.md new file mode 100644 index 00000000000..4ae1487324b --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-arcgis/9.1.5.md @@ -0,0 +1,70 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Location Service for Esri v9.1.5 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- update mas-utils version (#244) +- Fix Makefile for non-arch specific builds [9.1.x] (#279) +- update mas-utils-py (#281) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-arcgis-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | arcgisworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | create, delete, get, list, patch, update, watch | +| opentelemetry.io | instrumentations | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-assist/9.0.13.md b/docs/catalogs/packages/ibm-mas-assist/9.0.13.md new file mode 100644 index 00000000000..645face76b8 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-assist/9.0.13.md @@ -0,0 +1,104 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM MAS Assist v9.0.13 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- update tags for 90 patch (#3273) +- update technician tags for Jan 90x patch (#3275) +- fix case bundle issue 90x (#3281) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-assist-api +- ibm-mas-assist-entitymgr-ws +- ibm-mas-assist-nopriv + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| config.openshift.io | clusterversions | get, list, watch | +| project.openshift.io | projects | create, delete, get, list, patch, update, watch | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | cluterrolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles/finalizers | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| autoscaling.openshift.io | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/finalizers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| couchdb.databases.cloud.ibm.com | backups | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | buckets | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | couchdbclusters | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | formations | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | formationlocks | * | +| couchdb.databases.cloud.ibm.com | recipes | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | recipetemplates | * | +| operators.coreos.com | subscriptions | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | * | +| opentelemetry.io | instrumentations | * | diff --git a/docs/catalogs/packages/ibm-mas-assist/9.1.7.md b/docs/catalogs/packages/ibm-mas-assist/9.1.7.md new file mode 100644 index 00000000000..eee57bbd6a9 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-assist/9.1.7.md @@ -0,0 +1,102 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM MAS Assist v9.1.7 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- fix case bundle issue 91x (#3282) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-assist-api +- ibm-mas-assist-entitymgr-ws +- ibm-mas-assist-nopriv + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| config.openshift.io | clusterversions | get, list, watch | +| project.openshift.io | projects | create, delete, get, list, patch, update, watch | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | cluterrolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles/finalizers | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| autoscaling.openshift.io | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/finalizers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| couchdb.databases.cloud.ibm.com | backups | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | buckets | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | couchdbclusters | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | formations | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | formationlocks | * | +| couchdb.databases.cloud.ibm.com | recipes | *, create, delete, patch, update | +| couchdb.databases.cloud.ibm.com | recipetemplates | * | +| operators.coreos.com | subscriptions | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | * | +| opentelemetry.io | instrumentations | * | diff --git a/docs/catalogs/packages/ibm-mas-facilities/9.1.7.md b/docs/catalogs/packages/ibm-mas-facilities/9.1.7.md new file mode 100644 index 00000000000..51c12fb2dc5 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-facilities/9.1.7.md @@ -0,0 +1,76 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Real Estate and Facilities v9.1.7 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Platform now uses MAS base image - 9.1 (#329) +- Change home mount paths for all PVCs - 9.1 (#333) +- changes for build 402994 (#347) +- promote Platform 403019 for 910x (#354) +- promoting platform build 403027 to maint91xdev channel (#357) +- fixed s3 integration upgrade scripts - build 403040 (#358) +- Promote release candidate 9.1.7_403040 to 9.1.7 for GA (#361) +- added target-platform to case-publish (#363) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-facilities-entitymgr-ws +- ibm-mas-facilities-nopriv + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-iot/8.7.30.md b/docs/catalogs/packages/ibm-mas-iot/8.7.30.md new file mode 100644 index 00000000000..1e5ef023123 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-iot/8.7.30.md @@ -0,0 +1,143 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo IoT v8.7.30 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Updating mas-utils to latest (#937) +- makefile update for promotion (#956) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-iot-actions-serviceaccount +- ibm-iot-auth-serviceaccount +- ibm-iot-datapower-serviceaccount +- ibm-iot-devops-serviceaccount +- ibm-iot-dm-serviceaccount +- ibm-iot-dsc-serviceaccount +- ibm-iot-fpl-serviceaccount +- ibm-iot-guardian-serviceaccount +- ibm-iot-mbgx-serviceaccount +- ibm-iot-mfgx-serviceaccount +- ibm-iot-monitor-serviceaccount +- ibm-iot-nopriv +- ibm-iot-orgmgmt-serviceaccount +- ibm-iot-provision-serviceaccount +- ibm-iot-registry-serviceaccount +- ibm-iot-state-serviceaccount +- ibm-iot-webui-serviceaccount +- ibm-iot-workspace-serviceaccount + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls/status | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| mas.ibm.com | iots | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings/status | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-iot/8.8.26.md b/docs/catalogs/packages/ibm-mas-iot/8.8.26.md new file mode 100644 index 00000000000..acbc9d86181 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-iot/8.8.26.md @@ -0,0 +1,146 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo IoT v8.8.26 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Updating mas-utils to latest (#938) +- makefile update for promotion (#957) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-iot-actions-serviceaccount +- ibm-iot-auth-serviceaccount +- ibm-iot-datapower-serviceaccount +- ibm-iot-devops-serviceaccount +- ibm-iot-dm-serviceaccount +- ibm-iot-dsc-serviceaccount +- ibm-iot-edgeconfig-serviceaccount +- ibm-iot-fpl-serviceaccount +- ibm-iot-guardian-serviceaccount +- ibm-iot-mbgx-serviceaccount +- ibm-iot-mfgx-serviceaccount +- ibm-iot-monitor-serviceaccount +- ibm-iot-nopriv +- ibm-iot-orgmgmt-serviceaccount +- ibm-iot-provision-serviceaccount +- ibm-iot-registry-serviceaccount +- ibm-iot-state-serviceaccount +- ibm-iot-webui-serviceaccount +- ibm-iot-workspace-serviceaccount + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | edgeconfigs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | edgeconfigs/status | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| mas.ibm.com | iots | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings/status | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-iot/9.0.16.md b/docs/catalogs/packages/ibm-mas-iot/9.0.16.md new file mode 100644 index 00000000000..91a7c6c6b9c --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-iot/9.0.16.md @@ -0,0 +1,148 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo IoT v9.0.16 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update edc server to fix missing ca crt (#872) +- resolve kubernetes error (#935) +- Updating mas-utils to latest (#939) +- makefile update for promotion (#955) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-iot-actions-serviceaccount +- ibm-iot-auth-serviceaccount +- ibm-iot-datapower-serviceaccount +- ibm-iot-devops-serviceaccount +- ibm-iot-dm-serviceaccount +- ibm-iot-dsc-serviceaccount +- ibm-iot-edgeconfig-serviceaccount +- ibm-iot-fpl-serviceaccount +- ibm-iot-guardian-serviceaccount +- ibm-iot-mbgx-serviceaccount +- ibm-iot-mfgx-serviceaccount +- ibm-iot-monitor-serviceaccount +- ibm-iot-nopriv +- ibm-iot-orgmgmt-serviceaccount +- ibm-iot-provision-serviceaccount +- ibm-iot-registry-serviceaccount +- ibm-iot-state-serviceaccount +- ibm-iot-webui-serviceaccount +- ibm-iot-workspace-serviceaccount + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | edgeconfigs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | edgeconfigs/status | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| mas.ibm.com | iots | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings/status | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-iot/9.1.7.md b/docs/catalogs/packages/ibm-mas-iot/9.1.7.md new file mode 100644 index 00000000000..48916ec309c --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-iot/9.1.7.md @@ -0,0 +1,148 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo IoT v9.1.7 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update edc to fix missing ca file in server (#873) +- Updating mas-utils to latest (#949) +- makefile update for promotion (#954) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-iot-actions-serviceaccount +- ibm-iot-auth-serviceaccount +- ibm-iot-datapower-serviceaccount +- ibm-iot-devops-serviceaccount +- ibm-iot-dm-serviceaccount +- ibm-iot-dsc-serviceaccount +- ibm-iot-edgeconfig-serviceaccount +- ibm-iot-entitymgr-primary-entity +- ibm-iot-fpl-serviceaccount +- ibm-iot-guardian-serviceaccount +- ibm-iot-mbgx-serviceaccount +- ibm-iot-mfgx-serviceaccount +- ibm-iot-monitor-serviceaccount +- ibm-iot-nopriv +- ibm-iot-orgmgmt-serviceaccount +- ibm-iot-provision-serviceaccount +- ibm-iot-registry-serviceaccount +- ibm-iot-state-serviceaccount +- ibm-iot-webui-serviceaccount +- ibm-iot-workspace-serviceaccount + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | devops/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dscs/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | orgmgmts/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mbgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | mfgxes/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | registries/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | auths/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | dms/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | webuis/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | provisions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | guardians/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | datapowers/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | actions/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | monitors/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | states/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | fpls/status | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | edgeconfigs | create, delete, get, list, patch, update, watch | +| components.iot.ibm.com | edgeconfigs/status | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| mas.ibm.com | iots | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iots/finalizers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdevops/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdscs/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotorgmgmts/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmbgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmfgxes/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotregistries/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotauths/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdms/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotwebuis/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotprovisions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotguardians/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotdatapowers/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotactions/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotmonitors/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates | create, delete, get, list, patch, update, watch | +| mas.ibm.com | iotstates/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings/status | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-manage/8.6.34.md b/docs/catalogs/packages/ibm-mas-manage/8.6.34.md new file mode 100644 index 00000000000..7318ab0b768 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-manage/8.6.34.md @@ -0,0 +1,89 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Manage v8.6.34 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Updated the ansible-operator version from 9.0.6 to 9.1.4 (#3110) +- updated spatial version 8.6.23-pre.maint86xdev_5155 (#3145) +- Updated the latest version of manage-usersync and manage-groupsync contains mas-utils 7.28.2 (#3158) +- Updated the makefile condition TARGET_PLATFORM != null and TARGET_PLATFORM !=amd64 (#3163) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-manage-appstatus-mgr +- ibm-mas-manage-bdi-operator +- ibm-mas-manage-common +- ibm-mas-manage-manage-deployment +- ibm-mas-manage-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-manage/8.7.28.md b/docs/catalogs/packages/ibm-mas-manage/8.7.28.md new file mode 100644 index 00000000000..07a9d5f6867 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-manage/8.7.28.md @@ -0,0 +1,103 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Manage v8.7.28 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Fix status not updating correctly in ManageWorkspace (#3070) +- Updated the ansible-operator version from 9.0.6 to 9.1.4 (#3111) +- DT458270 - cluster-wide proxy connection timeout issue fix while installing maximo IT (8.7.x) (#3097) +- Updated the latest version of manage-usersync and manage-groupsync contains mas-utils 7.28.2 (#3159) +- Updated the makefile condition TARGET_PLATFORM != null and TARGET_PLATFORM !=amd64 (#3164) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-manage-appstatus-mgr +- ibm-mas-manage-bdi-operator +- ibm-mas-manage-common +- ibm-mas-manage-entitymgr-primary-entity +- ibm-mas-manage-healthext-entitymgr-ws-serviceaccount +- ibm-mas-manage-imagestitching-operator +- ibm-mas-manage-manage-deployment +- ibm-mas-manage-pe-common +- ibm-mas-manage-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/finalizers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-manage/9.0.21.md b/docs/catalogs/packages/ibm-mas-manage/9.0.21.md new file mode 100644 index 00000000000..56e18863bff --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-manage/9.0.21.md @@ -0,0 +1,114 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Manage v9.0.21 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Fix status not updating correctly in ManageWorkspace (#3069) +- updated ansible operator from 9.0.6 to 9.1.4 (#3109) +- DT458270 - cluster-wide proxy connection timeout issue fix while installing maximo IT (9.0.x) (#3096) +- Copyright year update to 2026 (9.0.x) (#3117) +- Updating OIDC endpoints - 9.0.x (#3090) +- Fixing BDI coreidp env var (#3129) +- updated managegroupsync: 1.2.40 from 1.2.39 (#3133) +- updated civil version 9.0.61 is the stable and stable image (#3144) +- updated final operand version for jan release (#3154) +- Updated the latest version of manage-usersync and manage-groupsync contains mas-utils 7.28.2 (#3157) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-manage-acc-operator +- ibm-mas-manage-appstatus-mgr +- ibm-mas-manage-bdi-operator +- ibm-mas-manage-common +- ibm-mas-manage-entitymgr-primary-entity +- ibm-mas-manage-healthext-entitymgr-acc-serviceaccount +- ibm-mas-manage-healthext-entitymgr-ws-serviceaccount +- ibm-mas-manage-imagestitching-operator +- ibm-mas-manage-manage-deployment +- ibm-mas-manage-pe-common +- ibm-mas-manage-slackproxy-operator +- ibm-mas-manage-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies/finalizers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-manage/9.1.8.md b/docs/catalogs/packages/ibm-mas-manage/9.1.8.md new file mode 100644 index 00000000000..4795e37a089 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-manage/9.1.8.md @@ -0,0 +1,119 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Manage v9.1.8 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- MASCORE-10286 "Deploy Maxinst foundation Admin Image" fails in entitymgr-ws (#3066) +- Fix status not updating correctly in ManageWorkspace (#3068) +- DT458270 - cluster-wide proxy connection timeout issue fix while installing maximo IT (9.1.x) (#3095) +- Copyright year update to 2026 (9.1.x) (#3116) +- Updating OIDC endpoints - 9.1.x (#3089) +- updated the latest managegroupsync 1.2.40 from 1.2.39 (#3134) +- Read-Only Root file system code refactor (9.1.x) (#3112) +- updated civil version back to 9.1.72 is the stable and correct (#3143) +- updated final operand images for the jan release (#3153) +- Updated the latest version of manage-usersync and manage-groupsync contains mas-utils 7.28.2 (#3156) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-manage-acc-operator +- ibm-mas-manage-aipoptimizationext-entitymgr +- ibm-mas-manage-appstatus-mgr +- ibm-mas-manage-bdi-operator +- ibm-mas-manage-common +- ibm-mas-manage-config-editor +- ibm-mas-manage-entitymgr-primary-entity +- ibm-mas-manage-healthext-entitymgr-acc-serviceaccount +- ibm-mas-manage-healthext-entitymgr-ws-serviceaccount +- ibm-mas-manage-imagestitching-operator +- ibm-mas-manage-manage-deployment +- ibm-mas-manage-pe-common +- ibm-mas-manage-slackproxy-operator +- ibm-mas-manage-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | aipoptimizations | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | aipoptimizations/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | aipoptimizations/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies/finalizers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-manage/9.2.0-pre.stable-10282.md b/docs/catalogs/packages/ibm-mas-manage/9.2.0-pre.stable-10282.md new file mode 100644 index 00000000000..079ef19fd73 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-manage/9.2.0-pre.stable-10282.md @@ -0,0 +1,105 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Manage v9.2.0-pre.stable-10282 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-manage-acc-operator +- ibm-mas-manage-aipoptimizationext-entitymgr +- ibm-mas-manage-appstatus-mgr +- ibm-mas-manage-bdi-operator +- ibm-mas-manage-common +- ibm-mas-manage-config-editor +- ibm-mas-manage-entitymgr-primary-entity +- ibm-mas-manage-healthext-entitymgr-acc-serviceaccount +- ibm-mas-manage-healthext-entitymgr-ws-serviceaccount +- ibm-mas-manage-imagestitching-operator +- ibm-mas-manage-manage-deployment +- ibm-mas-manage-pe-common +- ibm-mas-manage-slackproxy-operator +- ibm-mas-manage-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthextworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | aipoptimizations | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | aipoptimizations/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | aipoptimizations/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | imagestitchings/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | slackproxies/finalizers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-monitor/8.10.27.md b/docs/catalogs/packages/ibm-mas-monitor/8.10.27.md new file mode 100644 index 00000000000..2e6cc8c8e49 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-monitor/8.10.27.md @@ -0,0 +1,71 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Monitor v8.10.27 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update makefile to add target platform for 810 (#1543) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-monitor-as-db-operation +- ibm-mas-monitor-as-library +- ibm-mas-monitor-as-ui +- ibm-mas-monitor-entitymanager-ws +- ibm-mas-monitor-hook-db +- ibm-mas-monitor-kpi +- ibm-mas-monitor-restapi + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | jobs | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | delete, deletecollection, get, list, watch | +| route.openshift.io | routes/status | get, list, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-monitor/8.11.25.md b/docs/catalogs/packages/ibm-mas-monitor/8.11.25.md new file mode 100644 index 00000000000..2e7f80b2bab --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-monitor/8.11.25.md @@ -0,0 +1,71 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Monitor v8.11.25 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update makefile to add target platform for 811 (#1544) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-monitor-as-db-operation +- ibm-mas-monitor-as-library +- ibm-mas-monitor-as-ui +- ibm-mas-monitor-entitymanager-ws +- ibm-mas-monitor-hook-db +- ibm-mas-monitor-kpi +- ibm-mas-monitor-restapi + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | jobs | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | delete, deletecollection, get, list, watch | +| route.openshift.io | routes/status | get, list, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-monitor/9.0.17.md b/docs/catalogs/packages/ibm-mas-monitor/9.0.17.md new file mode 100644 index 00000000000..83ecc29b95c --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-monitor/9.0.17.md @@ -0,0 +1,71 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Monitor v9.0.17 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update makefile to add target platform for 90 (#1545) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-monitor-as-db-operation +- ibm-mas-monitor-as-library +- ibm-mas-monitor-as-ui +- ibm-mas-monitor-entitymanager-ws +- ibm-mas-monitor-hook-db +- ibm-mas-monitor-kpi +- ibm-mas-monitor-restapi + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | jobs | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | delete, deletecollection, get, list, watch | +| route.openshift.io | routes/status | get, list, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-monitor/9.1.7.md b/docs/catalogs/packages/ibm-mas-monitor/9.1.7.md new file mode 100644 index 00000000000..30d0b11a0aa --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-monitor/9.1.7.md @@ -0,0 +1,73 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Monitor v9.1.7 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update ws CRD to handle deployment size (#1343) +- Update makefile to add target platform for 91 (#1546) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-monitor-as-db-operation +- ibm-mas-monitor-as-library +- ibm-mas-monitor-as-ui +- ibm-mas-monitor-entitymanager-ws +- ibm-mas-monitor-hook-db +- ibm-mas-monitor-kpi +- ibm-mas-monitor-migrationmanager +- ibm-mas-monitor-restapi + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | jobs | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | delete, deletecollection, get, list, watch | +| route.openshift.io | routes/status | get, list, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-optimizer/8.4.26.md b/docs/catalogs/packages/ibm-mas-optimizer/8.4.26.md new file mode 100644 index 00000000000..ca0fe44f6aa --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-optimizer/8.4.26.md @@ -0,0 +1,74 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Optimizer v8.4.26 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- 8.4.x MSO-2396 - CVE-2025-66418 / CVE-2025-66471 fix (#375) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-optimizer-appstatus-mgr +- ibm-mas-optimizer-common +- ibm-mas-optimizer-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/finalizers | create, delete, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-mas-optimizer/8.5.25.md b/docs/catalogs/packages/ibm-mas-optimizer/8.5.25.md new file mode 100644 index 00000000000..464d2056789 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-optimizer/8.5.25.md @@ -0,0 +1,76 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Optimizer v8.5.25 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- 8.5.x MSO-2396 - CVE-2025-66418 / CVE-2025-66471 fix (#376) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-optimizer-appstatus-mgr +- ibm-mas-optimizer-common +- ibm-mas-optimizer-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | * | +| opentelemetry.io | instrumentations | * | diff --git a/docs/catalogs/packages/ibm-mas-optimizer/9.0.19.md b/docs/catalogs/packages/ibm-mas-optimizer/9.0.19.md new file mode 100644 index 00000000000..4f2c7b199a1 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-optimizer/9.0.19.md @@ -0,0 +1,77 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Optimizer v9.0.19 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- 9.0.x MSO-2385 - CVE-2025-66221 fix (werkzeug-3.1.3-py3-none-any.whl > mas-utils) (#367) +- 9.0.x MSO-2396 - CVE-2025-66418 / CVE-2025-66471 fix (#372) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-optimizer-appstatus-mgr +- ibm-mas-optimizer-common +- ibm-mas-optimizer-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | * | +| opentelemetry.io | instrumentations | * | diff --git a/docs/catalogs/packages/ibm-mas-optimizer/9.1.8.md b/docs/catalogs/packages/ibm-mas-optimizer/9.1.8.md new file mode 100644 index 00000000000..82ff3f87c36 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-optimizer/9.1.8.md @@ -0,0 +1,81 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Optimizer v9.1.8 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- (MSO 9.1.x) Changes to accommodate the New (modern) MongoDB Driver for FIPS (#362) +- MSO-2451 - Support Custom Log4j2 ConfigMap via CR Override (#364) +- 9.1.x MSO-2385 - CVE-2025-66221 fix (werkzeug-3.1.3-py3-none-any.whl > mas-utils) (#368) +- MSO-2396 - CVE-2025-66418 / CVE-2025-66471 fix (#371) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-optimizer-appstatus-mgr +- ibm-mas-optimizer-common +- ibm-mas-optimizer-entitymgr-primary-entity +- ibm-mas-optimizer-pe-common +- ibm-mas-optimizer-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | * | +| opentelemetry.io | instrumentations | * | diff --git a/docs/catalogs/packages/ibm-mas-optimizer/9.2.0-pre.stable-9869.md b/docs/catalogs/packages/ibm-mas-optimizer/9.2.0-pre.stable-9869.md new file mode 100644 index 00000000000..ee398d97e95 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-optimizer/9.2.0-pre.stable-9869.md @@ -0,0 +1,73 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Optimizer v9.2.0-pre.stable-9869 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-optimizer-appstatus-mgr +- ibm-mas-optimizer-common +- ibm-mas-optimizer-entitymgr-primary-entity +- ibm-mas-optimizer-pe-common +- ibm-mas-optimizer-ws-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards/status | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards/status | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerstatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| opentelemetry.io | opentelemetrycollectors | * | +| opentelemetry.io | instrumentations | * | diff --git a/docs/catalogs/packages/ibm-mas-visualinspection/8.9.19.md b/docs/catalogs/packages/ibm-mas-visualinspection/8.9.19.md new file mode 100644 index 00000000000..a5ad61fabb7 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-visualinspection/8.9.19.md @@ -0,0 +1,76 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +Maximo Visual Inspection v8.9.19 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Update images.yml with vision-edge-dle to 8.9.19 (#985) +- Fix Makefile for non-arch specific builds (8.9.x) (#1034) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| security.openshift.io | securitycontextconstraints | use | +| "" | nodes | list | +| "" | pods | list | +| "" | persistentvolumes | get, list, update, watch | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods | create, delete, deletecollection, get, list, patch, update, watch | +| "" | services | create, delete, deletecollection, get, list, patch, update, watch | +| "" | services/proxy | create, delete, deletecollection, get, list, patch, update, watch | +| "" | endpoints | create, delete, deletecollection, get, list, patch, update, watch | +| "" | events | create, delete, deletecollection, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, deletecollection, get, list, patch, update, watch | +| "" | resourcequotas | get, list, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| apps | replicasets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | statefulsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | update | +| apps.mas.ibm.com | visualinspectionapps/status | get, patch, update | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | update | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | get, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, deletecollection, get, list, patch, update, watch | +| batch | jobs | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, deletecollection, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, deletecollection, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | '*' | +| rbac.authorization.k8s.io | clusterroles/finalizers | '*' | +| rbac.authorization.k8s.io | rolebindings | '*' | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| security.openshift.io | securitycontextconstraints | use | diff --git a/docs/catalogs/packages/ibm-mas-visualinspection/9.0.16.md b/docs/catalogs/packages/ibm-mas-visualinspection/9.0.16.md new file mode 100644 index 00000000000..d75789730f1 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-visualinspection/9.0.16.md @@ -0,0 +1,75 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +Maximo Visual Inspection v9.0.16 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Fix Makefile for non-arch specific builds (9.0.x) (#1036) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| security.openshift.io | securitycontextconstraints | use | +| "" | nodes | list | +| "" | pods | list | +| "" | persistentvolumes | get, list, update, watch | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods | create, delete, deletecollection, get, list, patch, update, watch | +| "" | services | create, delete, deletecollection, get, list, patch, update, watch | +| "" | services/proxy | create, delete, deletecollection, get, list, patch, update, watch | +| "" | endpoints | create, delete, deletecollection, get, list, patch, update, watch | +| "" | events | create, delete, deletecollection, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, deletecollection, get, list, patch, update, watch | +| "" | resourcequotas | get, list, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| apps | replicasets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | statefulsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | update | +| apps.mas.ibm.com | visualinspectionapps/status | get, patch, update | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | update | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | get, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, deletecollection, get, list, patch, update, watch | +| batch | jobs | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, deletecollection, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, deletecollection, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | '*' | +| rbac.authorization.k8s.io | clusterroles/finalizers | '*' | +| rbac.authorization.k8s.io | rolebindings | '*' | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| security.openshift.io | securitycontextconstraints | use | diff --git a/docs/catalogs/packages/ibm-mas-visualinspection/9.1.7.md b/docs/catalogs/packages/ibm-mas-visualinspection/9.1.7.md new file mode 100644 index 00000000000..23c3bd4b3b7 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas-visualinspection/9.1.7.md @@ -0,0 +1,75 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +Maximo Visual Inspection v9.1.7 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Make /tmp EmptyDir size configurable via custom ConfigMaps (#1043) +- Update Ford's script to enforce restricted-v2 (#1044) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| security.openshift.io | securitycontextconstraints | use | +| "" | nodes | list | +| "" | pods | list | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods | create, delete, deletecollection, get, list, patch, update, watch | +| "" | services | create, delete, deletecollection, get, list, patch, update, watch | +| "" | services/proxy | create, delete, deletecollection, get, list, patch, update, watch | +| "" | endpoints | create, delete, deletecollection, get, list, patch, update, watch | +| "" | events | create, delete, deletecollection, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, deletecollection, get, list, patch, update, watch | +| "" | resourcequotas | get, list, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | services/finalizers | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| apps | replicasets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | statefulsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | update | +| apps.mas.ibm.com | visualinspectionapps/status | get, patch, update | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | update | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | get, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, deletecollection, get, list, patch, update, watch | +| batch | jobs | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, deletecollection, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| grafana.integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, deletecollection, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | '*' | +| rbac.authorization.k8s.io | clusterroles/finalizers | '*' | +| rbac.authorization.k8s.io | rolebindings | '*' | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| security.openshift.io | securitycontextconstraints | use | diff --git a/docs/catalogs/packages/ibm-mas/8.10.33.md b/docs/catalogs/packages/ibm-mas/8.10.33.md new file mode 100644 index 00000000000..ac034f72cba --- /dev/null +++ b/docs/catalogs/packages/ibm-mas/8.10.33.md @@ -0,0 +1,152 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Application Suite v8.10.33 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- Fix port enumeration in push notification (#4440) +- Add HSTS header to coreidp to fix vulnerability (#4525) +- update mas util to 7.27.2: 810x (#4535) +- upgrade ansible-operator to latest (#4522) +- Add smtp ouath2 for outgoing emails 8.10.x [MASCORE-10041] (#4573) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-config-editor +- ibm-mas-config-reader +- ibm-mas-coreapi +- ibm-mas-coreidp +- ibm-mas-entitymgr-addons +- ibm-mas-entitymgr-bascfg +- ibm-mas-entitymgr-coreidp +- ibm-mas-entitymgr-idpcfg +- ibm-mas-entitymgr-jdbccfg +- ibm-mas-entitymgr-kafkacfg +- ibm-mas-entitymgr-mongocfg +- ibm-mas-entitymgr-objectstoragecfg +- ibm-mas-entitymgr-pushcfg +- ibm-mas-entitymgr-scimcfg +- ibm-mas-entitymgr-slscfg +- ibm-mas-entitymgr-smtpcfg +- ibm-mas-entitymgr-watsonstudiocfg +- ibm-mas-entitymgr-ws +- ibm-mas-internalapi +- ibm-mas-licensing-mediator +- ibm-mas-mobileapi +- ibm-mas-monagent-mas +- ibm-mas-nopriv +- ibm-mas-scim-agent + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | *, create, delete, get, patch, update | +| "" | secrets | *, create, delete, get, list, patch, update | +| "" | pods | *, get, list | +| "" | pods/log | *, get, list | +| "" | pods/exec | * | +| "" | services | * | +| "" | persistentvolumeclaims | * | +| "" | persistentvolumes | * | +| "" | certificates | get, list | +| apps | deployments | *, get | +| apps | daemonsets | * | +| apps | replicasets | * | +| apps | statefulsets | * | +| project.openshift.io | projects | *, create, get | +| operators.coreos.com | subscriptions | *, create, delete, get, list, patch, update | +| operators.coreos.com | installplans | create, delete, get, list, patch, update | +| operators.coreos.com | operatorgroups | *, create, delete, get, list, patch, update | +| operators.coreos.com | catalogsources | create, delete, get, list, patch, update | +| operators.coreos.com | clusterserviceversions | *, create, delete, get, list, patch, update | +| packages.operators.coreos.com | packagemanifests | get | +| apiextensions.k8s.io | customresourcedefinitions | *, get | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | safetys | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | safetyworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | get, list, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | get, list, watch | +| networking.k8s.io | networkpolicies | * | +| mas.ibm.com | * | get, list | +| asset-data-dictionary.ibm.com | assetdatadictionaries | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/status | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/finalizers | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/status | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/finalizers | * | +| cert-manager.io | certificates | *, create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | * | +| truststore-mgr.ibm.com | truststores/status | get | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterrolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | create, delete, get, list, patch, update, watch | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites/status | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | workspaces | delete, get, list, watch | +| config.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| addons.mas.ibm.com | * | delete, get, list, watch | diff --git a/docs/catalogs/packages/ibm-mas/8.11.30.md b/docs/catalogs/packages/ibm-mas/8.11.30.md new file mode 100644 index 00000000000..a674f303d05 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas/8.11.30.md @@ -0,0 +1,284 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Application Suite v8.11.30 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- mobileapi update to update navigator and it's graphite version to v2.12.457 (#4466) +- Update ansible-operator (#4491) +- update mas util to 7.27.2: 811x (#4536) +- Downgrade wlp version - 811x (#4541) +- Fixing mobile support for dedicated login page (#4549) +- Add 811x prev release into rollback supported images list (811x) (#4446) +- Add smtp ouath2 for outgoing emails 8.11.x [MASCORE-10041] (#4574) +- Mobile support for dedicated pages seamless fix (#4585) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-config-editor +- ibm-mas-config-reader +- ibm-mas-coreapi +- ibm-mas-coreidp +- ibm-mas-entitymgr-addons +- ibm-mas-entitymgr-bascfg +- ibm-mas-entitymgr-coreidp +- ibm-mas-entitymgr-idpcfg +- ibm-mas-entitymgr-jdbccfg +- ibm-mas-entitymgr-kafkacfg +- ibm-mas-entitymgr-mongocfg +- ibm-mas-entitymgr-objectstoragecfg +- ibm-mas-entitymgr-pushcfg +- ibm-mas-entitymgr-scimcfg +- ibm-mas-entitymgr-slscfg +- ibm-mas-entitymgr-smtpcfg +- ibm-mas-entitymgr-watsonstudiocfg +- ibm-mas-entitymgr-ws +- ibm-mas-internalapi +- ibm-mas-licensing-mediator +- ibm-mas-mobileapi +- ibm-mas-monagent-mas +- ibm-mas-nopriv +- ibm-mas-scim-agent + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | *, create, delete, get, list, patch, update, watch | +| "" | secrets | *, create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | *, create, delete, get, list, patch, update, watch | +| "" | pods | *, create, delete, get, list, patch, update, watch | +| "" | pods/log | *, create, delete, get, list, patch, update, watch | +| "" | services | *, create, delete, get, list, patch, update, watch | +| "" | services/finalizers | *, create, delete, get, list, patch, update, watch | +| "" | endpoints | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | *, create, delete, get, list, patch, update, watch | +| "" | events | *, create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| "" | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| "" | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods/exec | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | *, create, delete, get, list, patch, update, watch | +| "" | roles | create, delete, get, list, patch, update, watch | +| "" | rolebindings | create, delete, get, list, patch, update, watch | +| "" | services/proxy | create, delete, get, list, patch, update, watch | +| "" | certificates | get, list | +| rbac.authorization.k8s.io | rolebindings | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles/finalizers | * | +| apps | deployments | *, create, delete, get, list, patch, update, watch | +| apps | daemonsets | *, create, delete, get, list, patch, update, watch | +| apps | replicasets | *, create, delete, get, list, patch, update, watch | +| apps | statefulsets | *, create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| project.openshift.io | projects | *, create, get | +| operators.coreos.com | subscriptions | *, create, delete, get, list, patch, update | +| operators.coreos.com | installplans | create, delete, get, list, patch, update | +| operators.coreos.com | operatorgroups | *, create, delete, get, list, patch, update | +| operators.coreos.com | catalogsources | create, delete, get, list, patch, update | +| operators.coreos.com | clusterserviceversions | *, create, delete, get, list, patch, update | +| packages.operators.coreos.com | packagemanifests | get | +| apiextensions.k8s.io | customresourcedefinitions | *, create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | * | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps/status | get, list, watch | +| apps.mas.ibm.com | msoapps/finalizers | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/status | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | safetys | get, list, watch | +| apps.mas.ibm.com | safetys/status | get, list, watch | +| apps.mas.ibm.com | safetys/finalizers | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/status | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | visualinspectionapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | prometheusrules | create, delete, get, list, patch, update | +| mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | statefulsets | create, delete, deletecollection, patch, update | +| extensions | statefulsets/scale | create, delete, deletecollection, patch, update | +| extensions | daemonsets | create, delete, deletecollection, patch, update | +| extensions | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | deployments/rollback | create, delete, deletecollection, patch, update | +| extensions | deployments/scale | create, delete, deletecollection, patch, update | +| extensions | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | networkpolicies | create, delete, deletecollection, patch, update | +| extensions | replicasets | create, delete, deletecollection, patch, update | +| extensions | replicasets/scale | create, delete, deletecollection, patch, update | +| extensions | replicationcontrollers/scale | create, delete, deletecollection, patch, update | +| networking.k8s.io | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | *, create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | *, create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuer | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| policy | poddisruptionbudgets | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterroles | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | rolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | roles | create, delete, deletecollection, get, list, patch, update, watch | +| iot.apps.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | *, create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | *, create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| admissionregistration.k8s.io | validatingwebhookconfigurations | create, delete, get, list, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, deletecollection, get, list, patch, update | +| security.openshift.io | securitycontextconstraints | get, list, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries | *, get, list | +| asset-data-dictionary.ibm.com | assetdatadictionaries/status | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/finalizers | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces | *, get, list | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/status | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/finalizers | * | +| core.mas.ibm.com | suites | get, list | +| core.mas.ibm.com | workspaces | get, list | +| addons.mas.ibm.com | mviedges | get, list | +| config.mas.ibm.com | jdbccfgs | get, list | +| config.mas.ibm.com | kafkacfgs | get, list | +| config.mas.ibm.com | mongocfgs | get, list | +| config.mas.ibm.com | objectstoragecfgs | get, list | +| config.mas.ibm.com | pushnotificationcfgs | get, list | +| config.mas.ibm.com | smtpcfgs | get, list | +| config.mas.ibm.com | watsonstudiocfgs | get, list | +| internal.mas.ibm.com | coreidps | get, list | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| binding.operators.coreos.com | servicebindings | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites/status | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | workspaces | delete, get, list, watch | +| config.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| addons.mas.ibm.com | * | delete, get, list, watch | diff --git a/docs/catalogs/packages/ibm-mas/9.0.19.md b/docs/catalogs/packages/ibm-mas/9.0.19.md new file mode 100644 index 00000000000..460cb40194b --- /dev/null +++ b/docs/catalogs/packages/ibm-mas/9.0.19.md @@ -0,0 +1,271 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Application Suite v9.0.19 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- mobileapi update to update navigator and it's graphite version to v2.13.647 (#4467) +- mobileapi update to update navigator and it's graphite version to v2.13.652 (#4507) +- Update ansible-operator (#4490) +- update mas util to 7.27.2: 90x (#4537) +- downgrade wlp - 90x (#4544) +- Fixing mobile dedicated login page - 90 (#4548) +- Add smtp ouath2 for outgoing emails 9.0.x [MASCORE-10041] (#4575) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-config-editor +- ibm-mas-config-reader +- ibm-mas-coreapi +- ibm-mas-coreidp +- ibm-mas-entitymgr-addons +- ibm-mas-entitymgr-bascfg +- ibm-mas-entitymgr-coreidp +- ibm-mas-entitymgr-idpcfg +- ibm-mas-entitymgr-jdbccfg +- ibm-mas-entitymgr-kafkacfg +- ibm-mas-entitymgr-mongocfg +- ibm-mas-entitymgr-objectstoragecfg +- ibm-mas-entitymgr-pushcfg +- ibm-mas-entitymgr-scimcfg +- ibm-mas-entitymgr-slscfg +- ibm-mas-entitymgr-smtpcfg +- ibm-mas-entitymgr-watsonstudiocfg +- ibm-mas-entitymgr-ws +- ibm-mas-internalapi +- ibm-mas-licensing-mediator +- ibm-mas-mobileapi +- ibm-mas-monagent-mas +- ibm-mas-nopriv +- ibm-mas-scim-agent + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | *, create, delete, get, list, patch, update, watch | +| "" | secrets | *, create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | *, create, delete, get, list, patch, update, watch | +| "" | pods | *, create, delete, get, list, patch, update, watch | +| "" | pods/log | *, create, delete, get, list, patch, update, watch | +| "" | services | *, create, delete, get, list, patch, update, watch | +| "" | services/finalizers | *, create, delete, get, list, patch, update, watch | +| "" | endpoints | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | *, create, delete, get, list, patch, update, watch | +| "" | events | *, create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| "" | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| "" | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods/exec | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | *, create, delete, get, list, patch, update, watch | +| "" | roles | create, delete, get, list, patch, update, watch | +| "" | rolebindings | create, delete, get, list, patch, update, watch | +| "" | services/proxy | create, delete, get, list, patch, update, watch | +| "" | certificates | get, list | +| rbac.authorization.k8s.io | rolebindings | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles/finalizers | * | +| apps | deployments | *, create, delete, get, list, patch, update, watch | +| apps | daemonsets | *, create, delete, get, list, patch, update, watch | +| apps | replicasets | *, create, delete, get, list, patch, update, watch | +| apps | statefulsets | *, create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| project.openshift.io | projects | *, create, get | +| operators.coreos.com | subscriptions | *, create, delete, get, list, patch, update | +| operators.coreos.com | installplans | create, delete, get, list, patch, update | +| operators.coreos.com | operatorgroups | *, create, delete, get, list, patch, update | +| operators.coreos.com | catalogsources | create, delete, get, list, patch, update | +| operators.coreos.com | clusterserviceversions | *, create, delete, get, list, patch, update | +| packages.operators.coreos.com | packagemanifests | get | +| apiextensions.k8s.io | customresourcedefinitions | *, create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | * | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageaccelerators | get, list, patch, update | +| apps.mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps/status | get, list, watch | +| apps.mas.ibm.com | msoapps/finalizers | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/status | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | safetys | get, list, watch | +| apps.mas.ibm.com | safetys/status | get, list, watch | +| apps.mas.ibm.com | safetys/finalizers | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/status | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | visualinspectionapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | prometheusrules | create, delete, get, list, patch, update | +| mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | statefulsets | create, delete, deletecollection, patch, update | +| extensions | statefulsets/scale | create, delete, deletecollection, patch, update | +| extensions | daemonsets | create, delete, deletecollection, patch, update | +| extensions | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | deployments/rollback | create, delete, deletecollection, patch, update | +| extensions | deployments/scale | create, delete, deletecollection, patch, update | +| extensions | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | networkpolicies | create, delete, deletecollection, patch, update | +| extensions | replicasets | create, delete, deletecollection, patch, update | +| extensions | replicasets/scale | create, delete, deletecollection, patch, update | +| extensions | replicationcontrollers/scale | create, delete, deletecollection, patch, update | +| networking.k8s.io | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | *, create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | *, create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuer | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| policy | poddisruptionbudgets | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterroles | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | rolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | roles | create, delete, deletecollection, get, list, patch, update, watch | +| iot.apps.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | *, create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| admissionregistration.k8s.io | validatingwebhookconfigurations | create, delete, get, list, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, deletecollection, get, list, patch, update | +| security.openshift.io | securitycontextconstraints | get, list, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/status | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/finalizers | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/status | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/finalizers | * | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites/status | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | workspaces | delete, get, list, watch | +| config.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| addons.mas.ibm.com | * | delete, get, list, watch | diff --git a/docs/catalogs/packages/ibm-mas/9.1.8.md b/docs/catalogs/packages/ibm-mas/9.1.8.md new file mode 100644 index 00000000000..fcbe3dad648 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas/9.1.8.md @@ -0,0 +1,318 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Application Suite v9.1.8 +================================================================================ + +Release Notes +-------------------------------------------------------------------------------- +### Bug Fixes and Security Updates +- mobileapi update to update navigator and it's graphite version to v3.1.624 (#4468) +- Add support to additional infrastructure value metrics on Catalog items and addon operator for 91x (#4464) +- add new valuemetrics in catalog 9.1.x (#4480) +- Add defaultRecipientEmail to the /systeminfo internal API response (91x) (#4462) +- Prevent application configuration route re-creation every 5 min - MAS 9.1 (#4488) +- Adding support for optional firstname, lastname and site input fields in the self registration form in the login page (#4492) +- Add support to application configuration when MAS readonly system - MAS 9.1 (#4494) +- mobileapi update to update navigator and it's graphite version to v3.1.644 (#4508) +- update install plan cost for additional infrastructure 91x (#4521) +- Update ansible-operator (#4489) +- Add HSTS header to coreidp to fix vulnerability (#4524) +- update mas util to 7.27.2: 91x (#4538) +- Jan config patch version - MAS 9.1 (#4534) +- downgrade wlp - 91x (#4543) +- Inactive users created by the authservice user upsert bulk user upsert internal APIs will no longer receive welcome emails (91x) (#4540) +- map-components version update in config (#4546) +- Fixing support for mobile dedicated login pages - 91 (#4547) +- update catalog item to additional-resources for 91x (#4558) +- Fix: Add missing configmapPrefix variable to resolve basCfg pod failure in MAS 9.1 fresh install (#4559) +- Add smtp ouath2 for outgoing emails 9.1.x [MASCORE-10041] (#4576) + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-config-editor +- ibm-mas-config-reader +- ibm-mas-coreapi +- ibm-mas-coreidp +- ibm-mas-entitymgr-addons +- ibm-mas-entitymgr-appcfg +- ibm-mas-entitymgr-bascfg +- ibm-mas-entitymgr-coreidp +- ibm-mas-entitymgr-idpcfg +- ibm-mas-entitymgr-jdbccfg +- ibm-mas-entitymgr-kafkacfg +- ibm-mas-entitymgr-mongocfg +- ibm-mas-entitymgr-objectstoragecfg +- ibm-mas-entitymgr-pushcfg +- ibm-mas-entitymgr-scimcfg +- ibm-mas-entitymgr-slscfg +- ibm-mas-entitymgr-smtpcfg +- ibm-mas-entitymgr-watsonstudiocfg +- ibm-mas-entitymgr-ws +- ibm-mas-internalapi +- ibm-mas-licensing-mediator +- ibm-mas-mobileapi +- ibm-mas-monagent-mas +- ibm-mas-nopriv +- ibm-mas-scim-agent + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | *, create, delete, get, list, patch, update, watch | +| "" | secrets | *, create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | *, create, delete, get, list, patch, update, watch | +| "" | pods | *, create, delete, get, list, patch, update, watch | +| "" | pods/log | *, create, delete, get, list, patch, update, watch | +| "" | services | *, create, delete, get, list, patch, update, watch | +| "" | services/finalizers | *, create, delete, get, list, patch, update, watch | +| "" | endpoints | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | *, create, delete, get, list, patch, update, watch | +| "" | events | *, create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| "" | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| "" | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods/exec | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | *, create, delete, get, list, patch, update, watch | +| "" | roles | create, delete, get, list, patch, update, watch | +| "" | rolebindings | create, delete, get, list, patch, update, watch | +| "" | services/proxy | create, delete, get, list, patch, update, watch | +| "" | certificates | get, list | +| rbac.authorization.k8s.io | rolebindings | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | serviceaccounts | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles/finalizers | * | +| apps | deployments | *, create, delete, get, list, patch, update, watch | +| apps | daemonsets | *, create, delete, get, list, patch, update, watch | +| apps | replicasets | *, create, delete, get, list, patch, update, watch | +| apps | statefulsets | *, create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| project.openshift.io | projects | *, create, get | +| operators.coreos.com | subscriptions | *, create, delete, get, list, patch, update | +| operators.coreos.com | installplans | create, delete, get, list, patch, update | +| operators.coreos.com | operatorgroups | *, create, delete, get, list, patch, update | +| operators.coreos.com | catalogsources | create, delete, get, list, patch, update | +| operators.coreos.com | clusterserviceversions | *, create, delete, get, list, patch, update | +| packages.operators.coreos.com | packagemanifests | get | +| apiextensions.k8s.io | customresourcedefinitions | *, create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | * | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageaccelerators | get, list, patch, update | +| apps.mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps/status | get, list, watch | +| apps.mas.ibm.com | msoapps/finalizers | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/status | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | safetys | get, list, watch | +| apps.mas.ibm.com | safetys/status | get, list, watch | +| apps.mas.ibm.com | safetys/finalizers | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/status | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | visualinspectionapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | prometheusrules | create, delete, get, list, patch, update | +| mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | statefulsets | create, delete, deletecollection, patch, update | +| extensions | statefulsets/scale | create, delete, deletecollection, patch, update | +| extensions | daemonsets | create, delete, deletecollection, patch, update | +| extensions | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | deployments/rollback | create, delete, deletecollection, patch, update | +| extensions | deployments/scale | create, delete, deletecollection, patch, update | +| extensions | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | networkpolicies | create, delete, deletecollection, patch, update | +| extensions | replicasets | create, delete, deletecollection, patch, update | +| extensions | replicasets/scale | create, delete, deletecollection, patch, update | +| extensions | replicationcontrollers/scale | create, delete, deletecollection, patch, update | +| networking.k8s.io | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | *, create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | *, create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuer | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| policy | poddisruptionbudgets | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterroles | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | rolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | roles | create, delete, deletecollection, get, list, patch, update, watch | +| iot.apps.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | *, create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| admissionregistration.k8s.io | validatingwebhookconfigurations | create, delete, get, list, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, deletecollection, get, list, patch, update | +| security.openshift.io | securitycontextconstraints | get, list, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/status | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/finalizers | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/status | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/finalizers | * | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites/status | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | workspaces | delete, get, list, watch | +| config.mas.ibm.com | appcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | bascfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | idpcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | jdbccfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | kafkacfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | mongocfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | objectstoragecfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | pushnotificationcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | scimcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | slscfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | smtpcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | watsonstudiocfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | coreidps | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | appcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | bascfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | idpcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | jdbccfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | kafkacfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | mongocfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | objectstoragecfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | pushnotificationcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | scimcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | slscfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | smtpcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | watsonstudiocfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | coreidps | create, delete, get, list, patch, update, watch | +| addons.mas.ibm.com | genericaddons | delete, get, list, watch | +| addons.mas.ibm.com | mviedges | delete, get, list, watch | +| addons.mas.ibm.com | replicadbs | delete, get, list, watch | diff --git a/docs/catalogs/packages/ibm-mas/9.2.0-pre.stable-9887.md b/docs/catalogs/packages/ibm-mas/9.2.0-pre.stable-9887.md new file mode 100644 index 00000000000..9f6099dff31 --- /dev/null +++ b/docs/catalogs/packages/ibm-mas/9.2.0-pre.stable-9887.md @@ -0,0 +1,294 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Maximo Application Suite v9.2.0-pre.stable-9887 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-mas-config-editor +- ibm-mas-config-reader +- ibm-mas-coreapi +- ibm-mas-coreidp +- ibm-mas-entitymgr-addons +- ibm-mas-entitymgr-appcfg +- ibm-mas-entitymgr-bascfg +- ibm-mas-entitymgr-coreidp +- ibm-mas-entitymgr-idpcfg +- ibm-mas-entitymgr-jdbccfg +- ibm-mas-entitymgr-kafkacfg +- ibm-mas-entitymgr-mongocfg +- ibm-mas-entitymgr-objectstoragecfg +- ibm-mas-entitymgr-pushcfg +- ibm-mas-entitymgr-scimcfg +- ibm-mas-entitymgr-slscfg +- ibm-mas-entitymgr-smtpcfg +- ibm-mas-entitymgr-watsonstudiocfg +- ibm-mas-entitymgr-ws +- ibm-mas-internalapi +- ibm-mas-licensing-mediator +- ibm-mas-mobileapi +- ibm-mas-monagent-mas +- ibm-mas-nopriv +- ibm-mas-scim-agent + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | *, create, delete, get, list, patch, update, watch | +| "" | secrets | *, create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | *, create, delete, get, list, patch, update, watch | +| "" | pods | *, create, delete, get, list, patch, update, watch | +| "" | pods/log | *, create, delete, get, list, patch, update, watch | +| "" | services | *, create, delete, get, list, patch, update, watch | +| "" | services/finalizers | *, create, delete, get, list, patch, update, watch | +| "" | endpoints | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | *, create, delete, get, list, patch, update, watch | +| "" | events | *, create, delete, get, list, patch, update, watch | +| "" | namespaces | get | +| "" | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| "" | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| "" | pods/exec | *, create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | *, create, delete, get, list, patch, update, watch | +| "" | roles | create, delete, get, list, patch, update, watch | +| "" | rolebindings | create, delete, get, list, patch, update, watch | +| "" | services/proxy | create, delete, get, list, patch, update, watch | +| "" | certificates | get, list | +| rbac.authorization.k8s.io | rolebindings | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles | *, create, delete, deletecollection, get, list, patch, update, watch | +| rbac.authorization.k8s.io | serviceaccounts | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | clusterroles/finalizers | * | +| apps | deployments | *, create, delete, get, list, patch, update, watch | +| apps | daemonsets | *, create, delete, get, list, patch, update, watch | +| apps | replicasets | *, create, delete, get, list, patch, update, watch | +| apps | statefulsets | *, create, delete, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| project.openshift.io | projects | *, create, get | +| operators.coreos.com | subscriptions | *, create, delete, get, list, patch, update | +| operators.coreos.com | installplans | create, delete, get, list, patch, update | +| operators.coreos.com | operatorgroups | *, create, delete, get, list, patch, update | +| operators.coreos.com | catalogsources | create, delete, get, list, patch, update | +| operators.coreos.com | clusterserviceversions | *, create, delete, get, list, patch, update | +| packages.operators.coreos.com | packagemanifests | get | +| apiextensions.k8s.io | customresourcedefinitions | *, create, delete, get, list, patch, update, watch | +| iot.ibm.com | iots | create, delete, get, list, patch, update, watch | +| iot.ibm.com | iotworkspaces | create, delete, get, list, patch, update, watch | +| iot.ibm.com | * | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageaccelerators | get, list, patch, update | +| apps.mas.ibm.com | assistapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistbackups/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | assistrestores/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | facilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | hputilitiesworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | healthworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managebuilds/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managedeployments/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | manageserverbundles/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | builddatainterpreters/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | managestatuscheckers/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | monitorworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | msoapps/status | get, list, watch | +| apps.mas.ibm.com | msoapps/finalizers | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/status | get, list, watch | +| apps.mas.ibm.com | msoworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | optimizerapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | optimizerworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | predictworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | safetys | get, list, watch | +| apps.mas.ibm.com | safetys/status | get, list, watch | +| apps.mas.ibm.com | safetys/finalizers | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/status | get, list, watch | +| apps.mas.ibm.com | safetyworkspaces/finalizers | get, list, watch | +| apps.mas.ibm.com | visualinspectionapps/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionapps/finalizers | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/status | create, delete, get, list, patch, update, watch | +| apps.mas.ibm.com | visualinspectionappworkspaces/finalizers | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | prometheusrules | create, delete, get, list, patch, update | +| mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| batch | jobs | * | +| batch | cronjobs | * | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | statefulsets | create, delete, deletecollection, patch, update | +| extensions | statefulsets/scale | create, delete, deletecollection, patch, update | +| extensions | daemonsets | create, delete, deletecollection, patch, update | +| extensions | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | deployments/rollback | create, delete, deletecollection, patch, update | +| extensions | deployments/scale | create, delete, deletecollection, patch, update | +| extensions | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| extensions | networkpolicies | create, delete, deletecollection, patch, update | +| extensions | replicasets | create, delete, deletecollection, patch, update | +| extensions | replicasets/scale | create, delete, deletecollection, patch, update | +| extensions | replicationcontrollers/scale | create, delete, deletecollection, patch, update | +| networking.k8s.io | ingresses | create, delete, deletecollection, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | *, create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs | create, delete, deletecollection, get, list, patch, update, watch | +| apps.openshift.io | deploymentconfigs/scale | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | *, create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | clusterissuer | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| integreatly.org | grafanadashboards | create, delete, get, list, patch, update, watch | +| monitoringcontroller.cloud.ibm.com | monitoringdashboards | create, delete, get, list, patch, update, watch | +| policy | poddisruptionbudgets | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterroles | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | clusterrolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | rolebindings | create, delete, deletecollection, get, list, patch, update, watch | +| authorization.openshift.io | roles | create, delete, deletecollection, get, list, patch, update, watch | +| iot.apps.mas.ibm.com | * | create, delete, get, list, patch, update, watch | +| image.openshift.io | builds | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| image.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| image.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| build.openshift.io | builds | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs | create, delete, get, list, patch, update, watch | +| build.openshift.io | buildconfigs/instantiatebinary | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreams | create, delete, get, list, patch, update, watch | +| build.openshift.io | imagestreamtags | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | *, create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/finalizers | create, delete, get, list, patch, update, watch | +| admissionregistration.k8s.io | validatingwebhookconfigurations | create, delete, get, list, patch, update | +| autoscaling | horizontalpodautoscalers | create, delete, deletecollection, get, list, patch, update | +| security.openshift.io | securitycontextconstraints | get, list, watch | +| asset-data-dictionary.ibm.com | assetdatadictionaries | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/status | * | +| asset-data-dictionary.ibm.com | assetdatadictionaries/finalizers | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/status | * | +| asset-data-dictionary.ibm.com | datadictionaryworkspaces/finalizers | * | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, delete, get, list, patch, update, watch | +| "" | pods/log | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| apps | replicasets | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, patch, update, watch | +| batch | cronjobs | create, delete, get, list, patch, update, watch | +| batch | jobs | create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | create, delete, deletecollection, get, list, patch, update, watch | +| route.openshift.io | routes/custom-host | create | +| route.openshift.io | routes/status | get, list, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, get, list, patch, update, watch | +| cert-manager.io | clusterissuers | create, delete, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores | create, delete, get, list, patch, update, watch | +| truststore-mgr.ibm.com | truststores/status | get | +| operator.ibm.com | operandrequests | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | suites/status | create, delete, get, list, patch, update, watch | +| core.mas.ibm.com | workspaces | delete, get, list, watch | +| config.mas.ibm.com | appcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | bascfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | idpcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | jdbccfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | kafkacfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | mongocfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | objectstoragecfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | pushnotificationcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | scimcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | slscfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | smtpcfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | watsonstudiocfgs | create, delete, get, list, patch, update, watch | +| config.mas.ibm.com | coreidps | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | appcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | bascfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | idpcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | jdbccfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | kafkacfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | mongocfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | objectstoragecfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | pushnotificationcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | scimcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | slscfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | smtpcfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | watsonstudiocfgs | create, delete, get, list, patch, update, watch | +| internal.mas.ibm.com | coreidps | create, delete, get, list, patch, update, watch | +| addons.mas.ibm.com | genericaddons | delete, get, list, watch | +| addons.mas.ibm.com | mviedges | delete, get, list, watch | +| addons.mas.ibm.com | replicadbs | delete, get, list, watch | diff --git a/docs/catalogs/packages/ibm-sls/3.12.5.md b/docs/catalogs/packages/ibm-sls/3.12.5.md new file mode 100644 index 00000000000..c4bb7e55ae3 --- /dev/null +++ b/docs/catalogs/packages/ibm-sls/3.12.5.md @@ -0,0 +1,28 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Suite License Service v3.12.5 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +- ibm-sls-operator + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +No cluster permissions diff --git a/docs/catalogs/packages/ibm-watson-discovery-operator/11.0.0.md b/docs/catalogs/packages/ibm-watson-discovery-operator/11.0.0.md new file mode 100644 index 00000000000..24b8f47ac5a --- /dev/null +++ b/docs/catalogs/packages/ibm-watson-discovery-operator/11.0.0.md @@ -0,0 +1,151 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +Watson Discovery v11.0.0 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | apply, create, delete, deletecollection, get, list, patch, update, watch | +| "" | jobs | apply, create, delete, get, list, patch, update, watch | +| "" | jobs/status | apply, create, delete, get, list, patch, update, watch | +| "" | cronjobs | apply, create, delete, get, list, patch, update, watch | +| "" | pods | apply, create, delete, get, list, patch, update, watch | +| "" | pods/exec | apply, create, delete, get, list, patch, update, watch | +| "" | pods/log | apply, create, delete, get, list, patch, update, watch | +| "" | secrets | apply, create, delete, deletecollection, get, list, patch, update, watch | +| "" | serviceaccounts | apply, create, delete, get, list, patch, update, watch | +| "" | resourcequotas | get, list, watch | +| "" | resourcequotas/status | get, list, watch | +| "" | events | create, delete, deletecollection, get, list, patch, update | +| "" | services | create, delete, deletecollection, get, list, patch, update, watch | +| "" | endpoints | create, delete, get, list, patch, update, watch | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| batch | configmaps | apply, create, delete, get, list, patch, update, watch | +| batch | jobs | apply, create, delete, get, list, patch, update, watch | +| batch | jobs/status | apply, create, delete, get, list, patch, update, watch | +| batch | cronjobs | apply, create, delete, get, list, patch, update, watch | +| batch | pods | apply, create, delete, get, list, patch, update, watch | +| batch | pods/exec | apply, create, delete, get, list, patch, update, watch | +| batch | pods/log | apply, create, delete, get, list, patch, update, watch | +| batch | secrets | apply, create, delete, get, list, patch, update, watch | +| batch | serviceaccounts | apply, create, delete, get, list, patch, update, watch | +| extensions | configmaps | apply, create, delete, get, list, patch, update, watch | +| extensions | jobs | apply, create, delete, get, list, patch, update, watch | +| extensions | jobs/status | apply, create, delete, get, list, patch, update, watch | +| extensions | cronjobs | apply, create, delete, get, list, patch, update, watch | +| extensions | pods | apply, create, delete, get, list, patch, update, watch | +| extensions | pods/exec | apply, create, delete, get, list, patch, update, watch | +| extensions | pods/log | apply, create, delete, get, list, patch, update, watch | +| extensions | secrets | apply, create, delete, get, list, patch, update, watch | +| extensions | serviceaccounts | apply, create, delete, get, list, patch, update, watch | +| extensions | replicasets | create, delete, deletecollection, get, list, patch, update | +| extensions | networkpolicies | create, delete, deletecollection, get, list, patch, update | +| extensions | deployments | create, delete, deletecollection, get, list, patch, update | +| rbac.authorization.k8s.io | roles | apply, create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | apply, create, delete, get, list, patch, update, watch | +| route.openshift.io | routes | get, list | +| apps | deployments | create, delete, deletecollection, get, list, patch, update, watch | +| apps | replicasets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | statefulsets | create, delete, deletecollection, get, list, patch, update, watch | +| apps | daemonsets | create, delete, get, list, patch, update, watch | +| networking.k8s.io | networkpolicies | create, delete, deletecollection, get, list, patch, update | +| policy | poddisruptionbudgets | create, delete, get, list, patch, update, watch | +| authorization.k8s.io | subjectaccessreviews | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveries | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveries/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveries/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverytoolings | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverytoolings/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverytoolings/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryqueries | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryqueries/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryqueries/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverycoreapis | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverycoreapis/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverycoreapis/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryingestions | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryingestions/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryingestions/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryorchestrators | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryorchestrators/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryorchestrators/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverywksmls | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverywksmls/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverywksmls/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverystatelessapis | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverystatelessapis/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverystatelessapis/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverycnms | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverycnms/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverycnms/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryhdps | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryhdps/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryhdps/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverydfs | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverydfs/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverydfs/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverysdus | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverysdus/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverysdus/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverywires | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverywires/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverywires/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryapis | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryapis/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryapis/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverymigrations | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverymigrations/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverymigrations/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryenrichments | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryenrichments/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryenrichments/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverypgbouncers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverypgbouncers/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoverypgbouncers/finalizers | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryfoundations | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryfoundations/status | create, delete, get, list, patch, update, watch | +| discovery.watson.ibm.com | watsondiscoveryfoundations/finalizers | create, delete, get, list, patch, update, watch | +| elasticsearch.opencontent.ibm.com | elasticsearchclusters | create, delete, deletecollection, get, list, patch, update, watch | +| elasticsearch.opencontent.ibm.com | elasticsearchclusters/status | get, watch | +| opensearch.cloudpackopen.ibm.com | clusters | create, delete, deletecollection, get, list, patch, update, watch | +| opensearch.cloudpackopen.ibm.com | clusters/status | get, watch | +| etcd.database.coreos.com | etcdclusters | create, delete, deletecollection, get, list, patch, update, watch | +| etcd.database.coreos.com | etcdclusters/status | get, watch | +| postgresql.k8s.enterprisedb.io | clusters | create, delete, deletecollection, get, list, patch, update, watch | +| postgresql.k8s.enterprisedb.io | clusters/status | get, watch | +| rabbitmq.opencontent.ibm.com | rabbitmqclusters | create, delete, deletecollection, get, list, patch, update, watch | +| rabbitmq.opencontent.ibm.com | rabbitmqclusters/status | get, watch | +| com.ibm.watson.watson-gateway | watsongateways | apply, create, delete, get, list, patch, update, watch | +| watson-gateway.watson.ibm.com | watsongateways | apply, create, delete, get, list, patch, update, watch | +| modeltrain.ibm.com | modeltrains | create, delete, deletecollection, get, list, patch, update, watch | +| modeltrain.ibm.com | modeltrains/status | get, watch | +| oppy.ibm.com | temporarypatches | delete, get, list, patch, update, watch | +| oppy.ibm.com | temporarypatches/status | delete, get, list, patch, update, watch | +| oppy.ibm.com | temporarypatches/finalizers | delete, get, list, patch, update, watch | +| certmanager.k8s.io | issuers | create, delete, deletecollection, get, list, patch, update, watch | +| certmanager.k8s.io | certificates | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | issuers | create, delete, deletecollection, get, list, patch, update, watch | +| cert-manager.io | certificates | create, delete, deletecollection, get, list, patch, update, watch | +| monitoring.coreos.com | podmonitors | create, delete, deletecollection, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/ibm-watson-gateway-operator/1.0.60.md b/docs/catalogs/packages/ibm-watson-gateway-operator/1.0.60.md new file mode 100644 index 00000000000..a01c9f93e21 --- /dev/null +++ b/docs/catalogs/packages/ibm-watson-gateway-operator/1.0.60.md @@ -0,0 +1,67 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +ibm-watson-gateway v1.0.60 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | True | +| AllNamespaces | True | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +No cluster permissions + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | pods | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | services | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | services/finalizers | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | endpoints | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | persistentvolumeclaims | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | events | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | configmaps | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | secrets | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | jobs | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| "" | serviceaccounts | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | pods | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | services | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | services/finalizers | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | endpoints | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | persistentvolumeclaims | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | events | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | configmaps | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | secrets | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | jobs | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| batch | serviceaccounts | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| apps | deployments | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| apps | replicasets | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| apps | statefulsets | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| apps | deployments/finalizers | update | +| monitoring.coreos.com | servicemonitors | create, get | +| watson-gateway.watson.ibm.com | watsongateways | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| watson-gateway.watson.ibm.com | watsongateways/status | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| watson-gateway.watson.ibm.com | watsongateways/finalizers | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| policy | poddisruptionbudgets | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| autoscaling | horizontalpodautoscalers | apply, create, delete, deletecollection, edit, get, list, patch, update, watch | +| cpd.ibm.com | ibmcpd | get | +| cpd.ibm.com | ibmcpds | get | +| cpd.ibm.com | ibmcpd/status | get | +| cpd.ibm.com | ibmcpds/status | get | +| zen.cpd.ibm.com | zenextension | apply, create, delete, edit, get, list, patch, update, watch | +| zen.cpd.ibm.com | zenextensions | apply, create, delete, edit, get, list, patch, update, watch | +| zen.cpd.ibm.com | zenextension/status | apply, create, delete, edit, get, list, patch, update, watch | +| zen.cpd.ibm.com | zenextensions/status | apply, create, delete, edit, get, list, patch, update, watch | diff --git a/docs/catalogs/packages/isf-operator/2.12.0.md b/docs/catalogs/packages/isf-operator/2.12.0.md new file mode 100644 index 00000000000..f3c72b64825 --- /dev/null +++ b/docs/catalogs/packages/isf-operator/2.12.0.md @@ -0,0 +1,366 @@ +extra_breadcrumb_title_1: Operator Catalog +extra_breadcrumb_title_2: IBM Maximo Operator Catalog +extra_breadcrumb_url_2: ../../../ +nav_title: Operator Catalog + +IBM Storage Fusion v2.12.0 +================================================================================ + +Install Modes +-------------------------------------------------------------------------------- +| Mode | Supported | +| :------------------- | :-------- | +| OwnNamespace | True | +| SingleNamespace | True | +| MultiNamespace | False | +| AllNamespaces | False | + +Service Accounts +-------------------------------------------------------------------------------- +No service accounts + +Cluster Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | persistentvolumeclaims | create, delete, get, list, patch, update, watch | +| "" | services | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes | create, delete, get, list, patch, update, watch | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | events | create, delete, get, list, patch, update, watch | +| "" | namespaces | create, delete, get, list, patch, update, watch | +| "" | nodes | create, delete, get, list, patch, update, watch | +| "" | pods | create, delete, get, list, patch, update, watch | +| "" | pvc | create, delete, get, list, patch, update, watch | +| "" | secrets | create, delete, get, list, patch, update, watch | +| "" | serviceaccounts | create, delete, get, list, patch, update, watch | +| "" | pods/exec | create, get | +| "" | leases | create, delete, get, list, patch, update, watch | +| "" | persistentvolumes/finalizers | update | +| "" | persistentvolumes/status | get, patch, update | +| "" | endpoints | get, list, watch | +| "" | namespaces/finalizers | update | +| "" | namespaces/status | get, patch, update | +| "" | serviceaccounts/token | create, get, list | +| "" | nodes/finalizers | update | +| "" | nodes/status | get, patch, update | +| "" | persistentvolumeclaims/finalizers | update | +| "" | persistentvolumeclaims/status | get, patch, update | +| "" | pods/finalizers | update | +| "" | pods/status | get, patch, update | +| "" | secrets/finalizers | update | +| "" | secrets/status | get, patch, update | +| "" | pods/log | get, list | +| application.isf.ibm.com | applications | create, delete, get, list, patch, update, watch | +| application.isf.ibm.com | applications/finalizers | update | +| application.isf.ibm.com | applications/status | get, patch, update | +| application.isf.ibm.com | clusters | create, delete, get, list, patch, update, watch | +| application.isf.ibm.com | clusters/finalizers | patch, update | +| application.isf.ibm.com | clusters/status | get, patch, update | +| application.isf.ibm.com | connections | create, delete, get, list, patch, update, watch | +| application.isf.ibm.com | connections/finalizers | update | +| application.isf.ibm.com | connections/status | get, patch, update | +| apps | deployments | create, delete, get, list, patch, update, watch | +| apps | * | create, delete, get, list, patch, update, watch | +| apps | statefulsets | create, delete, get, list, update, watch | +| apps | daemonsets | get, list, watch | +| apps | replicasets | get, list, watch | +| authorization.openshift.io | clusterrolebindings | get, list, watch | +| authorization.openshift.io | rolebindings | list | +| ceph.rook.io | cephclusters | list, watch | +| ceph.rook.io | cephclusters/status | get | +| certificates.k8s.io | certificatesigningrequests | create, get, list, patch, update, watch | +| certificates.k8s.io | certificatesigningrequests/approval | get, list, update, watch | +| certificates.k8s.io | signers | approve, get, list, watch | +| certificates.k8s.io | certificatesigningrequests/status | create, get, list, update, watch | +| cluster.open-cluster-management.io | managedclusters | list | +| cns.isf.ibm.com | encryptionclients | create, delete, get, list, patch, update, watch | +| cns.isf.ibm.com | encryptionservers | create, delete, get, list, patch, update, watch | +| cns.isf.ibm.com | scaleclusters | create, delete, get, list, patch, update, watch | +| cns.isf.ibm.com | scaleclusters/finalizers | update | +| cns.isf.ibm.com | scaleclusters/status | get, patch, update | +| cns.isf.ibm.com | sncfilesystems | create, delete, get, list, patch, update, watch | +| cns.isf.ibm.com | scalemanagers | create, delete, get, list, patch, update, watch | +| cns.isf.ibm.com | encryptionclients/finalizers | update | +| cns.isf.ibm.com | encryptionservers/finalizers | update | +| cns.isf.ibm.com | scalemanagers/finalizers | update | +| cns.isf.ibm.com | encryptionclients/status | get, patch, update | +| cns.isf.ibm.com | encryptionservers/status | get, patch, update | +| cns.isf.ibm.com | scalemanagers/status | get, patch, update | +| cns.isf.ibm.com | * | create, get, list, patch, update, watch | +| config.openshift.io | clusterversions | get, list, patch, update, watch | +| config.openshift.io | infrastructures | get, list, watch | +| config.openshift.io | ingresses | get | +| config.openshift.io | * | create, delete, get, list, patch, update, watch | +| config.openshift.io | clusteroperators | get, list, watch | +| config.openshift.io | clusteroperators/finalizers | update | +| config.openshift.io | clusteroperators/status | get, list, watch | +| config.openshift.io | clusterversions/status | get, patch, update | +| config.openshift.io | proxies | get, list, watch | +| config.openshift.io | proxies/finalizers | update | +| config.openshift.io | proxies/status | get, list, watch | +| configuration.isf.ibm.com | computeconfigurations | create, delete, get, list, patch, update, watch | +| console.openshift.io | consoleplugins | create, delete, get, list, update, watch | +| console.openshift.io | * | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | configmaps | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | secrets | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | backuppolicies | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | backuppolicies/finalizers | update | +| data-protection.isf.ibm.com | backuppolicies/status | get, patch, update | +| data-protection.isf.ibm.com | backups | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | backups/finalizers | update | +| data-protection.isf.ibm.com | backups/status | get, patch, update | +| data-protection.isf.ibm.com | backupstoragelocations | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | backupstoragelocations/finalizers | update | +| data-protection.isf.ibm.com | backupstoragelocations/status | get, patch, update | +| data-protection.isf.ibm.com | deletebackuprequests | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | policyassignments | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | policyassignments/finalizers | update | +| data-protection.isf.ibm.com | policyassignments/status | get, patch, update | +| data-protection.isf.ibm.com | restores | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | restores/finalizers | update | +| data-protection.isf.ibm.com | restores/status | get, patch, update | +| data-protection.isf.ibm.com | deletebackuprequests/status | get, patch, update | +| data-protection.isf.ibm.com | recoverbackupcrs/status | get, patch, update | +| data-protection.isf.ibm.com | transforms/status | get, patch, update | +| data-protection.isf.ibm.com | recoverbackupcrs | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | transforms | create, delete, get, list, patch, update, watch | +| data-protection.isf.ibm.com | deletebackuprequests/finalizers | update | +| data-protection.isf.ibm.com | recoverbackupcrs/finalizers | update | +| data-protection.isf.ibm.com | transforms/finalizers | update | +| dataprotection.isf.ibm.com | metrodrdataprotections | create, delete, get, list, patch, update, watch | +| dataprotectionserver.idp.ibm.com | dataprotectionservers | get, list, watch | +| firmware.isf.ibm.com | computefirmwares | get, list, patch, update, watch | +| firmware.isf.ibm.com | computefirmwares/status | get, patch, update | +| init.isf.ibm.com | networkinits | create, get, list, update | +| initialization.isf.ibm.com | computeinits | get, list, patch, update, watch | +| initialization.isf.ibm.com | computeinits/status | get, patch, update | +| install.isf.ibm.com | computeprovisionworkers | create, delete, get, list, patch, update, watch | +| install.isf.ibm.com | storagesetups | create, delete, get, list, patch, update, watch | +| install.isf.ibm.com | computeprovisionworkers/finalizers | update | +| install.isf.ibm.com | computeprovisionworkers/status | get, patch, update | +| local.storage.openshift.io | localvolumediscoveries | get, list | +| local.storage.openshift.io | localvolumediscoveryresults | create, delete, get, list, update, watch | +| local.storage.openshift.io | * | create, delete, get, list, patch, update, watch | +| local.storage.openshift.io | localvolumes | create, delete, get, list, update, watch | +| local.storage.openshift.io | localvolumesets | create, delete, get, list, update, watch | +| local.storage.openshift.io | localvolumes/status | get, update | +| local.storage.openshift.io | localvolumesets/status | get, update | +| maintenance.isf.ibm.com | computemaintenances | create, delete, get, list, patch, update, watch | +| metrodr.isf.ibm.com | metrodrinits | create, delete, get, list, patch, update, watch | +| metrodr.isf.ibm.com | metrodrinits/finalizers | update | +| metrodr.isf.ibm.com | metrodrinits/status | get | +| metrodr.isf.ibm.com | metrodrs | create, delete, get, list, patch, update, watch | +| metrodr.isf.ibm.com | * | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isfconsoleplugins | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isfconsoleplugins/finalizers | update | +| mgmtsft.isf.ibm.com | isfconsoleplugins/status | get, patch, update | +| mgmtsft.isf.ibm.com | isfproxydeps | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isfproxydeps/finalizers | update | +| mgmtsft.isf.ibm.com | isfproxydeps/status | get, patch, update | +| mgmtsft.isf.ibm.com | isfuideps | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isfuideps/finalizers | update | +| mgmtsft.isf.ibm.com | isfuideps/status | get, patch, update | +| mgmtsft.isf.ibm.com | isfchdeps | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isfchdeps/finalizers | update | +| mgmtsft.isf.ibm.com | isfchdeps/status | get, patch, update | +| mgmtsft.isf.ibm.com | isfemdeps | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isfemdeps/finalizers | update | +| mgmtsft.isf.ibm.com | isfemdeps/status | get, patch, update | +| mgmtsft.isf.ibm.com | isflcdeps | create, delete, get, list, patch, update, watch | +| mgmtsft.isf.ibm.com | isflcdeps/finalizers | update | +| mgmtsft.isf.ibm.com | isflcdeps/status | get, patch, update | +| monitor.isf.ibm.com | systemhealths | create, delete, get, list, patch, update, watch | +| monitor.isf.ibm.com | nodeconfigs | create, delete, get, list, patch, update, watch | +| monitor.isf.ibm.com | nodeconfigs/finalizers | update | +| monitor.isf.ibm.com | nodeconfigs/status | get, patch, update | +| monitoring.coreos.com | prometheuses/api | create, get | +| monitoring.coreos.com | servicemonitors | create, delete, get, list, update, watch | +| monitoring.coreos.com | * | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | prometheusrules | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | alertmanagers | create, get, list, update | +| monitoring.coreos.com | alertmanagers/api | create, get, list, update | +| monitoring.coreos.com | podmonitors | get, list, watch | +| monitoring.coreos.com | probes | get, list, watch | +| monitoring.coreos.com | prometheuses | get, list, watch | +| monitoring.isf.ibm.com | computemonitorings | create, delete, get, list, patch, update, watch | +| monitoring.isf.ibm.com | computemonitorings/status | get, patch, update | +| network.isf.ibm.com | links | create, delete, get, list, patch, update, watch | +| network.isf.ibm.com | switches | create, delete, get, list, patch, update, watch | +| network.isf.ibm.com | switchlinks | get, list | +| network.isf.ibm.com | switchvlans | get, list | +| network.isf.ibm.com | switchupgrades | get, list, patch, update, watch | +| network.isf.ibm.com | vlans | create, delete, get, list, patch, update, watch | +| network.isf.ibm.com | switches/status | get, patch, update | +| network.isf.ibm.com | switchupgrades/status | get, patch, update | +| networking.k8s.io | networkpolicies | create, delete, get, list, patch, update, watch | +| oauth.openshift.io | oauthclients | create, delete, get, list, patch, update, watch | +| oauth.openshift.io | * | create, delete, get, list, patch, update, watch | +| ocs.openshift.io | storageclusters | create, delete, get, list, patch, update, watch | +| ocs.openshift.io | storageclusters/status | get, patch, update | +| ocs.openshift.io | storageclients | create, delete, get, list, update, watch | +| ocs.openshift.io | storageclusters/finalizers | update | +| ocs.openshift.io | ocsinitializations | create, delete, get, list, update, watch | +| ocs.openshift.io | storageclaims | create, delete, get, list, update, watch | +| ocs.openshift.io | storageclassclaims | create, delete, get, list, update, watch | +| ocs.openshift.io | storageprofiles | create, delete, get, list, update, watch | +| ocs.openshift.io | storageclaims/status | get, update | +| ocs.openshift.io | storageclassclaims/status | get, update | +| ocs.openshift.io | storageclients/status | get, update | +| ocs.openshift.io | storageprofiles/status | get, update | +| odf.isf.ibm.com | odfclusters | create, delete, get, list, patch, update, watch | +| odf.isf.ibm.com | odfclusters/status | get, patch, update | +| odf.isf.ibm.com | odfmanagers | create, delete, get, list, patch, update, watch | +| odf.isf.ibm.com | odfmanagers/status | create, delete, get, list, patch, update, watch | +| odf.isf.ibm.com | odfmanagers/finalizers | create, delete, get, list, patch, update, watch | +| odf.isf.ibm.com | odfclusters/finalizers | update | +| odf.isf.ibm.com | odfmanager | get, list, watch | +| odf.isf.ibm.com | odfmanager/finalizers | update | +| odf.isf.ibm.com | odfmanager/status | get, list, watch | +| operator.openshift.io | consoles | get, list, patch, update, watch | +| operator.openshift.io | networks | get, list, patch, update, watch | +| operator.openshift.io | * | create, delete, get, list, patch, update, watch | +| operators.coreos.com | clusterserviceversions | get, list | +| operators.coreos.com | * | create, delete, get, list, patch, update, watch | +| operators.coreos.com | subscriptions | create, delete, get, list, patch, update, watch | +| operators.coreos.com | subscriptions/finalizers | update | +| operators.coreos.com | subscriptions/status | get, patch, update | +| powerop.isf.ibm.com | computepowerops | create, delete, get, list, patch, update, watch | +| prereq.isf.ibm.com | spectrumfusions | create, delete, get, list, patch, update, watch | +| prereq.isf.ibm.com | spectrumfusions/finalizers | update | +| prereq.isf.ibm.com | spectrumfusions/status | get, patch, update | +| project.openshift.io | projects | create, delete, get, list, patch, update, watch | +| rackimport.isf.ibm.com | rackinfoes | get, list, patch, update | +| rbac.authorization.k8s.io | clusterrolebindings | *, create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | rolebindings | create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | * | * | +| rbac.authorization.k8s.io | clusterroles | *, create, delete, get, list, patch, update, watch | +| rbac.authorization.k8s.io | roles | create, delete, get, list, patch, update, watch | +| rdr.isf.ibm.com | regionaldrs | create, get, list, update, watch | +| route.openshift.io | routes | create, delete, get, list, patch, update, watch | +| route.openshift.io | * | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | callhomes | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | clusters | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | encryptionconfigs | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | filesystems | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | remoteclusters | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | * | create, delete, get, list, patch, update, watch | +| scale.spectrum.ibm.com | daemons | get, list, watch | +| service.isf.ibm.com | fusionservicedefinitions | create, delete, get, list, patch, update, watch | +| service.isf.ibm.com | fusionserviceinstances | create, delete, get, list, patch, update, watch | +| service.isf.ibm.com | fusionservicedefinitions/finalizers | update | +| service.isf.ibm.com | fusionservicedefinitions/status | get, patch, update | +| service.isf.ibm.com | fusionserviceinstances/finalizers | update | +| service.isf.ibm.com | fusionserviceinstances/status | get, patch, update | +| service.isf.ibm.com | * | create, get, list, patch, update, watch | +| storage.isf.ibm.com | scales | create, delete, get, list, patch, update, watch | +| storage.isf.ibm.com | nodes | create, delete, get, list, patch, update, watch | +| storage.isf.ibm.com | scales/status | get, list, watch | +| storage.isf.ibm.com | * | create, get, list, patch, update, watch | +| storage.isf.ibm.com | nodes/finalizers | update | +| storage.isf.ibm.com | nodes/status | get, list, patch, update, watch | +| storage.k8s.io | storageclasses | create, delete, get, list, patch, update, watch | +| storage.k8s.io | * | create, delete, get, list, patch, update, watch | +| systemhealth.isf.ibm.com | healthmanagers | create, delete, get, list, patch, update, watch | +| systemhealth.isf.ibm.com | healthmanagers/finalizers | update | +| systemhealth.isf.ibm.com | healthmanagers/status | get, patch, update | +| update.isf.ibm.com | updatemanagers | create, delete, get, list, patch, update, watch | +| update.isf.ibm.com | updatemanagers/finalizers | update | +| update.isf.ibm.com | updatemanagers/status | get, patch, update | +| cas.isf.ibm.com | datasources | create, delete, get, list, patch, update, watch | +| cas.isf.ibm.com | datasources/finalizers | update | +| cas.isf.ibm.com | datasources/status | get, patch, update | +| cas.isf.ibm.com | documentprocessors | create, delete, get, list, patch, update, watch | +| cas.isf.ibm.com | documentprocessors/finalizers | update | +| cas.isf.ibm.com | documentprocessors/status | get, patch, update | +| cas.isf.ibm.com | domains | create, delete, get, list, patch, update, watch | +| cas.isf.ibm.com | domains/finalizers | update | +| cas.isf.ibm.com | domains/status | get, patch, update | +| cas.isf.ibm.com | casresourceaccesscontrols | create, delete, get, list, patch, update, watch | +| cas.isf.ibm.com | casresourceaccesscontrols/status | get | +| cas.isf.ibm.com | identityproviders | create, delete, get, list, patch, update, watch | +| cas.isf.ibm.com | identityproviders/status | get | +| cas.isf.ibm.com | casinstalls | get, list, update, watch | +| cas.isf.ibm.com | * | create, delete, get, list, patch, update, watch | +| cas.isf.ibm.com | */finalizers | get, list, update | +| cas.isf.ibm.com | */status | get, patch, update | +| hypershift.openshift.io | nodepools | list | +| hypershift.openshift.io | hostedcontrolplanes | list | +| hypershift.openshift.io | hostedclusters | get, list, update | +| agent-install.openshift.io | agents | list | +| capi-provider.agent-install.openshift.io | agentmachines | get | +| discovery.k8s.io | endpointslices | get, list, watch | +| discovery.k8s.io | * | create, delete, get, list, patch, update, watch | +| authentication.k8s.io | tokenreviews | create | +| authentication.k8s.io | * | create, delete, get, list, patch, update, watch | +| authentication.k8s.io | subjectaccessreviews | create | +| authorization.k8s.io | subjectaccessreviews | create | +| authorization.k8s.io | * | create, delete, get, list, patch, update, watch | +| * | * | *, get, list | +| admissionregistration.k8s.io | * | *, create, delete, get, list, patch, update, watch | +| apiextensions.k8s.io | customresourcedefinitions | create, delete, get, list, patch, update, watch | +| apiextensions.k8s.io | customresourcedefinitions/status | get, patch, update | +| konveyor.openshift.io | * | create, delete, get, list, patch, update, watch | +| machineconfiguration.openshift.io | containerruntimeconfigs | create, delete, get, list, patch, update, watch | +| machineconfiguration.openshift.io | machineconfigs | create, delete, get, list, patch, update, watch | +| machineconfiguration.openshift.io | kubeletconfigs | create, delete, get, list, patch, update, watch | +| machineconfiguration.openshift.io | machineconfigpools | create, delete, get, list, patch, update, watch | +| machineconfiguration.openshift.io | machineconfigpools/finalizers | update | +| machineconfiguration.openshift.io | machineconfigpools/status | get, list, watch | +| operator.ibm.com | ibmusagemeterings | create, delete, get, list, patch, update, watch | +| operator.ibm.com | ibmusagemeterings/finalizers | update | +| operator.ibm.com | ibmusagemeterings/status | get, patch, update | +| operator.ibm.com | commonservices | get, list, watch | +| operator.ibm.com | namespacescopes | get, list, watch | +| operator.ibm.com | operandrequests | get, list | +| csi.ibm.com | * | * | +| security.openshift.io | * | * | +| security.openshift.io | securitycontextconstraints | use | +| coordination | * | create, delete, get, list, patch, update, watch | +| packages.operators.coreos.com | * | create, delete, get, list, patch, update, watch | +| policy | * | create, delete, get, list, patch, update, watch | +| policy | poddisruptionbudgets | create, delete, get, list, patch, update, watch | +| policy | poddisruptionbudgets/finalizers | update | +| policy | poddisruptionbudgets/status | get, patch, update | +| csi.ceph.io | drivers | get, list, patch, update, watch | +| lvm.topolvm.io | lvmclusters | create, delete, get, list, patch, update, watch | +| lvm.topolvm.io | lvmclusters/status | create, delete, get, list, patch, update, watch | +| lvm.topolvm.io | lvmclusters/finalizers | update | +| snapshot.storage.k8s.io | volumesnapshotclasses | create, delete, get, list, patch, update, watch | +| ramendr.openshift.io | volumereplicationgroups | get, list, watch | +| spp-data-protection.isf.ibm.com | recipes | get, list, watch | +| zen.cpd.ibm.com | zenservices | get, list | +| batch | jobs | get, list, watch | +| batch | jobs/status | get, list, watch | +| batch | cronjobs | create, delete, get, list, update, watch | +| dataprotectionagent.idp.ibm.com | dataprotectionagents | get, list, watch | +| kubevirt.io | virtualmachines | get, list, watch | +| kubevirt.io | virtualmachines/finalizers | update | +| kubevirt.io | virtualmachines/status | get, list, watch | +| nmstate.io | nodenetworkstates | get, list, watch | +| nmstate.io | nodenetworkstates/finalizers | update | +| nmstate.io | nodenetworkstates/status | get, list, watch | +| events.k8s.io | events | get, list, watch | +| k8s.cni.cncf.io | network-attachment-definitions | get, list | +| metrics.k8s.io | nodes | get, list, watch | +| machine.openshift.io | machinesets | create, get, list, update, watch | +| metal3.io | baremetalhosts | create, get, list, update, watch | +| user.openshift.io | groups | get, list, watch | +| user.openshift.io | users | get, list, watch | + +Namespace Permissions +-------------------------------------------------------------------------------- +| Group | Resource | Verbs | +| :--------------------------------------- | :--------------------------------------- | :------------------------------------------------------------------------------- | +| "" | configmaps | create, delete, get, list, patch, update, watch | +| "" | leases | create, delete, get, list, patch, update, watch | +| "" | events | create, patch | +| "" | pods | list | +| "" | pods/log | get, list, watch | +| "" | serviceaccounts | create, get | +| "" | secrets | create, delete, get, update | +| "" | serviceaccounts/token | create, get, list | +| coordination.k8s.io | configmaps | create, delete, get, list, patch, update, watch | +| coordination.k8s.io | leases | create, delete, get, list, patch, update, watch | +| monitoring.coreos.com | servicemonitors | create, get | diff --git a/docs/catalogs/v8-220717-amd64.md b/docs/catalogs/v8-220717-amd64.md index ca96bd85ea6..4be9c16f269 100644 --- a/docs/catalogs/v8-220717-amd64.md +++ b/docs/catalogs/v8-220717-amd64.md @@ -69,7 +69,7 @@ IBM Maximo Application Suite will run anywhere that you can run a supported Open - User Data Services (UDS) is supported on Linux® x86_64 and OpenShift Container Platform versions 4.6, 4.7 and 4.8 only. - DB2, which is installed with ibm-db2u-operator, is supported on OpenShift Container Platform versions 4.6, 4.7, 4.8, and 4.9 only. -Manifest +Package Manifest ------------------------------------------------------------------------------- ### IBM Maximo Application Suite diff --git a/docs/catalogs/v8-220805-amd64.md b/docs/catalogs/v8-220805-amd64.md index af1050410b2..1c0f85963c6 100644 --- a/docs/catalogs/v8-220805-amd64.md +++ b/docs/catalogs/v8-220805-amd64.md @@ -70,7 +70,7 @@ IBM Maximo Application Suite will run anywhere that you can run a supported Open - DB2, which is installed with ibm-db2u-operator, is supported on OpenShift Container Platform versions 4.6, 4.7, 4.8, and 4.9 only. -Manifest +Package Manifest ------------------------------------------------------------------------------- ### IBM Maximo Application Suite diff --git a/docs/catalogs/v8-220927-amd64.md b/docs/catalogs/v8-220927-amd64.md index da5f7bdc22d..0c5bf7a4cb0 100644 --- a/docs/catalogs/v8-220927-amd64.md +++ b/docs/catalogs/v8-220927-amd64.md @@ -74,7 +74,7 @@ IBM Maximo Application Suite will run anywhere that you can run a supported Open - DB2, which is installed with ibm-db2u-operator, is supported on OpenShift Container Platform versions 4.6, 4.7, 4.8, and 4.9 only. -Manifest +Package Manifest ------------------------------------------------------------------------------- ### IBM Maximo Application Suite diff --git a/docs/catalogs/v8-221025-amd64.md b/docs/catalogs/v8-221025-amd64.md index c72e3d1e15c..e64500dcd89 100644 --- a/docs/catalogs/v8-221025-amd64.md +++ b/docs/catalogs/v8-221025-amd64.md @@ -73,7 +73,7 @@ IBM Maximo Application Suite will run anywhere that you can run a supported Open - User Data Services (UDS) is supported on Linux® x86_64 and OpenShift Container Platform versions 4.6-4.10 only. - DB2, which is installed with ibm-db2u-operator, is supported on OpenShift Container Platform versions 4.6-4.9 only. -Manifest +Package Manifest ------------------------------------------------------------------------------- ### IBM Maximo Application Suite diff --git a/docs/catalogs/v8-221129-amd64.md b/docs/catalogs/v8-221129-amd64.md index 0a9f8878799..9cfc23f94e0 100644 --- a/docs/catalogs/v8-221129-amd64.md +++ b/docs/catalogs/v8-221129-amd64.md @@ -79,7 +79,7 @@ IBM Maximo Application Suite will run anywhere that you can run a supported Open - User Data Services (UDS) is supported on Linux® x86_64 and OpenShift Container Platform versions 4.6-4.10 only. - DB2, which is installed with ibm-db2u-operator, is supported on OpenShift Container Platform versions 4.6-4.9 only. -Manifest +Package Manifest ------------------------------------------------------------------------------- ### IBM Maximo Application Suite diff --git a/docs/catalogs/v8-221228-amd64.md b/docs/catalogs/v8-221228-amd64.md index 7cff3a8736c..608fdbe49f5 100644 --- a/docs/catalogs/v8-221228-amd64.md +++ b/docs/catalogs/v8-221228-amd64.md @@ -76,7 +76,7 @@ IBM Maximo Application Suite will run anywhere that you can run a supported Open - User Data Services (UDS) is supported on Linux® x86_64 and OpenShift Container Platform versions 4.8-4.10 only. - DB2, which is installed with ibm-db2u-operator, is supported on OpenShift Container Platform versions 4.8 and 4.10 only. -Manifest +Package Manifest ------------------------------------------------------------------------------- ### IBM Maximo Application Suite diff --git a/docs/catalogs/v8-230414-amd64.md b/docs/catalogs/v8-230414-amd64.md index fe88622a174..56a705d685f 100644 --- a/docs/catalogs/v8-230414-amd64.md +++ b/docs/catalogs/v8-230414-amd64.md @@ -6,18 +6,9 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230414) =============================================================================== -Details -------------------------------------------------------------------------------- +:::mas-catalog-details - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230414-amd64
Digestsha256:4e7a81ee11bd0667f1cadc1ea1da44865e412fb0597186cfc8baa9ceb3015592
- -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230414-amd64.yaml` +:::mas-catalog-install !!! warning This catalog is only certified for use on OpenShift Container Platform versions 4.8, 4.9, & 4.10, which have all reached end of support as of **September 10th, 2023**. For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/) @@ -26,22 +17,7 @@ Manual Installation This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230414-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:4e7a81ee11bd0667f1cadc1ea1da44865e412fb0597186cfc8baa9ceb3015592 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230518-amd64.md b/docs/catalogs/v8-230518-amd64.md index a3492c1263e..5c31eac0c0b 100644 --- a/docs/catalogs/v8-230518-amd64.md +++ b/docs/catalogs/v8-230518-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230518) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230518-amd64
Digestsha256:14cba8ea86a045901cc506f260e4f7aaa5d7a60a1922b927c30353f55e1c5cec
+:::mas-catalog-details !!! warning There is a known issue with image digests for Maximo Monitor v8.10.1. If you have installed Monitor using the 8.10.x channel it is recommended that you skip this catalog update and move directly to the [May 26 Catalog Update](v8-230526-amd64.md) which provides a fix for this issue in Monitor v8.10.2. This issue does not affect Monitor v8.9.5. @@ -25,27 +18,10 @@ Details This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230518-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230518-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:14cba8ea86a045901cc506f260e4f7aaa5d7a60a1922b927c30353f55e1c5cec - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230526-amd64.md b/docs/catalogs/v8-230526-amd64.md index b7fc5940436..e7d1b9aee1b 100644 --- a/docs/catalogs/v8-230526-amd64.md +++ b/docs/catalogs/v8-230526-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230526) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230526-amd64
Digestsha256:bdae03cfd469399d29a962448dcf790dcf81d309c4bc233637c3acecf228aa1f
+:::mas-catalog-details !!! warning This catalog is only certified for use on OpenShift Container Platform version 4.10, which reached end of support as of **September 10th, 2023**. For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/) @@ -22,27 +15,10 @@ Details This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230526-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230526-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:bdae03cfd469399d29a962448dcf790dcf81d309c4bc233637c3acecf228aa1f - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230616-amd64.md b/docs/catalogs/v8-230616-amd64.md index 908ad3744d9..848d0a87af1 100644 --- a/docs/catalogs/v8-230616-amd64.md +++ b/docs/catalogs/v8-230616-amd64.md @@ -6,40 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230616) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230616-amd64
Digestsha256:cb0a38132a1e16964d9aa9b7eb5d247543df5feea218bb1100757290a07bc042
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230616-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230616-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:cb0a38132a1e16964d9aa9b7eb5d247543df5feea218bb1100757290a07bc042 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230627-amd64.md b/docs/catalogs/v8-230627-amd64.md index 4f9c6f3ff66..e4450c73952 100644 --- a/docs/catalogs/v8-230627-amd64.md +++ b/docs/catalogs/v8-230627-amd64.md @@ -6,40 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230627) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230627-amd64
Digestsha256:42891d978163c24737f799ed870ad340f5b3e6cd9b14644eaf1c5810ed5ef7cf
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230627-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230627-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:42891d978163c24737f799ed870ad340f5b3e6cd9b14644eaf1c5810ed5ef7cf - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230721-amd64.md b/docs/catalogs/v8-230721-amd64.md index 667e8c869b0..853bea40c87 100644 --- a/docs/catalogs/v8-230721-amd64.md +++ b/docs/catalogs/v8-230721-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230721) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230721-amd64
Digestsha256:200df0fe4723d2ec40433be5793ee3afe341f966f66b7acaa1fb43b412c90848
+:::mas-catalog-details !!! note This catalog is a republish of the [v8-230627-amd64](v8-230627-amd64.md) catalog, it introduces only one new package - IBM User Data Services v2.0.11 - to fix a critical defect related to support for a recent update of Crunchy Postgres in the Red Hat Certified Operator Catalog. For more information refer to [ibm-mas/ansible-devops#916](https://github.com/ibm-mas/ansible-devops/issues/916). @@ -24,27 +17,10 @@ Details This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230721-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230721-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:200df0fe4723d2ec40433be5793ee3afe341f966f66b7acaa1fb43b412c90848 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230725-amd64.md b/docs/catalogs/v8-230725-amd64.md index a104acf5979..0c5b69525da 100644 --- a/docs/catalogs/v8-230725-amd64.md +++ b/docs/catalogs/v8-230725-amd64.md @@ -6,40 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230725) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230725-amd64
Digestsha256:f0776894d5b584bfdd10c3de2f5e586ddafdaca9b247d13ef05dc23fe98cfe2a
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230725-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230725-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:f0776894d5b584bfdd10c3de2f5e586ddafdaca9b247d13ef05dc23fe98cfe2a - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230829-amd64.md b/docs/catalogs/v8-230829-amd64.md index cd257b195c0..4e00957f36a 100644 --- a/docs/catalogs/v8-230829-amd64.md +++ b/docs/catalogs/v8-230829-amd64.md @@ -6,40 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230829) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230829-amd64
Digestsha256:ecc076b3219db96ed78faac32c815282515d830bc5c6025268be96ca15618f7e
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230829-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230829-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:ecc076b3219db96ed78faac32c815282515d830bc5c6025268be96ca15618f7e - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-230926-amd64.md b/docs/catalogs/v8-230926-amd64.md index c5158402259..bbaa9c5fcd2 100644 --- a/docs/catalogs/v8-230926-amd64.md +++ b/docs/catalogs/v8-230926-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (230926) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-230926-amd64
Digestsha256:b3ad0d8d20eee9c7e48ba93b956a4f452e48ba0a648e76c39100c352f2cb6537
+:::mas-catalog-details !!! warning We strongly discourage use of this catalog. An emergency fix was issues for the `ibm-mas` package in the [v8-231004-amd64](v8-231004-amd64.md) catalog due to a serious bug in the `8.11.0` version included in this catalog. @@ -22,27 +15,10 @@ Details This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-230926-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-230926-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:b3ad0d8d20eee9c7e48ba93b956a4f452e48ba0a648e76c39100c352f2cb6537 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support diff --git a/docs/catalogs/v8-231004-amd64.md b/docs/catalogs/v8-231004-amd64.md index 0644f0ca1a7..0d3ef05bd93 100644 --- a/docs/catalogs/v8-231004-amd64.md +++ b/docs/catalogs/v8-231004-amd64.md @@ -37,27 +37,10 @@ Details -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-231004-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-231004-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:32b28d56327215dcab58664f10987b3e961c0ee9630744b9f66b710e9d879dca - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support diff --git a/docs/catalogs/v8-231031-amd64.md b/docs/catalogs/v8-231031-amd64.md index 0a3269d3d2e..69419940b08 100644 --- a/docs/catalogs/v8-231031-amd64.md +++ b/docs/catalogs/v8-231031-amd64.md @@ -37,27 +37,10 @@ Details -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-231031-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-231031-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:31f0f52a55cc97e7d6c80b844c1d13791efa303eeca87b41954dd2ab67d75378 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-231128-amd64.md b/docs/catalogs/v8-231128-amd64.md index eb2a1f2f3f0..baedcfe99be 100644 --- a/docs/catalogs/v8-231128-amd64.md +++ b/docs/catalogs/v8-231128-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (231128) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-231128-amd64
Digestsha256:e9f2439166ee18b540b8fc4484e3df5235bfaf7293dadd181b5755c3c79c602a
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) @@ -29,27 +22,10 @@ What's New - IBM Maximo Monitor v8.10 and v8.11 - MongoDb Community Edition -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-231128-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-231128-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:e9f2439166ee18b540b8fc4484e3df5235bfaf7293dadd181b5755c3c79c602a - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-231228-amd64.md b/docs/catalogs/v8-231228-amd64.md index c65dc41a511..0ac2ef48f2b 100644 --- a/docs/catalogs/v8-231228-amd64.md +++ b/docs/catalogs/v8-231228-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (231228) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-231228-amd64
Digestsha256:431656fe80e0d565d9b130bb53e6ef12ec0370e3422975f6f4ddbfe95f728cda
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) @@ -30,27 +23,10 @@ What's New - MongoDb Community Edition -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-231228-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-231228-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:431656fe80e0d565d9b130bb53e6ef12ec0370e3422975f6f4ddbfe95f728cda - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-240130-amd64.md b/docs/catalogs/v8-240130-amd64.md index 89b4a1cd3fa..360e9ac888f 100644 --- a/docs/catalogs/v8-240130-amd64.md +++ b/docs/catalogs/v8-240130-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (240130) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-240130-amd64
Digestsha256:7944a630ce47776338238717cb04ff98e1faf90087fd339708a0785c683326ca
+:::mas-catalog-details !!! warning This release of the catalog is no longer supported due to the shutdown of IBM User Data Services, the first operator catalog release that supports it's replacement (IBM Data Reporter Operator) is the [February 2024 update](v8-240227-amd64.md) @@ -42,27 +35,10 @@ What's New No action is required to register Crunchy Postgres. In the February 2024 update this dependency will be eliminated entirely by the introduction of **IBM Data Reporter Operator** (DRO) as a replacement for UDS. We recommend customers pick up this update as soon as it becomes available rather than registering for Postgres updates. -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-240130-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-240130-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:7944a630ce47776338238717cb04ff98e1faf90087fd339708a0785c683326ca - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-240227-amd64.md b/docs/catalogs/v8-240227-amd64.md index f5e3d8dcfac..d6de28b1230 100644 --- a/docs/catalogs/v8-240227-amd64.md +++ b/docs/catalogs/v8-240227-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (240227) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-240227-amd64
Digestsha256:8a2f2226b4aa47d42ccb564083d2a6e365fc4b116fb9a82ea83e269383a1efa1
+:::mas-catalog-details What's New @@ -38,27 +31,10 @@ What's New - [DT260685](https://www.ibm.com/mysupport/aCI3p0000008e2y) - The API v2/bulk/users/manageuseridmigrate fails with status 413 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-240227-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-240227-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:8a2f2226b4aa47d42ccb564083d2a6e365fc4b116fb9a82ea83e269383a1efa1 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-240326-amd64.md b/docs/catalogs/v8-240326-amd64.md index 8badd2c8188..90a52679dc3 100644 --- a/docs/catalogs/v8-240326-amd64.md +++ b/docs/catalogs/v8-240326-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (240326) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-240326-amd64
Digestsha256:9c891bb6fa8496e1ef514d29b253bf5b1e817fe95963f6e536170688aa95f1d2
+:::mas-catalog-details !!! important ibm-mas 8.11.8 in this catalog has a known issue with high severity [DT378321](https://www.ibm.com/mysupport/aCIKe0000008OiX). We are releasing `v8-240405-amd64` catalog with ibm-mas 8.11.9 to fix this issue. Please use MAS CLI versions v7.19.0 or newer to install the newer MAS 8.11.x. We advice to skip ibm-mas 8.11.8 in this catalog and use ibm-mas 8.11.9. @@ -33,27 +26,10 @@ What's New - [DT364099](https://www.ibm.com/mysupport/aCIKe0000004CAG) - Change the permission for the API that assigns a user to a workspace -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-240326-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-240326-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:9c891bb6fa8496e1ef514d29b253bf5b1e817fe95963f6e536170688aa95f1d2 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-240405-amd64.md b/docs/catalogs/v8-240405-amd64.md index 4a280ace2c9..c4c8e851802 100644 --- a/docs/catalogs/v8-240405-amd64.md +++ b/docs/catalogs/v8-240405-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (240405) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-240405-amd64
Digestsha256:8f03470e84cad81cd5e7aaaf4bce3a08b6575d48b2d27de07c25872f73ecc59c
+:::mas-catalog-details !!! important This update resolves [DT378321](https://www.ibm.com/mysupport/aCIKe0000008OiX), an edge condition impacting LDAP sync with Extensions introduced in the March update. We advise customers to skip the [March catalog update](https://ibm-mas.github.io/cli/catalogs/v8-240326-amd64/) and go direct to this one. @@ -25,27 +18,10 @@ What's New - [DT378321](https://www.ibm.com/mysupport/aCIKe0000008OiX) - Default Extension field missing from 8.11.8 LDAP sync -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-240405-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-240405-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:8f03470e84cad81cd5e7aaaf4bce3a08b6575d48b2d27de07c25872f73ecc59c - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-240430-amd64.md b/docs/catalogs/v8-240430-amd64.md index a04426350cf..bb3e52d202d 100644 --- a/docs/catalogs/v8-240430-amd64.md +++ b/docs/catalogs/v8-240430-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (240430) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-240430-amd64
Digestsha256:ce8e623505fbfca7fa207b341a442448b99ff44eeb527df5f3a4c687a47e47e4
+:::mas-catalog-details !!! important MAS 8.10.12 and Manage 8.6.12 are not included in the catalog as they are reserved for internal use only. @@ -34,27 +27,10 @@ What's New - Security updates in base image and python modules - [DT366044](https://www.ibm.com/mysupport/aCIKe000000GmvB) - LDAP sync is allowing adding users with empty information -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-240430-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-240430-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:ce8e623505fbfca7fa207b341a442448b99ff44eeb527df5f3a4c687a47e47e4 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v8-240528-amd64.md b/docs/catalogs/v8-240528-amd64.md index 593caed0221..9da95e0f268 100644 --- a/docs/catalogs/v8-240528-amd64.md +++ b/docs/catalogs/v8-240528-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v8 (240528) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv8-240528-amd64
Digestsha256:5ca51934b3aec978e261e6dc9704fd3d46a308010bd6c86252788d69aac3fa9f
+:::mas-catalog-details !!! important IoT 8.8.8 and 8.7.12 are not included in the catalog as they are reserved for internal use only. @@ -33,27 +26,10 @@ What's New - IBM amlen 1.1.1 - Security updates in base image and python modules -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v8-240528-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v8-240528-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:5ca51934b3aec978e261e6dc9704fd3d46a308010bd6c86252788d69aac3fa9f - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-240625-amd64.md b/docs/catalogs/v9-240625-amd64.md index 7ab111e7ff7..24bfe7738fb 100644 --- a/docs/catalogs/v9-240625-amd64.md +++ b/docs/catalogs/v9-240625-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (240625) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-240625-amd64
Digestsha256:e74f646327e728aa523199e9dfb2e95efb67385755c3ac9f0763ab6563e63843
+:::mas-catalog-details !!! important **Maximo Assist** @@ -49,27 +42,10 @@ What's New - IBM Truststore Manager v1.5 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-240625-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-240625-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:e74f646327e728aa523199e9dfb2e95efb67385755c3ac9f0763ab6563e63843 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-240730-amd64.md b/docs/catalogs/v9-240730-amd64.md index 41b741c160a..fa8dea84f08 100644 --- a/docs/catalogs/v9-240730-amd64.md +++ b/docs/catalogs/v9-240730-amd64.md @@ -6,15 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (240730) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-240730-amd64
Digestsha256:c38ceab72008bd8ae6ecb4bf8e29453e6a6e6d8ecbdb1e40b465fef401c51d56
+:::mas-catalog-details !!! important **Maximo Assist** @@ -50,27 +42,10 @@ What's New - IBM Data Dictionary v1.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-240730-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-240730-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:c38ceab72008bd8ae6ecb4bf8e29453e6a6e6d8ecbdb1e40b465fef401c51d56 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-240827-amd64.md b/docs/catalogs/v9-240827-amd64.md index aa27ac721d9..b1d69af18bc 100644 --- a/docs/catalogs/v9-240827-amd64.md +++ b/docs/catalogs/v9-240827-amd64.md @@ -6,15 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (240827) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-240827-amd64
Digestsha256:bcace8fa41d14ce1b818467243bbc8469f7538ac4bc46198139454626f99f367
+:::mas-catalog-details !!! important **Maximo Assist** @@ -41,27 +33,10 @@ What's New - IBM Data Dictionary v1.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-240827-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-240827-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:bcace8fa41d14ce1b818467243bbc8469f7538ac4bc46198139454626f99f367 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-241003-amd64.md b/docs/catalogs/v9-241003-amd64.md index 8033aad0acd..713b4e7f4e2 100644 --- a/docs/catalogs/v9-241003-amd64.md +++ b/docs/catalogs/v9-241003-amd64.md @@ -6,14 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (241003) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-241003-amd64
Digestsha256:ba2237481b2ce7407698775a71f44daaecd2db6f74855f20829ac1bceeddb3d9
+:::mas-catalog-details !!! important **Maximo Assist** @@ -38,27 +31,10 @@ What's New - IBM Data Dictionary v1.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-241003-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-241003-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:ba2237481b2ce7407698775a71f44daaecd2db6f74855f20829ac1bceeddb3d9 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-241107-amd64.md b/docs/catalogs/v9-241107-amd64.md index 970c79b9deb..86c1460bd5a 100644 --- a/docs/catalogs/v9-241107-amd64.md +++ b/docs/catalogs/v9-241107-amd64.md @@ -1,15 +1,7 @@ IBM Maximo Operator Catalog v9 (241107) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-241107-amd64
Digestsha256:2d470131ab6948d5262553547fafa1b472fa25690be5abba8719ad7493cd8911
+:::mas-catalog-details !!! important **Maximo Assist** @@ -34,27 +26,10 @@ What's New - IBM SLS v3.0 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-241107-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-241107-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:2d470131ab6948d5262553547fafa1b472fa25690be5abba8719ad7493cd8911 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-241107-s390x.md b/docs/catalogs/v9-241107-s390x.md index c780e1915b8..8e5701562ca 100644 --- a/docs/catalogs/v9-241107-s390x.md +++ b/docs/catalogs/v9-241107-s390x.md @@ -6,13 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (241107) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-241107-s390x
Digestsha256:30fa9a90569273e7f323b7b673385f3843f06df332c2ed061aaa2ff7aa189a71
+:::mas-catalog-details What's New @@ -22,26 +16,9 @@ What's New - IBM Maximo Application Suite Core Platform v9.0 - IBM Maximo Manage v9.0 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-241107-s390x.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-241107-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:30fa9a90569273e7f323b7b673385f3843f06df332c2ed061aaa2ff7aa189a71 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-241205-amd64.md b/docs/catalogs/v9-241205-amd64.md index 3101655b9bd..da092ceb32e 100644 --- a/docs/catalogs/v9-241205-amd64.md +++ b/docs/catalogs/v9-241205-amd64.md @@ -1,14 +1,7 @@ IBM Maximo Operator Catalog v9 (241205) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-241205-amd64
Digestsha256:55227c26c1ba527289d9b017ba623ed501857bf6762cf07d46423cac837d4767
+:::mas-catalog-details What's New @@ -36,27 +29,10 @@ Known Issues - Disconnected environments with Manage Civil, Aviation and ICD should not be updated at this time due to a known bug. -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-241205-amd64.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-241205-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:55227c26c1ba527289d9b017ba623ed501857bf6762cf07d46423cac837d4767 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-241205-s390x.md b/docs/catalogs/v9-241205-s390x.md index 3930048f287..8f44d772f20 100644 --- a/docs/catalogs/v9-241205-s390x.md +++ b/docs/catalogs/v9-241205-s390x.md @@ -6,13 +6,7 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (241205) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-241205-s390x
Digestsha256:3c24b778b7742e0a09f66bfcc572287a95370a1370fb811e516ae376f67886a1
+:::mas-catalog-details What's New @@ -26,27 +20,10 @@ What's New - IBM SLS v3.0 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-241205-s390x.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-241205-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:3c24b778b7742e0a09f66bfcc572287a95370a1370fb811e516ae376f67886a1 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support diff --git a/docs/catalogs/v9-250109-amd64.md b/docs/catalogs/v9-250109-amd64.md index 267f6074e11..a6ba591bac5 100644 --- a/docs/catalogs/v9-250109-amd64.md +++ b/docs/catalogs/v9-250109-amd64.md @@ -1,55 +1,15 @@ IBM Maximo Operator Catalog v9 (250109) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250109-amd64
Digestsha256:028f32213d3f14405eda7e78aaec28411688272f3358c5a34f6ebed6cf46c4c3
- - -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0, v9.1 - - IBM Maximo Manage v8.7, v8.6, v9.0 and v9.1 - - IBM Maximo Monitor v8.11, v8.10 and v9.0 - - IBM Maximo Optimizer v8.5, v8.4, v9.0 and v9.1 - - IBM Maximo Predict v9.0 - - IBM Data Dictionary v1.1 - - IBM SLS v3.0 - - -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- Disconnected environments with Manage Civil, Aviation and ICD should not be updated at this time due to a known bug. +:::mas-catalog-details -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250109-amd64.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250109-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:028f32213d3f14405eda7e78aaec28411688272f3358c5a34f6ebed6cf46c4c3 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -57,37 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -95,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -103,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -114,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -133,7 +59,6 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. - Package Manifest ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-250109-s390x.md b/docs/catalogs/v9-250109-s390x.md index 50063a185f1..3257454a4cc 100644 --- a/docs/catalogs/v9-250109-s390x.md +++ b/docs/catalogs/v9-250109-s390x.md @@ -6,45 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (250109) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250109-s390x
Digestsha256:82a017b04ac8f15b14719e77435e1000046e8d90c24fa7fce45421f4e289d0fd
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 & v9.1 - - IBM Maximo Manage v9.0 & v9.1 - - IBM SLS v3.0 +:::mas-catalog-whats-new -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250109-s390x.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250109-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:82a017b04ac8f15b14719e77435e1000046e8d90c24fa7fce45421f4e289d0fd - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -52,37 +23,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -90,7 +31,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -98,7 +38,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: diff --git a/docs/catalogs/v9-250206-amd64.md b/docs/catalogs/v9-250206-amd64.md index cfc0694156c..ab53de28c51 100644 --- a/docs/catalogs/v9-250206-amd64.md +++ b/docs/catalogs/v9-250206-amd64.md @@ -1,55 +1,15 @@ IBM Maximo Operator Catalog v9 (250206) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250206-amd64
Digestsha256:12ece30673a4109123e43f28a8f2d427bd37186c32d961c0dced8866886a2d4c
- - -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0, v9.1 - - IBM Maximo IoT v8.7, v8.8 and v9.0 - - IBM Maximo Manage v8.7, v8.6, v9.0 and v9.1 - - IBM Maximo Monitor v8.11, v8.10 and v9.0 - - IBM Maximo Optimizer v8.5, v8.4, v9.0 and v9.1 - - IBM Data Dictionary v1.1 - - IBM SLS v3.0 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 +:::mas-catalog-details -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250206-amd64.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250206-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:12ece30673a4109123e43f28a8f2d427bd37186c32d961c0dced8866886a2d4c - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -57,37 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -95,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -103,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -114,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -133,7 +59,6 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. - Package Manifest ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-250206-s390x.md b/docs/catalogs/v9-250206-s390x.md index bae28399983..a500b68915a 100644 --- a/docs/catalogs/v9-250206-s390x.md +++ b/docs/catalogs/v9-250206-s390x.md @@ -6,45 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (250206) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250206-s390x
Digestsha256:b9ef2ef8d16bd9bb1015d8f2597c5f4f7daadbbefab700268c914f1b07582d25
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 & v9.1 - - IBM Maximo Manage v9.0 & v9.1 - - IBM SLS v3.0 +:::mas-catalog-whats-new -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250206-s390x.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250206-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:b9ef2ef8d16bd9bb1015d8f2597c5f4f7daadbbefab700268c914f1b07582d25 - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -52,37 +23,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -90,7 +31,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -98,7 +38,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: diff --git a/docs/catalogs/v9-250306-amd64.md b/docs/catalogs/v9-250306-amd64.md index 30db32d4aaf..b798a44d4da 100644 --- a/docs/catalogs/v9-250306-amd64.md +++ b/docs/catalogs/v9-250306-amd64.md @@ -1,57 +1,15 @@ IBM Maximo Operator Catalog v9 (250306) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250306-amd64
Digestsha256:d2ffdec7d99dd4b0027d151b36b08b97efd58a1203bd0874fe782ad497198419
- - -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0, v9.1 - - IBM Maximo Assist v9.0 - - IBM Maximo IoT v8.7, v8.8 and v9.0 - - IBM Maximo Manage v8.7, v8.6, v9.0 and v9.1 - - IBM Maximo Monitor v8.11, v8.10 and v9.0 - - IBM Maximo Optimizer v8.5, v8.4, v9.0 and v9.1 - - IBM Maximo Predict v9.0, v8.9, v8.8 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - IBM Data Dictionary v1.1 - - IBM SLS v3.11 - - -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 +:::mas-catalog-details -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250306-amd64.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250306-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:d2ffdec7d99dd4b0027d151b36b08b97efd58a1203bd0874fe782ad497198419 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -59,37 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -97,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -105,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -116,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -135,7 +59,6 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. - Package Manifest ------------------------------------------------------------------------------- diff --git a/docs/catalogs/v9-250306-s390x.md b/docs/catalogs/v9-250306-s390x.md index f2ddc981173..e6a7b68a22d 100644 --- a/docs/catalogs/v9-250306-s390x.md +++ b/docs/catalogs/v9-250306-s390x.md @@ -6,45 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (250306) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250306-s390x
Digestsha256:a9f4a2a8aa4ec25b68ff6a1592c0773f730564a833b14eef5585a077e37c203a
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 & v9.1 - - IBM Maximo Manage v9.0 & v9.1 - - IBM SLS v3.0 +:::mas-catalog-whats-new -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250306-s390x.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250306-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:a9f4a2a8aa4ec25b68ff6a1592c0773f730564a833b14eef5585a077e37c203a - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -52,37 +23,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -90,7 +31,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -98,7 +38,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: diff --git a/docs/catalogs/v9-250403-amd64.md b/docs/catalogs/v9-250403-amd64.md index 8dc4635ac4c..819e410b355 100644 --- a/docs/catalogs/v9-250403-amd64.md +++ b/docs/catalogs/v9-250403-amd64.md @@ -1,56 +1,15 @@ IBM Maximo Operator Catalog v9 (250403) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250403-amd64
Digestsha256:e225b03ff1054e2b1bcef0fcc883cc8f53c7b29f472ca7d3c08cb6a6084b2ab4
- - -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 - - IBM Maximo IoT v8.7, v8.8 and v9.0 - - IBM Maximo Manage v8.7, v8.6, v9.0 - - IBM Maximo Monitor v8.11, v8.10 and v9.0 - - IBM Maximo Optimizer v8.5, v8.4, v9.0 - - IBM Maximo Predict v9.0, v8.9, v8.8 - - IBM Maximo Visual Inspection v8.9, v9.0 - - IBM Data Dictionary v1.1 +:::mas-catalog-details -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- If your Maximo usage is significantly reliant on Maximo Mobile / Maximo's Role Based Applications, it is advised to bypass this Patch 9.0.11 release and await the subsequent patch release for 9.0.12 . Due to the recently encountered issue, this particular patch may not function as intended for Maximo Mobile/Role Based Applications' work order Change Status feature if you have industry solutions layered on top of the core Manage. However, if you still need to apply this patch, we can offer a Limited Availability Fix (LA Fix) in the event you encounter this issue. Please note that you will need to submit a LA Fix request for this -- You can click the link below for further details. www.ibm.com/support/pages/bmxaa9238e-when-changing-status-wo-after-applying-managemobile-9011 +:::mas-catalog-whats-new -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250403-amd64.yaml` +:::mas-catalog-known-issues +:::mas-catalog-install - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250403-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:e225b03ff1054e2b1bcef0fcc883cc8f53c7b29f472ca7d3c08cb6a6084b2ab4 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -58,37 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -96,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -104,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -115,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -134,6 +59,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250403-s390x.md b/docs/catalogs/v9-250403-s390x.md index b919c9c416b..fea41dec2e7 100644 --- a/docs/catalogs/v9-250403-s390x.md +++ b/docs/catalogs/v9-250403-s390x.md @@ -6,43 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (250403) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250403-s390x
Digestsha256:45f4a5de29d15b936399adc28a80258557420094f1f7740c97e8d44a84446a85
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 - - IBM Maximo Manage v9.0 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250403-s390x.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250403-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:45f4a5de29d15b936399adc28a80258557420094f1f7740c97e8d44a84446a85 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -50,37 +23,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -88,7 +31,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -96,7 +38,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -107,6 +48,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250501-amd64.md b/docs/catalogs/v9-250501-amd64.md index 00c471331ef..fa84a96f807 100644 --- a/docs/catalogs/v9-250501-amd64.md +++ b/docs/catalogs/v9-250501-amd64.md @@ -1,55 +1,15 @@ IBM Maximo Operator Catalog v9 (250501) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250501-amd64
Digestsha256:152bb3a71e029d2215a14816ac928bc28054d85d6123a3813c9679fd7eb91650
- - -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8 and v9.0 - - IBM Maximo Manage v8.7, v8.6, v9.0 and v9.1 - - IBM Maximo Monitor v8.11, v8.10 and v9.0 - - IBM Maximo Optimizer v8.5, v8.4, v9.0 and v9.1 - - IBM Maximo Predict v9.0, v8.9, v8.8 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - IBM Data Dictionary v1.1 +:::mas-catalog-details -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- For Airgap users, please review the [technote regarding a known Multi-Arch limitation](https://www.ibm.com/support/pages/node/7232093) before attempting installation. +:::mas-catalog-whats-new -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250501-amd64.yaml` +:::mas-catalog-known-issues +:::mas-catalog-install - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250501-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:152bb3a71e029d2215a14816ac928bc28054d85d6123a3813c9679fd7eb91650 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -57,37 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -95,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -103,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -114,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -133,6 +59,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250501-s390x.md b/docs/catalogs/v9-250501-s390x.md index cb52d1dbee0..58de6155d40 100644 --- a/docs/catalogs/v9-250501-s390x.md +++ b/docs/catalogs/v9-250501-s390x.md @@ -6,43 +6,16 @@ nav_title: Operator Catalog IBM Maximo Operator Catalog v9 (250501) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250501-s390x
Digestsha256:9d0437b2e7391fb4e28ba42294c442fea5d157bd1699d7d7a415dd7a5a27a6f9
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 - - IBM Maximo Manage v9.0 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250501-s390x.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250501-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:9d0437b2e7391fb4e28ba42294c442fea5d157bd1699d7d7a415dd7a5a27a6f9 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -50,37 +23,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended SupportSupported MAS Releases
4.16June 27, 2024December 27, 2025June 27, 20278.10 - 9.0
4.15February 27, 2024August 27, 2025N/A8.10 - 9.0
4.14October 31, 2023May 1, 2025October 31, 20268.10 - 9.0
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -88,7 +31,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -96,7 +38,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -107,6 +48,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250624-amd64.md b/docs/catalogs/v9-250624-amd64.md index 8fcaa25cd48..aee67811748 100644 --- a/docs/catalogs/v9-250624-amd64.md +++ b/docs/catalogs/v9-250624-amd64.md @@ -1,74 +1,15 @@ IBM Maximo Operator Catalog v9 (250624) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250624-amd64
Digestsha256:cf03a9bcfacaf9c354078dfb2f97c166bfb1a6f0776680b52b7325cc469ffb31
- - -What's New -------------------------------------------------------------------------------- -- **New feature release** - - IBM Maximo Application Suite Core Platform v9.1 - - IBM Maximo Manage v9.1 - - IBM Maximo IoT v9.1 - - IBM Maximo Monitor v9.1 - - IBM Maximo Optimizer v9.1 - - IBM Maximo Predict v9.1 - - IBM Maximo Visual Inspection v9.1 - - IBM MAS Assist v9.1 - - IBM Maximo Real Estate and Facilities v9.1 - - IBM Maximo Location Service for Esri v9.1 -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 - - IBM Maximo IoT v8.7, v8.8, v9.0 - - IBM Maximo Manage v8.6, v8.7, v9.0 - - IBM Maximo Monitor v8.10, v8.11, v9.0 - - IBM Maximo Optimizer v8.4, v8.5, v9.0 - - IBM MAS Assist v9.0 - - IBM Data Dictionary v1.1 - - IBM Suite License Service v3 - - IBM Truststore Manager v1.7 - -- **Openshift 4.18 support** Openshift Container Platform 4.18 support has been added. Refer OCP 4.18 release notes [here](https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/release_notes/index) - -Reminder -------------------------------------------------------------------------------- -- MAS 8.10 and 8.11 standard support and software updates end in March 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans to get to MAS 9.0 if you have not already done so. - - -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 +:::mas-catalog-details -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250624-amd64.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250624-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:cf03a9bcfacaf9c354078dfb2f97c166bfb1a6f0776680b52b7325cc469ffb31 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -76,45 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -122,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -130,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -141,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -160,6 +59,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250624-ppc64le.md b/docs/catalogs/v9-250624-ppc64le.md index 7c05f52aeba..72d250c4b85 100644 --- a/docs/catalogs/v9-250624-ppc64le.md +++ b/docs/catalogs/v9-250624-ppc64le.md @@ -1,50 +1,16 @@ IBM Maximo Operator Catalog v9 (250624) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250624-ppc64le
Digestsha256:70b87e1fe64eb46c3796ce0aaa713b0ff3c902732078fc5297c28f7840f23d3e
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **New feature release** - - IBM Maximo Application Suite Core Platform v9.1 - - IBM Maximo Manage v9.1 -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 - - IBM Maximo Manage v9.0 - - IBM Suite License Service v3 - - IBM Truststore Manager v1.7 - -- **Openshift 4.18 support** Openshift Container Platform 4.18 support has been added. Refer OCP 4.18 release notes [here](https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/release_notes/index) - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250624-ppc64le.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250624-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:70b87e1fe64eb46c3796ce0aaa713b0ff3c902732078fc5297c28f7840f23d3e - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -52,45 +18,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -98,7 +26,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -106,7 +33,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -117,6 +43,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250624-s390x.md b/docs/catalogs/v9-250624-s390x.md index 9adbf299a8f..60930ecc4f7 100644 --- a/docs/catalogs/v9-250624-s390x.md +++ b/docs/catalogs/v9-250624-s390x.md @@ -1,50 +1,16 @@ IBM Maximo Operator Catalog v9 (250624) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250624-s390x
Digestsha256:5748e21db7f688c8d80c5ab14e394e5575997cfc2e544d77b2173159dc237aba
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **New feature release** - - IBM Maximo Application Suite Core Platform v9.1 - - IBM Maximo Manage v9.1 -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 - - IBM Maximo Manage v9.0 - - IBM Suite License Service v3 - - IBM Truststore Manager v1.7 - -- **Openshift 4.18 support** Openshift Container Platform 4.18 support has been added. Refer OCP 4.18 release notes [here](https://docs.redhat.com/en/documentation/openshift_container_platform/4.18/html/release_notes/index) - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250624-s390x.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250624-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:5748e21db7f688c8d80c5ab14e394e5575997cfc2e544d77b2173159dc237aba - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -52,45 +18,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -98,7 +26,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -106,7 +33,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -117,6 +43,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250731-amd64.md b/docs/catalogs/v9-250731-amd64.md index 67201188987..ecfd910f0b5 100644 --- a/docs/catalogs/v9-250731-amd64.md +++ b/docs/catalogs/v9-250731-amd64.md @@ -1,64 +1,15 @@ IBM Maximo Operator Catalog v9 (250731) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250731-amd64
Digestsha256:11ddd09bf0fb75aecb922dbc2edb21c60c4b704c2684179798a7e32ca62fe242
- - -What's New -------------------------------------------------------------------------------- -- **Support for MongoDb v7.0.22** -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8, v9.0 and v9.1 - - IBM Maximo Manage v8.6, v8.7, v9.0 and v9.1 - - IBM Maximo Monitor v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Optimizer v8.4, v8.5, v9.0 and v9.1 - - IBM Maximo Assist v9.0 - - IBM Maximo Predict v8.9, v8.8, v9.0 and v9.1 - - IBM Maximo Visual Inspection v9.0 - - IBM Maximo Real Estate and Facilities v9.1 - - IBM Maximo AiBroker v9.1 - - IBM Suite License Service v3.12 - -Reminder -------------------------------------------------------------------------------- -- MAS 8.10 and 8.11 standard support and software updates end in March 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans to get to MAS 9.0 if you have not already done so. +:::mas-catalog-details -Known Issues -------------------------------------------------------------------------------- -- Customers using Maximo Assist v8.7 or v8.8 should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250731-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250731-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:11ddd09bf0fb75aecb922dbc2edb21c60c4b704c2684179798a7e32ca62fe242 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -66,45 +17,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -112,7 +25,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -120,7 +32,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -131,14 +42,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -150,6 +59,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250731-ppc64le.md b/docs/catalogs/v9-250731-ppc64le.md index 2c5e7ba717c..80590964e15 100644 --- a/docs/catalogs/v9-250731-ppc64le.md +++ b/docs/catalogs/v9-250731-ppc64le.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (250731) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250731-ppc64le
Digestsha256:9a17d83c0944280cce3ba964b68228368cc313dba72d9742b882572999a4b632
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and 9.1 - - IBM Maximo Manage v9.0 and 9.1 - - IBM Suite License Service v3.12 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250731-ppc64le.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250731-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:9a17d83c0944280cce3ba964b68228368cc313dba72d9742b882572999a4b632 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,45 +18,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -92,7 +26,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -100,7 +33,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -111,6 +43,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250731-s390x.md b/docs/catalogs/v9-250731-s390x.md index 75679879897..a77ac6ff197 100644 --- a/docs/catalogs/v9-250731-s390x.md +++ b/docs/catalogs/v9-250731-s390x.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (250731) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250731-s390x
Digestsha256:d20d717d00df34b97db5e2bbcc276e7bc13767574d016f2698391b21d8b382f7
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and 9.1 - - IBM Suite License Service v3.12 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250731-s390x.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250731-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:d20d717d00df34b97db5e2bbcc276e7bc13767574d016f2698391b21d8b382f7 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,45 +18,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -92,7 +26,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -100,7 +33,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -111,6 +43,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250828-amd64.md b/docs/catalogs/v9-250828-amd64.md index f496520c77b..87c055554da 100644 --- a/docs/catalogs/v9-250828-amd64.md +++ b/docs/catalogs/v9-250828-amd64.md @@ -1,66 +1,19 @@ IBM Maximo Operator Catalog v9 (250828) =============================================================================== -Details -------------------------------------------------------------------------------- +:::mas-catalog-details - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250828-amd64
Digestsha256:0a24540abbb65155d3dfde68fe57a777aae785127ebb34a272614a06710caaa2
+:::mas-catalog-whats-new -What's New -------------------------------------------------------------------------------- -- **New Release** - - IBM Maximo AI Service v9.1 -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8, v9.0 and v9.1 - - IBM Maximo Manage v8.6, v8.7, v9.0 and v9.1 - - IBM Maximo Monitor v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Optimizer v8.4, v8.5, v9.0 and v9.1 - - IBM Maximo Assist v9.1 and v9.0 - - IBM Maximo Predict v8.9, v8.8, v9.0 and v9.1 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - IBM Maximo Real Estate and Facilities v9.1 - - IBM Suite License Service v3.12 +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- Customers running **Maximo Manage v8.7** with the Civil application in a disconnected environment are advised to skip this update due to a packaging error which will result in a failure to pull the `extension-civil` container image -- Customers are advised not to use the catalog `v9-250828` for AIService due to an issue with AIService `9.1.5`. - Please use the 2nd Sep catalog `v9-250902` with AIService `9.1.6`. - - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250828-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250828-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:0a24540abbb65155d3dfde68fe57a777aae785127ebb34a272614a06710caaa2 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -68,45 +21,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -114,7 +29,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -122,7 +36,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -133,14 +46,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -152,6 +63,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250828-ppc64le.md b/docs/catalogs/v9-250828-ppc64le.md index c7e0dbb7339..e5b727777af 100644 --- a/docs/catalogs/v9-250828-ppc64le.md +++ b/docs/catalogs/v9-250828-ppc64le.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (250828) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250828-ppc64le
Digestsha256:c6ada94174c7318644e8c31d568969967418b58cde4b5f017f1611298b2d359c
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and 9.1 - - IBM Maximo Manage v9.0 and 9.1 - - IBM Suite License Service v3.12 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250828-ppc64le.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250828-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:c6ada94174c7318644e8c31d568969967418b58cde4b5f017f1611298b2d359c - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,45 +18,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -92,7 +26,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -100,7 +33,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -111,6 +43,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250828-s390x.md b/docs/catalogs/v9-250828-s390x.md index 787b64bb5b9..42f93155d9a 100644 --- a/docs/catalogs/v9-250828-s390x.md +++ b/docs/catalogs/v9-250828-s390x.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (250828) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250828-s390x
Digestsha256:8d6f205e59ac55155db6cf348029d52c035236bd60c8d212dcf2634e0a716cb1
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and 9.1 - - IBM Suite License Service v3.12 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250828-s390x.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250828-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:8d6f205e59ac55155db6cf348029d52c035236bd60c8d212dcf2634e0a716cb1 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,45 +18,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -92,7 +26,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -100,7 +33,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -111,6 +43,8 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250902-amd64.md b/docs/catalogs/v9-250902-amd64.md index daef3d85761..67004810e4d 100644 --- a/docs/catalogs/v9-250902-amd64.md +++ b/docs/catalogs/v9-250902-amd64.md @@ -1,74 +1,36 @@ IBM Maximo Operator Catalog v9 (250902) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250902-amd64
Digestsha256:6a18fa3fac8c9f826f18b4f2aeacbe97f180a1f2e8efd4bae5846f0b2b359752
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- **Security updates and bug fixes** - - IBM Maximo AI Service v9.1 +:::mas-catalog-whats-new +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- Customers running **Maximo Manage v8.7** with the Civil application in a disconnected environment are advised to skip this update due to a packaging error which will result in a failure to pull the `extension-civil` container image - - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250902-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250902-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:6a18fa3fac8c9f826f18b4f2aeacbe97f180a1f2e8efd4bae5846f0b2b359752 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- ### Product Support IBM Maximo Application Suite customers receive a Red Hat OpenShift Container Platform subscription as part of their purchase. The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) - ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: - **grafana-operator** required by `ibm.mas_devops.grafana` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -76,14 +38,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI - **nfd** required by `ibm.mas_devops.nvidia_gpu` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -95,6 +55,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250902-ppc64le.md b/docs/catalogs/v9-250902-ppc64le.md index 262174386b2..4b6b2bdf9aa 100644 --- a/docs/catalogs/v9-250902-ppc64le.md +++ b/docs/catalogs/v9-250902-ppc64le.md @@ -1,41 +1,16 @@ IBM Maximo Operator Catalog v9 (250902) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250902-ppc64le
Digestsha256:df9bdaa918550e2279c9269c54f2700ea98d9c537b1b57468bd16041f363fafe
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- - - NA -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250902-ppc64le.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250902-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:df9bdaa918550e2279c9269c54f2700ea98d9c537b1b57468bd16041f363fafe - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -43,51 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250902-s390x.md b/docs/catalogs/v9-250902-s390x.md index 8482d7221ae..e3c1c4def00 100644 --- a/docs/catalogs/v9-250902-s390x.md +++ b/docs/catalogs/v9-250902-s390x.md @@ -1,41 +1,16 @@ IBM Maximo Operator Catalog v9 (250902) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250902-s390x
Digestsha256:142080295b0bfc53e738c94b1b49cb7f6ba1668ab7a010cf214f32e20f396664
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- - - NA -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250902-s390x.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250902-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:142080295b0bfc53e738c94b1b49cb7f6ba1668ab7a010cf214f32e20f396664 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -43,51 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250925-amd64.md b/docs/catalogs/v9-250925-amd64.md index 4367ad2927c..155f5cbb75b 100644 --- a/docs/catalogs/v9-250925-amd64.md +++ b/docs/catalogs/v9-250925-amd64.md @@ -1,84 +1,36 @@ IBM Maximo Operator Catalog v9 (250925) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250925-amd64
Digestsha256:db5ac0b24bc6c0cb2af8eebcf529fee8ce944196d49aaf7448a00b6e9ffa8d96
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- - -- New **MAS 9.2 feature channels** for Core, Manage and Optimizer offering early access to some of the new features that will be included in the upcoming 9.2 release next year -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8, v9.0 and v9.1 - - IBM Maximo Manage v8.6, v8.7, v9.0 and v9.1 - - IBM Maximo Monitor v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Optimizer v8.4, v8.5, v9.0 and v9.1 - - IBM Maximo Assist v9.1 and v9.0 - - IBM Maximo Predict v8.9, v8.8, v9.0 and v9.1 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - IBM Maximo Real Estate and Facilities v9.1 - - IBM Suite License Service v3.12 +:::mas-catalog-whats-new +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- If you have the Workday Connector installed and are upgrading from Manage 8.7.24 Multi-IS to Manage 9.0.17 (Online/Offline mode), it is advised to bypass this Patch 9.0.17 release due to a recently encountered error on build and await the subsequent patch release for 9.0.18. If you need to apply this patch, we can offer a Limited Availability Fix (LA Fix) in the event you encounter this issue. Please note that you will need to submit a LA Fix request for this. - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250925-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250925-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:db5ac0b24bc6c0cb2af8eebcf529fee8ce944196d49aaf7448a00b6e9ffa8d96 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- ### Product Support IBM Maximo Application Suite customers receive a Red Hat OpenShift Container Platform subscription as part of their purchase. The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) - ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: - **grafana-operator** required by `ibm.mas_devops.grafana` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -86,15 +38,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI - **nfd** required by `ibm.mas_devops.nvidia_gpu` role - - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -106,6 +55,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-250925-ppc64le.md b/docs/catalogs/v9-250925-ppc64le.md index f9e7fb4f721..0801845506d 100644 --- a/docs/catalogs/v9-250925-ppc64le.md +++ b/docs/catalogs/v9-250925-ppc64le.md @@ -1,41 +1,20 @@ IBM Maximo Operator Catalog v9 (250925) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-250925-ppc64le
Digestsha256:3f7809233f72bf6007e7099a1c38a3577e1ffb0197a29b891a24fef007a8dcf7
+:::mas-catalog-details + +:::mas-catalog-known-issues - New **MAS 9.2 feature channels** for Core and Manage offering early access to some of the new features that will be included in the upcoming 9.2 release next year - **Security updates and bug fixes** - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - IBM Maximo Manage v9.0 and v9.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-250925-ppc64le.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-250925-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:3f7809233f72bf6007e7099a1c38a3577e1ffb0197a29b891a24fef007a8dcf7 - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support @@ -44,44 +23,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
+:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators @@ -90,6 +32,9 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- + ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | |----------------|-------------------|---------------|-----------------------------------------------------------------------------| diff --git a/docs/catalogs/v9-251010-amd64.md b/docs/catalogs/v9-251010-amd64.md index ef7b04f830f..2197a0fceca 100644 --- a/docs/catalogs/v9-251010-amd64.md +++ b/docs/catalogs/v9-251010-amd64.md @@ -1,74 +1,36 @@ IBM Maximo Operator Catalog v9 (251010) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251010-amd64
Digestsha256:7162cdaa46c0f290df79956e03d4ffda869c346a1c9752276898e8bae475128e
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- +:::mas-catalog-whats-new -- **Security updates and bug fixes** - - IBM Maximo Manage v9.1 - - IBM Maximo Visual Inspection v9.1 +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- If you have the Workday Connector installed and are upgrading from Manage 8.7.24 Multi-IS to Manage 9.0.17 (Online/Offline mode), it is advised to bypass this Patch 9.0.17 release due to a recently encountered error on build and await the subsequent patch release for 9.0.18. If you need to apply this patch, we can offer a Limited Availability Fix (LA Fix) in the event you encounter this issue. Please note that you will need to submit a LA Fix request for this. - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251010-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251010-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:7162cdaa46c0f290df79956e03d4ffda869c346a1c9752276898e8bae475128e - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- ### Product Support IBM Maximo Application Suite customers receive a Red Hat OpenShift Container Platform subscription as part of their purchase. The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) - ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: - **grafana-operator** required by `ibm.mas_devops.grafana` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -76,14 +38,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI - **nfd** required by `ibm.mas_devops.nvidia_gpu` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -95,6 +55,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251010-ppc64le.md b/docs/catalogs/v9-251010-ppc64le.md index eca3f591541..f71e6138c51 100644 --- a/docs/catalogs/v9-251010-ppc64le.md +++ b/docs/catalogs/v9-251010-ppc64le.md @@ -1,39 +1,18 @@ IBM Maximo Operator Catalog v9 (251010) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251010-ppc64le
Digestsha256:5ae3c0f01d691235c5d42d09d035f5a3d80bcedeb08e28423a8e80c75644547a
+:::mas-catalog-details + +:::mas-catalog-known-issues - **Security updates and bug fixes** - IBM Maximo Manage v9.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251010-ppc64le.yaml` +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251010-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:5ae3c0f01d691235c5d42d09d035f5a3d80bcedeb08e28423a8e80c75644547a - priority: 90 -``` +:::mas-catalog-source Red Hat OpenShift Container Platform Support @@ -42,44 +21,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
+:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators @@ -88,6 +30,9 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- + ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | |----------------|-------------------|---------------|-----------------------------------------------------------------------------| diff --git a/docs/catalogs/v9-251030-amd64.md b/docs/catalogs/v9-251030-amd64.md index f8a91a75a69..cc480435aae 100644 --- a/docs/catalogs/v9-251030-amd64.md +++ b/docs/catalogs/v9-251030-amd64.md @@ -1,62 +1,19 @@ IBM Maximo Operator Catalog v9 (251030) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251030-amd64
Digestsha256:4358138a17be9c460d980a9f41aa99981adbc1a18f12e0ac5d3e7787d93891a7
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- +:::mas-catalog-whats-new -- OCP **4.19** Support -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8, v9.0 and v9.1 - - IBM Maximo Manage v8.6, v8.7, v9.0 and v9.1 - - IBM Maximo Monitor v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Optimizer v8.4, v8.5, v9.0 and v9.1 - - IBM Maximo Assist v9.1 and v9.0 - - IBM Maximo Predict v8.9, v8.8, v9.0 and v9.1 - - IBM Maximo Visual Inspection v8.9 and v9.0 - - IBM Maximo Real Estate and Facilities v9.1 +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- If you have the Workday Connector installed and are upgrading from Manage 8.7.24 Multi-IS to Manage 9.0.17 (Online/Offline mode), it is advised to bypass this Patch 9.0.17 release due to a recently encountered error on build and await the subsequent patch release for 9.0.18. If you need to apply this patch, we can offer a Limited Availability Fix (LA Fix) in the event you encounter this issue. Please note that you will need to submit a LA Fix request for this. - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251030-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251030-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:4358138a17be9c460d980a9f41aa99981adbc1a18f12e0ac5d3e7787d93891a7 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -64,20 +21,17 @@ Red Hat OpenShift Container Platform Support ### Product Support IBM Maximo Application Suite customers receive a Red Hat OpenShift Container Platform subscription as part of their purchase. The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) - ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: - **grafana-operator** required by `ibm.mas_devops.grafana` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -85,14 +39,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI - **nfd** required by `ibm.mas_devops.nvidia_gpu` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v6.0](https://www.mongodb.com/docs/v6.0/)** and **[v7.0](https://www.mongodb.com/docs/v7.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -104,6 +56,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251030-ppc64le.md b/docs/catalogs/v9-251030-ppc64le.md index 80c154a97a8..c297dfc7b4f 100644 --- a/docs/catalogs/v9-251030-ppc64le.md +++ b/docs/catalogs/v9-251030-ppc64le.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (251030) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251030-ppc64le
Digestsha256:9903b6731465efb8ffe2b427aad773ad85a174d3b2323af1e2bf10f0c7747256
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- -- OCP **4.19** Support -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and v9.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251030-ppc64le.yaml` +:::mas-catalog-whats-new +:::mas-catalog-known-issues +:::mas-catalog-install -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251030-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:9903b6731465efb8ffe2b427aad773ad85a174d3b2323af1e2bf10f0c7747256 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,57 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251030-s390x.md b/docs/catalogs/v9-251030-s390x.md index f5e28eeb269..444e66a547d 100644 --- a/docs/catalogs/v9-251030-s390x.md +++ b/docs/catalogs/v9-251030-s390x.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (251030) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251030-s390x
Digestsha256:799ac815a86985f5b3ab191d3939590cdc46e59c7f6aea0293fe4ea39bd754b2
- - -What's New -------------------------------------------------------------------------------- +:::mas-catalog-details -- OCP **4.19** Support -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and v9.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251030-s390x.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251030-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:799ac815a86985f5b3ab191d3939590cdc46e59c7f6aea0293fe4ea39bd754b2 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,57 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
4.15February 27, 2024August 27, 2025N/A
4.14October 31, 2023May 1, 2025October 31, 2026
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251127-amd64.md b/docs/catalogs/v9-251127-amd64.md index 3d9d96d0391..cc8b66bf3bf 100644 --- a/docs/catalogs/v9-251127-amd64.md +++ b/docs/catalogs/v9-251127-amd64.md @@ -1,64 +1,19 @@ IBM Maximo Operator Catalog v9 (251127) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251127-amd64
Digestsha256:3fce7a6fd2aaafd40597178512d7a4722f28252baec8ac5d4f41edafbd432d7d
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- +:::mas-catalog-whats-new -- MongoDb v8 support Running mas update will automatically upgrade existing MongoDbCommunity instances to MongoDb version 8. This upgrade is compatible with all MAS versions included in this catalog. -- End of support for Openshift Container Platform 4.14 and 4.15, which are both now out of support (Since May 1 2025 and August 27 2025 respectively). -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Manage v8.6, v8.7, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8, v9.0 and v9.1 - - IBM Maximo Monitor v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Optimizer v9.1 - - IBM Maximo Assist v9.1 and v9.0 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - IBM Maximo Real Estate and Facilities v9.1 - - IBM Maximo AI Service v9.1 +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- If you have the Workday Connector installed and are upgrading from Manage 8.7.24 Multi-IS to Manage 9.0.17 (Online/Offline mode), it is advised to bypass this Patch 9.0.17 release due to a recently encountered error on build and await the subsequent patch release for 9.0.18. If you need to apply this patch, we can offer a Limited Availability Fix (LA Fix) in the event you encounter this issue. Please note that you will need to submit a LA Fix request for this. -- Customers using FIPS should not upgrade their MREF to 9.1.5, since it has problems during initialization. - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251127-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251127-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:3fce7a6fd2aaafd40597178512d7a4722f28252baec8ac5d4f41edafbd432d7d - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -66,53 +21,19 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: - **grafana-operator** required by `ibm.mas_devops.grafana` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -120,14 +41,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **openshift-pipelines-operator-rh** required by the MAS CLI - **nfd** required by `ibm.mas_devops.nvidia_gpu` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.1.3**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v7.0](https://www.mongodb.com/docs/v7.0/)** and **[v8.0](https://www.mongodb.com/docs/v8.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -139,6 +58,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251127-ppc64le.md b/docs/catalogs/v9-251127-ppc64le.md index ab515f715ee..fa362f7ee02 100644 --- a/docs/catalogs/v9-251127-ppc64le.md +++ b/docs/catalogs/v9-251127-ppc64le.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (251127) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251127-ppc64le
Digestsha256:73ab06c7642922daff44fbc1cc67fb89bc387ae96cf9d87e0c15511f8a6425c4
- -What's New -------------------------------------------------------------------------------- +:::mas-catalog-details -- End of support for Openshift Container Platform 4.14 and 4.15, which are both now out of support (Since May 1 2025 and August 27 2025 respectively). -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and v9.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251127-ppc64le.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251127-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:73ab06c7642922daff44fbc1cc67fb89bc387ae96cf9d87e0c15511f8a6425c4 - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,46 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI - +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251127-s390x.md b/docs/catalogs/v9-251127-s390x.md index 9d77a7f9cd8..fa362f7ee02 100644 --- a/docs/catalogs/v9-251127-s390x.md +++ b/docs/catalogs/v9-251127-s390x.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (251127) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251127-s390x
Digestsha256:8d2995b2b9589488c1b36035003febf5a5bd025fe56529593b8552fe8ee7135c
- - -What's New -------------------------------------------------------------------------------- +:::mas-catalog-details -- End of support for Openshift Container Platform 4.14 and 4.15, which are both now out of support (Since May 1 2025 and August 27 2025 respectively). -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and v9.1 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251127-s390x.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251127-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:8d2995b2b9589488c1b36035003febf5a5bd025fe56529593b8552fe8ee7135c -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,45 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251224-amd64.md b/docs/catalogs/v9-251224-amd64.md index 4abc9cf040d..d67f763341c 100644 --- a/docs/catalogs/v9-251224-amd64.md +++ b/docs/catalogs/v9-251224-amd64.md @@ -1,66 +1,19 @@ IBM Maximo Operator Catalog v9 (251224) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251224-amd64
Digestsha256:362af3055d7242d82827bafbd30e23ef4ca2df3f271ac835101d1961fd1b9c25
+:::mas-catalog-details -What's New -------------------------------------------------------------------------------- +:::mas-catalog-whats-new -- **Cloud Pak For Data 5.2 support** Running 'mas update' will automatically upgrade existing Cloud Pak For Data instances to version 5.2.0 this requires Cloud Pak For Data to be on version 5.1.3. If Cloud Pak For Data is on an earlier version then an update to an intermediary catalog is required. Refer CPD v5.2 release notes [here](https://www.ibm.com/docs/en/software-hub/5.2.x?topic=overview-version-52-release-notes) -- New **MAS 9.2 feature channels** for AI Service and Visual Inspection offering early access to some of the new features that will be included in the upcoming 9.2 release next year -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Manage v8.6, v8.7, v9.0 and v9.1 - - IBM Maximo IoT v8.7, v8.8, v9.0 and v9.1 - - IBM Maximo Monitor v8.10, v8.11, v9.0 and v9.1 - - IBM Maximo Optimizer v8.4, 8.5 and v9.1 - - IBM Maximo Assist v9.1 and v9.0 - - IBM Maximo Predict v8.8, v8.9, v9.0 and v9.1 - - IBM Maximo Visual Inspection v8.9, v9.0 and v9.1 - - IBM Maximo Real Estate and Facilities v9.1 - - IBM Maximo AI Service v9.1 - - IBM Maximo Location Service for Esri v9.0 and v9.1 - - IBM Suite License Service v3.12 +:::mas-catalog-known-issues !!! important MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. +:::mas-catalog-install -Known Issues -------------------------------------------------------------------------------- -- Customers using **Maximo Assist v8.7 or v8.8** should not update and must instead contact IBM Support for guidance regarding the removal of IBM Watson Discovery and upgrading to Maximo Assist v9.0 -- If you have the Workday Connector installed and are upgrading from Manage 8.7.24 Multi-IS to Manage 9.0.17 (Online/Offline mode), it is advised to bypass this Patch 9.0.17 release due to a recently encountered error on build and await the subsequent patch release for 9.0.18. If you need to apply this patch, we can offer a Limited Availability Fix (LA Fix) in the event you encounter this issue. Please note that you will need to submit a LA Fix request for this. - -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251224-amd64.yaml` - - -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251224-amd64) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:362af3055d7242d82827bafbd30e23ef4ca2df3f271ac835101d1961fd1b9c25 - priority: 90 -``` - +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -68,39 +21,7 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
- +:::mas-catalog-ocp-compatibility-matrix ### Certified Operators The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: @@ -108,7 +29,6 @@ The following packages from the `registry.redhat.io/redhat/certified-operator-in - **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role - **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role - ### Community Operators The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: @@ -116,7 +36,6 @@ The following packages from the `registry.redhat.io/redhat/community-operator-in - **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role - **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) - ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: @@ -127,14 +46,12 @@ The following packages from the `registry.redhat.io/redhat/redhat-operator-index - **local-storage-operator** required by `ibm.mas_devops.ocs` role - **odf-operator** required by `ibm.mas_devops.ocs` role - IBM Cloud Pak for Data Compatibility ------------------------------------------------------------------------------- -This catalog is certified compatible with **IBM Cloud Pak for Data v5.0.0**. +This catalog is certified compatible with **IBM Cloud Pak for Data v5.2.0**. For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). - MongoDB Compatibility ------------------------------------------------------------------------------- This catalog is certified compatible with MongoDB **[v7.0](https://www.mongodb.com/docs/v7.0/)** and **[v8.0](https://www.mongodb.com/docs/v8.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). @@ -146,6 +63,8 @@ By default an in-cluster MongoDb (CE) instance will be created when you install [Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251224-ppc64le.md b/docs/catalogs/v9-251224-ppc64le.md index b8d3b7cb0a1..c76a1a71616 100644 --- a/docs/catalogs/v9-251224-ppc64le.md +++ b/docs/catalogs/v9-251224-ppc64le.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (251224) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251224-ppc64le
Digestsha256:820919751b89eed50a6eabbf7a9852f311b09849a49fb42bad244e12e1773c44
- -What's New -------------------------------------------------------------------------------- +:::mas-catalog-details -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and v9.1 - - IBM Suite License Service v3.12 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251224-ppc64le.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251224-ppc64le) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:820919751b89eed50a6eabbf7a9852f311b09849a49fb42bad244e12e1773c44 - priority: 90 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,46 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI - +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251224-s390x.md b/docs/catalogs/v9-251224-s390x.md index 04dbbaa25c9..c76a1a71616 100644 --- a/docs/catalogs/v9-251224-s390x.md +++ b/docs/catalogs/v9-251224-s390x.md @@ -1,44 +1,16 @@ IBM Maximo Operator Catalog v9 (251224) =============================================================================== -Details -------------------------------------------------------------------------------- - - - - -
Imageicr.io/cpopen/ibm-maximo-operator-catalog
Tagv9-251224-s390x
Digestsha256:0b07cb03a254ac8749baee7c6112cbc933fec7eff9c8404252c4256eb9849f77
- - -What's New -------------------------------------------------------------------------------- +:::mas-catalog-details -- **Security updates and bug fixes** - - IBM Maximo Application Suite Core Platform v9.0 and v9.1 - - IBM Maximo Manage v9.0 and v9.1 - - IBM Suite License Service v3.12 -Manual Installation -------------------------------------------------------------------------------- -`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/v9-251224-s390x.yaml` +:::mas-catalog-whats-new -Source -------------------------------------------------------------------------------- -```yaml -apiVersion: operators.coreos.com/v1alpha1 -kind: CatalogSource -metadata: - name: ibm-operator-catalog - namespace: openshift-marketplace -spec: - displayName: IBM Maximo Operators (v9-251224-s390x) - publisher: IBM - description: Static Catalog Source for IBM Maximo Application Suite - sourceType: grpc - image: icr.io/cpopen/ibm-maximo-operator-catalog@sha256:0b07cb03a254ac8749baee7c6112cbc933fec7eff9c8404252c4256eb9849f77 -``` +:::mas-catalog-known-issues +:::mas-catalog-install +:::mas-catalog-source Red Hat OpenShift Container Platform Support ------------------------------------------------------------------------------- @@ -46,45 +18,15 @@ For more information about the OCP lifecycle refer to the [Red Hat OpenShift Con IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OCPGeneral AvailabilityStandard SupportExtended Support
4.19June 17, 2025December 17, 2026 N/A
4.18February 25, 2025GA of 4.19 + 3 MonthsAugust 25, 2026
4.17October 1, 2024May 25, 2025April 1, 2026
4.16June 27, 2024December 27, 2025June 27, 2027
- +:::mas-catalog-ocp-compatibility-matrix ### Red Hat Operators The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: - **openshift-pipelines-operator-rh** required by the MAS CLI +Package Manifest +------------------------------------------------------------------------------- ### IBM Maximo Application Suite | Package | Default Channel | Channel | Latest Version | diff --git a/docs/catalogs/v9-251231-amd64.md b/docs/catalogs/v9-251231-amd64.md new file mode 100644 index 00000000000..188aede9384 --- /dev/null +++ b/docs/catalogs/v9-251231-amd64.md @@ -0,0 +1,688 @@ +IBM Maximo Operator Catalog v9 (251231) +=============================================================================== + +:::mas-catalog-details + + +:::mas-catalog-whats-new + +:::mas-catalog-known-issues + +!!! important + MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. + +:::mas-catalog-install + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix + +### Certified Operators +The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: + +- **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role +- **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role + +### Community Operators +The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: + +- **grafana-operator** required by `ibm.mas_devops.grafana` role +- **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role +- **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) + +### Red Hat Operators +The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: + +- **amq-streams** required by `ibm.mas_devops.kafka` role (if using AMQ Streams as Kakfa provider) +- **openshift-pipelines-operator-rh** required by the MAS CLI +- **nfd** required by `ibm.mas_devops.nvidia_gpu` role +- **aws-efs-csi-driver-operator** required by `ibm.mas_devops.ocp_efs` role +- **local-storage-operator** required by `ibm.mas_devops.ocs` role +- **odf-operator** required by `ibm.mas_devops.ocs` role + +IBM Cloud Pak for Data Compatibility +------------------------------------------------------------------------------- +This catalog is certified compatible with **IBM Cloud Pak for Data v5.2.0**. + +For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). + +MongoDB Compatibility +------------------------------------------------------------------------------- +This catalog is certified compatible with MongoDB **[v7.0](https://www.mongodb.com/docs/v7.0/)** and **[v8.0](https://www.mongodb.com/docs/v8.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). + +By default an in-cluster MongoDb (CE) instance will be created when you install MAS, using the [MongoDB Community Kubernetes Operator](https://github.com/mongodb/mongodb-kubernetes-operator); however MAS supports use with any type of MongoDb instance, including but not limited to the following hosted solutions: + +- [IBM Cloud Databases for MongoDB](https://www.ibm.com/products/databases-for-mongodb) +- [MongoDB Atlas](https://www.mongodb.com/products/platform/atlas-database) + +[Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. + +Package Manifest +------------------------------------------------------------------------------- + +### IBM Maximo Application Suite +| Package | Default Channel | Channel | Latest Version | +|--------------------------|-------------------|---------------|-------------------------------------------------------------------------------------| +| ibm-aiservice | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6741](packages/ibm-aiservice/9.2.0-pre.stable-6741.md) | +| | | 9.1.x | [9.1.10](packages/ibm-aiservice/9.1.10.md) | +| ibm-mas | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6976](packages/ibm-mas/9.2.0-pre.stable-6976.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas/9.1.7.md) | +| | | 9.0.x | [9.0.18](packages/ibm-mas/9.0.18.md) | +| | | 8.11.x | [8.11.29](packages/ibm-mas/8.11.29.md) | +| | | 8.10.x | [8.10.32](packages/ibm-mas/8.10.32.md) | +| ibm-mas-aibroker | 9.1.x | 9.1.x | [9.1.4](packages/ibm-mas-aibroker/9.1.4.md) | +| | | 9.0.x | [9.0.6](packages/ibm-mas-aibroker/9.0.6.md) | +| ibm-mas-arcgis | 9.1.x | 9.1.x | [9.1.4](packages/ibm-mas-arcgis/9.1.4.md) | +| | | 9.0.x | [9.0.5](packages/ibm-mas-arcgis/9.0.5.md) | +| ibm-mas-assist | 9.1.x | 9.1.x | [9.1.6](packages/ibm-mas-assist/9.1.6.md) | +| | | 9.0.x | [9.0.12](packages/ibm-mas-assist/9.0.12.md) | +| | | 8.8.x | [8.8.7](packages/ibm-mas-assist/8.8.7.md) | +| | | 8.7.x | [8.7.8](packages/ibm-mas-assist/8.7.8.md) | +| ibm-mas-facilities | 9.1.x | 9.1.x | [9.1.6](packages/ibm-mas-facilities/9.1.6.md) | +| ibm-mas-hputilities | 8.6.x | 8.6.x | [8.6.7](packages/ibm-mas-hputilities/8.6.7.md) | +| ibm-mas-iot | 9.1.x | 9.1.x | [9.1.6](packages/ibm-mas-iot/9.1.6.md) | +| | | 9.0.x | [9.0.15](packages/ibm-mas-iot/9.0.15.md) | +| | | 8.8.x | [8.8.25](packages/ibm-mas-iot/8.8.25.md) | +| | | 8.7.x | [8.7.29](packages/ibm-mas-iot/8.7.29.md) | +| ibm-mas-manage | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6856](packages/ibm-mas-manage/9.2.0-pre.stable-6856.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas-manage/9.1.7.md) | +| | | 9.0.x | [9.0.20](packages/ibm-mas-manage/9.0.20.md) | +| | | 8.7.x | [8.7.27](packages/ibm-mas-manage/8.7.27.md) | +| | | 8.6.x | [8.6.33](packages/ibm-mas-manage/8.6.33.md) | +| ibm-mas-monitor | 9.1.x | 9.1.x | [9.1.6](packages/ibm-mas-monitor/9.1.6.md) | +| | | 9.0.x | [9.0.16](packages/ibm-mas-monitor/9.0.16.md) | +| | | 8.11.x | [8.11.24](packages/ibm-mas-monitor/8.11.24.md) | +| | | 8.10.x | [8.10.26](packages/ibm-mas-monitor/8.10.26.md) | +| ibm-mas-optimizer | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-5162](packages/ibm-mas-optimizer/9.2.0-pre.stable-5162.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas-optimizer/9.1.7.md) | +| | | 9.0.x | [9.0.16](packages/ibm-mas-optimizer/9.0.16.md) | +| | | 8.5.x | [8.5.24](packages/ibm-mas-optimizer/8.5.24.md) | +| | | 8.4.x | [8.4.25](packages/ibm-mas-optimizer/8.4.25.md) | +| ibm-mas-predict | 9.1.x | 9.1.x | [9.1.4](packages/ibm-mas-predict/9.1.4.md) | +| | | 9.0.x | [9.0.11](packages/ibm-mas-predict/9.0.11.md) | +| | | 8.9.x | [8.9.14](packages/ibm-mas-predict/8.9.14.md) | +| | | 8.8.x | [8.8.12](packages/ibm-mas-predict/8.8.12.md) | +| ibm-mas-visualinspection | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6198](packages/ibm-mas-visualinspection/9.2.0-pre.stable-6198.md) | +| | | 9.1.x | [9.1.5](packages/ibm-mas-visualinspection/9.1.5.md) | +| | | 9.0.x | [9.0.15](packages/ibm-mas-visualinspection/9.0.15.md) | +| | | 8.9.x | [8.9.18](packages/ibm-mas-visualinspection/8.9.18.md) | +| | | 8.8.x | [8.8.4](packages/ibm-mas-visualinspection/8.8.4.md) | + +### IBM Utilities +| Package | Default Channel | Channel | Latest Version | +|---------------------|-------------------|-----------|--------------------------------------------------| +| ibm-data-dictionary | 1.1.x | 1.1.x | [1.1.20](packages/ibm-data-dictionary/1.1.20.md) | +| ibm-sls | 3.x | 3.x | [3.12.4](packages/ibm-sls/3.12.4.md) | +| ibm-truststore-mgr | 1.x | 1.x | [1.7.2](packages/ibm-truststore-mgr/1.7.2.md) | + +### IBM Cloud Pak Foundational Services +| Package | Default Channel | Channel | Latest Version | +|-------------------------------------|-------------------|--------------|--------------------------------------------------------------------| +| cloud-native-postgresql | stable-v1.25 | stable-v1.25 | [1.25.2](packages/cloud-native-postgresql/1.25.2.md) | +| | | stable-v1.22 | [1.22.9](packages/cloud-native-postgresql/1.22.9.md) | +| | | stable-v1.18 | [1.18.13](packages/cloud-native-postgresql/1.18.13.md) | +| | | stable-v1.17 | [1.17.3](packages/cloud-native-postgresql/1.17.3.md) | +| | | stable-v1.15 | [1.15.5](packages/cloud-native-postgresql/1.15.5.md) | +| | | stable | [1.22.7](packages/cloud-native-postgresql/1.22.7.md) | +| | | fast | [1.18.3](packages/cloud-native-postgresql/1.18.3.md) | +| ibm-cert-manager-operator | v3.23 | v4.2 | [4.2.18](packages/ibm-cert-manager-operator/4.2.18.md) | +| | | v4.1 | [4.1.0](packages/ibm-cert-manager-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-cert-manager-operator/4.0.0.md) | +| | | v3.23 | [3.25.13](packages/ibm-cert-manager-operator/3.25.13.md) | +| | | v3.22 | [3.24.0](packages/ibm-cert-manager-operator/3.24.0.md) | +| | | v3.21 | [3.23.0](packages/ibm-cert-manager-operator/3.23.0.md) | +| | | v3.20 | [3.22.0](packages/ibm-cert-manager-operator/3.22.0.md) | +| | | v3 | [3.25.13](packages/ibm-cert-manager-operator/3.25.13.md) | +| | | beta | [3.9.0](packages/ibm-cert-manager-operator/3.9.0.md) | +| ibm-common-service-operator | v4.13 | v4.9 | [4.9.0](packages/ibm-common-service-operator/4.9.0.md) | +| | | v4.8 | [4.8.0](packages/ibm-common-service-operator/4.8.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-common-service-operator/4.7.0.md) | +| | | v4.6 | [4.6.17](packages/ibm-common-service-operator/4.6.17.md) | +| | | v4.5 | [4.5.0](packages/ibm-common-service-operator/4.5.0.md) | +| | | v4.4 | [4.4.0](packages/ibm-common-service-operator/4.4.0.md) | +| | | v4.3 | [4.3.1](packages/ibm-common-service-operator/4.3.1.md) | +| | | v4.2 | [4.2.0](packages/ibm-common-service-operator/4.2.0.md) | +| | | v4.14 | [4.14.0](packages/ibm-common-service-operator/4.14.0.md) | +| | | v4.13 | [4.13.0](packages/ibm-common-service-operator/4.13.0.md) | +| | | v4.12 | [4.12.0](packages/ibm-common-service-operator/4.12.0.md) | +| | | v4.11 | [4.11.0](packages/ibm-common-service-operator/4.11.0.md) | +| | | v4.10 | [4.10.0](packages/ibm-common-service-operator/4.10.0.md) | +| | | v4.1 | [4.1.0](packages/ibm-common-service-operator/4.1.0.md) | +| | | v4.0 | [4.0.1](packages/ibm-common-service-operator/4.0.1.md) | +| | | v3.23 | [3.23.14](packages/ibm-common-service-operator/3.23.14.md) | +| | | v3.22 | [3.22.0](packages/ibm-common-service-operator/3.22.0.md) | +| | | v3.21 | [3.21.0](packages/ibm-common-service-operator/3.21.0.md) | +| | | v3.20 | [3.20.1](packages/ibm-common-service-operator/3.20.1.md) | +| | | v3 | [3.19.22](packages/ibm-common-service-operator/3.19.22.md) | +| | | beta | [103.103.103](packages/ibm-common-service-operator/103.103.103.md) | +| ibm-commonui-operator-app | v3.23 | v4.9 | [4.9.0](packages/ibm-commonui-operator-app/4.9.0.md) | +| | | v4.8 | [4.8.0](packages/ibm-commonui-operator-app/4.8.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-commonui-operator-app/4.7.0.md) | +| | | v4.6 | [4.6.0](packages/ibm-commonui-operator-app/4.6.0.md) | +| | | v4.5 | [4.5.2](packages/ibm-commonui-operator-app/4.5.2.md) | +| | | v4.4 | [4.4.15](packages/ibm-commonui-operator-app/4.4.15.md) | +| | | v4.3 | [4.3.1](packages/ibm-commonui-operator-app/4.3.1.md) | +| | | v4.2 | [4.2.0](packages/ibm-commonui-operator-app/4.2.0.md) | +| | | v4.11 | [4.11.0](packages/ibm-commonui-operator-app/4.11.0.md) | +| | | v4.10 | [4.10.0](packages/ibm-commonui-operator-app/4.10.0.md) | +| | | v4.1 | [4.1.0](packages/ibm-commonui-operator-app/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-commonui-operator-app/4.0.0.md) | +| | | v3.23 | [1.21.14](packages/ibm-commonui-operator-app/1.21.14.md) | +| | | v3.22 | [1.20.0](packages/ibm-commonui-operator-app/1.20.0.md) | +| | | v3.21 | [1.19.0](packages/ibm-commonui-operator-app/1.19.0.md) | +| | | v3.20 | [1.18.1](packages/ibm-commonui-operator-app/1.18.1.md) | +| | | v3 | [1.21.14](packages/ibm-commonui-operator-app/1.21.14.md) | +| | | beta | [1.5.1](packages/ibm-commonui-operator-app/1.5.1.md) | +| ibm-events-operator | v5.2 | v5.2 | [5.2.1](packages/ibm-events-operator/5.2.1.md) | +| | | v5.1 | [5.1.2](packages/ibm-events-operator/5.1.2.md) | +| | | v3 | [5.0.1](packages/ibm-events-operator/5.0.1.md) | +| | | beta | [3.7.1](packages/ibm-events-operator/3.7.1.md) | +| ibm-ingress-nginx-operator-app | v3.23 | v3.23 | [1.20.13](packages/ibm-ingress-nginx-operator-app/1.20.13.md) | +| | | v3.22 | [1.19.0](packages/ibm-ingress-nginx-operator-app/1.19.0.md) | +| | | v3.21 | [1.18.0](packages/ibm-ingress-nginx-operator-app/1.18.0.md) | +| | | v3.20 | [1.17.1](packages/ibm-ingress-nginx-operator-app/1.17.1.md) | +| | | v3 | [1.20.13](packages/ibm-ingress-nginx-operator-app/1.20.13.md) | +| | | beta | [1.5.0](packages/ibm-ingress-nginx-operator-app/1.5.0.md) | +| ibm-licensing-operator-app | v3.23 | v4.2 | [4.2.17](packages/ibm-licensing-operator-app/4.2.17.md) | +| | | v4.1 | [4.1.0](packages/ibm-licensing-operator-app/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-licensing-operator-app/4.0.0.md) | +| | | v3.23 | [1.20.13](packages/ibm-licensing-operator-app/1.20.13.md) | +| | | v3.22 | [1.19.0](packages/ibm-licensing-operator-app/1.19.0.md) | +| | | v3.21 | [1.18.0](packages/ibm-licensing-operator-app/1.18.0.md) | +| | | v3.20 | [1.17.0](packages/ibm-licensing-operator-app/1.17.0.md) | +| | | v3 | [1.20.13](packages/ibm-licensing-operator-app/1.20.13.md) | +| | | beta | [1.4.1](packages/ibm-licensing-operator-app/1.4.1.md) | +| ibm-management-ingress-operator-app | v3.23 | v3.23 | [1.20.13](packages/ibm-management-ingress-operator-app/1.20.13.md) | +| | | v3.22 | [1.19.0](packages/ibm-management-ingress-operator-app/1.19.0.md) | +| | | v3.21 | [1.18.0](packages/ibm-management-ingress-operator-app/1.18.0.md) | +| | | v3.20 | [1.17.0](packages/ibm-management-ingress-operator-app/1.17.0.md) | +| | | v3 | [1.20.13](packages/ibm-management-ingress-operator-app/1.20.13.md) | +| | | beta | [1.5.1](packages/ibm-management-ingress-operator-app/1.5.1.md) | +| ibm-mongodb-operator-app | v3.23 | v4.2 | [4.2.2](packages/ibm-mongodb-operator-app/4.2.2.md) | +| | | v4.1 | [4.1.0](packages/ibm-mongodb-operator-app/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-mongodb-operator-app/4.0.0.md) | +| | | v3.23 | [1.18.13](packages/ibm-mongodb-operator-app/1.18.13.md) | +| | | v3.22 | [1.17.0](packages/ibm-mongodb-operator-app/1.17.0.md) | +| | | v3.21 | [1.16.0](packages/ibm-mongodb-operator-app/1.16.0.md) | +| | | v3.20 | [1.15.0](packages/ibm-mongodb-operator-app/1.15.0.md) | +| | | v3 | [1.18.13](packages/ibm-mongodb-operator-app/1.18.13.md) | +| | | beta | [1.3.1](packages/ibm-mongodb-operator-app/1.3.1.md) | +| ibm-namespace-scope-operator | v3.23 | v4.3 | [4.3.1](packages/ibm-namespace-scope-operator/4.3.1.md) | +| | | v4.2 | [4.2.17](packages/ibm-namespace-scope-operator/4.2.17.md) | +| | | v4.1 | [4.1.0](packages/ibm-namespace-scope-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-namespace-scope-operator/4.0.0.md) | +| | | v3.23 | [1.17.13](packages/ibm-namespace-scope-operator/1.17.13.md) | +| | | v3.22 | [1.16.0](packages/ibm-namespace-scope-operator/1.16.0.md) | +| | | v3.21 | [1.15.0](packages/ibm-namespace-scope-operator/1.15.0.md) | +| | | v3.20 | [1.14.0](packages/ibm-namespace-scope-operator/1.14.0.md) | +| | | v3 | [1.17.13](packages/ibm-namespace-scope-operator/1.17.13.md) | +| | | beta | [1.1.1](packages/ibm-namespace-scope-operator/1.1.1.md) | +| ibm-odlm | v3.23 | v4.5 | [4.5.2](packages/ibm-odlm/4.5.2.md) | +| | | v4.4 | [4.4.0](packages/ibm-odlm/4.4.0.md) | +| | | v4.3 | [4.3.15](packages/ibm-odlm/4.3.15.md) | +| | | v4.2 | [4.2.3](packages/ibm-odlm/4.2.3.md) | +| | | v4.1 | [4.1.0](packages/ibm-odlm/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-odlm/4.0.0.md) | +| | | v3.23 | [1.21.13](packages/ibm-odlm/1.21.13.md) | +| | | v3.22 | [1.20.0](packages/ibm-odlm/1.20.0.md) | +| | | v3.21 | [1.19.0](packages/ibm-odlm/1.19.0.md) | +| | | v3.20 | [1.18.0](packages/ibm-odlm/1.18.0.md) | +| | | v3 | [1.21.13](packages/ibm-odlm/1.21.13.md) | +| | | beta | [1.5.0](packages/ibm-odlm/1.5.0.md) | +| ibm-platform-api-operator-app | v3.23 | v3.23 | [3.25.13](packages/ibm-platform-api-operator-app/3.25.13.md) | +| | | v3.22 | [3.24.0](packages/ibm-platform-api-operator-app/3.24.0.md) | +| | | v3.21 | [3.23.0](packages/ibm-platform-api-operator-app/3.23.0.md) | +| | | v3.20 | [3.22.0](packages/ibm-platform-api-operator-app/3.22.0.md) | +| | | v3 | [3.25.13](packages/ibm-platform-api-operator-app/3.25.13.md) | +| | | beta | [3.9.1](packages/ibm-platform-api-operator-app/3.9.1.md) | +| ibm-user-data-services-operator | alpha | alpha | [2.0.12](packages/ibm-user-data-services-operator/2.0.12.md) | +| ibm-zen-operator | v3.23 | v6.2 | [6.2.1](packages/ibm-zen-operator/6.2.1.md) | +| | | v6.1 | [6.1.3](packages/ibm-zen-operator/6.1.3.md) | +| | | v6.0 | [6.0.4](packages/ibm-zen-operator/6.0.4.md) | +| | | v4.4 | [5.1.16](packages/ibm-zen-operator/5.1.16.md) | +| | | v4.3 | [5.1.1](packages/ibm-zen-operator/5.1.1.md) | +| | | v4.2 | [5.0.2](packages/ibm-zen-operator/5.0.2.md) | +| | | v4.1 | [5.0.1](packages/ibm-zen-operator/5.0.1.md) | +| | | v4.0 | [5.0.0](packages/ibm-zen-operator/5.0.0.md) | +| | | v3.23 | [1.8.13](packages/ibm-zen-operator/1.8.13.md) | +| | | v3.22 | [1.8.0](packages/ibm-zen-operator/1.8.0.md) | +| | | v3.21 | [1.7.2](packages/ibm-zen-operator/1.7.2.md) | +| | | v3.20 | [1.7.1](packages/ibm-zen-operator/1.7.1.md) | +| | | v3 | [1.8.13](packages/ibm-zen-operator/1.8.13.md) | +| | | beta | [1.0.1](packages/ibm-zen-operator/1.0.1.md) | +| isf-operator | v2.0 | v2.0 | [2.11.0](packages/isf-operator/2.11.0.md) | + +### IBM Cloud Pak for Data +| Package | Default Channel | Channel | Latest Version | +|-------------------------------|-------------------|-----------|-------------------------------------------------------------| +| analyticsengine-operator | v8.1 | v8.1 | [8.1.0](packages/analyticsengine-operator/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/analyticsengine-operator/8.0.0.md) | +| | | v7.3 | [7.3.0](packages/analyticsengine-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/analyticsengine-operator/7.2.0.md) | +| | | v6.0 | [6.0.0](packages/analyticsengine-operator/6.0.0.md) | +| | | v5.9 | [5.9.0](packages/analyticsengine-operator/5.9.0.md) | +| | | v5.5 | [5.5.0](packages/analyticsengine-operator/5.5.0.md) | +| | | v5.4 | [5.4.0](packages/analyticsengine-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/analyticsengine-operator/5.3.0.md) | +| | | v5.1 | [5.1.0](packages/analyticsengine-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/analyticsengine-operator/5.0.0.md) | +| | | v4.3 | [4.3.0](packages/analyticsengine-operator/4.3.0.md) | +| | | v4.2 | [4.2.0](packages/analyticsengine-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/analyticsengine-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/analyticsengine-operator/4.0.0.md) | +| | | v3.5 | [3.5.0](packages/analyticsengine-operator/3.5.0.md) | +| | | v3.4 | [3.4.0](packages/analyticsengine-operator/3.4.0.md) | +| | | v3.3 | [3.3.0](packages/analyticsengine-operator/3.3.0.md) | +| | | v3.1 | [3.1.0](packages/analyticsengine-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/analyticsengine-operator/3.0.0.md) | +| | | v2.3 | [2.3.0](packages/analyticsengine-operator/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/analyticsengine-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/analyticsengine-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/analyticsengine-operator/2.0.0.md) | +| | | stable-v1 | [1.0.9](packages/analyticsengine-operator/1.0.9.md) | +| | | beta | [1.0.1](packages/analyticsengine-operator/1.0.1.md) | +| cpd-platform-operator | v6.2 | v6.2 | [6.2.1](packages/cpd-platform-operator/6.2.1.md) | +| | | v6.1 | [6.1.3](packages/cpd-platform-operator/6.1.3.md) | +| | | v6.0 | [6.0.3](packages/cpd-platform-operator/6.0.3.md) | +| | | v5.9 | [5.9.0](packages/cpd-platform-operator/5.9.0.md) | +| | | v5.8 | [5.8.0](packages/cpd-platform-operator/5.8.0.md) | +| | | v5.7 | [5.7.0](packages/cpd-platform-operator/5.7.0.md) | +| | | v5.6 | [5.6.0](packages/cpd-platform-operator/5.6.0.md) | +| | | v5.5 | [5.5.0](packages/cpd-platform-operator/5.5.0.md) | +| | | v5.4 | [5.4.0](packages/cpd-platform-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/cpd-platform-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/cpd-platform-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/cpd-platform-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/cpd-platform-operator/5.0.0.md) | +| | | v4.4 | [4.4.0](packages/cpd-platform-operator/4.4.0.md) | +| | | v4.3 | [4.3.0](packages/cpd-platform-operator/4.3.0.md) | +| | | v4.2 | [4.2.0](packages/cpd-platform-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/cpd-platform-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/cpd-platform-operator/4.0.0.md) | +| | | v3.8 | [3.8.0](packages/cpd-platform-operator/3.8.0.md) | +| | | v3.7 | [3.7.0](packages/cpd-platform-operator/3.7.0.md) | +| | | v3.6 | [3.6.0](packages/cpd-platform-operator/3.6.0.md) | +| | | v3.5 | [3.5.0](packages/cpd-platform-operator/3.5.0.md) | +| | | v3.4 | [3.4.0](packages/cpd-platform-operator/3.4.0.md) | +| | | v3.3 | [3.3.0](packages/cpd-platform-operator/3.3.0.md) | +| | | v3.2 | [3.2.0](packages/cpd-platform-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/cpd-platform-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/cpd-platform-operator/3.0.0.md) | +| | | v2.0 | [2.0.8](packages/cpd-platform-operator/2.0.8.md) | +| | | stable-v1 | [2.0.0](packages/cpd-platform-operator/2.0.0.md) | +| | | beta | [2.0.0](packages/cpd-platform-operator/2.0.0.md) | +| ibm-ca-operator | v28.1 | v4.0 | [4.0.8](packages/ibm-ca-operator/4.0.8.md) | +| | | v28.1 | [28.1.0](packages/ibm-ca-operator/28.1.0.md) | +| | | v28.0 | [28.0.0](packages/ibm-ca-operator/28.0.0.md) | +| | | v27.3 | [27.3.0](packages/ibm-ca-operator/27.3.0.md) | +| | | v27.2 | [27.2.0](packages/ibm-ca-operator/27.2.0.md) | +| | | v27.1 | [27.1.0](packages/ibm-ca-operator/27.1.0.md) | +| | | v27.0 | [27.0.0](packages/ibm-ca-operator/27.0.0.md) | +| | | v26.3 | [26.3.1](packages/ibm-ca-operator/26.3.1.md) | +| | | v26.2 | [26.2.0](packages/ibm-ca-operator/26.2.0.md) | +| | | v26.1 | [26.1.0](packages/ibm-ca-operator/26.1.0.md) | +| | | v26.0 | [26.0.0](packages/ibm-ca-operator/26.0.0.md) | +| | | v25.9 | [25.9.0](packages/ibm-ca-operator/25.9.0.md) | +| | | v25.8 | [25.8.0](packages/ibm-ca-operator/25.8.0.md) | +| | | v25.4 | [25.4.0](packages/ibm-ca-operator/25.4.0.md) | +| | | v25.3 | [25.3.0](packages/ibm-ca-operator/25.3.0.md) | +| | | v25.2 | [25.2.0](packages/ibm-ca-operator/25.2.0.md) | +| | | v25.0 | [25.0.0](packages/ibm-ca-operator/25.0.0.md) | +| | | v24.3 | [24.3.0](packages/ibm-ca-operator/24.3.0.md) | +| | | v24.0 | [24.0.0](packages/ibm-ca-operator/24.0.0.md) | +| | | v23.5 | [23.5.0](packages/ibm-ca-operator/23.5.0.md) | +| | | v23.4 | [23.4.0](packages/ibm-ca-operator/23.4.0.md) | +| | | v23.3 | [23.3.0](packages/ibm-ca-operator/23.3.0.md) | +| | | v23.1 | [23.1.0](packages/ibm-ca-operator/23.1.0.md) | +| | | v23.0 | [23.0.0](packages/ibm-ca-operator/23.0.0.md) | +| | | v22.3 | [22.3.0](packages/ibm-ca-operator/22.3.0.md) | +| | | v22.2 | [22.2.0](packages/ibm-ca-operator/22.2.0.md) | +| | | v22.1 | [22.1.0](packages/ibm-ca-operator/22.1.0.md) | +| | | v22.0 | [22.0.0](packages/ibm-ca-operator/22.0.0.md) | +| ibm-cpd-canvasbase | v11.0 | v8.5 | [8.5.0](packages/ibm-cpd-canvasbase/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-canvasbase/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-canvasbase/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-canvasbase/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-canvasbase/8.0.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-canvasbase/11.0.0.md) | +| ibm-cpd-ccs | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-ccs/9.3.0.md) | +| | | v9.2 | [9.2.0](packages/ibm-cpd-ccs/9.2.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-ccs/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-ccs/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-ccs/8.9.0.md) | +| | | v8.8 | [8.8.0](packages/ibm-cpd-ccs/8.8.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-ccs/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-ccs/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-ccs/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-ccs/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-ccs/8.3.0.md) | +| | | v8.2 | [8.2.0](packages/ibm-cpd-ccs/8.2.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-ccs/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-ccs/8.0.0.md) | +| | | v7.3 | [7.3.0](packages/ibm-cpd-ccs/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/ibm-cpd-ccs/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/ibm-cpd-ccs/7.1.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-ccs/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-ccs/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-ccs/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-ccs/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-ccs/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-ccs/6.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-ccs/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-ccs/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-ccs/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-ccs/2.0.0.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-ccs/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-ccs/11.0.0.md) | +| | | v10.3 | [10.3.0](packages/ibm-cpd-ccs/10.3.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-ccs/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-ccs/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-ccs/10.0.0.md) | +| | | v1.0 | [1.0.9](packages/ibm-cpd-ccs/1.0.9.md) | +| ibm-cpd-datarefinery | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-datarefinery/9.3.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-datarefinery/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-datarefinery/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-datarefinery/8.9.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-datarefinery/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-datarefinery/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-datarefinery/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-datarefinery/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-datarefinery/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-datarefinery/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-datarefinery/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-datarefinery/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-datarefinery/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-datarefinery/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-datarefinery/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-datarefinery/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-datarefinery/6.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-datarefinery/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-datarefinery/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-datarefinery/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-datarefinery/2.0.0.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-datarefinery/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-datarefinery/11.0.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-datarefinery/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-datarefinery/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-datarefinery/10.0.0.md) | +| | | v1.0 | [1.0.10](packages/ibm-cpd-datarefinery/1.0.10.md) | +| ibm-cpd-spss | v8.5 | v8.5 | [8.5.0](packages/ibm-cpd-spss/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-spss/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-spss/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-spss/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-spss/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-spss/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-spss/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-spss/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-spss/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-spss/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-spss/6.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-spss/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-spss/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-spss/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-spss/2.0.0.md) | +| | | v1.0 | [1.0.9](packages/ibm-cpd-spss/1.0.9.md) | +| ibm-cpd-wml-operator | v8.1 | v8.1 | [8.1.0](packages/ibm-cpd-wml-operator/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-wml-operator/8.0.0.md) | +| | | v7.2 | [7.2.0](packages/ibm-cpd-wml-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/ibm-cpd-wml-operator/7.1.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-wml-operator/7.0.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-wml-operator/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-wml-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-wml-operator/6.0.0.md) | +| | | v5.9 | [5.9.0](packages/ibm-cpd-wml-operator/5.9.0.md) | +| | | v5.7 | [5.7.0](packages/ibm-cpd-wml-operator/5.7.0.md) | +| | | v5.6 | [5.6.0](packages/ibm-cpd-wml-operator/5.6.0.md) | +| | | v5.5 | [5.5.0](packages/ibm-cpd-wml-operator/5.5.0.md) | +| | | v5.4 | [5.4.0](packages/ibm-cpd-wml-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/ibm-cpd-wml-operator/5.3.0.md) | +| | | v5.1 | [5.1.0](packages/ibm-cpd-wml-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/ibm-cpd-wml-operator/5.0.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-cpd-wml-operator/4.0.0.md) | +| | | v3.5 | [3.5.0](packages/ibm-cpd-wml-operator/3.5.0.md) | +| | | v3.4 | [3.4.0](packages/ibm-cpd-wml-operator/3.4.0.md) | +| | | v3.3 | [3.3.0](packages/ibm-cpd-wml-operator/3.3.0.md) | +| | | v3.1 | [3.1.0](packages/ibm-cpd-wml-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/ibm-cpd-wml-operator/3.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-wml-operator/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-wml-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-wml-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-wml-operator/2.0.0.md) | +| | | v1.1 | [1.1.8](packages/ibm-cpd-wml-operator/1.1.8.md) | +| | | beta | [1.0.1486](packages/ibm-cpd-wml-operator/1.0.1486.md) | +| | | alpha | [1.1.0](packages/ibm-cpd-wml-operator/1.1.0.md) | +| ibm-cpd-wos | v8.0 | v8.0 | [8.0.0](packages/ibm-cpd-wos/8.0.0.md) | +| ibm-cpd-ws-runtimes | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-ws-runtimes/9.3.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-ws-runtimes/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-ws-runtimes/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-ws-runtimes/8.9.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-ws-runtimes/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-ws-runtimes/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-ws-runtimes/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-ws-runtimes/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-ws-runtimes/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-ws-runtimes/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-ws-runtimes/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-ws-runtimes/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-ws-runtimes/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-ws-runtimes/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-ws-runtimes/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-ws-runtimes/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-ws-runtimes/6.0.0.md) | +| | | v5.3 | [5.3.0](packages/ibm-cpd-ws-runtimes/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/ibm-cpd-ws-runtimes/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/ibm-cpd-ws-runtimes/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/ibm-cpd-ws-runtimes/5.0.0.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-ws-runtimes/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-ws-runtimes/11.0.0.md) | +| | | v10.3 | [10.3.0](packages/ibm-cpd-ws-runtimes/10.3.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-ws-runtimes/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-ws-runtimes/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-ws-runtimes/10.0.0.md) | +| | | v1.0 | [1.0.9](packages/ibm-cpd-ws-runtimes/1.0.9.md) | +| ibm-cpd-wsl | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-wsl/9.3.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-wsl/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-wsl/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-wsl/8.9.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-wsl/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-wsl/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-wsl/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-wsl/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-wsl/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-wsl/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-wsl/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-wsl/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-wsl/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-wsl/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-wsl/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-wsl/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-wsl/6.0.0.md) | +| | | v3.3 | [3.3.0](packages/ibm-cpd-wsl/3.3.0.md) | +| | | v3.2 | [3.2.0](packages/ibm-cpd-wsl/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/ibm-cpd-wsl/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/ibm-cpd-wsl/3.0.0.md) | +| | | v2.0 | [2.0.9](packages/ibm-cpd-wsl/2.0.9.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-wsl/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-wsl/11.0.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-wsl/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-wsl/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-wsl/10.0.0.md) | +| ibm-elasticsearch-operator | v1.1 | v1.1 | [1.1.2667](packages/ibm-elasticsearch-operator/1.1.2667.md) | +| ibm-etcd-operator | v1.0 | v1.0 | [1.0.47](packages/ibm-etcd-operator/1.0.47.md) | +| ibm-iam-operator | v3.23 | v4.9 | [4.9.0](packages/ibm-iam-operator/4.9.0.md) | +| | | v4.8 | [4.8.0](packages/ibm-iam-operator/4.8.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-iam-operator/4.7.0.md) | +| | | v4.6 | [4.6.0](packages/ibm-iam-operator/4.6.0.md) | +| | | v4.5 | [4.5.15](packages/ibm-iam-operator/4.5.15.md) | +| | | v4.4 | [4.4.0](packages/ibm-iam-operator/4.4.0.md) | +| | | v4.3 | [4.3.1](packages/ibm-iam-operator/4.3.1.md) | +| | | v4.2 | [4.2.0](packages/ibm-iam-operator/4.2.0.md) | +| | | v4.14 | [4.14.0](packages/ibm-iam-operator/4.14.0.md) | +| | | v4.13 | [4.13.0](packages/ibm-iam-operator/4.13.0.md) | +| | | v4.12 | [4.12.0](packages/ibm-iam-operator/4.12.0.md) | +| | | v4.11 | [4.11.0](packages/ibm-iam-operator/4.11.0.md) | +| | | v4.10 | [4.10.0](packages/ibm-iam-operator/4.10.0.md) | +| | | v4.1 | [4.1.0](packages/ibm-iam-operator/4.1.0.md) | +| | | v4.0 | [4.0.1](packages/ibm-iam-operator/4.0.1.md) | +| | | v3.23 | [3.23.14](packages/ibm-iam-operator/3.23.14.md) | +| | | v3.22 | [3.22.0](packages/ibm-iam-operator/3.22.0.md) | +| | | v3.21 | [3.21.0](packages/ibm-iam-operator/3.21.0.md) | +| | | v3.20 | [3.20.1](packages/ibm-iam-operator/3.20.1.md) | +| | | v3 | [3.23.14](packages/ibm-iam-operator/3.23.14.md) | +| | | beta | [3.9.1](packages/ibm-iam-operator/3.9.1.md) | +| ibm-minio-operator | v1.0 | v1.0 | [1.0.18](packages/ibm-minio-operator/1.0.18.md) | +| ibm-model-train-operator | v2.0 | v2.0 | [2.0.0](packages/ibm-model-train-operator/2.0.0.md) | +| | | v1.1 | [1.1.15](packages/ibm-model-train-operator/1.1.15.md) | +| ibm-opensearch-operator | v1.1 | v1.1 | [1.1.2494](packages/ibm-opensearch-operator/1.1.2494.md) | +| ibm-rabbitmq-operator | v1.0 | v1.0 | [1.0.42](packages/ibm-rabbitmq-operator/1.0.42.md) | +| ibm-watson-discovery-operator | v10.2 | v9.2 | [9.2.0](packages/ibm-watson-discovery-operator/9.2.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-watson-discovery-operator/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-watson-discovery-operator/9.0.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-watson-discovery-operator/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-watson-discovery-operator/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-watson-discovery-operator/8.0.0.md) | +| | | v7.9 | [7.9.0](packages/ibm-watson-discovery-operator/7.9.0.md) | +| | | v7.8 | [7.8.0](packages/ibm-watson-discovery-operator/7.8.0.md) | +| | | v7.7 | [7.7.0](packages/ibm-watson-discovery-operator/7.7.0.md) | +| | | v7.6 | [7.6.0](packages/ibm-watson-discovery-operator/7.6.0.md) | +| | | v7.5 | [7.5.0](packages/ibm-watson-discovery-operator/7.5.0.md) | +| | | v7.4 | [7.4.0](packages/ibm-watson-discovery-operator/7.4.0.md) | +| | | v7.3 | [7.3.0](packages/ibm-watson-discovery-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/ibm-watson-discovery-operator/7.2.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-watson-discovery-operator/7.0.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-watson-discovery-operator/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-watson-discovery-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-watson-discovery-operator/6.0.0.md) | +| | | v5.5 | [5.5.0](packages/ibm-watson-discovery-operator/5.5.0.md) | +| | | v5.3 | [5.3.0](packages/ibm-watson-discovery-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/ibm-watson-discovery-operator/5.2.0.md) | +| | | v5.0 | [5.0.0](packages/ibm-watson-discovery-operator/5.0.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-watson-discovery-operator/4.7.0.md) | +| | | v4.6 | [4.6.0](packages/ibm-watson-discovery-operator/4.6.0.md) | +| | | v4.5 | [4.5.0](packages/ibm-watson-discovery-operator/4.5.0.md) | +| | | v4.0 | [4.0.9](packages/ibm-watson-discovery-operator/4.0.9.md) | +| | | v10.2 | [10.2.0](packages/ibm-watson-discovery-operator/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-watson-discovery-operator/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-watson-discovery-operator/10.0.0.md) | +| ibm-watson-gateway-operator | v1.0 | v1.0 | [1.0.53](packages/ibm-watson-gateway-operator/1.0.53.md) | + +### IBM Db2 Universal Operator +| Package | Default Channel | Channel | Latest Version | +|---------------|-------------------|-----------|----------------------------------------------------| +| db2u-operator | v110509.0 | v7.5 | [7.5.0](packages/db2u-operator/7.5.0.md) | +| | | v7.4 | [7.3.2](packages/db2u-operator/7.3.2.md) | +| | | v7.3 | [7.3.0](packages/db2u-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/db2u-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/db2u-operator/7.1.0.md) | +| | | v6.1 | [6.1.0](packages/db2u-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/db2u-operator/6.0.0.md) | +| | | v5.4 | [5.4.0](packages/db2u-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/db2u-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/db2u-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/db2u-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/db2u-operator/5.0.0.md) | +| | | v4.2 | [4.2.0](packages/db2u-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/db2u-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/db2u-operator/4.0.0.md) | +| | | v3.2 | [3.2.0](packages/db2u-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/db2u-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/db2u-operator/3.0.0.md) | +| | | v2.2 | [2.2.0](packages/db2u-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/db2u-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/db2u-operator/2.0.0.md) | +| | | v120102.0 | [120102.0.1](packages/db2u-operator/120102.0.1.md) | +| | | v120101.0 | [120101.0.1](packages/db2u-operator/120101.0.1.md) | +| | | v120100.0 | [120100.0.0](packages/db2u-operator/120100.0.0.md) | +| | | v110509.0 | [110509.0.6](packages/db2u-operator/110509.0.6.md) | +| | | v110508.0 | [110508.0.3](packages/db2u-operator/110508.0.3.md) | +| | | v1.1 | [1.1.13](packages/db2u-operator/1.1.13.md) | +| | | v1.0 | [1.0.11](packages/db2u-operator/1.0.11.md) | + +### IBM AppConnect +| Package | Default Channel | Channel | Latest Version | +|------------------|-------------------|-----------|-----------------------------------------------| +| couchdb-operator | v2.2 | v2.2 | [2.2.1](packages/couchdb-operator/2.2.1.md) | +| | | v2.1 | [2.0.1](packages/couchdb-operator/2.0.1.md) | +| | | v2.0 | [2.0.0](packages/couchdb-operator/2.0.0.md) | +| | | v1.4 | [1.4.4](packages/couchdb-operator/1.4.4.md) | +| | | v1.3 | [1.3.1](packages/couchdb-operator/1.3.1.md) | +| | | v1.2 | [1.2.1](packages/couchdb-operator/1.2.1.md) | +| | | v1.1 | [1.1.0](packages/couchdb-operator/1.1.0.md) | +| | | v1.0 | [1.0.14](packages/couchdb-operator/1.0.14.md) | +| | | stable | [2.2.1](packages/couchdb-operator/2.2.1.md) | +| | | beta | [1.4.2](packages/couchdb-operator/1.4.2.md) | +| ibm-appconnect | v12.17 | v9.2 | 9.2.1 | +| | | v9.1 | 9.1.0 | +| | | v9.0 | 9.0.0 | +| | | v8.2 | 8.2.1 | +| | | v8.1 | 8.1.0 | +| | | v8.0 | 8.0.0 | +| | | v7.2 | 7.2.0 | +| | | v7.1 | 7.1.0 | +| | | v7.0 | 7.0.0 | +| | | v6.2 | 6.2.0 | +| | | v6.1 | 6.1.1 | +| | | v6.0 | 6.0.0 | +| | | v5.2 | 5.2.0 | +| | | v5.1 | 5.1.0 | +| | | v5.0-lts | 5.0.22 | +| | | v4.2 | 4.2.0 | +| | | v4.1 | 4.1.0 | +| | | v4.0 | 4.0.0 | +| | | v3.1 | 3.1.0 | +| | | v3.0 | 3.0.0 | +| | | v2.1 | 2.1.0 | +| | | v2.0 | 2.0.0 | +| | | v12.9 | 12.9.0 | +| | | v12.8 | 12.8.2 | +| | | v12.7 | 12.7.0 | +| | | v12.6 | 12.6.0 | +| | | v12.5 | 12.5.1 | +| | | v12.4 | 12.4.0 | +| | | v12.3 | 12.3.0 | +| | | v12.2 | 12.2.1 | +| | | v12.17 | 12.17.0 | +| | | v12.16 | 12.16.0 | +| | | v12.15 | 12.15.0 | +| | | v12.14 | 12.14.0 | +| | | v12.13 | 12.13.1 | +| | | v12.12 | 12.12.0 | +| | | v12.11 | 12.11.1 | +| | | v12.10 | 12.10.1 | +| | | v12.1 | 12.1.2 | +| | | v12.0-sc2 | 12.0.17 | +| | | v11.6 | 11.6.0 | +| | | v11.5 | 11.5.1 | +| | | v11.4 | 11.4.0 | +| | | v11.3 | 11.3.0 | +| | | v11.2 | 11.2.1 | +| | | v11.1 | 11.1.0 | +| | | v11.0 | 11.0.1 | +| | | v10.1 | 10.1.1 | +| | | v10.0 | 10.0.1 | +| | | v1.5 | [1.5.2](packages/ibm-appconnect/1.5.2.md) | +| | | v1.4 | [1.4.0](packages/ibm-appconnect/1.4.0.md) | +| | | v1.3 | [1.3.2](packages/ibm-appconnect/1.3.2.md) | +| | | v1.2 | [1.2.0](packages/ibm-appconnect/1.2.0.md) | +| | | v1.1-eus | [1.1.10](packages/ibm-appconnect/1.1.10.md) | +| | | v1.0 | [1.0.5](packages/ibm-appconnect/1.0.5.md) | +| | | cd | 5.2.0 | + +### Eclipse Amlen +| Package | Default Channel | Channel | Latest Version | +|------------------------|-------------------|-----------|---------------------------------------------------| +| eclipse-amlen-operator | 1.x | 1.x | [1.1.3](packages/eclipse-amlen-operator/1.1.3.md) | + +### Open Data Hub +| Package | Default Channel | Channel | Latest Version | +|----------------------|-------------------|-----------|---------------------------------------------------| +| opendatahub-operator | fast | stable | [1.5.0](packages/opendatahub-operator/1.5.0.md) | +| | | rolling | [1.11.0](packages/opendatahub-operator/1.11.0.md) | +| | | odh-2.8.z | [2.8.1](packages/opendatahub-operator/2.8.1.md) | +| | | fast | [2.32.0](packages/opendatahub-operator/2.32.0.md) | \ No newline at end of file diff --git a/docs/catalogs/v9-251231-ppc64le.md b/docs/catalogs/v9-251231-ppc64le.md new file mode 100644 index 00000000000..1e036f0f121 --- /dev/null +++ b/docs/catalogs/v9-251231-ppc64le.md @@ -0,0 +1,85 @@ +IBM Maximo Operator Catalog v9 (251231) +=============================================================================== + +:::mas-catalog-details + + + +:::mas-catalog-whats-new + +:::mas-catalog-known-issues +:::mas-catalog-install + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix + +### Red Hat Operators +The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: + +- **openshift-pipelines-operator-rh** required by the MAS CLI + +Package Manifest +------------------------------------------------------------------------------- + +### IBM Maximo Application Suite +| Package | Default Channel | Channel | Latest Version | +|----------------|-------------------|---------------|---------------------------------------------------------------------------| +| ibm-mas | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6976](packages/ibm-mas/9.2.0-pre.stable-6976.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas/9.1.7.md) | +| | | 9.0.x | [9.0.18](packages/ibm-mas/9.0.18.md) | +| ibm-mas-manage | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6856](packages/ibm-mas-manage/9.2.0-pre.stable-6856.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas-manage/9.1.7.md) | +| | | 9.0.x | [9.0.20](packages/ibm-mas-manage/9.0.20.md) | + +### IBM Utilities +| Package | Default Channel | Channel | Latest Version | +|--------------------|-------------------|-----------|-----------------------------------------------| +| ibm-sls | 3.x | 3.x | [3.12.4](packages/ibm-sls/3.12.4.md) | +| ibm-truststore-mgr | 1.x | 1.x | [1.7.2](packages/ibm-truststore-mgr/1.7.2.md) | + +### IBM Cloud Pak Foundational Services +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Cloud Pak for Data +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Db2 Universal Operator +| Package | Default Channel | Channel | Latest Version | +|---------------|-------------------|-----------|----------------------------------------------------| +| db2u-operator | v110509.0 | v7.5 | [7.5.0](packages/db2u-operator/7.5.0.md) | +| | | v7.4 | [7.3.2](packages/db2u-operator/7.3.2.md) | +| | | v7.3 | [7.3.0](packages/db2u-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/db2u-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/db2u-operator/7.1.0.md) | +| | | v6.1 | [6.1.0](packages/db2u-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/db2u-operator/6.0.0.md) | +| | | v5.4 | [5.4.0](packages/db2u-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/db2u-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/db2u-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/db2u-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/db2u-operator/5.0.0.md) | +| | | v4.2 | [4.2.0](packages/db2u-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/db2u-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/db2u-operator/4.0.0.md) | +| | | v3.2 | [3.2.0](packages/db2u-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/db2u-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/db2u-operator/3.0.0.md) | +| | | v2.2 | [2.2.0](packages/db2u-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/db2u-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/db2u-operator/2.0.0.md) | +| | | v120102.0 | [120102.0.1](packages/db2u-operator/120102.0.1.md) | +| | | v120101.0 | [120101.0.1](packages/db2u-operator/120101.0.1.md) | +| | | v120100.0 | [120100.0.0](packages/db2u-operator/120100.0.0.md) | +| | | v110509.0 | [110509.0.6](packages/db2u-operator/110509.0.6.md) | +| | | v110508.0 | [110508.0.3](packages/db2u-operator/110508.0.3.md) | +| | | v1.1 | [1.1.13](packages/db2u-operator/1.1.13.md) | +| | | v1.0 | [1.0.11](packages/db2u-operator/1.0.11.md) | diff --git a/docs/catalogs/v9-251231-s390x.md b/docs/catalogs/v9-251231-s390x.md new file mode 100644 index 00000000000..1e036f0f121 --- /dev/null +++ b/docs/catalogs/v9-251231-s390x.md @@ -0,0 +1,85 @@ +IBM Maximo Operator Catalog v9 (251231) +=============================================================================== + +:::mas-catalog-details + + + +:::mas-catalog-whats-new + +:::mas-catalog-known-issues +:::mas-catalog-install + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix + +### Red Hat Operators +The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: + +- **openshift-pipelines-operator-rh** required by the MAS CLI + +Package Manifest +------------------------------------------------------------------------------- + +### IBM Maximo Application Suite +| Package | Default Channel | Channel | Latest Version | +|----------------|-------------------|---------------|---------------------------------------------------------------------------| +| ibm-mas | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6976](packages/ibm-mas/9.2.0-pre.stable-6976.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas/9.1.7.md) | +| | | 9.0.x | [9.0.18](packages/ibm-mas/9.0.18.md) | +| ibm-mas-manage | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6856](packages/ibm-mas-manage/9.2.0-pre.stable-6856.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas-manage/9.1.7.md) | +| | | 9.0.x | [9.0.20](packages/ibm-mas-manage/9.0.20.md) | + +### IBM Utilities +| Package | Default Channel | Channel | Latest Version | +|--------------------|-------------------|-----------|-----------------------------------------------| +| ibm-sls | 3.x | 3.x | [3.12.4](packages/ibm-sls/3.12.4.md) | +| ibm-truststore-mgr | 1.x | 1.x | [1.7.2](packages/ibm-truststore-mgr/1.7.2.md) | + +### IBM Cloud Pak Foundational Services +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Cloud Pak for Data +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Db2 Universal Operator +| Package | Default Channel | Channel | Latest Version | +|---------------|-------------------|-----------|----------------------------------------------------| +| db2u-operator | v110509.0 | v7.5 | [7.5.0](packages/db2u-operator/7.5.0.md) | +| | | v7.4 | [7.3.2](packages/db2u-operator/7.3.2.md) | +| | | v7.3 | [7.3.0](packages/db2u-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/db2u-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/db2u-operator/7.1.0.md) | +| | | v6.1 | [6.1.0](packages/db2u-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/db2u-operator/6.0.0.md) | +| | | v5.4 | [5.4.0](packages/db2u-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/db2u-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/db2u-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/db2u-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/db2u-operator/5.0.0.md) | +| | | v4.2 | [4.2.0](packages/db2u-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/db2u-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/db2u-operator/4.0.0.md) | +| | | v3.2 | [3.2.0](packages/db2u-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/db2u-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/db2u-operator/3.0.0.md) | +| | | v2.2 | [2.2.0](packages/db2u-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/db2u-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/db2u-operator/2.0.0.md) | +| | | v120102.0 | [120102.0.1](packages/db2u-operator/120102.0.1.md) | +| | | v120101.0 | [120101.0.1](packages/db2u-operator/120101.0.1.md) | +| | | v120100.0 | [120100.0.0](packages/db2u-operator/120100.0.0.md) | +| | | v110509.0 | [110509.0.6](packages/db2u-operator/110509.0.6.md) | +| | | v110508.0 | [110508.0.3](packages/db2u-operator/110508.0.3.md) | +| | | v1.1 | [1.1.13](packages/db2u-operator/1.1.13.md) | +| | | v1.0 | [1.0.11](packages/db2u-operator/1.0.11.md) | diff --git a/docs/catalogs/v9-260129-amd64.md b/docs/catalogs/v9-260129-amd64.md new file mode 100644 index 00000000000..2fbb4f93b69 --- /dev/null +++ b/docs/catalogs/v9-260129-amd64.md @@ -0,0 +1,693 @@ +IBM Maximo Operator Catalog v9 (260129) +=============================================================================== + +:::mas-catalog-details + + +:::mas-catalog-whats-new + +:::mas-catalog-known-issues + +!!! important + MAS 8.10 and 8.11 standard support and software updates end on 30th April 2026, to ensure you are able to continue to receive monthly security updates and bug fixes we advise all customers to begin making upgrade plans for MAS 9.0 if you have not already done so. + +:::mas-catalog-install + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix + +### Certified Operators +The following packages from the `registry.redhat.io/redhat/certified-operator-index` catalog are used in the Maximo Application Suite install: + +- **gpu-operator-certified** required by `ibm.mas_devops.nvidia_gpu` role +- **kubeturbo-certified** required by `ibm.mas_devops.kubeturbo` role + +### Community Operators +The following packages from the `registry.redhat.io/redhat/community-operator-index` catalog are used in the Maximo Application Suite install: + +- **grafana-operator** required by `ibm.mas_devops.grafana` role +- **opentelemetry-operator** required by `ibm.mas_devops.opentelemetry` role +- **strimzi-kafka-operator** required by `ibm.mas_devops.kafka` role (if using Strimzi as Kakfa provider) + +### Red Hat Operators +The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: + +- **amq-streams** required by `ibm.mas_devops.kafka` role (if using AMQ Streams as Kakfa provider) +- **openshift-pipelines-operator-rh** required by the MAS CLI +- **nfd** required by `ibm.mas_devops.nvidia_gpu` role +- **aws-efs-csi-driver-operator** required by `ibm.mas_devops.ocp_efs` role +- **local-storage-operator** required by `ibm.mas_devops.ocs` role +- **odf-operator** required by `ibm.mas_devops.ocs` role + +IBM Cloud Pak for Data Compatibility +------------------------------------------------------------------------------- +This catalog is certified compatible with **IBM Cloud Pak for Data v5.2.0**. + +For more information on Cloud Pak for Data's support policy review this [IBM Cloud Pak for Data Software Support Lifecycle Addendum](https://www.ibm.com/support/pages/node/6593147). + +MongoDB Compatibility +------------------------------------------------------------------------------- +This catalog is certified compatible with MongoDB **[v7.0](https://www.mongodb.com/docs/v7.0/)** and **[v8.0](https://www.mongodb.com/docs/v8.0/)**, this applies to both MongoDB Community Edition (CE) and MongoDB Enterprise Edition (EE). + +By default an in-cluster MongoDb (CE) instance will be created when you install MAS, using the [MongoDB Community Kubernetes Operator](https://github.com/mongodb/mongodb-kubernetes-operator); however MAS supports use with any type of MongoDb instance, including but not limited to the following hosted solutions: + +- [IBM Cloud Databases for MongoDB](https://www.ibm.com/products/databases-for-mongodb) +- [MongoDB Atlas](https://www.mongodb.com/products/platform/atlas-database) + +[Amazon DocumentDB](https://aws.amazon.com/documentdb/) provides [MongoDb compatability](https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html) and may be used as an alternative to MongoDb. This catalog is certified compatible with **DocumentDb Engine Version v5.0.0**. + +Package Manifest +------------------------------------------------------------------------------- + +### IBM Maximo Application Suite +| Package | Default Channel | Channel | Latest Version | +|--------------------------|-------------------|---------------|-------------------------------------------------------------------------------------| +| ibm-aiservice | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-9768](packages/ibm-aiservice/9.2.0-pre.stable-9768.md) | +| | | 9.1.x | [9.1.11](packages/ibm-aiservice/9.1.11.md) | +| ibm-mas | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-9887](packages/ibm-mas/9.2.0-pre.stable-9887.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas/9.1.8.md) | +| | | 9.0.x | [9.0.19](packages/ibm-mas/9.0.19.md) | +| | | 8.11.x | [8.11.30](packages/ibm-mas/8.11.30.md) | +| | | 8.10.x | [8.10.33](packages/ibm-mas/8.10.33.md) | +| ibm-mas-aibroker | 9.1.x | 9.1.x | [9.1.4](packages/ibm-mas-aibroker/9.1.4.md) | +| | | 9.0.x | [9.0.6](packages/ibm-mas-aibroker/9.0.6.md) | +| ibm-mas-arcgis | 9.1.x | 9.1.x | [9.1.5](packages/ibm-mas-arcgis/9.1.5.md) | +| | | 9.0.x | [9.0.6](packages/ibm-mas-arcgis/9.0.6.md) | +| ibm-mas-assist | 9.1.x | 9.1.x | [9.1.7](packages/ibm-mas-assist/9.1.7.md) | +| | | 9.0.x | [9.0.13](packages/ibm-mas-assist/9.0.13.md) | +| | | 8.8.x | [8.8.7](packages/ibm-mas-assist/8.8.7.md) | +| | | 8.7.x | [8.7.8](packages/ibm-mas-assist/8.7.8.md) | +| ibm-mas-facilities | 9.1.x | 9.1.x | [9.1.7](packages/ibm-mas-facilities/9.1.7.md) | +| ibm-mas-hputilities | 8.6.x | 8.6.x | [8.6.7](packages/ibm-mas-hputilities/8.6.7.md) | +| ibm-mas-iot | 9.1.x | 9.1.x | [9.1.7](packages/ibm-mas-iot/9.1.7.md) | +| | | 9.0.x | [9.0.16](packages/ibm-mas-iot/9.0.16.md) | +| | | 8.8.x | [8.8.26](packages/ibm-mas-iot/8.8.26.md) | +| | | 8.7.x | [8.7.30](packages/ibm-mas-iot/8.7.30.md) | +| ibm-mas-manage | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-10282](packages/ibm-mas-manage/9.2.0-pre.stable-10282.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas-manage/9.1.8.md) | +| | | 9.0.x | [9.0.21](packages/ibm-mas-manage/9.0.21.md) | +| | | 8.7.x | [8.7.28](packages/ibm-mas-manage/8.7.28.md) | +| | | 8.6.x | [8.6.34](packages/ibm-mas-manage/8.6.34.md) | +| ibm-mas-monitor | 9.1.x | 9.1.x | [9.1.7](packages/ibm-mas-monitor/9.1.7.md) | +| | | 9.0.x | [9.0.17](packages/ibm-mas-monitor/9.0.17.md) | +| | | 8.11.x | [8.11.25](packages/ibm-mas-monitor/8.11.25.md) | +| | | 8.10.x | [8.10.27](packages/ibm-mas-monitor/8.10.27.md) | +| ibm-mas-optimizer | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-9869](packages/ibm-mas-optimizer/9.2.0-pre.stable-9869.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas-optimizer/9.1.8.md) | +| | | 9.0.x | [9.0.19](packages/ibm-mas-optimizer/9.0.19.md) | +| | | 8.5.x | [8.5.25](packages/ibm-mas-optimizer/8.5.25.md) | +| | | 8.4.x | [8.4.26](packages/ibm-mas-optimizer/8.4.26.md) | +| ibm-mas-predict | 9.1.x | 9.1.x | [9.1.4](packages/ibm-mas-predict/9.1.4.md) | +| | | 9.0.x | [9.0.11](packages/ibm-mas-predict/9.0.11.md) | +| | | 8.9.x | [8.9.14](packages/ibm-mas-predict/8.9.14.md) | +| | | 8.8.x | [8.8.12](packages/ibm-mas-predict/8.8.12.md) | +| ibm-mas-visualinspection | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-6198](packages/ibm-mas-visualinspection/9.2.0-pre.stable-6198.md) | +| | | 9.1.x | [9.1.7](packages/ibm-mas-visualinspection/9.1.7.md) | +| | | 9.0.x | [9.0.16](packages/ibm-mas-visualinspection/9.0.16.md) | +| | | 8.9.x | [8.9.19](packages/ibm-mas-visualinspection/8.9.19.md) | +| | | 8.8.x | [8.8.4](packages/ibm-mas-visualinspection/8.8.4.md) | + +### IBM Utilities +| Package | Default Channel | Channel | Latest Version | +|---------------------|-------------------|-----------|--------------------------------------------------| +| ibm-data-dictionary | 1.1.x | 1.1.x | [1.1.21](packages/ibm-data-dictionary/1.1.21.md) | +| ibm-sls | 3.x | 3.x | [3.12.5](packages/ibm-sls/3.12.5.md) | +| ibm-truststore-mgr | 1.x | 1.x | [1.7.2](packages/ibm-truststore-mgr/1.7.2.md) | + +### IBM Cloud Pak Foundational Services +| Package | Default Channel | Channel | Latest Version | +|-------------------------------------|-------------------|--------------|--------------------------------------------------------------------| +| cloud-native-postgresql | stable-v1.25 | stable-v1.25 | [1.25.2](packages/cloud-native-postgresql/1.25.2.md) | +| | | stable-v1.22 | [1.22.9](packages/cloud-native-postgresql/1.22.9.md) | +| | | stable-v1.18 | [1.18.13](packages/cloud-native-postgresql/1.18.13.md) | +| | | stable-v1.17 | [1.17.3](packages/cloud-native-postgresql/1.17.3.md) | +| | | stable-v1.15 | [1.15.5](packages/cloud-native-postgresql/1.15.5.md) | +| | | stable | [1.22.7](packages/cloud-native-postgresql/1.22.7.md) | +| | | fast | [1.18.3](packages/cloud-native-postgresql/1.18.3.md) | +| ibm-cert-manager-operator | v3.23 | v4.2 | [4.2.19](packages/ibm-cert-manager-operator/4.2.19.md) | +| | | v4.1 | [4.1.0](packages/ibm-cert-manager-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-cert-manager-operator/4.0.0.md) | +| | | v3.23 | [3.25.13](packages/ibm-cert-manager-operator/3.25.13.md) | +| | | v3.22 | [3.24.0](packages/ibm-cert-manager-operator/3.24.0.md) | +| | | v3.21 | [3.23.0](packages/ibm-cert-manager-operator/3.23.0.md) | +| | | v3.20 | [3.22.0](packages/ibm-cert-manager-operator/3.22.0.md) | +| | | v3 | [3.25.13](packages/ibm-cert-manager-operator/3.25.13.md) | +| | | beta | [3.9.0](packages/ibm-cert-manager-operator/3.9.0.md) | +| ibm-common-service-operator | v4.13 | v4.9 | [4.9.0](packages/ibm-common-service-operator/4.9.0.md) | +| | | v4.8 | [4.8.0](packages/ibm-common-service-operator/4.8.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-common-service-operator/4.7.0.md) | +| | | v4.6 | [4.6.17](packages/ibm-common-service-operator/4.6.17.md) | +| | | v4.5 | [4.5.0](packages/ibm-common-service-operator/4.5.0.md) | +| | | v4.4 | [4.4.0](packages/ibm-common-service-operator/4.4.0.md) | +| | | v4.3 | [4.3.1](packages/ibm-common-service-operator/4.3.1.md) | +| | | v4.2 | [4.2.0](packages/ibm-common-service-operator/4.2.0.md) | +| | | v4.14 | [4.14.0](packages/ibm-common-service-operator/4.14.0.md) | +| | | v4.13 | [4.13.0](packages/ibm-common-service-operator/4.13.0.md) | +| | | v4.12 | [4.12.0](packages/ibm-common-service-operator/4.12.0.md) | +| | | v4.11 | [4.11.0](packages/ibm-common-service-operator/4.11.0.md) | +| | | v4.10 | [4.10.0](packages/ibm-common-service-operator/4.10.0.md) | +| | | v4.1 | [4.1.0](packages/ibm-common-service-operator/4.1.0.md) | +| | | v4.0 | [4.0.1](packages/ibm-common-service-operator/4.0.1.md) | +| | | v3.23 | [3.23.14](packages/ibm-common-service-operator/3.23.14.md) | +| | | v3.22 | [3.22.0](packages/ibm-common-service-operator/3.22.0.md) | +| | | v3.21 | [3.21.0](packages/ibm-common-service-operator/3.21.0.md) | +| | | v3.20 | [3.20.1](packages/ibm-common-service-operator/3.20.1.md) | +| | | v3 | [3.19.22](packages/ibm-common-service-operator/3.19.22.md) | +| | | beta | [103.103.103](packages/ibm-common-service-operator/103.103.103.md) | +| ibm-commonui-operator-app | v3.23 | v4.9 | [4.9.0](packages/ibm-commonui-operator-app/4.9.0.md) | +| | | v4.8 | [4.8.0](packages/ibm-commonui-operator-app/4.8.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-commonui-operator-app/4.7.0.md) | +| | | v4.6 | [4.6.0](packages/ibm-commonui-operator-app/4.6.0.md) | +| | | v4.5 | [4.5.2](packages/ibm-commonui-operator-app/4.5.2.md) | +| | | v4.4 | [4.4.16](packages/ibm-commonui-operator-app/4.4.16.md) | +| | | v4.3 | [4.3.1](packages/ibm-commonui-operator-app/4.3.1.md) | +| | | v4.2 | [4.2.0](packages/ibm-commonui-operator-app/4.2.0.md) | +| | | v4.12 | [4.12.0](packages/ibm-commonui-operator-app/4.12.0.md) | +| | | v4.11 | [4.11.0](packages/ibm-commonui-operator-app/4.11.0.md) | +| | | v4.10 | [4.10.0](packages/ibm-commonui-operator-app/4.10.0.md) | +| | | v4.1 | [4.1.0](packages/ibm-commonui-operator-app/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-commonui-operator-app/4.0.0.md) | +| | | v3.23 | [1.21.14](packages/ibm-commonui-operator-app/1.21.14.md) | +| | | v3.22 | [1.20.0](packages/ibm-commonui-operator-app/1.20.0.md) | +| | | v3.21 | [1.19.0](packages/ibm-commonui-operator-app/1.19.0.md) | +| | | v3.20 | [1.18.1](packages/ibm-commonui-operator-app/1.18.1.md) | +| | | v3 | [1.21.14](packages/ibm-commonui-operator-app/1.21.14.md) | +| | | beta | [1.5.1](packages/ibm-commonui-operator-app/1.5.1.md) | +| ibm-events-operator | v5.2 | v5.2 | [5.2.1](packages/ibm-events-operator/5.2.1.md) | +| | | v5.1 | [5.1.2](packages/ibm-events-operator/5.1.2.md) | +| | | v3 | [5.0.1](packages/ibm-events-operator/5.0.1.md) | +| | | beta | [3.7.1](packages/ibm-events-operator/3.7.1.md) | +| ibm-ingress-nginx-operator-app | v3.23 | v3.23 | [1.20.13](packages/ibm-ingress-nginx-operator-app/1.20.13.md) | +| | | v3.22 | [1.19.0](packages/ibm-ingress-nginx-operator-app/1.19.0.md) | +| | | v3.21 | [1.18.0](packages/ibm-ingress-nginx-operator-app/1.18.0.md) | +| | | v3.20 | [1.17.1](packages/ibm-ingress-nginx-operator-app/1.17.1.md) | +| | | v3 | [1.20.13](packages/ibm-ingress-nginx-operator-app/1.20.13.md) | +| | | beta | [1.5.0](packages/ibm-ingress-nginx-operator-app/1.5.0.md) | +| ibm-licensing-operator-app | v3.23 | v4.2 | [4.2.17](packages/ibm-licensing-operator-app/4.2.17.md) | +| | | v4.1 | [4.1.0](packages/ibm-licensing-operator-app/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-licensing-operator-app/4.0.0.md) | +| | | v3.23 | [1.20.13](packages/ibm-licensing-operator-app/1.20.13.md) | +| | | v3.22 | [1.19.0](packages/ibm-licensing-operator-app/1.19.0.md) | +| | | v3.21 | [1.18.0](packages/ibm-licensing-operator-app/1.18.0.md) | +| | | v3.20 | [1.17.0](packages/ibm-licensing-operator-app/1.17.0.md) | +| | | v3 | [1.20.13](packages/ibm-licensing-operator-app/1.20.13.md) | +| | | beta | [1.4.1](packages/ibm-licensing-operator-app/1.4.1.md) | +| ibm-management-ingress-operator-app | v3.23 | v3.23 | [1.20.13](packages/ibm-management-ingress-operator-app/1.20.13.md) | +| | | v3.22 | [1.19.0](packages/ibm-management-ingress-operator-app/1.19.0.md) | +| | | v3.21 | [1.18.0](packages/ibm-management-ingress-operator-app/1.18.0.md) | +| | | v3.20 | [1.17.0](packages/ibm-management-ingress-operator-app/1.17.0.md) | +| | | v3 | [1.20.13](packages/ibm-management-ingress-operator-app/1.20.13.md) | +| | | beta | [1.5.1](packages/ibm-management-ingress-operator-app/1.5.1.md) | +| ibm-mongodb-operator-app | v3.23 | v4.2 | [4.2.2](packages/ibm-mongodb-operator-app/4.2.2.md) | +| | | v4.1 | [4.1.0](packages/ibm-mongodb-operator-app/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-mongodb-operator-app/4.0.0.md) | +| | | v3.23 | [1.18.13](packages/ibm-mongodb-operator-app/1.18.13.md) | +| | | v3.22 | [1.17.0](packages/ibm-mongodb-operator-app/1.17.0.md) | +| | | v3.21 | [1.16.0](packages/ibm-mongodb-operator-app/1.16.0.md) | +| | | v3.20 | [1.15.0](packages/ibm-mongodb-operator-app/1.15.0.md) | +| | | v3 | [1.18.13](packages/ibm-mongodb-operator-app/1.18.13.md) | +| | | beta | [1.3.1](packages/ibm-mongodb-operator-app/1.3.1.md) | +| ibm-namespace-scope-operator | v3.23 | v4.3 | [4.3.1](packages/ibm-namespace-scope-operator/4.3.1.md) | +| | | v4.2 | [4.2.17](packages/ibm-namespace-scope-operator/4.2.17.md) | +| | | v4.1 | [4.1.0](packages/ibm-namespace-scope-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-namespace-scope-operator/4.0.0.md) | +| | | v3.23 | [1.17.13](packages/ibm-namespace-scope-operator/1.17.13.md) | +| | | v3.22 | [1.16.0](packages/ibm-namespace-scope-operator/1.16.0.md) | +| | | v3.21 | [1.15.0](packages/ibm-namespace-scope-operator/1.15.0.md) | +| | | v3.20 | [1.14.0](packages/ibm-namespace-scope-operator/1.14.0.md) | +| | | v3 | [1.17.13](packages/ibm-namespace-scope-operator/1.17.13.md) | +| | | beta | [1.1.1](packages/ibm-namespace-scope-operator/1.1.1.md) | +| ibm-odlm | v3.23 | v4.5 | [4.5.2](packages/ibm-odlm/4.5.2.md) | +| | | v4.4 | [4.4.0](packages/ibm-odlm/4.4.0.md) | +| | | v4.3 | [4.3.15](packages/ibm-odlm/4.3.15.md) | +| | | v4.2 | [4.2.3](packages/ibm-odlm/4.2.3.md) | +| | | v4.1 | [4.1.0](packages/ibm-odlm/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-odlm/4.0.0.md) | +| | | v3.23 | [1.21.13](packages/ibm-odlm/1.21.13.md) | +| | | v3.22 | [1.20.0](packages/ibm-odlm/1.20.0.md) | +| | | v3.21 | [1.19.0](packages/ibm-odlm/1.19.0.md) | +| | | v3.20 | [1.18.0](packages/ibm-odlm/1.18.0.md) | +| | | v3 | [1.21.13](packages/ibm-odlm/1.21.13.md) | +| | | beta | [1.5.0](packages/ibm-odlm/1.5.0.md) | +| ibm-platform-api-operator-app | v3.23 | v3.23 | [3.25.13](packages/ibm-platform-api-operator-app/3.25.13.md) | +| | | v3.22 | [3.24.0](packages/ibm-platform-api-operator-app/3.24.0.md) | +| | | v3.21 | [3.23.0](packages/ibm-platform-api-operator-app/3.23.0.md) | +| | | v3.20 | [3.22.0](packages/ibm-platform-api-operator-app/3.22.0.md) | +| | | v3 | [3.25.13](packages/ibm-platform-api-operator-app/3.25.13.md) | +| | | beta | [3.9.1](packages/ibm-platform-api-operator-app/3.9.1.md) | +| ibm-user-data-services-operator | alpha | alpha | [2.0.12](packages/ibm-user-data-services-operator/2.0.12.md) | +| ibm-zen-operator | v3.23 | v6.2 | [6.2.1](packages/ibm-zen-operator/6.2.1.md) | +| | | v6.1 | [6.1.3](packages/ibm-zen-operator/6.1.3.md) | +| | | v6.0 | [6.0.4](packages/ibm-zen-operator/6.0.4.md) | +| | | v4.4 | [5.1.16](packages/ibm-zen-operator/5.1.16.md) | +| | | v4.3 | [5.1.1](packages/ibm-zen-operator/5.1.1.md) | +| | | v4.2 | [5.0.2](packages/ibm-zen-operator/5.0.2.md) | +| | | v4.1 | [5.0.1](packages/ibm-zen-operator/5.0.1.md) | +| | | v4.0 | [5.0.0](packages/ibm-zen-operator/5.0.0.md) | +| | | v3.23 | [1.8.13](packages/ibm-zen-operator/1.8.13.md) | +| | | v3.22 | [1.8.0](packages/ibm-zen-operator/1.8.0.md) | +| | | v3.21 | [1.7.2](packages/ibm-zen-operator/1.7.2.md) | +| | | v3.20 | [1.7.1](packages/ibm-zen-operator/1.7.1.md) | +| | | v3 | [1.8.13](packages/ibm-zen-operator/1.8.13.md) | +| | | beta | [1.0.1](packages/ibm-zen-operator/1.0.1.md) | +| isf-operator | v2.0 | v2.0 | [2.12.0](packages/isf-operator/2.12.0.md) | + +### IBM Cloud Pak for Data +| Package | Default Channel | Channel | Latest Version | +|-------------------------------|-------------------|-----------|-------------------------------------------------------------| +| analyticsengine-operator | v8.1 | v8.1 | [8.1.0](packages/analyticsengine-operator/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/analyticsengine-operator/8.0.0.md) | +| | | v7.3 | [7.3.0](packages/analyticsengine-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/analyticsengine-operator/7.2.0.md) | +| | | v6.0 | [6.0.0](packages/analyticsengine-operator/6.0.0.md) | +| | | v5.9 | [5.9.0](packages/analyticsengine-operator/5.9.0.md) | +| | | v5.5 | [5.5.0](packages/analyticsengine-operator/5.5.0.md) | +| | | v5.4 | [5.4.0](packages/analyticsengine-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/analyticsengine-operator/5.3.0.md) | +| | | v5.1 | [5.1.0](packages/analyticsengine-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/analyticsengine-operator/5.0.0.md) | +| | | v4.3 | [4.3.0](packages/analyticsengine-operator/4.3.0.md) | +| | | v4.2 | [4.2.0](packages/analyticsengine-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/analyticsengine-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/analyticsengine-operator/4.0.0.md) | +| | | v3.5 | [3.5.0](packages/analyticsengine-operator/3.5.0.md) | +| | | v3.4 | [3.4.0](packages/analyticsengine-operator/3.4.0.md) | +| | | v3.3 | [3.3.0](packages/analyticsengine-operator/3.3.0.md) | +| | | v3.1 | [3.1.0](packages/analyticsengine-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/analyticsengine-operator/3.0.0.md) | +| | | v2.3 | [2.3.0](packages/analyticsengine-operator/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/analyticsengine-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/analyticsengine-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/analyticsengine-operator/2.0.0.md) | +| | | stable-v1 | [1.0.9](packages/analyticsengine-operator/1.0.9.md) | +| | | beta | [1.0.1](packages/analyticsengine-operator/1.0.1.md) | +| cpd-platform-operator | v6.2 | v6.2 | [6.2.1](packages/cpd-platform-operator/6.2.1.md) | +| | | v6.1 | [6.1.3](packages/cpd-platform-operator/6.1.3.md) | +| | | v6.0 | [6.0.3](packages/cpd-platform-operator/6.0.3.md) | +| | | v5.9 | [5.9.0](packages/cpd-platform-operator/5.9.0.md) | +| | | v5.8 | [5.8.0](packages/cpd-platform-operator/5.8.0.md) | +| | | v5.7 | [5.7.0](packages/cpd-platform-operator/5.7.0.md) | +| | | v5.6 | [5.6.0](packages/cpd-platform-operator/5.6.0.md) | +| | | v5.5 | [5.5.0](packages/cpd-platform-operator/5.5.0.md) | +| | | v5.4 | [5.4.0](packages/cpd-platform-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/cpd-platform-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/cpd-platform-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/cpd-platform-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/cpd-platform-operator/5.0.0.md) | +| | | v4.4 | [4.4.0](packages/cpd-platform-operator/4.4.0.md) | +| | | v4.3 | [4.3.0](packages/cpd-platform-operator/4.3.0.md) | +| | | v4.2 | [4.2.0](packages/cpd-platform-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/cpd-platform-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/cpd-platform-operator/4.0.0.md) | +| | | v3.8 | [3.8.0](packages/cpd-platform-operator/3.8.0.md) | +| | | v3.7 | [3.7.0](packages/cpd-platform-operator/3.7.0.md) | +| | | v3.6 | [3.6.0](packages/cpd-platform-operator/3.6.0.md) | +| | | v3.5 | [3.5.0](packages/cpd-platform-operator/3.5.0.md) | +| | | v3.4 | [3.4.0](packages/cpd-platform-operator/3.4.0.md) | +| | | v3.3 | [3.3.0](packages/cpd-platform-operator/3.3.0.md) | +| | | v3.2 | [3.2.0](packages/cpd-platform-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/cpd-platform-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/cpd-platform-operator/3.0.0.md) | +| | | v2.0 | [2.0.8](packages/cpd-platform-operator/2.0.8.md) | +| | | stable-v1 | [2.0.0](packages/cpd-platform-operator/2.0.0.md) | +| | | beta | [2.0.0](packages/cpd-platform-operator/2.0.0.md) | +| ibm-ca-operator | v28.1 | v4.0 | [4.0.8](packages/ibm-ca-operator/4.0.8.md) | +| | | v28.1 | [28.1.0](packages/ibm-ca-operator/28.1.0.md) | +| | | v28.0 | [28.0.0](packages/ibm-ca-operator/28.0.0.md) | +| | | v27.3 | [27.3.0](packages/ibm-ca-operator/27.3.0.md) | +| | | v27.2 | [27.2.0](packages/ibm-ca-operator/27.2.0.md) | +| | | v27.1 | [27.1.0](packages/ibm-ca-operator/27.1.0.md) | +| | | v27.0 | [27.0.0](packages/ibm-ca-operator/27.0.0.md) | +| | | v26.3 | [26.3.1](packages/ibm-ca-operator/26.3.1.md) | +| | | v26.2 | [26.2.0](packages/ibm-ca-operator/26.2.0.md) | +| | | v26.1 | [26.1.0](packages/ibm-ca-operator/26.1.0.md) | +| | | v26.0 | [26.0.0](packages/ibm-ca-operator/26.0.0.md) | +| | | v25.9 | [25.9.0](packages/ibm-ca-operator/25.9.0.md) | +| | | v25.8 | [25.8.0](packages/ibm-ca-operator/25.8.0.md) | +| | | v25.4 | [25.4.0](packages/ibm-ca-operator/25.4.0.md) | +| | | v25.3 | [25.3.0](packages/ibm-ca-operator/25.3.0.md) | +| | | v25.2 | [25.2.0](packages/ibm-ca-operator/25.2.0.md) | +| | | v25.0 | [25.0.0](packages/ibm-ca-operator/25.0.0.md) | +| | | v24.3 | [24.3.0](packages/ibm-ca-operator/24.3.0.md) | +| | | v24.0 | [24.0.0](packages/ibm-ca-operator/24.0.0.md) | +| | | v23.5 | [23.5.0](packages/ibm-ca-operator/23.5.0.md) | +| | | v23.4 | [23.4.0](packages/ibm-ca-operator/23.4.0.md) | +| | | v23.3 | [23.3.0](packages/ibm-ca-operator/23.3.0.md) | +| | | v23.1 | [23.1.0](packages/ibm-ca-operator/23.1.0.md) | +| | | v23.0 | [23.0.0](packages/ibm-ca-operator/23.0.0.md) | +| | | v22.3 | [22.3.0](packages/ibm-ca-operator/22.3.0.md) | +| | | v22.2 | [22.2.0](packages/ibm-ca-operator/22.2.0.md) | +| | | v22.1 | [22.1.0](packages/ibm-ca-operator/22.1.0.md) | +| | | v22.0 | [22.0.0](packages/ibm-ca-operator/22.0.0.md) | +| ibm-cpd-canvasbase | v11.0 | v8.5 | [8.5.0](packages/ibm-cpd-canvasbase/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-canvasbase/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-canvasbase/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-canvasbase/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-canvasbase/8.0.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-canvasbase/11.0.0.md) | +| ibm-cpd-ccs | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-ccs/9.3.0.md) | +| | | v9.2 | [9.2.0](packages/ibm-cpd-ccs/9.2.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-ccs/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-ccs/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-ccs/8.9.0.md) | +| | | v8.8 | [8.8.0](packages/ibm-cpd-ccs/8.8.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-ccs/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-ccs/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-ccs/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-ccs/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-ccs/8.3.0.md) | +| | | v8.2 | [8.2.0](packages/ibm-cpd-ccs/8.2.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-ccs/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-ccs/8.0.0.md) | +| | | v7.3 | [7.3.0](packages/ibm-cpd-ccs/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/ibm-cpd-ccs/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/ibm-cpd-ccs/7.1.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-ccs/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-ccs/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-ccs/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-ccs/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-ccs/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-ccs/6.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-ccs/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-ccs/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-ccs/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-ccs/2.0.0.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-ccs/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-ccs/11.0.0.md) | +| | | v10.3 | [10.3.0](packages/ibm-cpd-ccs/10.3.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-ccs/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-ccs/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-ccs/10.0.0.md) | +| | | v1.0 | [1.0.9](packages/ibm-cpd-ccs/1.0.9.md) | +| ibm-cpd-datarefinery | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-datarefinery/9.3.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-datarefinery/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-datarefinery/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-datarefinery/8.9.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-datarefinery/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-datarefinery/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-datarefinery/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-datarefinery/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-datarefinery/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-datarefinery/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-datarefinery/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-datarefinery/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-datarefinery/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-datarefinery/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-datarefinery/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-datarefinery/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-datarefinery/6.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-datarefinery/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-datarefinery/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-datarefinery/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-datarefinery/2.0.0.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-datarefinery/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-datarefinery/11.0.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-datarefinery/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-datarefinery/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-datarefinery/10.0.0.md) | +| | | v1.0 | [1.0.10](packages/ibm-cpd-datarefinery/1.0.10.md) | +| ibm-cpd-spss | v8.5 | v8.5 | [8.5.0](packages/ibm-cpd-spss/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-spss/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-spss/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-spss/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-spss/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-spss/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-spss/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-spss/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-spss/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-spss/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-spss/6.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-spss/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-spss/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-spss/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-spss/2.0.0.md) | +| | | v1.0 | [1.0.9](packages/ibm-cpd-spss/1.0.9.md) | +| ibm-cpd-wml-operator | v8.1 | v8.1 | [8.1.0](packages/ibm-cpd-wml-operator/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-wml-operator/8.0.0.md) | +| | | v7.2 | [7.2.0](packages/ibm-cpd-wml-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/ibm-cpd-wml-operator/7.1.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-wml-operator/7.0.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-wml-operator/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-wml-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-wml-operator/6.0.0.md) | +| | | v5.9 | [5.9.0](packages/ibm-cpd-wml-operator/5.9.0.md) | +| | | v5.7 | [5.7.0](packages/ibm-cpd-wml-operator/5.7.0.md) | +| | | v5.6 | [5.6.0](packages/ibm-cpd-wml-operator/5.6.0.md) | +| | | v5.5 | [5.5.0](packages/ibm-cpd-wml-operator/5.5.0.md) | +| | | v5.4 | [5.4.0](packages/ibm-cpd-wml-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/ibm-cpd-wml-operator/5.3.0.md) | +| | | v5.1 | [5.1.0](packages/ibm-cpd-wml-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/ibm-cpd-wml-operator/5.0.0.md) | +| | | v4.0 | [4.0.0](packages/ibm-cpd-wml-operator/4.0.0.md) | +| | | v3.5 | [3.5.0](packages/ibm-cpd-wml-operator/3.5.0.md) | +| | | v3.4 | [3.4.0](packages/ibm-cpd-wml-operator/3.4.0.md) | +| | | v3.3 | [3.3.0](packages/ibm-cpd-wml-operator/3.3.0.md) | +| | | v3.1 | [3.1.0](packages/ibm-cpd-wml-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/ibm-cpd-wml-operator/3.0.0.md) | +| | | v2.3 | [2.3.0](packages/ibm-cpd-wml-operator/2.3.0.md) | +| | | v2.2 | [2.2.0](packages/ibm-cpd-wml-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/ibm-cpd-wml-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/ibm-cpd-wml-operator/2.0.0.md) | +| | | v1.1 | [1.1.8](packages/ibm-cpd-wml-operator/1.1.8.md) | +| | | beta | [1.0.1486](packages/ibm-cpd-wml-operator/1.0.1486.md) | +| | | alpha | [1.1.0](packages/ibm-cpd-wml-operator/1.1.0.md) | +| ibm-cpd-wos | v8.0 | v8.0 | [8.0.0](packages/ibm-cpd-wos/8.0.0.md) | +| ibm-cpd-ws-runtimes | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-ws-runtimes/9.3.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-ws-runtimes/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-ws-runtimes/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-ws-runtimes/8.9.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-ws-runtimes/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-ws-runtimes/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-ws-runtimes/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-ws-runtimes/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-ws-runtimes/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-ws-runtimes/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-ws-runtimes/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-ws-runtimes/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-ws-runtimes/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-ws-runtimes/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-ws-runtimes/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-ws-runtimes/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-ws-runtimes/6.0.0.md) | +| | | v5.3 | [5.3.0](packages/ibm-cpd-ws-runtimes/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/ibm-cpd-ws-runtimes/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/ibm-cpd-ws-runtimes/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/ibm-cpd-ws-runtimes/5.0.0.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-ws-runtimes/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-ws-runtimes/11.0.0.md) | +| | | v10.3 | [10.3.0](packages/ibm-cpd-ws-runtimes/10.3.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-ws-runtimes/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-ws-runtimes/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-ws-runtimes/10.0.0.md) | +| | | v1.0 | [1.0.9](packages/ibm-cpd-ws-runtimes/1.0.9.md) | +| ibm-cpd-wsl | v11.1 | v9.3 | [9.3.0](packages/ibm-cpd-wsl/9.3.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-cpd-wsl/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-cpd-wsl/9.0.0.md) | +| | | v8.9 | [8.9.0](packages/ibm-cpd-wsl/8.9.0.md) | +| | | v8.7 | [8.7.0](packages/ibm-cpd-wsl/8.7.0.md) | +| | | v8.6 | [8.6.0](packages/ibm-cpd-wsl/8.6.0.md) | +| | | v8.5 | [8.5.0](packages/ibm-cpd-wsl/8.5.0.md) | +| | | v8.4 | [8.4.0](packages/ibm-cpd-wsl/8.4.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-cpd-wsl/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-cpd-wsl/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-cpd-wsl/8.0.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-cpd-wsl/7.0.0.md) | +| | | v6.5 | [6.5.0](packages/ibm-cpd-wsl/6.5.0.md) | +| | | v6.4 | [6.4.0](packages/ibm-cpd-wsl/6.4.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-cpd-wsl/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-cpd-wsl/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-cpd-wsl/6.0.0.md) | +| | | v3.3 | [3.3.0](packages/ibm-cpd-wsl/3.3.0.md) | +| | | v3.2 | [3.2.0](packages/ibm-cpd-wsl/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/ibm-cpd-wsl/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/ibm-cpd-wsl/3.0.0.md) | +| | | v2.0 | [2.0.9](packages/ibm-cpd-wsl/2.0.9.md) | +| | | v11.1 | [11.1.0](packages/ibm-cpd-wsl/11.1.0.md) | +| | | v11.0 | [11.0.0](packages/ibm-cpd-wsl/11.0.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-cpd-wsl/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-cpd-wsl/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-cpd-wsl/10.0.0.md) | +| ibm-elasticsearch-operator | v1.1 | v1.1 | [1.1.2667](packages/ibm-elasticsearch-operator/1.1.2667.md) | +| ibm-etcd-operator | v1.0 | v1.0 | [1.0.47](packages/ibm-etcd-operator/1.0.47.md) | +| ibm-iam-operator | v3.23 | v4.9 | [4.9.0](packages/ibm-iam-operator/4.9.0.md) | +| | | v4.8 | [4.8.0](packages/ibm-iam-operator/4.8.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-iam-operator/4.7.0.md) | +| | | v4.6 | [4.6.0](packages/ibm-iam-operator/4.6.0.md) | +| | | v4.5 | [4.5.16](packages/ibm-iam-operator/4.5.16.md) | +| | | v4.4 | [4.4.0](packages/ibm-iam-operator/4.4.0.md) | +| | | v4.3 | [4.3.1](packages/ibm-iam-operator/4.3.1.md) | +| | | v4.2 | [4.2.0](packages/ibm-iam-operator/4.2.0.md) | +| | | v4.15 | [4.15.0](packages/ibm-iam-operator/4.15.0.md) | +| | | v4.14 | [4.14.0](packages/ibm-iam-operator/4.14.0.md) | +| | | v4.13 | [4.13.0](packages/ibm-iam-operator/4.13.0.md) | +| | | v4.12 | [4.12.0](packages/ibm-iam-operator/4.12.0.md) | +| | | v4.11 | [4.11.0](packages/ibm-iam-operator/4.11.0.md) | +| | | v4.10 | [4.10.0](packages/ibm-iam-operator/4.10.0.md) | +| | | v4.1 | [4.1.0](packages/ibm-iam-operator/4.1.0.md) | +| | | v4.0 | [4.0.1](packages/ibm-iam-operator/4.0.1.md) | +| | | v3.23 | [3.23.14](packages/ibm-iam-operator/3.23.14.md) | +| | | v3.22 | [3.22.0](packages/ibm-iam-operator/3.22.0.md) | +| | | v3.21 | [3.21.0](packages/ibm-iam-operator/3.21.0.md) | +| | | v3.20 | [3.20.1](packages/ibm-iam-operator/3.20.1.md) | +| | | v3 | [3.23.14](packages/ibm-iam-operator/3.23.14.md) | +| | | beta | [3.9.1](packages/ibm-iam-operator/3.9.1.md) | +| ibm-minio-operator | v1.0 | v1.0 | [1.0.18](packages/ibm-minio-operator/1.0.18.md) | +| ibm-model-train-operator | v2.0 | v2.0 | [2.0.0](packages/ibm-model-train-operator/2.0.0.md) | +| | | v1.1 | [1.1.15](packages/ibm-model-train-operator/1.1.15.md) | +| ibm-opensearch-operator | v1.1 | v1.1 | [1.1.2494](packages/ibm-opensearch-operator/1.1.2494.md) | +| ibm-rabbitmq-operator | v1.0 | v1.0 | [1.0.42](packages/ibm-rabbitmq-operator/1.0.42.md) | +| ibm-watson-discovery-operator | v11.0 | v9.2 | [9.2.0](packages/ibm-watson-discovery-operator/9.2.0.md) | +| | | v9.1 | [9.1.0](packages/ibm-watson-discovery-operator/9.1.0.md) | +| | | v9.0 | [9.0.0](packages/ibm-watson-discovery-operator/9.0.0.md) | +| | | v8.3 | [8.3.0](packages/ibm-watson-discovery-operator/8.3.0.md) | +| | | v8.1 | [8.1.0](packages/ibm-watson-discovery-operator/8.1.0.md) | +| | | v8.0 | [8.0.0](packages/ibm-watson-discovery-operator/8.0.0.md) | +| | | v7.9 | [7.9.0](packages/ibm-watson-discovery-operator/7.9.0.md) | +| | | v7.8 | [7.8.0](packages/ibm-watson-discovery-operator/7.8.0.md) | +| | | v7.7 | [7.7.0](packages/ibm-watson-discovery-operator/7.7.0.md) | +| | | v7.6 | [7.6.0](packages/ibm-watson-discovery-operator/7.6.0.md) | +| | | v7.5 | [7.5.0](packages/ibm-watson-discovery-operator/7.5.0.md) | +| | | v7.4 | [7.4.0](packages/ibm-watson-discovery-operator/7.4.0.md) | +| | | v7.3 | [7.3.0](packages/ibm-watson-discovery-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/ibm-watson-discovery-operator/7.2.0.md) | +| | | v7.0 | [7.0.0](packages/ibm-watson-discovery-operator/7.0.0.md) | +| | | v6.3 | [6.3.0](packages/ibm-watson-discovery-operator/6.3.0.md) | +| | | v6.1 | [6.1.0](packages/ibm-watson-discovery-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/ibm-watson-discovery-operator/6.0.0.md) | +| | | v5.5 | [5.5.0](packages/ibm-watson-discovery-operator/5.5.0.md) | +| | | v5.3 | [5.3.0](packages/ibm-watson-discovery-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/ibm-watson-discovery-operator/5.2.0.md) | +| | | v5.0 | [5.0.0](packages/ibm-watson-discovery-operator/5.0.0.md) | +| | | v4.7 | [4.7.0](packages/ibm-watson-discovery-operator/4.7.0.md) | +| | | v4.6 | [4.6.0](packages/ibm-watson-discovery-operator/4.6.0.md) | +| | | v4.5 | [4.5.0](packages/ibm-watson-discovery-operator/4.5.0.md) | +| | | v4.0 | [4.0.9](packages/ibm-watson-discovery-operator/4.0.9.md) | +| | | v11.0 | [11.0.0](packages/ibm-watson-discovery-operator/11.0.0.md) | +| | | v10.2 | [10.2.0](packages/ibm-watson-discovery-operator/10.2.0.md) | +| | | v10.1 | [10.1.0](packages/ibm-watson-discovery-operator/10.1.0.md) | +| | | v10.0 | [10.0.0](packages/ibm-watson-discovery-operator/10.0.0.md) | +| ibm-watson-gateway-operator | v1.0 | v1.0 | [1.0.60](packages/ibm-watson-gateway-operator/1.0.60.md) | + +### IBM Db2 Universal Operator +| Package | Default Channel | Channel | Latest Version | +|---------------|-------------------|-----------|----------------------------------------------------| +| db2u-operator | v110509.0 | v7.5 | [7.5.0](packages/db2u-operator/7.5.0.md) | +| | | v7.4 | [7.3.2](packages/db2u-operator/7.3.2.md) | +| | | v7.3 | [7.3.0](packages/db2u-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/db2u-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/db2u-operator/7.1.0.md) | +| | | v6.1 | [6.1.0](packages/db2u-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/db2u-operator/6.0.0.md) | +| | | v5.4 | [5.4.0](packages/db2u-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/db2u-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/db2u-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/db2u-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/db2u-operator/5.0.0.md) | +| | | v4.2 | [4.2.0](packages/db2u-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/db2u-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/db2u-operator/4.0.0.md) | +| | | v3.2 | [3.2.0](packages/db2u-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/db2u-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/db2u-operator/3.0.0.md) | +| | | v2.2 | [2.2.0](packages/db2u-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/db2u-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/db2u-operator/2.0.0.md) | +| | | v120102.0 | [120102.0.1](packages/db2u-operator/120102.0.1.md) | +| | | v120101.0 | [120101.0.1](packages/db2u-operator/120101.0.1.md) | +| | | v120100.0 | [120100.0.0](packages/db2u-operator/120100.0.0.md) | +| | | v110509.0 | [110509.0.6](packages/db2u-operator/110509.0.6.md) | +| | | v110508.0 | [110508.0.3](packages/db2u-operator/110508.0.3.md) | +| | | v1.1 | [1.1.13](packages/db2u-operator/1.1.13.md) | +| | | v1.0 | [1.0.11](packages/db2u-operator/1.0.11.md) | + +### IBM AppConnect +| Package | Default Channel | Channel | Latest Version | +|------------------|-------------------|-----------|-----------------------------------------------| +| couchdb-operator | v2.2 | v2.2 | [2.2.1](packages/couchdb-operator/2.2.1.md) | +| | | v2.1 | [2.0.1](packages/couchdb-operator/2.0.1.md) | +| | | v2.0 | [2.0.0](packages/couchdb-operator/2.0.0.md) | +| | | v1.4 | [1.4.4](packages/couchdb-operator/1.4.4.md) | +| | | v1.3 | [1.3.1](packages/couchdb-operator/1.3.1.md) | +| | | v1.2 | [1.2.1](packages/couchdb-operator/1.2.1.md) | +| | | v1.1 | [1.1.0](packages/couchdb-operator/1.1.0.md) | +| | | v1.0 | [1.0.14](packages/couchdb-operator/1.0.14.md) | +| | | stable | [2.2.1](packages/couchdb-operator/2.2.1.md) | +| | | beta | [1.4.2](packages/couchdb-operator/1.4.2.md) | +| ibm-appconnect | v12.19 | v9.2 | 9.2.1 | +| | | v9.1 | 9.1.0 | +| | | v9.0 | 9.0.0 | +| | | v8.2 | 8.2.1 | +| | | v8.1 | 8.1.0 | +| | | v8.0 | 8.0.0 | +| | | v7.2 | 7.2.0 | +| | | v7.1 | 7.1.0 | +| | | v7.0 | 7.0.0 | +| | | v6.2 | 6.2.0 | +| | | v6.1 | 6.1.1 | +| | | v6.0 | 6.0.0 | +| | | v5.2 | 5.2.0 | +| | | v5.1 | 5.1.0 | +| | | v5.0-lts | 5.0.22 | +| | | v4.2 | 4.2.0 | +| | | v4.1 | 4.1.0 | +| | | v4.0 | 4.0.0 | +| | | v3.1 | 3.1.0 | +| | | v3.0 | 3.0.0 | +| | | v2.1 | 2.1.0 | +| | | v2.0 | 2.0.0 | +| | | v12.9 | 12.9.0 | +| | | v12.8 | 12.8.2 | +| | | v12.7 | 12.7.0 | +| | | v12.6 | 12.6.0 | +| | | v12.5 | 12.5.1 | +| | | v12.4 | 12.4.0 | +| | | v12.3 | 12.3.0 | +| | | v12.2 | 12.2.1 | +| | | v12.19 | 12.19.0 | +| | | v12.18 | 12.18.0 | +| | | v12.17 | 12.17.0 | +| | | v12.16 | 12.16.0 | +| | | v12.15 | 12.15.0 | +| | | v12.14 | 12.14.0 | +| | | v12.13 | 12.13.1 | +| | | v12.12 | 12.12.0 | +| | | v12.11 | 12.11.1 | +| | | v12.10 | 12.10.1 | +| | | v12.1 | 12.1.2 | +| | | v12.0-sc2 | 12.0.19 | +| | | v11.6 | 11.6.0 | +| | | v11.5 | 11.5.1 | +| | | v11.4 | 11.4.0 | +| | | v11.3 | 11.3.0 | +| | | v11.2 | 11.2.1 | +| | | v11.1 | 11.1.0 | +| | | v11.0 | 11.0.1 | +| | | v10.1 | 10.1.1 | +| | | v10.0 | 10.0.1 | +| | | v1.5 | [1.5.2](packages/ibm-appconnect/1.5.2.md) | +| | | v1.4 | [1.4.0](packages/ibm-appconnect/1.4.0.md) | +| | | v1.3 | [1.3.2](packages/ibm-appconnect/1.3.2.md) | +| | | v1.2 | [1.2.0](packages/ibm-appconnect/1.2.0.md) | +| | | v1.1-eus | [1.1.10](packages/ibm-appconnect/1.1.10.md) | +| | | v1.0 | [1.0.5](packages/ibm-appconnect/1.0.5.md) | +| | | cd | 5.2.0 | + +### Eclipse Amlen +| Package | Default Channel | Channel | Latest Version | +|------------------------|-------------------|-----------|---------------------------------------------------| +| eclipse-amlen-operator | 1.x | 1.x | [1.1.3](packages/eclipse-amlen-operator/1.1.3.md) | + +### Open Data Hub +| Package | Default Channel | Channel | Latest Version | +|----------------------|-------------------|-----------|---------------------------------------------------| +| opendatahub-operator | fast | stable | [1.5.0](packages/opendatahub-operator/1.5.0.md) | +| | | rolling | [1.11.0](packages/opendatahub-operator/1.11.0.md) | +| | | odh-2.8.z | [2.8.1](packages/opendatahub-operator/2.8.1.md) | +| | | fast | [2.32.0](packages/opendatahub-operator/2.32.0.md) | \ No newline at end of file diff --git a/docs/catalogs/v9-260129-ppc64le.md b/docs/catalogs/v9-260129-ppc64le.md new file mode 100644 index 00000000000..a72c9f15202 --- /dev/null +++ b/docs/catalogs/v9-260129-ppc64le.md @@ -0,0 +1,85 @@ +IBM Maximo Operator Catalog v9 (260129) +=============================================================================== + +:::mas-catalog-details + + + +:::mas-catalog-whats-new + +:::mas-catalog-known-issues +:::mas-catalog-install + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix + +### Red Hat Operators +The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: + +- **openshift-pipelines-operator-rh** required by the MAS CLI + +Package Manifest +------------------------------------------------------------------------------- + +### IBM Maximo Application Suite +| Package | Default Channel | Channel | Latest Version | +|----------------|-------------------|---------------|-----------------------------------------------------------------------------| +| ibm-mas | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-9887](packages/ibm-mas/9.2.0-pre.stable-9887.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas/9.1.8.md) | +| | | 9.0.x | [9.0.19](packages/ibm-mas/9.0.19.md) | +| ibm-mas-manage | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-10282](packages/ibm-mas-manage/9.2.0-pre.stable-10282.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas-manage/9.1.8.md) | +| | | 9.0.x | [9.0.21](packages/ibm-mas-manage/9.0.21.md) | + +### IBM Utilities +| Package | Default Channel | Channel | Latest Version | +|--------------------|-------------------|-----------|-----------------------------------------------| +| ibm-sls | 3.x | 3.x | [3.12.5](packages/ibm-sls/3.12.5.md) | +| ibm-truststore-mgr | 1.x | 1.x | [1.7.2](packages/ibm-truststore-mgr/1.7.2.md) | + +### IBM Cloud Pak Foundational Services +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Cloud Pak for Data +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Db2 Universal Operator +| Package | Default Channel | Channel | Latest Version | +|---------------|-------------------|-----------|----------------------------------------------------| +| db2u-operator | v110509.0 | v7.5 | [7.5.0](packages/db2u-operator/7.5.0.md) | +| | | v7.4 | [7.3.2](packages/db2u-operator/7.3.2.md) | +| | | v7.3 | [7.3.0](packages/db2u-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/db2u-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/db2u-operator/7.1.0.md) | +| | | v6.1 | [6.1.0](packages/db2u-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/db2u-operator/6.0.0.md) | +| | | v5.4 | [5.4.0](packages/db2u-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/db2u-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/db2u-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/db2u-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/db2u-operator/5.0.0.md) | +| | | v4.2 | [4.2.0](packages/db2u-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/db2u-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/db2u-operator/4.0.0.md) | +| | | v3.2 | [3.2.0](packages/db2u-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/db2u-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/db2u-operator/3.0.0.md) | +| | | v2.2 | [2.2.0](packages/db2u-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/db2u-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/db2u-operator/2.0.0.md) | +| | | v120102.0 | [120102.0.1](packages/db2u-operator/120102.0.1.md) | +| | | v120101.0 | [120101.0.1](packages/db2u-operator/120101.0.1.md) | +| | | v120100.0 | [120100.0.0](packages/db2u-operator/120100.0.0.md) | +| | | v110509.0 | [110509.0.6](packages/db2u-operator/110509.0.6.md) | +| | | v110508.0 | [110508.0.3](packages/db2u-operator/110508.0.3.md) | +| | | v1.1 | [1.1.13](packages/db2u-operator/1.1.13.md) | +| | | v1.0 | [1.0.11](packages/db2u-operator/1.0.11.md) | diff --git a/docs/catalogs/v9-260129-s390x.md b/docs/catalogs/v9-260129-s390x.md new file mode 100644 index 00000000000..a72c9f15202 --- /dev/null +++ b/docs/catalogs/v9-260129-s390x.md @@ -0,0 +1,85 @@ +IBM Maximo Operator Catalog v9 (260129) +=============================================================================== + +:::mas-catalog-details + + + +:::mas-catalog-whats-new + +:::mas-catalog-known-issues +:::mas-catalog-install + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix + +### Red Hat Operators +The following packages from the `registry.redhat.io/redhat/redhat-operator-index` catalog are used in the Maximo Application Suite install: + +- **openshift-pipelines-operator-rh** required by the MAS CLI + +Package Manifest +------------------------------------------------------------------------------- + +### IBM Maximo Application Suite +| Package | Default Channel | Channel | Latest Version | +|----------------|-------------------|---------------|-----------------------------------------------------------------------------| +| ibm-mas | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-9887](packages/ibm-mas/9.2.0-pre.stable-9887.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas/9.1.8.md) | +| | | 9.0.x | [9.0.19](packages/ibm-mas/9.0.19.md) | +| ibm-mas-manage | 9.1.x | 9.2.x-feature | [9.2.0-pre.stable-10282](packages/ibm-mas-manage/9.2.0-pre.stable-10282.md) | +| | | 9.1.x | [9.1.8](packages/ibm-mas-manage/9.1.8.md) | +| | | 9.0.x | [9.0.21](packages/ibm-mas-manage/9.0.21.md) | + +### IBM Utilities +| Package | Default Channel | Channel | Latest Version | +|--------------------|-------------------|-----------|-----------------------------------------------| +| ibm-sls | 3.x | 3.x | [3.12.5](packages/ibm-sls/3.12.5.md) | +| ibm-truststore-mgr | 1.x | 1.x | [1.7.2](packages/ibm-truststore-mgr/1.7.2.md) | + +### IBM Cloud Pak Foundational Services +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Cloud Pak for Data +| Package | Default Channel | Channel | Latest Version | +|-----------|-------------------|-----------|------------------| + +### IBM Db2 Universal Operator +| Package | Default Channel | Channel | Latest Version | +|---------------|-------------------|-----------|----------------------------------------------------| +| db2u-operator | v110509.0 | v7.5 | [7.5.0](packages/db2u-operator/7.5.0.md) | +| | | v7.4 | [7.3.2](packages/db2u-operator/7.3.2.md) | +| | | v7.3 | [7.3.0](packages/db2u-operator/7.3.0.md) | +| | | v7.2 | [7.2.0](packages/db2u-operator/7.2.0.md) | +| | | v7.1 | [7.1.0](packages/db2u-operator/7.1.0.md) | +| | | v6.1 | [6.1.0](packages/db2u-operator/6.1.0.md) | +| | | v6.0 | [6.0.0](packages/db2u-operator/6.0.0.md) | +| | | v5.4 | [5.4.0](packages/db2u-operator/5.4.0.md) | +| | | v5.3 | [5.3.0](packages/db2u-operator/5.3.0.md) | +| | | v5.2 | [5.2.0](packages/db2u-operator/5.2.0.md) | +| | | v5.1 | [5.1.0](packages/db2u-operator/5.1.0.md) | +| | | v5.0 | [5.0.0](packages/db2u-operator/5.0.0.md) | +| | | v4.2 | [4.2.0](packages/db2u-operator/4.2.0.md) | +| | | v4.1 | [4.1.0](packages/db2u-operator/4.1.0.md) | +| | | v4.0 | [4.0.0](packages/db2u-operator/4.0.0.md) | +| | | v3.2 | [3.2.0](packages/db2u-operator/3.2.0.md) | +| | | v3.1 | [3.1.0](packages/db2u-operator/3.1.0.md) | +| | | v3.0 | [3.0.0](packages/db2u-operator/3.0.0.md) | +| | | v2.2 | [2.2.0](packages/db2u-operator/2.2.0.md) | +| | | v2.1 | [2.1.0](packages/db2u-operator/2.1.0.md) | +| | | v2.0 | [2.0.0](packages/db2u-operator/2.0.0.md) | +| | | v120102.0 | [120102.0.1](packages/db2u-operator/120102.0.1.md) | +| | | v120101.0 | [120101.0.1](packages/db2u-operator/120101.0.1.md) | +| | | v120100.0 | [120100.0.0](packages/db2u-operator/120100.0.0.md) | +| | | v110509.0 | [110509.0.6](packages/db2u-operator/110509.0.6.md) | +| | | v110508.0 | [110508.0.3](packages/db2u-operator/110508.0.3.md) | +| | | v1.1 | [1.1.13](packages/db2u-operator/1.1.13.md) | +| | | v1.0 | [1.0.11](packages/db2u-operator/1.0.11.md) | diff --git a/docs/commands/update.md b/docs/commands/update.md deleted file mode 100644 index a7c64cb6adc..00000000000 --- a/docs/commands/update.md +++ /dev/null @@ -1,80 +0,0 @@ -Update -=============================================================================== - -Usage -------------------------------------------------------------------------------- -Usage information can be obtained using `mas update --help` - -``` -usage: mas update [-c MAS_CATALOG_VERSION] [--db2-namespace DB2_NAMESPACE] [--mongodb-namespace MONGODB_NAMESPACE] [--mongodb-v5-upgrade] [--mongodb-v6-upgrade] [--mongodb-v7-upgrade] [--mongodb-v8-upgrade] - [--kafka-namespace KAFKA_NAMESPACE] [--kafka-provider {redhat,strimzi}] [--dro-migration DRO_MIGRATION] - [--dro-storage-class DRO_STORAGE_CLASS] [--dro-namespace DRO_NAMESPACE] [--no-confirm] [--skip-pre-check] [-h] - -IBM Maximo Application Suite Admin CLI v100.0.0 -Update the IBM Maximo Operator Catalog, and related MAS dependencies by configuring and launching the MAS Update Tekton Pipeline. - -Interactive Mode: -Omitting the --catalog option will trigger an interactive prompt - -Catalog Selection: - -c MAS_CATALOG_VERSION, --catalog MAS_CATALOG_VERSION - Maximo Operator Catalog Version (e.g. @@MAS_LATEST_CATALOG@@) - -Update Dependencies: - --db2-namespace DB2_NAMESPACE Namespace where Db2u operator and instances will be updated - --mongodb-namespace MONGODB_NAMESPACE Namespace where MongoCE operator and instances will be updated - --mongodb-v5-upgrade Required to confirm a major version update for MongoDb to version 5 - --mongodb-v6-upgrade Required to confirm a major version update for MongoDb to version 6 - --mongodb-v7-upgrade Required to confirm a major version update for MongoDb to version 7 - --mongodb-v8-upgrade Required to confirm a major version update for MongoDb to version 8 - --kafka-namespace KAFKA_NAMESPACE Namespace where Kafka operator and instances will be updated - --kafka-provider {redhat,strimzi} The type of Kakfa operator installed in the target namespace for updte - -More: - --no-confirm Launch the upgrade without prompting for confirmation - --skip-pre-check Skips the 'pre-update-check' and 'post-update-verify' tasks in the update pipeline - -h, --help Show this help message and exit -``` - -Overview -------------------------------------------------------------------------------- -The `mas update` function is the primary tool for applying security updates and bug fixes to Maximo Application Suite running on OpenShift. During an update the [IBM Maximo Operator Catalog](../catalogs/index.md) will be updated to the chosen version, this will trigger an automatic update to all IBM operators installed from this catalog. - -!!! note - Note that `mas update` will not update any other operator catalogs installed on the OpenShift cluster, including the Red Hat Operator Catalogs. - -### Dependency Management -In addition to its primary role to update the IBM Maximo Operator Catalog (and verify the successfull rollout of updated operators) the update command will also perform updates to a number of MAS dependencies controlled outside of the IBM Operator Catalog. - -The update function will automatically search for and detect all of these dependencies and present a summary report that will describe the action it will take for the user to review before they launch the update (unless `--no-confirm` is set, in which case the update will start without prompt). - -#### MongoDb & Kafka -Each version of the IBM Maximo Operator Catalog is certified against a specific version of MongoDb and Apache Kafka, although other versions of both are supported, the goal of `mas update` is to ensure customers' are running MongoDb & Kafka with the same latest bug fixes and security patches that we test the catalog with internally. - -To this end `mas update` will perform updates to both the installed MongoCE Operator and the MongoDbCommunity operand to align the version of the operator and the MongoDb cluster with the same version we have tested with. When a major version update is required users will be prompted to approve the major version update and recommended to take a database backup, all other updates will be automatically applied. - -For Kafka things work pretty much the same; although the version of the operator is out of our control because it is determined by the version of the Red Hat Operator Catalogs that are installed on the cluster. MAS update will however perform necessary updates to the Kafka operand to update the version of the Kafka instance at appropriate times. - -#### IBM Cloud Pak for Data -Each version of the IBM Maximo Operator Catalog is certified compatible with a specific version of IBM Cloud Pak for Data (CP4D), it is not recommended to diverge from this compatible version because CP4D versioning is very brittle and even a small patch update to one of its services can create incompatibilities elsewhere. - -### Automatic Migrations -Sometimes MAS dependencies go out of support and there is a need to migrate to an alternative, the MAS update function is designed to handle these migrations automatically, giving customers the benefit of a fully automated, well-testing, migration path that they can rely on because it's the same migration path used by IBM internally and all other MAS customers. - -#### IBM Certificate Manager -IBM Certificate-Manager is deprecated, its replacement is Red Hat Certificate-Manager. MAS customers updating from catalogs prior to **January 2024** will see IBM Certificate-Manager uninstalled, Red Hat Certificate-Manager installed, and all MAS instances automatically reconfigured to use the latter. - -#### Grafana Operator v4 -In December 2024 is was announced that support for the Grafana v4 Operator would cease later that month, MAS customers updating from a catalog older than **February 2024** will see their Grafana installation automatically migrated to the Grafana v5 Operator. - -Examples -------------------------------------------------------------------------------- -### Interactive Update -```bash -docker run -ti --rm --pull always quay.io/ibmmas/cli mas update -``` - -### Non-Interactive Update -```bash -docker run -ti --rm --pull always quay.io/ibmmas/cli mas update -c @@MAS_LATEST_CATALOG@@ --no-confirm -``` diff --git a/docs/commands/upgrade.md b/docs/commands/upgrade.md deleted file mode 100644 index d51b60d9360..00000000000 --- a/docs/commands/upgrade.md +++ /dev/null @@ -1,37 +0,0 @@ -Upgrade -=============================================================================== - -Usage -------------------------------------------------------------------------------- -Usage information can be obtained using `mas upgrade --help` - -``` -sage: mas upgrade [--mas-instance-id MAS_INSTANCE_ID] [--skip-pre-check] [--no-confirm] [-h] - -IBM Maximo Application Suite Admin CLI v100.0.0 -Upgrade MAS by configuring and launching the MAS Upgrade Tekton Pipeline. - -Interactive Mode: -Omitting the --instance-id option will trigger an interactive prompt - -MAS Instance Selection: - --mas-instance-id MAS_INSTANCE_ID The MAS instance ID to be upgraded - -More: - --skip-pre-check Disable the 'pre-upgrade-check' and 'post-upgrade-verify' tasks in the upgrade pipeline - --no-confirm Launch the upgrade without prompting for confirmation - -h, --help Show this help message and exit -``` - - -Examples -------------------------------------------------------------------------------- -### Interactive Upgrade -```bash -docker run -ti --rm --pull always quay.io/ibmmas/cli mas upgrade -``` - -### Non-Interactive Upgrade -```bash -docker run -ti --rm --pull always quay.io/ibmmas/cli mas upgrade -i inst1 --no-confirm -``` diff --git a/docs/examples/minimal-rbac.md b/docs/examples/minimal-rbac.md index 22c04330ce3..830c815d77f 100644 --- a/docs/examples/minimal-rbac.md +++ b/docs/examples/minimal-rbac.md @@ -33,7 +33,7 @@ All **Roles**, **RoleBindings**, **ClusterRoles**, and **ClusterRoleBindings** a !!! important The RBAC definitions here are only sufficient to install MAS Core Platform & it's dependencies, we are actively working on expanding this to cover the entire suite and all dependencies. -To directly use these definitions you will want to use **kustomize** and **jinja**, following the steps below. Note the `--service-account` flag passed to the CLI to inform it not to set up the default pipeline RBAC: +To directly use these definitions you will want to use **kustomize** and **[jinja](https://github.com/kpfleming/jinjanator)**, following the steps below. Note the `--service-account` flag passed to the CLI to inform it not to set up the default pipeline RBAC: ```bash MAS_INSTANCE_ID=dev1 @@ -55,12 +55,11 @@ oc login --token $INSTALL_TOKEN --server $SERVER docker run -ti --rm -v ~:/mnt/home --pull always quay.io/ibmmas/cli:@@CLI_LATEST_VERSION@@ bash -c " oc login --token $INSTALL_TOKEN --server=$SERVER && mas install --mas-catalog-version @@MAS_LATEST_CATALOG@@ --ibm-entitlement-key $IBM_ENTITLEMENT_KEY \ - --mas-channel 9.1.x --mas-instance-id ${MAS_INSTANCE_ID} --mas-workspace-id masdev --mas-workspace-name "My Workspace" \ - --storage-class-rwo "ibmc-block-gold" --storage-class-rwx "ibmc-file-gold-gid" \ - --storage-pipeline "ibmc-file-gold-gid" --storage-accessmode "ReadWriteMany" \ - --license-file "/mnt/home/entitlement.lic" \ - --contact-email "parkerda@uk.ibm.com" --contact-firstname "David" --contact-lastname "Parker" \ - --mongodb-namespace "mongoce" \ + --mas-channel 9.1.x --mas-instance-id ${MAS_INSTANCE_ID} --mas-workspace-id masdev --mas-workspace-name Workspace \ + --storage-class-rwo ibmc-block-gold --storage-class-rwx ibmc-file-gold-gid \ + --storage-pipeline ibmc-file-gold-gid --storage-accessmode ReadWriteMany \ + --license-file /mnt/home/entitlement.lic \ + --contact-email email@uk.ibm.com --contact-firstname David --contact-lastname Parker \ --accept-license --no-confirm --service-account mas-${MAS_INSTANCE_ID}-install-pipeline " ``` diff --git a/docs/guides/aiservice-install.md b/docs/guides/aiservice-install.md index a4af98dfaca..45113164988 100644 --- a/docs/guides/aiservice-install.md +++ b/docs/guides/aiservice-install.md @@ -82,7 +82,8 @@ The interactive install will guide you through the following steps:
  • Instance ID: Unique identifier for your AI Service instance
  • Channel: AI Service version channel (e.g., 9.1.x)
  • -
  • S3 Storage Configuration: Configure object storage for AI Service data
  • +
  • S3 Storage Configuration: Configure object storage for AI Service data (MinIO or external S3)
  • +
  • Certificate Issuer (Advanced Mode Only): Optionally configure a pre-configured certificate issuer for AI Service
  • Database Configuration: Set up database connection for AI Service
  • RSL Configuration: Configure Red Hat Service Locator integration
  • Tenant Configuration: Set up AI Service tenant(s)
  • @@ -133,6 +134,7 @@ docker run -e IBM_ENTITLEMENT_KEY -ti --rm -v ~:/mnt/home quay.io/ibmmas/cli:@@C \ --dro-namespace redhat-marketplace \ --mongodb-namespace mongoce \ + --aiservice-certificate-issuer letsencrypt-prod \ \ --s3-tenants-bucket km-tenants \ --s3-templates-bucket km-templates \ @@ -140,7 +142,7 @@ docker run -e IBM_ENTITLEMENT_KEY -ti --rm -v ~:/mnt/home quay.io/ibmmas/cli:@@C --odh-model-deployment-type serverless \ \ --watsonxai-apikey your_watsonx_api_key \ - --watsonxai-url https://us-south.ml.cloud.ibm.com \ + --watsonxai-url your_watsonx_url \ --watsonxai-project-id your_project_id \ \ --install-minio @@ -159,6 +161,16 @@ docker run -e IBM_ENTITLEMENT_KEY -ti --rm -v ~:/mnt/home quay.io/ibmmas/cli:@@C " ``` +### Installation Mode Options + +| Parameter | Description | Required | Example | +|-----------|-------------|----------|---------| +| `--simplified` | Use simplified installation mode (fewer prompts) | No | N/A | +| `--advanced` | Use advanced installation mode (all configuration options) | No | N/A | + +!!! note + If neither `--simplified` nor `--advanced` is specified in interactive mode, you will be prompted to choose the installation mode. + ### Core Parameters | Parameter | Description | Required | Example | @@ -207,6 +219,12 @@ docker run -e IBM_ENTITLEMENT_KEY -ti --rm -v ~:/mnt/home quay.io/ibmmas/cli:@@C | `--s3-tenants-bucket` | S3 bucket for tenant data | Yes | `km-tenants` | | `--s3-templates-bucket` | S3 bucket for templates | Yes | `km-templates` | +### Certificate Configuration + +| Parameter | Description | Required | Example | +|-----------|-------------|----------|---------| +| `--aiservice-certificate-issuer` | Name of the certificate issuer for AI Service | No | `letsencrypt-prod` | + ### OpenDataHub Configuration | Parameter | Description | Required | Example | @@ -272,7 +290,6 @@ More Information The AI Service installation is designed to work on any OCP cluster, but has been specifically tested in these environments: - IBMCloud ROKS -- Microsoft Azure - AWS ROSA - IBM DevIT FYRE (internal) diff --git a/docs/guides/facilities-external-db.md b/docs/guides/facilities-external-db.md deleted file mode 100644 index d01c53836d5..00000000000 --- a/docs/guides/facilities-external-db.md +++ /dev/null @@ -1,16 +0,0 @@ -Facilities External DB -=============================================================================== -Databases for Maximo Real Estate and Facilities (MREF) needs to be prepared before deployed in Maximo Suite. - -DB2 Database -------------------------------------------------------------------------------- -Download the files in `image/cli/mascli/db-scripts/facilities/external-db2` and follow the process [Preparing your external Db2 database](https://www.ibm.com/docs/SSRHPA_cd/appsuite/mref_deploy/prep_db_db2.html). - - -Oracle Database -------------------------------------------------------------------------------- -Download the files in `image/cli/mascli/db-scripts/facilities/external-oracle` and follow the process [Preparing your external Oracle Database](https://www.ibm.com/docs/SSRHPA_cd/appsuite/mref_deploy/prep_db_oracle.html). - -Microsoft Server Database -------------------------------------------------------------------------------- -Download the files in `image/cli/mascli/db-scripts/facilities/external-mssql` and follow the process [Preparing your external Microsoft SQL Server database](https://www.ibm.com/docs/SSRHPA_cd//appsuite/mref_deploy/prep_db_mssql.html). \ No newline at end of file diff --git a/docs/guides/image-mirroring.md b/docs/guides/image-mirroring.md index 8ab39add2e1..7ccca17d3f6 100644 --- a/docs/guides/image-mirroring.md +++ b/docs/guides/image-mirroring.md @@ -265,7 +265,7 @@ docker run -ti --rm -v $LOCAL_DIR:/mnt/registry quay.io/ibmmas/cli:@@CLI_LATEST_ -m direct -d /mnt/registry/other \ -H $REGISTRY_HOST -P $REGISTRY_PORT -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD \ -c @@MAS_LATEST_CATALOG@@ -C @@MAS_LATEST_CHANNEL@@ \ - --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 --mirror-appconnect \ + --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 \ --ibm-entitlement $IBM_ENTITLEMENT_KEY ``` @@ -277,7 +277,7 @@ docker run -ti --rm -v $LOCAL_DIR:/mnt/registry quay.io/ibmmas/cli:@@CLI_LATEST_ -m to-filesystem -d /mnt/registry/other \ -H $REGISTRY_HOST -P $REGISTRY_PORT -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD \ -c @@MAS_LATEST_CATALOG@@ -C @@MAS_LATEST_CHANNEL@@ \ - --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 --mirror-appconnect \ + --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 \ --ibm-entitlement $IBM_ENTITLEMENT_KEY ``` @@ -289,7 +289,7 @@ docker run -ti --rm -v $LOCAL_DIR:/mnt/registry quay.io/ibmmas/cli:@@CLI_LATEST_ -m from-filesystem -d /mnt/registry/other \ -H $REGISTRY_HOST -P $REGISTRY_PORT -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD \ -c @@MAS_LATEST_CATALOG@@ -C @@MAS_LATEST_CHANNEL@@ \ - --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 --mirror-appconnect + --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 ``` @@ -301,7 +301,7 @@ docker run -ti --rm -v $LOCAL_DIR:/mnt/registry $REGISTRY_HOST:$REGISTRY_PORT/ib -m from-filesystem -d /mnt/registry/other \ -H $REGISTRY_HOST -P $REGISTRY_PORT -u $REGISTRY_USERNAME -p $REGISTRY_PASSWORD \ -c @@MAS_LATEST_CATALOG@@ -C @@MAS_LATEST_CHANNEL@@ \ - --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 --mirror-appconnect + --mirror-mongo --mirror-tsm --mirror-sls --mirror-cfs --mirror-db2 ``` @@ -342,7 +342,6 @@ As of MAS 8.10 (June 2023) the total capacity requirement to mirror content from | IBM Truststore Manager | `--mirror-tsm` | 1G | | IBM Suite License Service | `--mirror-sls` | 1G | | IBM Cloud Pak Foundation Services | `--mirror-cfs` | 21G | -| IBM AppConnect | `--mirror-appconnect` | 13G | | IBM Db2 | `--mirror-db2` | 73G | | **Total** | | **117G** | diff --git a/docs/guides/install.md b/docs/guides/install.md index c762fbc1430..3805e5974ac 100644 --- a/docs/guides/install.md +++ b/docs/guides/install.md @@ -1,8 +1,12 @@ Installation =============================================================================== -Usage -------------------------------------------------------------------------------- -For full usage information run `mas install --help` + +:::mas-cli-usage +module: mas.cli.install.argParser +parser: installArgParser +ignore_description: true +ignore_epilog: true +::: Preparation @@ -101,7 +105,7 @@ Regardless of whether you are running a connected or disconnected installation, !!! note "NEW: AI Service Installation Options" **NEW UPDATE:** AI Service can now be installed in two ways: - + - **Integrated Installation**: AI Service is now available as an option during the MAS installation process using the `mas install` command. You can select AI Service along with other MAS applications during the interactive application selection step or you can run Non-interactive command as well. - **Standalone Installation**: For standalone AI Service installation, use the dedicated `mas aiservice-install` command to install AI Service independently of the main MAS installation. diff --git a/docs/guides/update.md b/docs/guides/update.md index 27984f4a763..155d7fb93cd 100644 --- a/docs/guides/update.md +++ b/docs/guides/update.md @@ -1,35 +1,73 @@ Update =============================================================================== -Update Overview +:::mas-cli-usage +module: mas.cli.update.argParser +parser: updateArgParser +ignore_description: true +ignore_epilog: true +::: + +Overview ------------------------------------------------------------------------------- -This guide is specifically for environments using **static catalogs**. If you are using the **dynamic catalog** then updates are automatically applied as soon as they are released. +The `mas update` function is the primary tool for applying security updates and bug fixes to Maximo Application Suite running on OpenShift. During an update the [IBM Maximo Operator Catalog](../catalogs/index.md) will be updated to the chosen version, which triggers an automatic update to all IBM operators installed from this catalog. -1. [Disconnected Update Preparation](#1-disconnected-install-preparation) -2. [Update MAS](#2-update-maximo-application-suite) +!!! note + `mas update` will not update any other operator catalogs installed on the OpenShift cluster, including the Red Hat Operator Catalogs. -The catalog update is applied at a cluster level. When we update we don't update a specific operator running on the cluster, but rather the cluster as a whole. Everything in the cluster should be running at the latest version available in the catalog that is currently installed. +### Update vs. Upgrade +This guide is specifically for environments using **static catalogs**. If you are using the **dynamic catalog** then updates are automatically applied as soon as they are released. -When applying a catalog update it will apply all the latest fixes for everything in the cluster (all MAS instances and all dependencies), ensuring the that you're on a tested combination of patch levels across the board. There's no option to mix patch levels (e.g. keep one MAS instance on 8.9.4 and another on 8.9.5). +The catalog update is applied at a cluster level. When we update, we don't update a specific operator running on the cluster, but rather the cluster as a whole. Everything in the cluster should be running at the latest version available in the catalog that is currently installed. -Undoing an update is a lot of work as it's reversing a lot of changes throughout the cluster. Generally it shouldn't be needed as updates are just bringing security and bug fixes. Think of it like applying a windows update; there's no easy "undo" and if something slipped through we would fast track a new update so that rather than needing to revert from 8.9.5 to 8.9.4 there would be an 8.9.6 provided in double quick time that either reverted whatever caused the regression in 8.9.5 or addressed whatever the issue was. +When applying a catalog update it will apply all the latest fixes for everything in the cluster (all MAS instances and all dependencies), ensuring that you're on a tested combination of patch levels across the board. There's no option to mix patch levels (e.g. keep one MAS instance on 8.9.4 and another on 8.9.5). +!!! important + You must select a newer catalog than what is already in use. Updating to an older static catalog is not supported. + +### Dependency Management +In addition to its primary role to update the IBM Maximo Operator Catalog (and verify the successful rollout of updated operators), the update command will also perform updates to a number of MAS dependencies controlled outside of the IBM Operator Catalog. + +The update function will automatically search for and detect all of these dependencies and present a summary report that will describe the action it will take for the user to review before they launch the update (unless `--no-confirm` is set, in which case the update will start without prompt). + +#### MongoDb & Kafka +Each version of the IBM Maximo Operator Catalog is certified against a specific version of MongoDb and Apache Kafka. Although other versions of both are supported, the goal of `mas update` is to ensure customers are running MongoDb & Kafka with the same latest bug fixes and security patches that we test the catalog with internally. + +To this end, `mas update` will perform updates to both the installed MongoCE Operator and the MongoDbCommunity operand to align the version of the operator and the MongoDb cluster with the same version we have tested with. When a major version update is required, users will be prompted to approve the major version update and recommended to take a database backup. All other updates will be automatically applied. + +For Kafka things work pretty much the same, although the version of the operator is out of our control because it is determined by the version of the Red Hat Operator Catalogs that are installed on the cluster. MAS update will however perform necessary updates to the Kafka operand to update the version of the Kafka instance at appropriate times. + +#### IBM Cloud Pak for Data +Each version of the IBM Maximo Operator Catalog is certified compatible with a specific version of IBM Cloud Pak for Data (CP4D). It is not recommended to diverge from this compatible version because CP4D versioning is very brittle and even a small patch update to one of its services can create incompatibilities elsewhere. + +### Automatic Migrations +Sometimes MAS dependencies go out of support and there is a need to migrate to an alternative. The MAS update function is designed to handle these migrations automatically, giving customers the benefit of a fully automated, well-tested migration path that they can rely on because it's the same migration path used by IBM internally and all other MAS customers. -1 Disconnected Update Preparation +#### IBM Certificate Manager +IBM Certificate-Manager is deprecated, its replacement is Red Hat Certificate-Manager. MAS customers updating from catalogs prior to **January 2024** will see IBM Certificate-Manager uninstalled, Red Hat Certificate-Manager installed, and all MAS instances automatically reconfigured to use the latter. + +#### Grafana Operator v4 +In December 2024 it was announced that support for the Grafana v4 Operator would cease later that month. MAS customers updating from a catalog older than **February 2024** will see their Grafana installation automatically migrated to the Grafana v5 Operator. + +### Rollback Considerations +Undoing an update is a lot of work as it's reversing a lot of changes throughout the cluster. Generally it shouldn't be needed as updates are just bringing security and bug fixes. Think of it like applying a Windows update; there's no easy "undo" and if something slipped through we would fast track a new update so that rather than needing to revert from 8.9.5 to 8.9.4 there would be an 8.9.6 provided in double quick time that either reverted whatever caused the regression in 8.9.5 or addressed whatever the issue was. + + +Disconnected Update Preparation ------------------------------------------------------------------------------- -Before you start the update, you must mirror the images for the new catalog that you wish to update to. Mirroring the images is a simple but time consuming process. Three modes are available for the mirror process: +Before you start the update, you must mirror the images for the new catalog that you wish to update to. Mirroring the images is a simple but time consuming process. Three modes are available for the mirror process: -- **direct** mirrors images directly from the source registry to your private registry -- **to-filesystem** mirrors images from the source to a local directory -- **from-filesystem** mirrors images from a local directory to your private registry +- **direct** - mirrors images directly from the source registry to your private registry +- **to-filesystem** - mirrors images from the source to a local directory +- **from-filesystem** - mirrors images from a local directory to your private registry ```bash docker run -ti --rm --pull always quay.io/ibmmas/cli mas mirror-images ``` -You will be prompted to set the target registry for the image mirroring, to select the version of IBM Maximo Operator Catalog to mirror, and the subset of content that you wish to mirror. You can choose to mirror everything from the catalog, or control exactly what is mirrored to your private registry to reduce the time and bandwidth used to mirror the images, as well reducing the storage requirements of the registry. +You will be prompted to set the target registry for the image mirroring, to select the version of IBM Maximo Operator Catalog to mirror, and the subset of content that you wish to mirror. You can choose to mirror everything from the catalog, or control exactly what is mirrored to your private registry to reduce the time and bandwidth used to mirror the images, as well as reducing the storage requirements of the registry. -This command can also be ran non-interactive, for full details refer to the [image mirroring](../guides/image-mirroring.md) guide. +This command can also be run non-interactively. For full details refer to the [image mirroring](image-mirroring.md) guide. ```bash mas mirror-images -m direct -d /mnt/local-mirror \ @@ -42,23 +80,19 @@ mas mirror-images -m direct -d /mnt/local-mirror \ ``` !!! important - Make sure to select the release of MAS you currently have installed in the cluster, if you have multiple instances of MAS in the cluster running different releases then you must run the mirror command multiple time to ensure that you have mirrored the content for all releases of MAS that are in use in the cluster. + Make sure to select the release of MAS you currently have installed in the cluster. If you have multiple instances of MAS in the cluster running different releases then you must run the mirror command multiple times to ensure that you have mirrored the content for all releases of MAS that are in use in the cluster. -2 Update Maximo Application Suite +Update Maximo Application Suite ------------------------------------------------------------------------------- -Run `mas update` and choose the catalog to update to. This will update the operator catalog installed in your cluster, and the Operator Lifecycle Manager (OLM) will automatically update all installed operators to the newest version available on the current subscription channel. - -!!! important - You must select a newer catalog than what is already in use. Updating to an older static catalog is not supported. +Run `mas update` and choose the catalog to update to. This will update the operator catalog installed in your cluster, and the Operator Lifecycle Manager (OLM) will automatically update all installed operators to the newest version available on the current subscription channel. +### Interactive Update ```bash docker run -ti --rm --pull always quay.io/ibmmas/cli mas update ``` - -The command can also be ran non-interactive. - +### Non-Interactive Update ```bash -mas update -c @@MAS_LATEST_CATALOG@@ --no-confirm +docker run -ti --rm --pull always quay.io/ibmmas/cli mas update -c @@MAS_LATEST_CATALOG@@ --no-confirm ``` diff --git a/docs/guides/upgrade.md b/docs/guides/upgrade.md index 603b440644e..7325301df45 100644 --- a/docs/guides/upgrade.md +++ b/docs/guides/upgrade.md @@ -1,40 +1,45 @@ Upgrade =============================================================================== -Upgrade Overview +:::mas-cli-usage +module: mas.cli.upgrade.argParser +parser: upgradeArgParser +ignore_description: true +ignore_epilog: true +::: + +Overview ------------------------------------------------------------------------------- -Upgrade is the act of switching a MAS installation to a new subscription channel; it is distinct from an update, which is when new versions are delivered on existing subscription channels. New features are always delivered via new subscription channels, update within a channel will only deliver updates to existing functionality (including security updates) and bug fixes. +Upgrade is the act of switching a MAS installation to a new subscription channel; it is distinct from an update, which is when new versions are delivered on existing subscription channels. New features are always delivered via new subscription channels, while updates within a channel will only deliver updates to existing functionality (including security updates) and bug fixes. -1. [Upgrade](#1-upgrade) -2. [Disconnected Upgrade Preparation](#1-disconnected-install-preparation) -3. [Update MAS](#2-update-maximo-application-suite) - -When you choose to upgrade to pick up a feature release, the upgrade is targeted at a specific MAS instance in the cluster. Upgrades must work within an n-1 range, ie. we support MAS 8.10 and 8.9 on a cluster, or 8.9 and 8.8, but not 8.8 and 8.10. - -The process to undo an upgrade varies depending on what version and which applications were being upgraded, e.g. if there are database changes that need to be reversed it's more involved than if it's just a case of stateless runtime to be reverted to an older version. +### Upgrade vs. Update +When you choose to upgrade to pick up a feature release, the upgrade is targeted at a specific MAS instance in the cluster. Upgrades must work within an n-1 range, i.e., we support MAS 8.10 and 8.9 on a cluster, or 8.9 and 8.8, but not 8.8 and 8.10. !!! important You can only upgrade to a version of MAS already supported by the `ibm-maximo-operator-catalog` CatalogSource currently installed in the cluster. - - If you are using the static catalog and have not already updated to a catalog that includes the version of MAS you wish to upgrade to then you must first follow the [update process](update.md). - - If you are using the dynamic catalog then no action is required here, the catalog source will automatically update to include new MAS releases. + - If you are using the static catalog and have not already updated to a catalog that includes the version of MAS you wish to upgrade to, then you must first follow the [update process](update.md). + - If you are using the dynamic catalog then no action is required here; the catalog source will automatically update to include new MAS releases. +### Rollback Considerations +The process to undo an upgrade varies depending on what version and which applications were being upgraded. For example, if there are database changes that need to be reversed it's more involved than if it's just a case of stateless runtime to be reverted to an older version. -1 Disconnected Upgrade Preparation + +Disconnected Upgrade Preparation ------------------------------------------------------------------------------- -Before you start the upgrade, you must mirror the images for the new catalog that you wish to update to. Mirroring the images is a simple but time consuming process. Three modes are available for the mirror process: +Before you start the upgrade, you must mirror the images for the new catalog that you wish to upgrade to. Mirroring the images is a simple but time consuming process. Three modes are available for the mirror process: -- **direct** mirrors images directly from the source registry to your private registry -- **to-filesystem** mirrors images from the source to a local directory -- **from-filesystem** mirrors images from a local directory to your private registry +- **direct** - mirrors images directly from the source registry to your private registry +- **to-filesystem** - mirrors images from the source to a local directory +- **from-filesystem** - mirrors images from a local directory to your private registry ```bash docker run -ti --rm --pull always quay.io/ibmmas/cli mas mirror-images ``` -You will be prompted to set the target registry for the image mirroring and to [select the version of IBM Maximo Operator Catalog to mirror](../catalogs/index.md) and the subset of content that you wish to mirror. You can choose to mirror everything from the catalog, or control exactly what is mirrored to your private registry to reduce the time and bandwidth used to mirror the images, as well reducing the storage requirements of the registry. +You will be prompted to set the target registry for the image mirroring and to [select the version of IBM Maximo Operator Catalog to mirror](../catalogs/index.md) and the subset of content that you wish to mirror. You can choose to mirror everything from the catalog, or control exactly what is mirrored to your private registry to reduce the time and bandwidth used to mirror the images, as well as reducing the storage requirements of the registry. -This command can also be ran non-interactive, for full details refer to the [image mirroring](../guides/image-mirroring.md) guide. +This command can also be run non-interactively. For full details refer to the [image mirroring](image-mirroring.md) guide. ```bash mas mirror-images -m direct -d /mnt/local-mirror \ @@ -47,19 +52,19 @@ mas mirror-images -m direct -d /mnt/local-mirror \ ``` !!! important - Make sure to select the release of MAS you want to upgrade to, not the release of MAS you are currently on. For example if you are upgrading from MAS 8.9 to MAS 8.10 you should set `-C 8.10.x`. + Make sure to select the release of MAS you want to upgrade to, not the release of MAS you are currently on. For example, if you are upgrading from MAS 8.9 to MAS 8.10 you should set `-C 8.10.x`. -2 Upgrade Maximo Application Suite +Upgrade Maximo Application Suite ------------------------------------------------------------------------------- -Run `mas upgrade` and choose the MAS instance to upgrade. The upgrade will automatically detect the installed release, and perform an upgrade to the next available release. +Run `mas upgrade` and choose the MAS instance to upgrade. The upgrade will automatically detect the installed release and perform an upgrade to the next available release. +### Interactive Upgrade ```bash docker run -ti --rm --pull always quay.io/ibmmas/cli mas upgrade ``` -The command can also be ran non-interactive. - +### Non-Interactive Upgrade ```bash -mas upgrade -i inst1 --no-confirm +docker run -ti --rm --pull always quay.io/ibmmas/cli mas upgrade --mas-instance-id inst1 --no-confirm ``` diff --git a/docs/index.md b/docs/index.md index 371518a991c..6328730bd67 100644 --- a/docs/index.md +++ b/docs/index.md @@ -48,8 +48,8 @@ Not all functions supported in the container image are available in the standalo | ---------------------------------------------------------- | :------: | :------: | | [install](guides/install.md) | ✓ | ✓ | | [aiservice-install](guides/aiservice-install.md) | ✓ | ✓ | -| [update](commands/update.md) | ✓ | ✓ | -| [upgrade](commands/upgrade.md) | ✓ | ✓ | +| [update](guides/update.md) | ✓ | ✓ | +| [upgrade](guides/upgrade.md) | ✓ | ✓ | | [uninstall](commands/uninstall.md) | ✓ | ✓ | | [must-gather](commands/must-gather.md) | ✓ | ✕ | | [configure-airgap](commands/configure-airgap.md) | ✓ | ✕ | @@ -61,4 +61,3 @@ Not all functions supported in the container image are available in the standalo | [provision-roks](commands/provision-roks.md) | ✓ | ✕ | | [provision-rosa](commands/provision-rosa.md) | ✓ | ✕ | | [configtool-oidc](commands/configtool-oidc.md) | ✓ | ✕ | -| [facilities-external-db](guides/facilities-external-db.md) | ✓ | ✕ | \ No newline at end of file diff --git a/image/cli/app-root/src/finalizer.py b/image/cli/app-root/src/finalizer.py index 07cdfa1aa3b..5cadfafcd36 100644 --- a/image/cli/app-root/src/finalizer.py +++ b/image/cli/app-root/src/finalizer.py @@ -294,8 +294,8 @@ def getcp4dCompsVersions(): "ibm-aiservice": { "deployment": "ibm-aiservice-operator", "namespace": f"aiservice-{instanceId}", - "apiVersion": "apps.mas.ibm.com/v1", - "kind": "AiBrokerApp", + "apiVersion": "aiservice.ibm.com/v1", + "kind": "AIServiceApp", } } @@ -312,7 +312,7 @@ def getcp4dCompsVersions(): "ibm-mas-predict": "S04Q53TT5S5", "ibm-mas-visualinspection": "S04PUSAL2A0", "ibm-mas-mobile": "S0507GG7V6K", - "ibm-aiservice": "S04Q53TT5S5" + "ibm-aiservice": "S09DH8BFGA1" } for productId in knownProductIds: @@ -352,6 +352,8 @@ def getcp4dCompsVersions(): print(f"Unable to determine {productId} build information: {e}") else: print(f"Unable to determine {productId} version: status.versions.reconciled unavailable") + if cr.status and cr.status.settings and cr.status.settings.routingMode: + setObject[f"products.{productId}.routingMode"] = cr.status.settings.routingMode except Exception as e: print(f"Unable to determine {productId} version: {e}") @@ -409,15 +411,40 @@ def getcp4dCompsVersions(): # ------------------------------------------------------------------------- try: crs = dynClient.resources.get(api_version="db2u.databases.ibm.com/v1", kind="Db2uCluster") - cr = crs.get(name=f"mas-{instanceId}-system", namespace="db2u") - if cr.status and cr.status.version: - db2ClusterVersion = cr.status.version - - setObject["target.db2ClusterVersion"] = db2ClusterVersion - else: - print("Unable to determine DB2 cluster version: status.version unavailable") + # Try to find DB2 cluster - first try the expected name/namespace + db2Found = False + try: + cr = crs.get(name=f"mas-{instanceId}-system", namespace="db2u") + if cr.status and cr.status.version: + db2ClusterVersion = cr.status.version + setObject["target.db2ClusterVersion"] = db2ClusterVersion + db2Found = True + except Exception: + # If not found in expected location, search all namespaces + try: + crList = crs.get() + if crList and crList.items and len(crList.items) > 0: + # Use the first DB2 cluster found + for item in crList.items: + if item.status and item.status.version: + db2ClusterVersion = item.status.version + setObject["target.db2ClusterVersion"] = db2ClusterVersion + db2Found = True + db2Name = item.metadata.name + db2Ns = item.metadata.namespace + print(f"DB2 cluster found: {db2Name} in namespace {db2Ns}") + break + except Exception: + pass + + if not db2Found: + print("Unable to determine DB2 cluster version: DB2 cluster not found (may not be installed)") except Exception as e: - print(f"Unable to determine DB2 cluster version: {e}") + error_msg = str(e) + if "404" in error_msg or "not found" in error_msg.lower(): + print("Unable to determine DB2 cluster version: DB2 cluster not found (may not be installed)") + else: + print(f"Unable to determine DB2 cluster version: {e}") # Lookup DB2 operator version # ------------------------------------------------------------------------- @@ -468,14 +495,46 @@ def getcp4dCompsVersions(): # ------------------------------------------------------------------------- try: crs = dynClient.resources.get(api_version="sls.ibm.com/v1", kind="LicenseService") - cr = crs.get(name="sls", namespace=f"sls-{instanceId}") - if cr.status and cr.status.versions: - slsVersion = cr.status.versions.reconciled - setObject["target.slsVersion"] = slsVersion - else: - print("Unable to determine SLS version: status.versions unavailable") + # Try to find SLS - check multiple possible locations + slsFound = False + possibleNamespaces = [f"sls-{instanceId}", "ibm-sls", f"mas-{instanceId}-sls"] + + for ns in possibleNamespaces: + try: + cr = crs.get(name="sls", namespace=ns) + if cr.status and cr.status.versions: + slsVersion = cr.status.versions.reconciled + setObject["target.slsVersion"] = slsVersion + slsFound = True + break + except Exception: + continue + + if not slsFound: + # If not found in expected locations, search all namespaces + try: + crList = crs.get() + if crList and crList.items and len(crList.items) > 0: + for item in crList.items: + if item.status and item.status.versions: + slsVersion = item.status.versions.reconciled + setObject["target.slsVersion"] = slsVersion + slsFound = True + slsName = item.metadata.name + slsNs = item.metadata.namespace + print(f"SLS found: {slsName} in namespace {slsNs}") + break + except Exception: + pass + + if not slsFound: + print("Unable to determine SLS version: SLS not found (may not be installed)") except Exception as e: - print(f"Unable to determine SLS version: {e}") + error_msg = str(e) + if "404" in error_msg or "not found" in error_msg.lower(): + print("Unable to determine SLS version: SLS not found (may not be installed)") + else: + print(f"Unable to determine SLS version: {e}") # Lookup CP4D version # ------------------------------------------------------------------------- @@ -540,7 +599,7 @@ def getcp4dCompsVersions(): # ------------------------------------------------------------------------- message = [] message.append(SlackUtil.buildHeader(f"FVT Report: {instanceId} #{build}")) - message.append(SlackUtil.buildSection(f"Test result summary for **")) + message.append(SlackUtil.buildSection(f"Test result summary for **")) for product in sorted(result["products"]): @@ -600,9 +659,9 @@ def getcp4dCompsVersions(): message = [] message.append(SlackUtil.buildHeader(f"{product}")) if (product in productFocal): - message.append(SlackUtil.buildSection(f" The following testsuites reported one or more failures or errors during **")) + message.append(SlackUtil.buildSection(f" The following testsuites reported one or more failures or errors during **")) else: - message.append(SlackUtil.buildSection(f"The following testsuites reported one or more failures or errors during **")) + message.append(SlackUtil.buildSection(f"The following testsuites reported one or more failures or errors during **")) if "results" in result["products"][product]: for suite in result["products"][product]["results"]: @@ -660,7 +719,7 @@ def getcp4dCompsVersions(): openIssues.append(f"{statusIcon} {summary} ({assignee})") context = [ - f"{icon} **", + f"{icon} **", f"*{tests}* tests", f"*{skipped}* skipped", f"*{errors}* errors", @@ -678,6 +737,6 @@ def getcp4dCompsVersions(): if len(message) > 50: message = [] message.append(SlackUtil.buildHeader(f"{product}")) - message.append(SlackUtil.buildSection(f"Test result summary for **")) + message.append(SlackUtil.buildSection(f"Test result summary for **")) message.append(SlackUtil.buildSection("Sorry. The build is so bad it can't even be summarized within the size limit of a Slack message!")) postMessage(FVT_SLACK_CHANNEL, message, threadId) diff --git a/image/cli/mascli/functions/gitops_aiservice_tenant b/image/cli/mascli/functions/gitops_aiservice_tenant index 34c481f3b57..bb2a7e8fc67 100644 --- a/image/cli/mascli/functions/gitops_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_aiservice_tenant @@ -41,9 +41,10 @@ DRO : --drocfg-url ${COLOR_YELLOW}DROCFG_URL${TEXT_RESET} URL of the DRO configuration service SLS : ---slscfg-url ${COLOR_YELLOW}SLSCFG_URL${TEXT_RESET} URL of the SLS configuration service +--slscfg-url ${COLOR_YELLOW}SLSCFG_URL${TEXT_RESET} URL of the SLS configuration service --aiservice-sls-subscription-id ${COLOR_YELLOW}AISERVICE_SLS_SUBSCRIPTION_ID${TEXT_RESET} Subscription ID associated with SLS - +-s, --sls-service ${COLOR_YELLOW}STANDALONE_SLS_SERVICE${TEXT_RESET} for ibm internal use only. + Watsonx : --aiservice-watsonxai-url ${COLOR_YELLOW}AISERVICE_WATSONXAI_URL${TEXT_RESET} Endpoint URL for Watsonx.ai --aiservice-watsonx-full ${COLOR_YELLOW}AISERVICE_WATSONX_FULL${TEXT_RESET} Full URL for Watsonx.ai including API key @@ -77,6 +78,19 @@ function gitops_aiservice_tenant_noninteractive() { SECRETS_KEY_SEPERATOR="/" GIT_COMMIT_MSG="gitops-aiservice-tenant commit" + if [ ! -z "$STANDALONE_SLS_SERVICE" ]; then + CLEAN_PATH=$(echo "$STANDALONE_SLS_SERVICE" | sed 's###') + IFS='/' read -r -a PARTS <<< "$CLEAN_PATH" + if [ ${#PARTS[@]} -lt 6 ]; then + echo "Error: Invalid SLS service parameter file Path $STANDALONE_SLS_SERVICE format." >&2 + exit 1 + fi + ICN="${PARTS[3]}" + SAAS_SUB_ID="${PARTS[4]}" + fi + export ICN=${ICN:-""} + export SAAS_SUB_ID=${SAAS_SUB_ID:-""} + # adding default values # all generic values should to put here # check with ansible playbook/gitops envs @@ -170,6 +184,10 @@ function gitops_aiservice_tenant_noninteractive() { --slscfg-url) export SLSCFG_URL=$1 && shift ;; + # Standalone Server configuration + -s|--sls-service) + export STANDALONE_SLS_SERVICE=$1 && shift + ;; --aiservice-sls-subscription-id ) export AISERVICE_SLS_SUBSCRIPTION_ID=$1 && shift @@ -286,7 +304,9 @@ function gitops_aiservice_tenant_noninteractive() { [[ -z "$DROCFG_URL" ]] && gitops_aiservice_tenant_help "DROCFG_URL is not set. Please specify the DRO configuration URL using --drocfg-url." # -- SLS - [[ -z "$SLSCFG_URL" ]] && gitops_aiservice_tenant_help "SLSCFG_URL is not set. Please specify the SLS configuration URL using --slscfg-url." + if [ -z "$STANDALONE_SLS_SERVICE" ]; then + [[ -z "$SLSCFG_URL" ]] && gitops_aiservice_tenant_help "SLSCFG_URL is not set. Please specify the SLS configuration URL using --slscfg-url." + fi # -- Watsonx [[ -z "$AISERVICE_WATSONXAI_URL" ]] && gitops_aiservice_tenant_help "AISERVICE_WATSONXAI_URL is not set. Please specify the Watsonx.ai URL using --aiservice-watsonxai-url." @@ -370,7 +390,11 @@ function gitops_aiservice_tenant() { # -- SLS echo_reset_dim "SLS subscription ID .......................... ${COLOR_MAGENTA}${AISERVICE_SLS_SUBSCRIPTION_ID}" - + echo_reset_dim "SLS service param file path .................. ${COLOR_MAGENTA}${STANDALONE_SLS_SERVICE}" + if [ ! -z "$STANDALONE_SLS_SERVICE" ]; then + echo_reset_dim "ICN ........................................ ${COLOR_MAGENTA}${ICN}" + echo_reset_dim "SAAS_SUB_ID ........................................ ${COLOR_MAGENTA}${SAAS_SUB_ID}" + fi # -- Watsonx echo_reset_dim "Watsonx.ai URL ............................... ${COLOR_MAGENTA}${AISERVICE_WATSONXAI_URL}" echo_reset_dim "Watsonx.ai full URL .......................... ${COLOR_MAGENTA}${AISERVICE_WATSONX_FULL}" @@ -394,16 +418,32 @@ function gitops_aiservice_tenant() { export SECRET_KEY_DROCFG_REGISTRATION_KEY=${SECRETS_PREFIX}droai#drocfg_registration_key # sls - SLS_SECRETS_PREFIX="${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${AISERVICE_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}${TENANT_ID}${SECRETS_KEY_SEPERATOR}" - export SECRET_KEY_SLSCFG_REGISTRATION_KEY=${SLS_SECRETS_PREFIX}sls#slscfg_registration_key - export SECRET_KEY_SLSCFG_CA_B64ENC=${SLS_SECRETS_PREFIX}sls#slscfg_ca_b64enc + if [ -z "$STANDALONE_SLS_SERVICE" ]; then + export SLS_SECRETS_PREFIX="${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${AISERVICE_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}${TENANT_ID}${SECRETS_KEY_SEPERATOR}" + export SECRET_KEY_SLSCFG_REGISTRATION_KEY=${SLS_SECRETS_PREFIX}sls#slscfg_registration_key + export SECRET_KEY_SLSCFG_CA_B64ENC=${SLS_SECRETS_PREFIX}sls#slscfg_ca_b64enc + else + export SLS_SECRETS_PREFIX="${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${ICN}${SECRETS_KEY_SEPERATOR}${SAAS_SUB_ID}${SECRETS_KEY_SEPERATOR}" + export SECRET_KEY_SLSCFG_REGISTRATION_KEY=${SLS_SECRETS_PREFIX}sls#registration_key + export SECRET_KEY_SLSCFG_CA_B64ENC=${SLS_SECRETS_PREFIX}sls#ca_b64 + export SECRET_KEY_SLS_URL=${SLS_SECRETS_PREFIX}sls#sls_url + fi export SECRET_KEY_RSL_ORG_ID=${SECRETS_PREFIX}rsl#rsl_org_id export SECRET_KEY_RSL_TOKEN=${SECRETS_PREFIX}rsl#rsl_token export SECRET_KEY_RSL_CA_CRT=${SECRETS_PREFIX}rsl#rsl_ca_crt + #watsonx - export SECRET_KEY_WATSONXAI_APIKEY=${SECRETS_PREFIX}watsonx#watsonxai_apikey - export AISERVICE_WATSONXAI_PROJECT_ID=${SECRETS_PREFIX}watsonx#watsonxai_project_id + WATSONX_SECRET="${SECRETS_PREFIX}watsonx" + export SECRET_KEY_WATSONXAI_APIKEY=${WATSONX_SECRET}#watsonxai_apikey + export AISERVICE_WATSONXAI_PROJECT_ID=${WATSONX_SECRET}#watsonxai_project_id + + # Check if watsonx secret contains watsonxai_ca_crt key and export if it has a value + WATSONXAI_CA_CRT_VALUE=$(sm_get_secret_value "$WATSONX_SECRET" "watsonxai_ca_crt") + if [[ -n "$WATSONXAI_CA_CRT_VALUE" && "$WATSONXAI_CA_CRT_VALUE" != "null" ]]; then + export SECRET_KEY_WATSONXAI_CA_CRT=${WATSONX_SECRET}#watsonxai_ca_crt + echo "Watsonx CA certificate key found and exported" + fi # STORAGE export SECRET_KEY_STORAGE_HOST=${SECRETS_PREFIX}storage#sm_storage_host @@ -416,7 +456,11 @@ function gitops_aiservice_tenant() { sm_verify_secret_exists ${SECRETS_PREFIX}ibm_entitlement "image_pull_secret_b64,entitlement_key" sm_verify_secret_exists ${SECRETS_PREFIX}droai "drocfg_registration_key,drocfg_ca_b64enc" - sm_verify_secret_exists ${SLS_SECRETS_PREFIX}sls "slscfg_registration_key,slscfg_ca_b64enc" + if [ -z "$STANDALONE_SLS_SERVICE" ]; then + sm_verify_secret_exists ${SLS_SECRETS_PREFIX}sls "slscfg_registration_key,slscfg_ca_b64enc" + else + sm_verify_secret_exists ${SLS_SECRETS_PREFIX}sls "registration_key,ca_b64,sls_url" + fi sm_verify_secret_exists ${SECRETS_PREFIX}rsl "rsl_org_id,rsl_token" sm_verify_secret_exists ${SECRETS_PREFIX}watsonx "watsonxai_apikey,watsonxai_project_id" diff --git a/image/cli/mascli/functions/gitops_deprovision_aiservice_tenant b/image/cli/mascli/functions/gitops_deprovision_aiservice_tenant index 7ef673ec0ea..6d8c1c4be39 100644 --- a/image/cli/mascli/functions/gitops_deprovision_aiservice_tenant +++ b/image/cli/mascli/functions/gitops_deprovision_aiservice_tenant @@ -222,7 +222,7 @@ function gitops_deprovision_aiservice_tenant() { export SECRET_S3_AUTH=${SECRETS_PREFIX}s3 - deleting secrets from aws + # deleting secrets from aws echo -e "Deleting ibm_entitlement secrets $SECRET_IBM_ENTITLEMENT_AUTH" sm_delete_secret $SECRET_IBM_ENTITLEMENT_AUTH diff --git a/image/cli/mascli/functions/gitops_dro b/image/cli/mascli/functions/gitops_dro index 4e083253667..c3c87546d79 100644 --- a/image/cli/mascli/functions/gitops_dro +++ b/image/cli/mascli/functions/gitops_dro @@ -30,8 +30,10 @@ AWS Secrets Manager Configuration (Required): --secrets-path ${COLOR_YELLOW}SECRETS_PATH${TEXT_RESET} Secrets Manager path IBM DRO & IMO Config (Optional): - --dro-install-plan ${COLOR_YELLOW}DRO_INSTALL_PLAN${TEXT_RESET} DRO subscription install plan approval('Automatic' or 'Manual'. Default is 'Automatic') - --imo-install-plan ${COLOR_YELLOW}IMO_INSTALL_PLAN${TEXT_RESET} IMO subscription install plan approval('Automatic' or 'Manual'. Default is 'Automatic') + --dro-install-plan ${COLOR_YELLOW}DRO_INSTALL_PLAN${TEXT_RESET} DRO subscription install plan approval('Automatic' or 'Manual'. Default is 'Automatic') + --imo-install-plan ${COLOR_YELLOW}IMO_INSTALL_PLAN${TEXT_RESET} IMO subscription install plan approval('Automatic' or 'Manual'. Default is 'Automatic') + --dro-public-domain ${COLOR_YELLOW}DRO_PUBLIC_DOMAIN${TEXT_RESET} Domain of DRO if it needs to be exposed publicly + --dro-cis-crn ${COLOR_YELLOW}DRO_CIS_CRN${TEXT_RESET} CIS CRN Automatic GitHub Push (Optional): -P, --github-push ${COLOR_YELLOW}GITHUB_PUSH${TEXT_RESET} Enable automatic push to GitHub @@ -116,6 +118,12 @@ function gitops_dro_noninteractive() { --imo-install-plan) export IMO_INSTALL_PLAN=$1 && shift ;; + --dro-public-domain) + export DRO_PUBLIC_DOMAIN=$1 && shift + ;; + --dro-cis-crn) + export DRO_CIS_CRN=$1 && shift + ;; # Automatic GitHub Push -P|--github-push) @@ -227,6 +235,12 @@ function gitops_dro() { echo "${TEXT_DIM}" echo_h2 "DRO Operator" " " echo_reset_dim "DRO_NAMESPACE .......................... ${COLOR_MAGENTA}${DRO_NAMESPACE}" + if [[ -n "$DRO_PUBLIC_DOMAIN" ]]; then + echo_reset_dim "DRO_PUBLIC_DOMAIN ....................... ${COLOR_MAGENTA}${DRO_PUBLIC_DOMAIN}" + fi + if [[ -n "$DRO_CIS_CRN" ]]; then + echo_reset_dim "DRO_CIS_CRN .......................... ${COLOR_MAGENTA}${DRO_CIS_CRN}" + fi reset_colors echo "${TEXT_DIM}" @@ -249,6 +263,8 @@ function gitops_dro() { # --------------------------------------------------------------------------- # Note that SECRET_KEY_IBM_ENTITLEMENT cluster-level secret is set up by gitops-cluster export SECRET_KEY_IBM_ENTITLEMENT=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}ibm_entitlement#entitlement_key + export SECRET_KET_DRO_TLS_CERT=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}dro#dro_client_tls_tls_crt_b64 + export SECRET_KET_DRO_TLS_KEY=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}dro#dro_client_tls_tls_key_b64 if [ "$DRO_CMM_SETUP" == "true" ]; then export SECRET_KEY_DRO_CMM_AUTH_APIKEY=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}dro_cmm_auth#api_key diff --git a/image/cli/mascli/functions/gitops_iac b/image/cli/mascli/functions/gitops_iac index fb7b9005d6c..a8f6721688a 100644 --- a/image/cli/mascli/functions/gitops_iac +++ b/image/cli/mascli/functions/gitops_iac @@ -71,7 +71,7 @@ function gitops_iac_noninteractive() { ;; # EFS Configuration - --is_efs) + --is-efs) if [[ -n "$1" && "$1" != --* ]]; then export IS_EFS=$1 shift @@ -84,7 +84,7 @@ function gitops_iac_noninteractive() { --efs-source) export EFS_SOURCE=$1 && shift ;; - --efs_manage_db2_performance_mode) + --efs-manage-db2-performance-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_MANAGE_DB2_PERFORMANCE_MODE=$1 shift @@ -94,7 +94,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_manage_db2_mount_count) + --efs-manage-db2-mount-count) if [[ -n "$1" && "$1" != --* ]]; then export EFS_MANAGE_DB2_MOUNT_COUNT=$1 shift @@ -104,7 +104,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_manage_db2_throughput_mode) + --efs-manage-db2-throughput-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_MANAGE_DB2_THROUGHPUT_MODE=$1 shift @@ -114,7 +114,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_manage_main_performance_mode) + --efs-manage-main-performance-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_MANAGE_MAIN_PERFORMANCE_MODE=$1 shift @@ -124,7 +124,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_manage_main_mount_count) + --efs-manage-main-mount-count) if [[ -n "$1" && "$1" != --* ]]; then export EFS_MANAGE_MAIN_MOUNT_COUNT=$1 shift @@ -134,7 +134,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_manage_main_throughput_mode) + --efs-manage-main-throughput-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_MANAGE_MAIN_THROUGHPUT_MODE=$1 shift @@ -144,7 +144,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_iot_db2_performance_mode) + --efs-iot-db2-performance-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_IOT_DB2_PERFORMANCE_MODE=$1 shift @@ -154,7 +154,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_iot_db2_mount_count) + --efs-iot-db2-mount-count) if [[ -n "$1" && "$1" != --* ]]; then export EFS_IOT_DB2_MOUNT_COUNT=$1 shift @@ -164,7 +164,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_iot_db2_throughput_mode) + --efs-iot-db2-throughput-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_IOT_DB2_THROUGHPUT_MODE=$1 shift @@ -174,7 +174,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_facilities_db2_performance_mode) + --efs-facilities-db2-performance-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_FACILITIES_DB2_PERFORMANCE_MODE=$1 shift @@ -184,7 +184,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_facilities_db2_mount_count) + --efs-facilities-db2-mount-count) if [[ -n "$1" && "$1" != --* ]]; then export EFS_FACILITIES_DB2_MOUNT_COUNT=$1 shift @@ -194,7 +194,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_facilities_db2_throughput_mode) + --efs-facilities-db2-throughput-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_FACILITIES_DB2_THROUGHPUT_MODE=$1 shift @@ -204,7 +204,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_facilities_main_performance_mode) + --efs-facilities-main-performance-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_FACILITIES_MAIN_PERFORMANCE_MODE=$1 shift @@ -214,7 +214,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_facilities_main_mount_count) + --efs-facilities-main-mount-count) if [[ -n "$1" && "$1" != --* ]]; then export EFS_FACILITIES_MAIN_MOUNT_COUNT=$1 shift @@ -224,7 +224,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_facilities_main_throughput_mode) + --efs-facilities-main-throughput-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_FACILITIES_MAIN_THROUGHPUT_MODE=$1 shift @@ -234,7 +234,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_visualinspection_main_performance_mode) + --efs-visualinspection-main-performance-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE=$1 shift @@ -244,7 +244,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_visualinspection_main_mount_count) + --efs-visualinspection-main-mount-count) if [[ -n "$1" && "$1" != --* ]]; then export EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT=$1 shift @@ -254,7 +254,7 @@ function gitops_iac_noninteractive() { fi ;; - --efs_visualinspection_main_throughput_mode) + --efs-visualinspection-main-throughput-mode) if [[ -n "$1" && "$1" != --* ]]; then export EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE=$1 shift @@ -265,7 +265,7 @@ function gitops_iac_noninteractive() { ;; # S3 Configuration - --is_s3) + --is-s3) if [[ -n "$1" && "$1" != --* ]]; then export IS_S3=$1 shift @@ -274,17 +274,17 @@ function gitops_iac_noninteractive() { [[ $# -gt 0 ]] && shift fi ;; - --s3_source) + --s3-source) export S3_SOURCE=$1 && shift ;; - --s3_source_iampolicy) + --s3-source-iampolicy) export S3_SOURCE_IAMPOLICY=$1 && shift ;; - --s3_source_s3accesspoint) + --s3-source-s3accesspoint) export S3_SOURCE_S3ACCESSPOINT=$1 && shift ;; - --s3_manage) + --s3-manage) if [[ -n "$1" && "$1" != --* ]]; then export S3_MANAGE=$1 shift @@ -293,7 +293,7 @@ function gitops_iac_noninteractive() { [[ $# -gt 0 ]] && shift fi ;; - --s3_mvi) + --s3-mvi) if [[ -n "$1" && "$1" != --* ]]; then export S3_MVI=$1 shift @@ -303,6 +303,286 @@ function gitops_iac_noninteractive() { fi ;; + --is-msk) + if [[ -n "$1" && "$1" != --* ]]; then + export IS_MSK=$1 + shift + else + export IS_MSK="false" + [[ $# -gt 0 ]] && shift + fi + ;; + + --msk-source) + export MSK_SOURCE=$1 && shift + ;; + + --msk-kafka-version) + if [[ -n "$1" && "$1" != --* ]]; then + export MSK_KAFKA_VERSION=$1 + shift + else + export MSK_KAFKA_VERSION="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --msk-instance-type) + if [[ -n "$1" && "$1" != --* ]]; then + export MSK_INSTANCE_TYPE=$1 + shift + else + export MSK_INSTANCE_TYPE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --msk-cluster-username) + if [[ -n "$1" && "$1" != --* ]]; then + export MSK_CLUSTER_USERNAME=$1 + shift + else + export MSK_CLUSTER_USERNAME="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --msk-broker-volume-size) + if [[ -n "$1" && "$1" != --* ]]; then + export MSK_BROKER_VOLUME_SIZE=$1 + shift + else + export MSK_BROKER_VOLUME_SIZE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --msk-number-of-broker-nodes) + if [[ -n "$1" && "$1" != --* ]]; then + export MSK_NUMBER_OF_BROKER_NODES=$1 + shift + else + export MSK_NUMBER_OF_BROKER_NODES="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --msk-cluster-prefix) + if [[ -n "$1" && "$1" != --* ]]; then + export MSK_CLUSTER_PREFIX=$1 + shift + else + export MSK_CLUSTER_PREFIX="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --is-rds) + if [[ -n "$1" && "$1" != --* ]]; then + export IS_RDS=$1 + shift + else + export IS_RDS="false" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-source) + export RDS_SOURCE=$1 && shift + ;; + + --rds-s3-source) + export RDS_S3_SOURCE=$1 && shift + ;; + + --rds-iam-source) + export RDS_IAM_SOURCE=$1 && shift + ;; + + --rds-s3accesspoint-source) + export RDS_S3ACCESSPOINT_SOURCE=$1 && shift + ;; + + --rds-manage-db2-instance-class) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_MANAGE_DB2_INSTANCE_CLASS=$1 + shift + else + export RDS_MANAGE_DB2_INSTANCE_CLASS="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-manage-db2-storage-type) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_MANAGE_DB2_STORAGE_TYPE=$1 + shift + else + export RDS_MANAGE_DB2_STORAGE_TYPE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-manage-allocated-storage) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_MANAGE_ALLOCATED_STORAGE=$1 + shift + else + export RDS_MANAGE_ALLOCATED_STORAGE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-manage-jdbc-connection-url-additional-params) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_MANAGE_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS=$1 + shift + else + export RDS_MANAGE_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-manage-replica-db) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_MANAGE_REPLICA_DB=$1 + shift + else + export RDS_MANAGE_REPLICA_DB="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-db2-config-manage-yaml) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_DB2_CONFIG_MANAGE_YAML=$1 + shift + else + export RDS_DB2_CONFIG_MANAGE_YAML="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-iot-db2-instance-class) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_IOT_DB2_INSTANCE_CLASS=$1 + shift + else + export RDS_IOT_DB2_INSTANCE_CLASS="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-iot-db2-storage-type) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_IOT_DB2_STORAGE_TYPE=$1 + shift + else + export RDS_IOT_DB2_STORAGE_TYPE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-iot-allocated-storage) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_IOT_ALLOCATED_STORAGE=$1 + shift + else + export RDS_IOT_ALLOCATED_STORAGE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-iot-jdbc-connection-url-additional-params) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_IOT_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS=$1 + shift + else + export RDS_IOT_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-iot-replica-db) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_IOT_REPLICA_DB=$1 + shift + else + export RDS_IOT_REPLICA_DB="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-db2-config-iot-yaml) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_DB2_CONFIG_IOT_YAML=$1 + shift + else + export RDS_DB2_CONFIG_IOT_YAML="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-facilities-db2-instance-class) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_FACILITIES_DB2_INSTANCE_CLASS=$1 + shift + else + export RDS_FACILITIES_DB2_INSTANCE_CLASS="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-facilities-db2-storage-type) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_FACILITIES_DB2_STORAGE_TYPE=$1 + shift + else + export RDS_FACILITIES_DB2_STORAGE_TYPE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-facilities-allocated-storage) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_FACILITIES_ALLOCATED_STORAGE=$1 + shift + else + export RDS_FACILITIES_ALLOCATED_STORAGE="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-facilities-jdbc-connection-url-additional-params) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_FACILITIES_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS=$1 + shift + else + export RDS_FACILITIES_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-facilities-replica-db) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_FACILITIES_REPLICA_DB=$1 + shift + else + export RDS_FACILITIES_REPLICA_DB="" + [[ $# -gt 0 ]] && shift + fi + ;; + + --rds-db2-config-facilities-yaml) + if [[ -n "$1" && "$1" != --* ]]; then + export RDS_DB2_CONFIG_FACILITIES_YAML=$1 + shift + else + export RDS_DB2_CONFIG_FACILITIES_YAML="" + [[ $# -gt 0 ]] && shift + fi + ;; + # Target Cluster (Optional) --cluster-url) export CLUSTER_URL=$1 && shift @@ -397,35 +677,51 @@ function compute_efs_variables() { # Compute EFS flags based on parameters if [[ -n "$EFS_MANAGE_DB2_PERFORMANCE_MODE" && -n "$EFS_MANAGE_DB2_MOUNT_COUNT" && -n "$EFS_MANAGE_DB2_THROUGHPUT_MODE" ]]; then - export EFS_MANAGE=true + export EFS_MANAGE_DB2=true echo " EFS_MANAGE: true" else - export EFS_MANAGE=false + export EFS_MANAGE_DB2=false + echo " EFS_MANAGE: false" + fi + + if [[ -n "$EFS_MANAGE_MAIN_PERFORMANCE_MODE" && -n "$EFS_MANAGE_MAIN_MOUNT_COUNT" && -n "$EFS_MANAGE_MAIN_THROUGHPUT_MODE" ]]; then + export EFS_MANAGE_MAIN=true + echo " EFS_MANAGE: true" + else + export EFS_MANAGE_MAIN=false echo " EFS_MANAGE: false" fi if [[ -n "$EFS_IOT_DB2_PERFORMANCE_MODE" && -n "$EFS_IOT_DB2_MOUNT_COUNT" && -n "$EFS_IOT_DB2_THROUGHPUT_MODE" ]]; then - export EFS_IOT=true + export EFS_IOT_DB2=true echo " EFS_IOT: true" else - export EFS_IOT=false + export EFS_IOT_DB2=false echo " EFS_IOT: false" fi if [[ -n "$EFS_FACILITIES_DB2_PERFORMANCE_MODE" && -n "$EFS_FACILITIES_DB2_MOUNT_COUNT" && -n "$EFS_FACILITIES_DB2_THROUGHPUT_MODE" ]]; then - export EFS_FACILITIES=true + export EFS_FACILITIES_DB2=true echo " EFS_FACILITIES: true" else - export EFS_FACILITIES=false + export EFS_FACILITIES_DB2=false echo " EFS_FACILITIES: false" fi + + if [[ -n "$EFS_FACILITIES_MAIN_PERFORMANCE_MODE" && -n "$EFS_FACILITIES_MAIN_MOUNT_COUNT" && -n "$EFS_FACILITIES_MAIN_THROUGHPUT_MODE" ]]; then + export EFS_FACILITIES_MAIN=true + echo " EFS_FACILITIES_MAIN: true" + else + export EFS_FACILITIES_MAIN=false + echo " EFS_FACILITIES_MAIN: false" + fi if [[ -n "$EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE" && -n "$EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT" && -n "$EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE" ]]; then - export EFS_VISUALINSPECTION=true - echo " EFS_VISUALINSPECTION: true" + export EFS_VISUALINSPECTION_MAIN=true + echo " EFS_VISUALINSPECTION_MAIN: true" else - export EFS_VISUALINSPECTION=false - echo " EFS_VISUALINSPECTION: false" + export EFS_VISUALINSPECTION_MAIN=false + echo " EFS_VISUALINSPECTION_MAIN: false" fi echo " EFS variables computed successfully" @@ -462,11 +758,107 @@ function compute_s3_variables() { echo " ACCOUNT_ID: ${ACCOUNT_ID}" echo " S3_MANAGE: ${S3_MANAGE}" echo " S3_MVI: ${S3_MVI}" - echo " VPC_ID: ${VPC_ID_VALUE}"s + echo " VPC_ID: ${VPC_ID_VALUE}" echo " S3 variables computed successfully" } +# Compute msk-related variables from cluster configuration files +# This function extracts values from existing Terraform files +function compute_msk_variables() { + local TASK_WORKING_DIR=$1 + local GITHUB_REPO=$2 + local REGION_NAME=$3 + local CLUSTER_ID=$4 + + echo "Computing MSK variables..." + + # Extract values from cluster files + CLUSTER_PATH=${TASK_WORKING_DIR}/${GITHUB_REPO}/${REGION_NAME}/clusters/${CLUSTER_ID} + TERRAFORMTF_FILE_PATH=$CLUSTER_PATH/terraform.tfvars + MAIN_FILE_PATH=$CLUSTER_PATH/main.tf + + # Compute MSK variables from Terraform files + export NAME_PREFIX_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" "name_prefix") + export CLUSTER_CIDR_WORKLOAD_EXTERNAL=$(get_tf_value "${MAIN_FILE_PATH}" "locals.cluster.cidrs.workload_external") + export CLUSTER_CIDR_WORKLOAD_INTERNAL=$(get_tf_value "${MAIN_FILE_PATH}" "locals.cluster.cidrs.workload_internal") + export VPC_ID_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" "vpc_id") + export SECURITY_GROUPS_VALUE=$(get_tf_value "${MAIN_FILE_PATH}" "locals.cluster.security_groups") + export VPC_NAME_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" "vpc_name") + + echo " NAME_PREFIX_VALUE : ${NAME_PREFIX_VALUE}" + echo " CLUSTER_CIDR_WORKLOAD_EXTERNAL : ${CLUSTER_CIDR_WORKLOAD_EXTERNAL}" + echo " CLUSTER_CIDR_WORKLOAD_INTERNAL : ${CLUSTER_CIDR_WORKLOAD_INTERNAL}" + echo " VPC_ID : ${VPC_ID_VALUE}" + echo " SECURITY_GROUPS_VALUE : ${SECURITY_GROUPS_VALUE}" + + echo " MSK variables computed successfully" +} + +# Compute rds-related variables from cluster configuration files +# This function extracts values from existing Terraform files +function compute_rds_variables() { + local TASK_WORKING_DIR=$1 + local GITHUB_REPO=$2 + local REGION_NAME=$3 + local CLUSTER_ID=$4 + + echo "Computing RDS DB2 variables..." + + # Extract values from cluster files + CLUSTER_PATH=${TASK_WORKING_DIR}/${GITHUB_REPO}/${REGION_NAME}/clusters/${CLUSTER_ID} + TERRAFORMTF_FILE_PATH=$CLUSTER_PATH/terraform.tfvars + MAIN_FILE_PATH=$CLUSTER_PATH/main.tf + + # Compute rds-db2 variables from Terraform files + export NAME_PREFIX_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" "name_prefix") + export COST_CENTER_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" 'common_tags["cost-center"]') + export CONTACT_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" 'common_tags["contact"]') + export ENVIRONMENT_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" 'common_tags["environment"]') + export OWNER_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" 'common_tags["owner"]') + export CLUSTER_CIDR_WORKLOAD_EXTERNAL=$(get_tf_value "${MAIN_FILE_PATH}" "locals.cluster.cidrs.workload_external") + export CLUSTER_CIDR_WORKLOAD_INTERNAL=$(get_tf_value "${MAIN_FILE_PATH}" "locals.cluster.cidrs.workload_internal") + export VPC_ID_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" "vpc_id") + export SECURITY_GROUPS_VALUE=$(get_tf_value "${MAIN_FILE_PATH}" "locals.cluster.security_groups") + export VPC_NAME_VALUE=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" "vpc_name") + export ACCOUNT_ID=$(get_tf_value "${TERRAFORMTF_FILE_PATH}" 'account_id') + +if check_params "MANAGE" "$RDS_MANAGE_DB2_INSTANCE_CLASS" "$RDS_MANAGE_DB2_STORAGE_TYPE" "$RDS_MANAGE_ALLOCATED_STORAGE"; then + export RDS_MANAGE="true" +else + export RDS_MANAGE="false" +fi + +if check_params "IOT" "$RDS_IOT_DB2_INSTANCE_CLASS" "$RDS_IOT_DB2_STORAGE_TYPE" "$RDS_IOT_ALLOCATED_STORAGE"; then + export RDS_IOT=true +else + export RDS_IOT=false +fi + +if check_params "FACILITIES" "$RDS_FACILITIES_DB2_INSTANCE_CLASS" "$RDS_FACILITIES_DB2_STORAGE_TYPE" "$RDS_FACILITIES_ALLOCATED_STORAGE"; then + export RDS_FACILITIES=true +else + export RDS_FACILITIES=false +fi + + echo " NAME_PREFIX_VALUE : ${NAME_PREFIX_VALUE}" + echo " COST_CENTER_VALUE : ${COST_CENTER_VALUE}" + echo " CONTACT_VALUE : ${CONTACT_VALUE}" + echo " ENVIRONMENT_VALUE : ${ENVIRONMENT_VALUE}" + echo " OWNER_VALUE : ${OWNER_VALUE}" + echo " CLUSTER_CIDR_WORKLOAD_EXTERNAL : ${CLUSTER_CIDR_WORKLOAD_EXTERNAL}" + echo " CLUSTER_CIDR_WORKLOAD_INTERNAL : ${CLUSTER_CIDR_WORKLOAD_INTERNAL}" + echo " VPC_ID : ${VPC_ID_VALUE}" + echo " SECURITY_GROUPS_VALUE : ${SECURITY_GROUPS_VALUE}" + echo " ACCOUNT_ID : ${ACCOUNT_ID}" + echo " VPC_NAME_VALUE : ${VPC_NAME_VALUE}" + echo " RDS_MANAGE : ${RDS_MANAGE}" + echo " RDS_IOT : ${RDS_IOT}" + echo " RDS_FACILITIES : ${RDS_FACILITIES}" + + echo " RDS variables computed successfully" +} + # ============================================================================ # Function 1: Create New Branch from Target Branch # ============================================================================ @@ -583,7 +975,7 @@ function gitops_iac_provision_efs() { # Generate EFS-specific file only echo "Generating IAC EFS file ${GITOPS_CLUSTER_DIR}/efs.tf" - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-efs.yaml.j2 ${GITOPS_CLUSTER_DIR}/efs.tf + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-efs.tf.j2 ${GITOPS_CLUSTER_DIR}/efs.tf # Commit changes to working branch if [ "$GITHUB_PUSH" == "true" ]; then @@ -671,13 +1063,13 @@ function gitops_iac_provision_s3() { if [[ "$S3_MANAGE" == "true" ]]; then export APP_NAME="manage" echo "Generating s3-instance.tf file ${GITOPS_CLUSTER_DIR}/s3-instance-manage.tf " - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance.yaml.j2 ${GITOPS_CLUSTER_DIR}/s3-instance-manage.tf + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance.tf.j2 ${GITOPS_CLUSTER_DIR}/s3-instance-manage.tf echo "Generating iampolicy.tf file ${GITOPS_CLUSTER_DIR}/iampolicy-manage.tf " - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy.yaml.j2 ${GITOPS_CLUSTER_DIR}/iampolicy-manage.tf + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy.tf.j2 ${GITOPS_CLUSTER_DIR}/iampolicy-manage.tf echo "Generating s3-accesspoints.tf file ${GITOPS_CLUSTER_DIR}/s3-accesspoints-manage.tf" - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.yaml.j2 ${GITOPS_CLUSTER_DIR}/s3-accesspoints-manage.tf + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.tf.j2 ${GITOPS_CLUSTER_DIR}/s3-accesspoints-manage.tf fi # Commit changes to working branch @@ -700,6 +1092,191 @@ function gitops_iac_provision_s3() { exit 0 } +function gitops_iac_provision_msk(){ + echo + echo_h2 "Creating MSK Resources terraform files" + + # Validate required parameters + [[ -z "$GITOPS_WORKING_DIR" ]] && gitops_iac_help "GITOPS_WORKING_DIR is not set" + [[ -z "$GITHUB_REPO" ]] && gitops_iac_help "GITHUB_REPO is not set" + [[ -z "$REGION_NAME" ]] && gitops_iac_help "REGION_NAME is not set" + [[ -z "$MAS_INSTANCE_ID" ]] && gitops_iac_help "MAS_INSTANCE_ID is not set" + [[ -z "$CLUSTER_ID" ]] && gitops_iac_help "CLUSTER_ID is not set" + [[ -z "$GITHUB_PUSH" ]] && export GITHUB_PUSH=true + + # Read the working branch name created by previous task + if [ -f "${GITOPS_WORKING_DIR}/new_branch_name.txt" ]; then + WORKING_BRANCH=$(cat ${GITOPS_WORKING_DIR}/new_branch_name.txt) + echo "Using working branch: ${WORKING_BRANCH}" + else + echo "ERROR: Branch name file not found. Run gitops_iac_create_branch first." + exit 1 + fi + + # Clone the working branch to get latest changes from other tasks + if [ -z $GIT_SSH ]; then + export GIT_SSH=false + fi + + # Use a unique subdirectory for this task to avoid conflicts with parallel tasks + TASK_WORKING_DIR="${GITOPS_WORKING_DIR}/msk-task" + mkdir -p ${TASK_WORKING_DIR} + + # Remove any existing clone first with force + if [ -d "${TASK_WORKING_DIR}/${GITHUB_REPO}" ]; then + echo + echo_h2 "Removing existing repository clone" + chmod -R +w ${TASK_WORKING_DIR}/${GITHUB_REPO} 2>/dev/null || true + rm -rf ${TASK_WORKING_DIR}/${GITHUB_REPO} + sleep 1 + fi + + echo + echo_h2 "Cloning working branch ${WORKING_BRANCH} to get latest changes" + clone_target_git_repo $GITHUB_HOST $GITHUB_ORG $GITHUB_REPO $WORKING_BRANCH $TASK_WORKING_DIR $GIT_SSH + + GITOPS_CLUSTER_DIR=${TASK_WORKING_DIR}/${GITHUB_REPO}/${REGION_NAME}/instances/${MAS_INSTANCE_ID} + mkdir -p ${GITOPS_CLUSTER_DIR} + + echo + echo_h2 "Generating IAC/MSK Configuration" + + echo "Generating msk.tf file ${GITOPS_CLUSTER_DIR}/msk.tf " + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-msk.tf.j2 ${GITOPS_CLUSTER_DIR}/msk.tf + + # Commit changes to working branch + if [ "$GITHUB_PUSH" == "true" ]; then + echo + echo_h2 "Committing msk changes to branch ${WORKING_BRANCH}" + GIT_COMMIT_MSG="Add msk configuration" + save_to_target_git_repo "$GITHUB_HOST" "$GITHUB_ORG" "$GITHUB_REPO" "$WORKING_BRANCH" "${TASK_WORKING_DIR}/${GITHUB_REPO}" "${GIT_COMMIT_MSG}" + fi + + echo + echo_h2 " MSK Resources terraform files are Committed" + + # Clean up cloned repository + echo + echo_h2 "Cleaning up local repository clone" + chmod -R +w ${TASK_WORKING_DIR}/${GITHUB_REPO} 2>/dev/null || true + rm -rf ${TASK_WORKING_DIR}/${GITHUB_REPO} + + exit 0 +} + +function gitops_iac_provision_rdsdb2(){ + echo + echo_h2 "Creating RDS-DB2 Resources terraform files" + + # Validate required parameters + [[ -z "$GITOPS_WORKING_DIR" ]] && gitops_iac_help "GITOPS_WORKING_DIR is not set" + [[ -z "$GITHUB_REPO" ]] && gitops_iac_help "GITHUB_REPO is not set" + [[ -z "$REGION_NAME" ]] && gitops_iac_help "REGION_NAME is not set" + [[ -z "$MAS_INSTANCE_ID" ]] && gitops_iac_help "MAS_INSTANCE_ID is not set" + [[ -z "$CLUSTER_ID" ]] && gitops_iac_help "CLUSTER_ID is not set" + [[ -z "$GITHUB_PUSH" ]] && export GITHUB_PUSH=true + + # Read the working branch name created by previous task + if [ -f "${GITOPS_WORKING_DIR}/new_branch_name.txt" ]; then + WORKING_BRANCH=$(cat ${GITOPS_WORKING_DIR}/new_branch_name.txt) + echo "Using working branch: ${WORKING_BRANCH}" + else + echo "ERROR: Branch name file not found. Run gitops_iac_create_branch first." + exit 1 + fi + + # Clone the working branch to get latest changes from other tasks + if [ -z $GIT_SSH ]; then + export GIT_SSH=false + fi + + # Use a unique subdirectory for this task to avoid conflicts with parallel tasks + TASK_WORKING_DIR="${GITOPS_WORKING_DIR}/rdsdb2-task" + mkdir -p ${TASK_WORKING_DIR} + + # Remove any existing clone first with force + if [ -d "${TASK_WORKING_DIR}/${GITHUB_REPO}" ]; then + echo + echo_h2 "Removing existing repository clone" + chmod -R +w ${TASK_WORKING_DIR}/${GITHUB_REPO} 2>/dev/null || true + rm -rf ${TASK_WORKING_DIR}/${GITHUB_REPO} + sleep 1 + fi + + echo + echo_h2 "Cloning working branch ${WORKING_BRANCH} to get latest changes" + clone_target_git_repo $GITHUB_HOST $GITHUB_ORG $GITHUB_REPO $WORKING_BRANCH $TASK_WORKING_DIR $GIT_SSH + + GITOPS_CLUSTER_DIR=${TASK_WORKING_DIR}/${GITHUB_REPO}/${REGION_NAME}/instances/${MAS_INSTANCE_ID} + mkdir -p ${GITOPS_CLUSTER_DIR} + + echo + echo_h2 "Generating IAC/RDS-DB2 Configuration" + + if [[ -n "$RDS_DB2_CONFIG_MANAGE_YAML" ]]; then + echo + export RDS_DB2_CONFIG_MANAGE=$(cat ${RDS_DB2_CONFIG_MANAGE_YAML}) + echo RDS_DB2_CONFIG_MANAGE + fi + if [[ -n "$RDS_DB2_CONFIG_IOT_YAML" ]]; then + echo + export RDS_DB2_CONFIG_IOT=$(cat ${RDS_DB2_CONFIG_IOT_YAML}) + echo RDS_DB2_CONFIG_IOT + fi + if [[ -n "$RDS_DB2_CONFIG_FACILITIES_YAML" ]]; then + echo + export RDS_DB2_CONFIG_FACILITIES=$(cat ${RDS_DB2_CONFIG_FACILITIES_YAML}) + echo RDS_DB2_CONFIG_FACILITIES + fi + APP_PARAMS=( + "manage $RDS_MANAGE_DB2_INSTANCE_CLASS $RDS_MANAGE_DB2_STORAGE_TYPE $RDS_MANAGE_ALLOCATED_STORAGE" + "iot $RDS_IOT_DB2_INSTANCE_CLASS $RDS_IOT_DB2_STORAGE_TYPE $RDS_IOT_ALLOCATED_STORAGE" + "facilities $RDS_FACILITIES_DB2_INSTANCE_CLASS $RDS_FACILITIES_DB2_STORAGE_TYPE $RDS_FACILITIES_ALLOCATED_STORAGE" + ) + + for row in "${APP_PARAMS[@]}"; do + read -r app instance storage allocated <<< "$row" + + if check_params "$app" "$instance" "$storage" "$allocated"; then + export RDS_APP="$app" + export RDS_S3_APP_NAME="$app" + echo "Generating rds-db2-$app.tf file ${GITOPS_CLUSTER_DIR}/rds-db2-$app.tf" + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 ${GITOPS_CLUSTER_DIR}/db2rds-$app.tf + + echo "Generating db2_parameters-$app.yaml file ${GITOPS_CLUSTER_DIR}/db2_parameters-$app.yaml " + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-db2paramaters.yaml.j2 ${GITOPS_CLUSTER_DIR}/db2_parameters-$app.yaml + + echo "Generating s3-instance-db2-$app.tf file ${GITOPS_CLUSTER_DIR}/s3-instance-db2-$app.tf " + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance-db2.tf.j2 ${GITOPS_CLUSTER_DIR}/s3-instance-db2-$app.tf + + echo "Generating s3-iampolicy-db2-$app.tf file ${GITOPS_CLUSTER_DIR}/s3-iampolicy-db2-$app.tf " + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy-db2.tf.j2 ${GITOPS_CLUSTER_DIR}/s3-iampolicy-db2-$app.tf + + echo "Generating s3-accesspoints-db2-$app.tf file ${GITOPS_CLUSTER_DIR}/s3-accesspoints-db2-$app.tf " + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints-db2.tf.j2 ${GITOPS_CLUSTER_DIR}/s3-accesspoints-db2-$app.tf + fi + done + + # Commit changes to working branch + if [ "$GITHUB_PUSH" == "true" ]; then + echo + echo_h2 "Committing rdsdb2.tf changes to branch ${WORKING_BRANCH}" + GIT_COMMIT_MSG="Add rdsdb2 configuration" + save_to_target_git_repo "$GITHUB_HOST" "$GITHUB_ORG" "$GITHUB_REPO" "$WORKING_BRANCH" "${TASK_WORKING_DIR}/${GITHUB_REPO}" "${GIT_COMMIT_MSG}" + fi + + echo + echo_h2 " RDS-DB2 Resources terraform files are Committed" + + # Clean up cloned repository + echo + echo_h2 "Cleaning up local repository clone" + chmod -R +w ${TASK_WORKING_DIR}/${GITHUB_REPO} 2>/dev/null || true + rm -rf ${TASK_WORKING_DIR}/${GITHUB_REPO} + + exit 0 +} + # ============================================================================ # Function 4: Generate Common IAC Files # ============================================================================ @@ -769,19 +1346,31 @@ function gitops_iac_generate_common_files() { echo_h2 "Computing S3 Variables" compute_s3_variables "${TASK_WORKING_DIR}" "${GITHUB_REPO}" "${REGION_NAME}" "${CLUSTER_ID}" fi + + if [[ "$IS_MSK" == "true" ]]; then + echo + echo_h2 "Computing MSK Variables" + compute_msk_variables "${TASK_WORKING_DIR}" "${GITHUB_REPO}" "${REGION_NAME}" "${CLUSTER_ID}" + fi + + if [[ "$IS_RDS" == "true" ]]; then + echo + echo_h2 "Computing RDS Variables" + compute_rds_variables "${TASK_WORKING_DIR}" "${GITHUB_REPO}" "${REGION_NAME}" "${CLUSTER_ID}" + fi echo "Checking and creating common files" create_common_files ${GITOPS_CLUSTER_DIR} - # Generate common terraform files using variables exported by EFS/S3 tasks + # Generate common terraform files using variables exported by EFS/S3/MSK/RDS tasks echo "Generating main.tf file ${GITOPS_CLUSTER_DIR}/main.tf " - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.yaml.j2 ${GITOPS_CLUSTER_DIR}/main.tf + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.tf.j2 ${GITOPS_CLUSTER_DIR}/main.tf echo "Generating terraform.tfvars file ${GITOPS_CLUSTER_DIR}/terraform.tfvars" - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.yaml.j2 ${GITOPS_CLUSTER_DIR}/terraform.tfvars + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.tf.j2 ${GITOPS_CLUSTER_DIR}/terraform.tfvars echo "Generating variables.tf file ${GITOPS_CLUSTER_DIR}/variables.tf" - jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.yaml.j2 ${GITOPS_CLUSTER_DIR}/variables.tf + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.tf.j2 ${GITOPS_CLUSTER_DIR}/variables.tf # Commit changes to working branch if [ "$GITHUB_PUSH" == "true" ]; then @@ -851,6 +1440,16 @@ function gitops_iac_manage_pr() { if [[ "$IS_S3" == "true" ]]; then PROVISIONED_COMPONENTS+=("S3") fi + + # Check if MSK was provisioned using IS_MSK parameter + if [[ "$IS_MSK" == "true" ]]; then + PROVISIONED_COMPONENTS+=("MSK") + fi + + # Check if RDS-DB2 was provisioned using IS_RDS parameter + if [[ "$IS_RDS" == "true" ]]; then + PROVISIONED_COMPONENTS+=("RDS-DB2") + fi # Build component list for title and body if [ ${#PROVISIONED_COMPONENTS[@]} -eq 0 ]; then @@ -911,6 +1510,7 @@ function gitops_iac_manage_pr() { echo "PR_PLAN_COMMENT: "$PR_PLAN_COMMENT if [[ "$PR_PLAN_COMMENT" == "Passed" ]]; then + comment_on_pr "$GITHUB_HOST" "$GITHUB_ORG" "$GITHUB_REPO" "$PR_NUMBER" "atlantis approve_policies" echo "Going to approve PR: "${PR_NUMBER} APPROVED_PR=$(approve_pr "$GITHUB_HOST" "$GITHUB_ORG" "$GITHUB_REPO" "$PR_NUMBER" "$IAC_DEV_GITHUB_PAT") echo "PR approved ${APPROVED_PR}" @@ -1008,6 +1608,34 @@ function gitops_iac_provision_s3_cmd() { gitops_iac_provision_s3 } +# Wrapper for gitops-iac-provision-msk command +function gitops_iac_provision_msk_cmd() { + shift # Remove command name + if [[ $# -gt 0 ]]; then + gitops_iac_noninteractive "$@" + else + echo "Not supported yet" + exit 1 + fi + + # Call the actual function + gitops_iac_provision_msk +} + +# Wrapper for gitops-iac-provision-msk command +function gitops_iac_provision_rdsdb2_cmd() { + shift # Remove command name + if [[ $# -gt 0 ]]; then + gitops_iac_noninteractive "$@" + else + echo "Not supported yet" + exit 1 + fi + + # Call the actual function + gitops_iac_provision_rdsdb2 +} + # Wrapper for gitops-iac-generate-common-files command function gitops_iac_generate_common_files_cmd() { shift # Remove command name @@ -1017,7 +1645,7 @@ function gitops_iac_generate_common_files_cmd() { echo "Not supported yet" exit 1 fi - + # Call the actual function gitops_iac_generate_common_files } @@ -1036,4 +1664,25 @@ function gitops_iac_manage_pr_cmd() { gitops_iac_manage_pr } - +# Function to check if parameters are set and return APP name with status +# Usage: check_params "MANAGE" "$RDS_MANAGE_DB2_INSTANCE_CLASS" "$RDS_MANAGE_DB2_STORAGE_TYPE" "$RDS_MANAGE_ALLOCATED_STORAGE" +# Returns: APP_NAME if all params are not empty, empty string if any param is empty +# Example: check_rds_params "MANAGE" "db.t3.medium" "gp3" "100" returns "MANAGE" +# check_rds_params "MANAGE" "" "gp3" "100" returns "" +function check_params() { + local app_name="$1" + shift + local params=("$@") + + # Check if all parameters are not empty + for param_value in "${params[@]}"; do + if [[ -z "$param_value" ]]; then + echo "" + return 1 + fi + done + + # All parameters are set, return app name + echo "$app_name" + return 0 +} diff --git a/image/cli/mascli/functions/gitops_mas_config b/image/cli/mascli/functions/gitops_mas_config index 1903a27037a..1eb10687a0f 100644 --- a/image/cli/mascli/functions/gitops_mas_config +++ b/image/cli/mascli/functions/gitops_mas_config @@ -17,7 +17,7 @@ GitOps Configuration: -c, --cluster-id ${COLOR_YELLOW}CLUSTER_ID${TEXT_RESET} Cluster ID -s, --sls-service ${COLOR_YELLOW}STANDALONE_SLS_SERVICE${TEXT_RESET} for ibm internal use only. --config-action ${COLOR_YELLOW}CONFIG_ACTION${TEXT_RESET} One of upsert|remove. - --mas-config-type ${COLOR_YELLOW}MAS_CONFIG_TYPE${TEXT_RESET} One of bas|jdbc|kafka|ldap-default|mongo|objectstorage|sls|smtp + --mas-config-type ${COLOR_YELLOW}MAS_CONFIG_TYPE${TEXT_RESET} One of appcfg|bas|jdbc|kafka|ldap-default|mongo|objectstorage|sls|smtp --mas-config-scope ${COLOR_YELLOW}MAS_CONFIG-SCOPE${TEXT_RESET} One of system|ws|app|wsapp --disable-postdelete-hooks ${COLOR_YELLOW}USE_POSTDELETE_HOOKS${TEXT_RESET} Unless set (or USE_POSTDELETE_HOOKS exported and set to false), PostDelete hooks will be deployed to ensure config CRs are properly cleaned up by ArgoCD on deletion. !!! PostDelete hooks should never be used when ArgoCD version < 2.10 !!! @@ -48,6 +48,12 @@ DRO Configuration (required if MAS_CONFIG_TYPE is "bas"): --mas-segment-key ${COLOR_YELLOW}MAS_SEGMENT_KEY${TEXT_RESET} The segment key for authentication for Segment --mas-bascfg-pod-template-yaml ${COLOR_YELLOW}MAS_BASCFG_POD_TEMPLATE_YAML${TEXT_RESET} The location of a file containing the POD template +MAF Configuration (required if MAS_CONFIG_TYPE is "appcfg"): + --maf-enabled ${COLOR_YELLOW}MAF_ENABLED${TEXT_RESET} Enable MAF for the application configuration (true|false) + --maf-storageClassName ${COLOR_YELLOW}MAF_STORAGE_CLASSNAME${TEXT_RESET} Storage class name to use for MAF persistent storage + --maf-size ${COLOR_YELLOW}MAF_SIZE${TEXT_RESET} Size of the MAF persistent storage (e.g. 2Gi) + --mas-appcfg-pod-template-yaml ${COLOR_YELLOW}MAS_APPCFG_POD_TEMPLATE_YAML${TEXT_RESET} + IDP/LDAP Configuration (required if MAS_CONFIG_TYPE is "ldap-default"): --idpcfg-display-name ${COLOR_YELLOW}IDPCFG_DISPLAY_NAME${TEXT_RESET} Display name for IDPCfg resource --ldap-url ${COLOR_YELLOW}LDAP_URL${TEXT_RESET} Url of the LDAP server. In the form protocol://host:port @@ -60,7 +66,7 @@ IDP/LDAP Configuration (required if MAS_CONFIG_TYPE is "ldap-default"): JDBC Configuration (required if MAS_CONFIG_TYPE is "jdbc"): --jdbc-type ${COLOR_YELLOW}JDBC_TYPE${TEXT_RESET} Set to 'incluster-db2' when wanting to use the gitops configured, via gitops-db2u-database, db2u cluster (defaults to incluster-db2) --jdbc-instance-name ${COLOR_YELLOW}JDBC_INSTANCE_NAME${TEXT_RESET} The JDBC instance name to use. Required for all JDBC_TYPE's - --jdbc-connection-url ${COLOR_YELLOW}JDBC_CONNECTION_URL${TEXT_RESET} The JDBC connection URL. Required when JDBC_TYPE is not incluster-db2 + --jdbc-connection-url ${COLOR_YELLOW}JDBC_CONNECTION_URL${TEXT_RESET} The JDBC connection URL. Required when JDBC_TYPE is not incluster-db2 and rds-db2 --jdbc-certificate-file ${COLOR_YELLOW}JDBC_CERTIFICATE_FILE${TEXT_RESET} Path to file containing CA Certificate for JDBC server. Required when JDBC_TYPE is not incluster-db2 --jdbc-route ${COLOR_YELLOW}JDBC_ROUTE${TEXT_RESET} By default routes are not exposed to public. To expose route, set this to public. @@ -201,7 +207,18 @@ function gitops_mas_config_noninteractive() { --mas-bascfg-pod-template-yaml) export MAS_BASCFG_POD_TEMPLATE_YAML=$1 && shift ;; - + --mas-appcfg-pod-template-yaml) + export MAS_APPCFG_POD_TEMPLATE_YAML=$1 && shift + ;; + --maf-enabled) + export MAF_ENABLED=$1 && shift + ;; + --maf-storageClassName) + export MAF_STORAGE_CLASSNAME=$1 && shift + ;; + --maf-size) + export MAF_SIZE=$1 && shift + ;; # LDAP --idpcfg-display-name) export IDPCFG_DISPLAY_NAME=$1 && shift @@ -352,8 +369,8 @@ function gitops_mas_config_noninteractive() { fi [[ -z "$MAS_CONFIG_TYPE" ]] && gitops_mas_config_help "MAS_CONFIG_TYPE is not set" - if ! [[ "$MAS_CONFIG_TYPE" =~ ^(bas|jdbc|kafka|ldap-default|mongo|objectstorage|sls|smtp|watsonstudio)$ ]]; then - gitops_mas_config_help "Invalid MAS_CONFIG_TYPE \"${MAS_CONFIG_TYPE}\"; must be one of bas|jdbc|kafka|ldap-default|mongo|objectstorage|sls|smtp|watsonstudio" + if ! [[ "$MAS_CONFIG_TYPE" =~ ^(appcfg|bas|jdbc|kafka|ldap-default|mongo|objectstorage|sls|smtp|watsonstudio)$ ]]; then + gitops_mas_config_help "Invalid MAS_CONFIG_TYPE \"${MAS_CONFIG_TYPE}\"; must be one of appcfg|bas|jdbc|kafka|ldap-default|mongo|objectstorage|sls|smtp|watsonstudio" fi [[ -z "$MAS_CONFIG_SCOPE" ]] && gitops_mas_config_help "MAS_CONFIG_SCOPE is not set" @@ -389,6 +406,11 @@ function gitops_mas_config_noninteractive() { [[ -z "$DRO_CA_CERTIFICATE_FILE" ]] && gitops_mas_config_help "DRO_CA_CERTIFICATE_FILE is not set" fi + if [ "${MAS_CONFIG_TYPE}" == "appcfg" ]; then + [[ -z "$MAF_ENABLED" ]] && gitops_mas_config_help "MAF_ENABLED is not set" + [[ -z "$MAF_SIZE" ]] && gitops_mas_config_help "MAF_SIZE is not set" + [[ -z "$MAF_STORAGE_CLASSNAME" ]] && gitops_mas_config_help "MAF_STORAGE_CLASSNAME is not set" + fi # if [ "${MAS_CONFIG_TYPE}" == "sls" ]; then # No specific parameters required for sls at present; they are all fetched from SM # fi @@ -410,11 +432,16 @@ function gitops_mas_config_noninteractive() { export JDBC_TYPE=${JDBC_TYPE:-incluster-db2} export JDBC_ROUTE=${JDBC_ROUTE:-default} - if [[ -z $JDBC_INSTANCE_NAME ]]; then - export JDBC_INSTANCE_NAME=db2wh-${MAS_INSTANCE_ID}-${MAS_APP_ID} + # Set JDBC instance name based on JDBC_TYPE + if [[ -z "$JDBC_INSTANCE_NAME" ]]; then + if [[ "$JDBC_TYPE" == "rds-db2" ]]; then + export JDBC_INSTANCE_NAME=rds-${MAS_INSTANCE_ID}-${MAS_APP_ID} + else + export JDBC_INSTANCE_NAME=db2wh-${MAS_INSTANCE_ID}-${MAS_APP_ID} + fi fi - if [ "${JDBC_TYPE}" == "incluster-db2" ]; then - [[ -n "$JDBC_CONNECTION_URL" ]] && gitops_mas_config_help "JDBC_CONNECTION_URL is set when JDBC_TYPE is incluster-db2" + if [[ "${JDBC_TYPE}" == "incluster-db2" || "${JDBC_TYPE}" == "rds-db2" ]]; then + [[ -n "$JDBC_CONNECTION_URL" ]] && gitops_mas_config_help "JDBC_CONNECTION_URL is set when JDBC_TYPE is incluster-db2 or rds-db2" else [[ -z "$JDBC_INSTANCE_NAME" ]] && gitops_mas_config_help "JDBC_INSTANCE_NAME is not set" [[ -z "$JDBC_CONNECTION_URL" ]] && gitops_mas_config_help "JDBC_CONNECTION_URL is not set" @@ -592,7 +619,14 @@ function gitops_mas_config() { echo_reset_dim "Pod Template YAML File ........ ${COLOR_MAGENTA}${MAS_BASCFG_POD_TEMPLATE_YAML}" reset_colors fi - + if [ "${MAS_CONFIG_TYPE}" == "appcfg" ]; then + echo "${TEXT_DIM}" + echo_reset_dim "MAF Enabled ................... ${COLOR_MAGENTA}${MAF_ENABLED}" + echo_reset_dim "MAF Storage Class Name ........ ${COLOR_MAGENTA}${MAF_STORAGE_CLASSNAME}" + echo_reset_dim "MAF Size ...................... ${COLOR_MAGENTA}${MAF_SIZE}" + echo_reset_dim "Pod Template YAML File ........ ${COLOR_MAGENTA}${MAS_APPCFG_POD_TEMPLATE_YAML}" + reset_colors + fi if [ "${MAS_CONFIG_TYPE}" == "sls" ]; then echo "${TEXT_DIM}" echo_reset_dim "SLS URL ....................... ${COLOR_MAGENTA}https://sls.mas-${MAS_INSTANCE_ID}-sls.svc" @@ -748,6 +782,17 @@ function gitops_mas_config() { fi fi + if [ "${MAS_CONFIG_TYPE}" == "appcfg" ]; then + + # Set pod template yaml + # --------------------------------------------------------------------------- + if [[ -n "$MAS_APPCFG_POD_TEMPLATE_YAML" && -s "$MAS_APPCFG_POD_TEMPLATE_YAML" ]]; then + export MAS_APPCFG_POD_TEMPLATE=$(yq eval '.podTemplates' ${MAS_APPCFG_POD_TEMPLATE_YAML}) + echo -e "\n - MAS_APPCFG_POD_TEMPLATE CONTENT .................. ${MAS_APPCFG_POD_TEMPLATE}" + fi + + fi + if [ "${MAS_CONFIG_TYPE}" == "sls" ]; then if [ -z "$STANDALONE_SLS_SERVICE" ]; then export SECRET_NAME_SLS="${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}sls" @@ -857,6 +902,9 @@ function gitops_mas_config() { export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config export SECRET_KEY_DB2_DBNAME=${JDBC_CONFIG_SECRET_ID}#db2_dbname export SECRET_KEY_DB2_NAMESPACE=${JDBC_CONFIG_SECRET_ID}#db2_namespace + elif [ "${JDBC_TYPE}" == "rds-db2" ]; then + export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config + export JDBC_CERTIFICATE_CONTENT_B64=$(cat $JDBC_CERTIFICATE_FILE | base64 -w0) else # This secret we are creating here export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config @@ -866,7 +914,6 @@ function gitops_mas_config() { echo_reset_dim "JDBC_INSTANCE_NAME ........................ ${COLOR_MAGENTA}$JDBC_INSTANCE_NAME" echo_reset_dim "JDBC_CONNECTION_URL ....................... ${COLOR_MAGENTA}${JDBC_CONNECTION_URL}" fi - export SECRET_KEY_JDBC_CONNECTION_URL=${JDBC_CONFIG_SECRET_ID}#jdbc_connection_url export SECRET_KEY_JDBC_CERTIFICATE_CONTENT=${JDBC_CONFIG_SECRET_ID}#ca_b64 export SECRET_KEY_JDBC_INSTANCE_NAME=${JDBC_CONFIG_SECRET_ID}#jdbc_instance_name diff --git a/image/cli/mascli/functions/gitops_rds_db2_database b/image/cli/mascli/functions/gitops_rds_db2_database new file mode 100644 index 00000000000..4d2c0842b07 --- /dev/null +++ b/image/cli/mascli/functions/gitops_rds_db2_database @@ -0,0 +1,379 @@ +#!/usr/bin/env bash + + +function gitops_rds_db2_database_help() { + [[ -n "$1" ]] && echo_warning "$1" + reset_colors + cat << EOM +Usage: + mas gitops_rds_db2_database [options] +Where ${COLOR_YELLOW}specified${TEXT_RESET} each option may also be defined by setting the appropriate environment variable. +When no options are specified on the command line, interactive-mode will be enabled by default. + +GitOps Configuration: + -d, --dir ${COLOR_YELLOW}GITOPS_WORKING_DIR${TEXT_RESET} Directory for GitOps repository + -a, --account-id ${COLOR_YELLOW}ACCOUNT_ID${TEXT_RESET} Account name that the cluster belongs to + -r, --region-id ${COLOR_YELLOW}REGION_ID${TEXT_RESET} Region ID + -c, --cluster-id ${COLOR_YELLOW}CLUSTER_ID${TEXT_RESET} Cluster ID + +IBM Maximo Application Suite: + -m, --mas-instance-id ${COLOR_YELLOW}MAS_INSTANCE_ID${TEXT_RESET} IBM Suite Maximo Application Suite Instance ID + --mas-app-id ${COLOR_YELLOW}MAS_APP_ID${TEXT_RESET} IBM Suite Maximo Application Suite App that will use this db2u instance + +IBM RDS DB2: + --db2-instance-registry-yaml ${COLOR_YELLOW}DB2_INSTANCE_REGISTRY_YAML${TEXT_RESET} Yaml file containing the rds db2 cluster instance registry section. + --db2-instance-dbm-config-yaml ${COLOR_YELLOW}DB2_INSTANCE_DBM_CONFIG_YAML${TEXT_RESET} Yaml file containing the rds db2 cluster instance dbm config section. + --db2-database-db-config-yaml ${COLOR_YELLOW}DB2_DATABASE_DB_CONFIG_YAML${TEXT_RESET} Yaml file containing the rds db2 cluster database db config section. + --db2-addons-audit-config-yaml ${COLOR_YELLOW}DB2_ADDONS_AUDIT_CONFIG_YAML${TEXT_RESET} Yaml file containing the rds db2 cluster addons audit config section. + --jdbc-connection-url-additional-params ${COLOR_YELLOW}JDBC_CONNECTION_URL_ADDITIONAL_PARAMS${TEXT_RESET} Additional parameters for JDBC connection URL + --replica-db ${COLOR_YELLOW}REPLICA_DB${TEXT_RESET} Flag to know that this is ReplicaDB instance + +Secrets Manager: + --secrets-path ${COLOR_YELLOW}SECRETS_PATH${TEXT_RESET} Secrets Manager path + --secrets-key-seperator ${COLOR_YELLOW}SECRETS_KEY_SEPERATOR${TEXT_RESET} Secrets Manager key seperator string + +Automatic GitHub Push: + -P, --github-push ${COLOR_YELLOW}GITHUB_PUSH${TEXT_RESET} Enable automatic push to GitHub + -H, --github-host ${COLOR_YELLOW}GITHUB_HOST${TEXT_RESET} GitHub Hostname for your GitOps repository + -O, --github-org ${COLOR_YELLOW}GITHUB_ORG${TEXT_RESET} Github org for your GitOps repository + -R, --github-repo ${COLOR_YELLOW}GITHUB_REPO${TEXT_RESET} Github repo for your GitOps repository + -B, --git-branch ${COLOR_YELLOW}GIT_BRANCH${TEXT_RESET} Git branch to commit to of your GitOps repository + -M, --git-commit-msg ${COLOR_YELLOW}GIT_COMMIT_MSG${TEXT_RESET} Git commit message to use when committing to of your GitOps repository + -S , --github-ssh ${COLOR_YELLOW}GIT_SSH${TEXT_RESET} Git ssh key path + +Other Commands: + -h, --help Show this help message +EOM + [[ -n "$1" ]] && exit 1 || exit 0 +} + +function gitops_rds_db2_database_noninteractive() { + GITOPS_WORKING_DIR=$PWD/working-dir + SECRETS_KEY_SEPERATOR="/" + GIT_COMMIT_MSG="gitops-db2u-database commit" + + # TODO: will need to add explicit args to pipeline when we start using this code to deploy to MCSP + export REGION=${REGION:-${SM_AWS_REGION}} + export REGION_ID=${REGION_ID:-${REGION}} + export CLUSTER_URL=${CLUSTER_URL:-"https://kubernetes.default.svc"} # use an in-cluster argocd worker (which fvtsaas does) + + while [[ $# -gt 0 ]] + do + key="$1" + shift + case $key in + # GitOps Configuration + -d|--dir) + export GITOPS_WORKING_DIR=$1 && shift + ;; + -g|--gitops-version) + echo "${COLOR_YELLOW}WARNING: the -g|--gitops-version parameter is deprecated; it has no effect and will be removed in a future release${COLOR_RESET}" + shift + ;; + -a|--account-id) + export ACCOUNT_ID=$1 && shift + ;; + -c|--cluster-id) + export CLUSTER_ID=$1 && shift + ;; + -r|--region) + export REGION_ID=$1 && shift + ;; + -u|--cluster-url) + export CLUSTER_URL=$1 && shift + ;; + + # RDS Config yaml files + --db2-instance-registry-yaml) + export DB2_INSTANCE_REGISTRY_YAML=$1 && shift + ;; + --db2-instance-dbm-config-yaml) + export DB2_INSTANCE_DBM_CONFIG_YAML=$1 && shift + ;; + --db2-addons-audit-config-yaml) + export DB2_ADDONS_AUDIT_CONFIG_YAML=$1 && shift + ;; + --db2-database-db-config-yaml) + export DB2_DATABASE_DB_CONFIG_YAML=$1 && shift + ;; + + # MAS + -m|--mas-instance-id) + export MAS_INSTANCE_ID=$1 && shift + ;; + --mas-app-id) + export MAS_APP_ID=$1 && shift + ;; + --mas-annotations) + export MAS_ANNOTATIONS=$1 && shift + ;; + + # Secrets Manager + --secrets-path) + export SECRETS_PATH=$1 && shift + ;; + --secrets-key-seperator) + export SECRETS_KEY_SEPERATOR=$1 && shift + ;; + + # RDS-DB2 + --jdbc-connection-url-additional-params) + export JDBC_CONNECTION_URL_ADDITIONAL_PARAMS=$1 && shift + ;; + --replica-db) + export REPLICA_DB=$1 && shift + ;; + # Automatic GitHub Push + -P|--github-push) + export GITHUB_PUSH=true + ;; + -H|--github-host) + export GITHUB_HOST=$1 && shift + ;; + -O|--github-org) + export GITHUB_ORG=$1 && shift + ;; + -R|--github-repo) + export GITHUB_REPO=$1 && shift + ;; + -B|--git-branch) + export GIT_BRANCH=$1 && shift + ;; + -M|--git-commit-msg) + export GIT_COMMIT_MSG=$1 && shift + ;; + -S|--github-ssh) + export GIT_SSH=$1 && shift + ;; + + # Other Commands + -h|--help) + gitops_rds_db2_database_help + ;; + *) + # unknown option + echo -e "${COLOR_RED}Usage Error: Unsupported option \"${key}\"${COLOR_RESET}\n" + gitops_rds_db2_database_help "Usage Error: Unsupported option \"${key}\" " + exit 1 + ;; + esac + done + + [[ -z "$SM_AWS_ACCESS_KEY_ID" ]] && gitops_rds_db2_database_help "SM_AWS_ACCESS_KEY_ID is not set" + [[ -z "$SM_AWS_SECRET_ACCESS_KEY" ]] && gitops_rds_db2_database_help "SM_AWS_SECRET_ACCESS_KEY is not set" + [[ -z "$SM_AWS_REGION" ]] && gitops_rds_db2_database_help "SM_AWS_REGION is not set" + [[ -z "$SECRETS_PATH" ]] && gitops_rds_db2_database_help "SECRETS_PATH is not set" + + [[ -z "$GITOPS_WORKING_DIR" ]] && gitops_rds_db2_database_help "GITOPS_WORKING_DIR is not set" + [[ -z "$ACCOUNT_ID" ]] && gitops_rds_db2_database_help "ACCOUNT_ID is not set" + [[ -z "$REGION_ID" ]] && gitops_rds_db2_database_help "REGION_ID is not set" + [[ -z "$CLUSTER_ID" ]] && gitops_rds_db2_database_help "CLUSTER_ID is not set" + + #rds-db2 + [[ -z "$MAS_INSTANCE_ID" ]] && gitops_rds_db2_database_help "MAS_INSTANCE_ID is not set" + [[ -z "$MAS_APP_ID" ]] && gitops_rds_db2_database_help "MAS_APP_ID is not set" + + #MAS + [[ -z "$MAS_INSTANCE_ID" ]] && gitops_rds_db2_database_help "MAS_INSTANCE_ID is not set" + [[ -z "$MAS_APP_ID" ]] && gitops_rds_db2_database_help "MAS_APP_ID is not set" + + if [[ "$GITHUB_PUSH" == "true" ]]; then + [[ -z "$GITHUB_HOST" ]] && gitops_rds_db2_database_help "GITHUB_HOST is not set" + [[ -z "$GITHUB_ORG" ]] && gitops_rds_db2_database_help "GITHUB_ORG is not set" + [[ -z "$GITHUB_REPO" ]] && gitops_rds_db2_database_help "GITHUB_REPO is not set" + [[ -z "$GIT_BRANCH" ]] && gitops_rds_db2_database_help "GIT_BRANCH is not set" + fi + +} + +function gitops_rds_db2_database() { + # Take the first parameter off (it will be create-gitops) + shift + if [[ $# -gt 0 ]]; then + gitops_rds_db2_database_noninteractive "$@" + else + echo "Not supported yet" + exit 1 + gitops_rds_db2_database_interactive + fi + + # catch errors + set -o pipefail + trap 'echo "[ERROR] Error occurred at $BASH_SOURCE, line $LINENO, exited with $?"; exit 1' ERR + + mkdir -p ${GITOPS_WORKING_DIR} + GITOPS_INSTANCE_DIR=${GITOPS_WORKING_DIR}/${GITHUB_REPO}/${ACCOUNT_ID}/${CLUSTER_ID}/${MAS_INSTANCE_ID} + CONFIGS_FILE="${GITOPS_INSTANCE_DIR}/ibm-dbs-rds-databases.yaml" + + # NOTE: must align with lock branch name used by gitops_deprovision_db2u_database script + # as both of these scrtipts modify the same file + GIT_LOCK_BRANCH=$(git_lock_branch_name "gitops-rds-db2-database" "${ACCOUNT_ID}" "${CLUSTER_ID}" "${MAS_INSTANCE_ID}") + + #Defaults + if [[ -z $REPLICA_DB ]]; then + export REPLICA_DB="false" + fi + if [[ -z $DB2_INSTANCE_NAME ]]; then + export DB2_INSTANCE_NAME=rds-${MAS_INSTANCE_ID}-${MAS_APP_ID} + fi + export DB2_NAMESPACE="rds-${MAS_INSTANCE_ID}" + + if [ -z $GIT_SSH ]; then + export GIT_SSH="false" + fi + + echo + reset_colors + echo_h2 "Review Settings " + + echo "${TEXT_DIM}" + echo_h2 "Target" " " + echo_reset_dim "Account ID ............................ ${COLOR_MAGENTA}${ACCOUNT_ID}" + echo_reset_dim "Region ID ............................. ${COLOR_MAGENTA}${REGION_ID}" + echo_reset_dim "Cluster ID ............................ ${COLOR_MAGENTA}${CLUSTER_ID}" + echo_reset_dim "Instance Config Directory ............. ${COLOR_MAGENTA}${GITOPS_INSTANCE_DIR}" + reset_colors + + echo "${TEXT_DIM}" + if [[ "$GITHUB_PUSH" == "true" ]]; then + echo_h2 "GitOps Target" " " + echo_reset_dim "Automatic Push ........................ ${COLOR_GREEN}Enabled" + echo_reset_dim "Working Directory ..................... ${COLOR_MAGENTA}${GITOPS_WORKING_DIR}" + echo_reset_dim "Host .................................. ${COLOR_MAGENTA}${GITHUB_HOST}" + echo_reset_dim "Organization .......................... ${COLOR_MAGENTA}${GITHUB_ORG}" + echo_reset_dim "Repository ............................ ${COLOR_MAGENTA}${GITHUB_REPO}" + echo_reset_dim "Branch ................................ ${COLOR_MAGENTA}${GIT_BRANCH}" + echo_reset_dim "Lock Branch ........................... ${COLOR_MAGENTA}${GIT_LOCK_BRANCH}" + else + echo_h2 "GitOps Target" " " + echo_reset_dim "Automatic Push ........................ ${COLOR_RED}Disabled" + echo_reset_dim "Working Directory ..................... ${COLOR_MAGENTA}${GITOPS_WORKING_DIR}" + fi + reset_colors + + echo "${TEXT_DIM}" + echo_h2 "Secrets Manager" " " + echo_reset_dim "Secrets Path ............................ ${COLOR_MAGENTA}${SECRETS_PATH}" + reset_colors + + echo "${TEXT_DIM}" + echo_h2 "IBM Maximo Application Suite" " " + echo_reset_dim "MAS Instance ID ......................... ${COLOR_MAGENTA}${MAS_INSTANCE_ID}" + echo_reset_dim "MAS Application ID ...................... ${COLOR_MAGENTA}${MAS_APP_ID}" + reset_colors + + echo "${TEXT_DIM}" + echo_h2 "DB2 Cluster Configuration" " " + echo_reset_dim "DB2 Namespace ................................. ${COLOR_MAGENTA}${DB2_NAMESPACE}" + echo_reset_dim "db2-instance-name ............................. ${COLOR_MAGENTA}${DB2_INSTANCE_NAME}" + echo_reset_dim "mas-app-id ................................... ${COLOR_MAGENTA}${MAS_APP_ID}" + echo_reset_dim "replica-db .................................... ${COLOR_MAGENTA}${REPLICA_DB}" + echo_reset_dim "db2-instance-registry-yaml .................... ${COLOR_MAGENTA}${DB2_INSTANCE_REGISTRY_YAML}" + echo_reset_dim "db2-instance-dbm-config-yaml .................. ${COLOR_MAGENTA}${DB2_INSTANCE_DBM_CONFIG_YAML}" + echo_reset_dim "db2-database-db-config-yaml ................... ${COLOR_MAGENTA}${DB2_DATABASE_DB_CONFIG_YAML}" + echo_reset_dim "db2-addons-audit-config-yaml .................. ${COLOR_MAGENTA}${DB2_ADDONS_AUDIT_CONFIG_YAML}" + reset_colors + + AVP_TYPE=aws # Support for IBM will be added later + sm_login + + TEMP_DIR=$GITOPS_WORKING_DIR/tmp-db2u-database + mkdir -p $TEMP_DIR + + # Getting provided db2cluster configs + # --------------------------------------------------------------------------- + if [[ -n "$DB2_DATABASE_DB_CONFIG_YAML" ]]; then + echo + echo_h2 "Using db2 database db config provided for $MAS_APP_ID at $DB2_DATABASE_DB_CONFIG_YAML" + export DB2_DATABASE_DB_CONFIG=$(cat ${DB2_DATABASE_DB_CONFIG_YAML}) + fi + if [[ -n "$DB2_INSTANCE_DBM_CONFIG_YAML" ]]; then + echo + echo_h2 "Using db2 instance dm config provided for $MAS_APP_ID at $DB2_INSTANCE_DBM_CONFIG_YAML" + export DB2_INSTANCE_DBM_CONFIG=$(cat ${DB2_INSTANCE_DBM_CONFIG_YAML}) + fi + if [[ -n "$DB2_ADDONS_AUDIT_CONFIG_YAML" ]]; then + echo + echo_h2 "Using db2 addons audit config provided for $MAS_APP_ID at $DB2_ADDONS_AUDIT_CONFIG_YAML" + export DB2_ADDONS_AUDIT_CONFIG=$(cat ${DB2_ADDONS_AUDIT_CONFIG_YAML}) + fi + if [[ -n "$DB2_INSTANCE_REGISTRY_YAML" ]]; then + echo + echo_h2 "Using db2 instance registry config provided for $MAS_APP_ID at $DB2_INSTANCE_REGISTRY_YAML" + export DB2_INSTANCE_REGISTRY=$(cat ${DB2_INSTANCE_REGISTRY_YAML}) + fi + + #secret prefix creation + CONFIG_SECRETS_PREFIX=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${DB2_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config + CREDENTIALS_SECRETS_PREFIX=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${DB2_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}credentials + + # db2rds params from aws config secrets + export HOST=${CONFIG_SECRETS_PREFIX}#db2_endpoint + export PORT=${CONFIG_SECRETS_PREFIX}#db2_port + export DBNAME=${CONFIG_SECRETS_PREFIX}#db2_name + export JDBC_CONNECTION_URL=${CONFIG_SECRETS_PREFIX}#jdbc_connection_url + export RDS_ADMIN_DB_NAME=${CONFIG_SECRETS_PREFIX}#db2_admin_db_name + + # db2rds params from aws credentials secrets + export USER_NAME=${CREDENTIALS_SECRETS_PREFIX}#username + export PASSWORD=${CREDENTIALS_SECRETS_PREFIX}#password + + # db2rds params from saas-env + export REPLICA_DB=${REPLICA_DB} + export JDBC_CONNECTION_URL_ADDITIONAL_PARAMS=${JDBC_CONNECTION_URL_ADDITIONAL_PARAMS} + + + # Clone github target repo + # --------------------------------------------------------------------------- + if [ "$GITHUB_PUSH" == "true" ]; then + # only create the lock branch if we plan to actually push changes to git + clone_and_lock_target_git_repo "${GITHUB_HOST}" "${GITHUB_ORG}" "${GITHUB_REPO}" "${GIT_BRANCH}" "${GITOPS_WORKING_DIR}" "${GIT_SSH}" "${GIT_LOCK_BRANCH}" + fi + mkdir -p ${GITOPS_INSTANCE_DIR} + + # Generate ArgoApps + # --------------------------------------------------------------------------- + echo + echo_h2 "Generating RDS DB2 Database Configuration" + echo + + # If the file doesn't exist, create a blank one + if ! [ -f ${CONFIGS_FILE} ]; then + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases-common.yaml.j2 $CONFIGS_FILE + fi + + # Remove any existing config with this name + yq 'del(.ibm_dbs_rds_databases[] | select(.db2_instance_name == "'${DB2_INSTANCE_NAME}'"))' $CONFIGS_FILE > $TEMP_DIR/configs.yaml + + # Create new file + echo -n "" > ${TEMP_DIR}/newconfig.yaml + # Render the appropriate template for the config into a new file. For standby database, it will be generated only if it is a replica task and replica is enabled. + jinjanate_commmon $CLI_DIR/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases.yaml.j2 | yq '{"ibm_dbs_rds_databases": [] + .}' > ${TEMP_DIR}/newconfig.yaml + + # Merge the two files + yq eval-all '. as $item ireduce ({}; . *+ $item)' $TEMP_DIR/configs.yaml ${TEMP_DIR}/newconfig.yaml > $CONFIGS_FILE + + # sort the configs by db2_instance_name. + # This way, we maintain the same ordering of configs in the file (even though we may have deleted and recreated a config if it's an update) + # This eliminates confusing commits to gitops-envs and allows us to determine if anything has actually changed + yq -i '.ibm_dbs_rds_databases |= sort_by(.db2_instance_name)' $CONFIGS_FILE + + echo_h2 "Updated configuration file (${CONFIGS_FILE})" + if [ -f ${CONFIGS_FILE} ]; then + cat $CONFIGS_FILE + else + echo "" + fi + + # Commit and push to github target repo + # --------------------------------------------------------------------------- + if [ "$GITHUB_PUSH" == "true" ]; then + echo + echo_h2 "Commit and push changes to GitHub repo $GITHUB_ORG $GITHUB_REPO" + save_and_unlock_target_git_repo "${GITHUB_REPO}" "${GIT_BRANCH}" "${GITOPS_WORKING_DIR}" "${GIT_COMMIT_MSG}" "${GIT_LOCK_BRANCH}" DB2_CONFIG_CHANGED + remove_git_repo_clone $GITOPS_WORKING_DIR/$GITHUB_REPO + fi + + rm -rf $TEMP_DIR + +} diff --git a/image/cli/mascli/functions/gitops_suite b/image/cli/mascli/functions/gitops_suite index d2851f88541..830628eef9c 100644 --- a/image/cli/mascli/functions/gitops_suite +++ b/image/cli/mascli/functions/gitops_suite @@ -42,8 +42,11 @@ IBM Maximo Application Suite: --mas-pod-template-yaml ${COLOR_YELLOW}MAS_POD_TEMPLATE_YAML${TEXT_RESET} The location of a file containing the POD template --allow-list ${COLOR_YELLOW}ALLOW_LIST${TEXT_RESET} List of IPs or CIDR range to whitelist --additional-vpn ${COLOR_YELLOW}ADDITIONAL_VPN{TEXT_RESET} Manage additional client VPN + --application-configuration ${COLOR_YELLOW}APPLICATION_CONFIGURATION${TEXT_RESET} Application Configuration enable/disable (true/false) + --additional-resources-instances ${COLOR_YELLOW}ADDITIONAL_RESOURCES_INSTANCES${TEXT_RESET} Enable additional resources addon with instances array (YAML string format) --extensions ${COLOR_YELLOW}EXTENSIONS${TEXT_RESET} To enable JAVA or 3rd party code extensions --enhanced-dr ${COLOR_YELLOW}ENHANCED_DR${TEXT_RESET} To enable Enhanced Disaster Recovery + --disable-postdelete-hooks ${COLOR_YELLOW}USE_POSTDELETE_HOOKS${TEXT_RESET} Unless set (or USE_POSTDELETE_HOOKS exported and set to false), PostDelete hooks will be deployed to ensure addon CRs are properly cleaned up by ArgoCD on deletion --is-non-shared-cluster ${COLOR_YELLOW}IS_NON_SHARED_CLUSTER${TEXT_RESET} To enable Non shared cluster --suite-spec-additional-properties-yaml ${COLOR_YELLOW}SUITE_SPEC_ADDITIONAL_PROPERTIES_YAML${TEXT_RESET} Additional properties to be set in Suite CR spec --suite-spec-settings-additional-properties-yaml ${COLOR_YELLOW}SUITE_SPEC_SETTINGS_ADDITIONAL_PROPERTIES_YAML${TEXT_RESET} Additional properties to be set in Suite CR spec.settings @@ -143,7 +146,7 @@ function gitops_suite_noninteractive() { export EXTENSIONS=${EXTENSIONS:-"false"} export ADDITIONAL_VPN=${ADDITIONAL_VPN:-"false"} export ENHANCED_DR=${ENHANCED_DR:-"false"} - + export USE_POSTDELETE_HOOKS=${USE_POSTDELETE_HOOKS:-"true"} if [ ! -z "$STANDALONE_SLS_SERVICE" ]; then CLEAN_PATH=$(echo "$STANDALONE_SLS_SERVICE" | sed 's###') @@ -268,6 +271,9 @@ function gitops_suite_noninteractive() { --additional-vpn) export ADDITIONAL_VPN=$1 && shift ;; + --application-configuration) + export APPLICATION_CONFIGURATION=$1 && shift + ;; --extensions) export EXTENSIONS=$1 && shift ;; @@ -277,7 +283,12 @@ function gitops_suite_noninteractive() { --is-non-shared-cluster) export IS_NON_SHARED_CLUSTER=$1 && shift ;; - + --additional-resources-instances) + export ADDITIONAL_RESOURCES_INSTANCES=$1 && shift + ;; + --disable-postdelete-hooks) + export USE_POSTDELETE_HOOKS=false + ;; # Target Cluster (Optional) --cluster-url) export CLUSTER_URL=$1 && shift @@ -561,9 +572,14 @@ function gitops_suite() { echo_reset_dim "OIDC Config ................................ ${COLOR_MAGENTA}${OIDC_CONFIG}" echo_reset_dim "Allow List ................................. ${COLOR_MAGENTA}${ALLOW_LIST}" echo_reset_dim "Additional VPN ............................. ${COLOR_MAGENTA}${ADDITIONAL_VPN}" + echo_reset_dim "Application Configuration .................. ${COLOR_MAGENTA}${APPLICATION_CONFIGURATION}" + if [[ -n "${ADDITIONAL_RESOURCES_INSTANCES}" ]]; then + echo_reset_dim "Additional Resources Instances ........ ${COLOR_MAGENTA}${ADDITIONAL_RESOURCES_INSTANCES}" + fi echo_reset_dim "Enhanced Disaster Recovery ................. ${COLOR_MAGENTA}${ENHANCED_DR}" echo_reset_dim "Non shared cluster ......................... ${COLOR_MAGENTA}${IS_NON_SHARED_CLUSTER}" echo_reset_dim "Java or 3rd Party Code Extensions .......... ${COLOR_MAGENTA}${EXTENSIONS}" + echo_reset_dim "Use PostDelete Hooks? ...................... ${COLOR_MAGENTA}${USE_POSTDELETE_HOOKS}" echo_reset_dim "Suite Spec Additional Properties ........... ${COLOR_MAGENTA}${SUITE_SPEC_ADDITIONAL_PROPERTIES_YAML}" echo_reset_dim "Suite Spec Settings Additional Properties .. ${COLOR_MAGENTA}${SUITE_SPEC_SETTINGS_ADDITIONAL_PROPERTIES_YAML}" if [[ -n "$INTERNAL_CERT_AUTHORITY" ]]; then diff --git a/image/cli/mascli/functions/gitops_utils b/image/cli/mascli/functions/gitops_utils index ef3ea7021d1..5d32e859718 100644 --- a/image/cli/mascli/functions/gitops_utils +++ b/image/cli/mascli/functions/gitops_utils @@ -1823,4 +1823,4 @@ function close_pr() { fi done return 0 -} \ No newline at end of file +} diff --git a/image/cli/mascli/functions/help/mirror_images_help b/image/cli/mascli/functions/help/mirror_images_help new file mode 100644 index 00000000000..4168db6f2bb --- /dev/null +++ b/image/cli/mascli/functions/help/mirror_images_help @@ -0,0 +1,107 @@ +function mirror_to_registry_help_header() { + [[ -n "$1" ]] && echo_warning "$1" + reset_colors + cat << EOM +Usage: + mas mirror-images [options] +Where ${COLOR_YELLOW}specified${TEXT_RESET} each option may also be defined by setting the appropriate environment variable. +When no options are specified on the command line, interactive-mode will be enabled by default. + +Mirror Mode (Required): + -m, --mode ${COLOR_YELLOW}MIRROR_MODE${TEXT_RESET} Operation mode (direct, to-filesystem, from-filesystem) + -d, --dir ${COLOR_YELLOW}MIRROR_WORKING_DIR${TEXT_RESET} Working directory for the mirror process + +Registry Details (Required): + -H, --host ${COLOR_YELLOW}REGISTRY_PUBLIC_HOST${TEXT_RESET} Hostname of the target registry + -P, --port ${COLOR_YELLOW}REGISTRY_PUBLIC_PORT${TEXT_RESET} Port number for the target registry + -u, --username ${COLOR_YELLOW}REGISTRY_USERNAME${TEXT_RESET} Username to authenticate to the target registry + -p, --password ${COLOR_YELLOW}REGISTRY_PASSWORD${TEXT_RESET} Password to authenticate to the target registry + +Registry Prefix (Optional): + -x, --prefix ${COLOR_YELLOW}REGISTRY_PREFIX${TEXT_RESET} Prefix for the mirror image + +AWS Elastic Container Registry (Optional): + -r, --aws-ecr-region ${COLOR_YELLOW}REGISTRY_ECR_AWS_REGION${TEXT_RESET} The AWS region if the target registry is Elastic Container Registry + -e, --target-is-ecr Indicate that the target registry is Elastic Container Registry + +Source Registry Entitlements (Required based on what content you choose to mirror): + --ibm-entitlement ${COLOR_YELLOW}IBM_ENTITLEMENT_KEY${TEXT_RESET} IBM Entitlement Key + --artifactory-username ${COLOR_YELLOW}ARTIFACTORY_USERNAME${TEXT_RESET} Artifactory Username + --artifactory-token ${COLOR_YELLOW}ARTIFACTORY_TOKEN${TEXT_RESET} Artifactory Token + +Maximo Operator Catalog Selection (Optional): + -c, --catalog ${COLOR_YELLOW}MAS_CATALOG_VERSION${TEXT_RESET} Maximo Operator Catalog Version to mirror (e.g. v9-240625-amd64) + -C, --channel ${COLOR_YELLOW}MAS_CHANNEL${TEXT_RESET} Maximo Application Suite Channel to mirror (e.g. 9.1.x) +EOM +} + + +function mirror_to_registry_help() { + mirror_to_registry_help_header + cat << EOM + +Content Selection (Core Platform): + --mirror-catalog Mirror the IBM Maximo Operator Catalog + --mirror-core Mirror images for IBM Maximo Application Suite Core + +Content Selection (Applications): + --mirror-assist Mirror images for IBM Maximo Assist + --mirror-iot Mirror images for IBM Maximo IoT + --mirror-manage Mirror images for IBM Maximo Manage + --mirror-icd Mirror image for IBM Maximo IT (Separately entitled IBM Maximo Manage extension) + --mirror-monitor Mirror images for IBM Maximo Monitor + --mirror-optimizer Mirror images for IBM Maximo Optimizer + --mirror-predict Mirror images for IBM Maximo Predict + --mirror-visualinspection Mirror images for IBM Maximo Visual Inspection + +Content Selection (Cloud Pak for Data): + --mirror-cp4d Mirror images for IBM Cloud Pak for Data Platform + --mirror-wsl Mirror images for IBM Watson Studio Local + --mirror-wml Mirror images for IBM Watson Machine Learning + --mirror-spark Mirror images for IBM Analytics Engine (Spark) + --mirror-cognos Mirror images for IBM Cognos Analytics + +Content Selection (Other Dependencies): + --mirror-cfs Mirror images for IBM Cloud Pak Foundation Services + --mirror-sls Mirror images for IBM Suite License Service + --mirror-tsm Mirror images for IBM Truststore Manager + --mirror-mongo Mirror images for MongoDb Community Edition + --mirror-mongo-v7 Mirror images for MongoDb Community Edition version 7 + --mirror-db2 Mirror images for IBM Db2 + --mirror-odf Mirror images for ODF + +Content Selection (All images included): + --mirror-everything Mirror all MAS related images (including dependencies) + +Other Commands: + --no-confirm Mirror images without prompting for confirmation + -h, --help Show this help message +EOM + [[ -n "$1" ]] && exit 1 || exit 0 +} + + +function mirror_aiservice_to_registry_help() { + mirror_to_registry_help_header + cat << EOM + +Content Selection (AI Service): + --mirror-catalog Mirror the IBM Maximo Operator Catalog + --mirror-aiservice Mirror images for IBM Maximo Application Suite AI Service + +Content Selection (Dependencies): + --mirror-minio Mirror images for minio + --mirror-db2 Mirror images for IBM Db2 + --mirror-mariadb Mirror images for mariadb + --mirror-opendatahub Mirror images for opendatahub + --mirror-odf Mirror images for ODF + +Content Selection (All images included): + --mirror-everything Mirror all ai-service related images (including dependencies) + +Other Commands: + --no-confirm Mirror images without prompting for confirmation + -h, --help Show this help message +EOM + [[ -n "$1" ]] && exit 1 || exit 0 +} diff --git a/image/cli/mascli/functions/internal/save_config b/image/cli/mascli/functions/internal/save_config index 3c47ac7bf9c..37d19bd4a6b 100644 --- a/image/cli/mascli/functions/internal/save_config +++ b/image/cli/mascli/functions/internal/save_config @@ -39,6 +39,8 @@ export CLUSTER_ISSUER_SELECTION=$CLUSTER_ISSUER_SELECTION export MAS_CLUSTER_ISSUER=$MAS_CLUSTER_ISSUER export MAS_ROUTING_MODE=$MAS_ROUTING_MODE +export MAS_INGRESS_CONTROLLER_NAME=$MAS_INGRESS_CONTROLLER_NAME +export MAS_CONFIGURE_INGRESS=$MAS_CONFIGURE_INGRESS export MAS_TRUST_DEFAULT_CAS=$MAS_TRUST_DEFAULT_CAS export OCP_INGRESS_TLS_SECRET_NAME=$OCP_INGRESS_TLS_SECRET_NAME diff --git a/image/cli/mascli/functions/internal/utils b/image/cli/mascli/functions/internal/utils index 505ce0f2b97..dfd491237ea 100644 --- a/image/cli/mascli/functions/internal/utils +++ b/image/cli/mascli/functions/internal/utils @@ -457,7 +457,7 @@ function create_common_files() { # Handle backend.tf with template if [[ ! -f "$cluster_dir/backend.tf" ]]; then echo " Creating backend.tf from template" - jinjanate_commmon "$CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-backend.yaml.j2" "$cluster_dir/backend.tf.json" + jinjanate_commmon "$CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-backend.tf.j2" "$cluster_dir/backend.tf.json" else echo " File already exists: backend.tf" fi @@ -465,7 +465,7 @@ function create_common_files() { # Handle provider.tf with template if [[ ! -f "$cluster_dir/provider.tf" ]]; then echo " Creating provider.tf from template" - jinjanate_commmon "$CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-provider.yaml.j2" "$cluster_dir/provider.tf" + jinjanate_commmon "$CLI_DIR/templates/gitops/appset-configs/cluster/instance/ibm-iac-provider.tf.j2" "$cluster_dir/provider.tf" else echo " File already exists: provider.tf" fi diff --git a/image/cli/mascli/functions/mirror_aiservice_images b/image/cli/mascli/functions/mirror_aiservice_images index 65bb34d1f38..3f040220973 100644 --- a/image/cli/mascli/functions/mirror_aiservice_images +++ b/image/cli/mascli/functions/mirror_aiservice_images @@ -1,29 +1,6 @@ #!/bin/bash -function mirror_aiservice_to_registry_help() { - mirror_to_registry_help_header - cat << EOM - -Content Selection (Core Platform): - --mirror-catalog Mirror the IBM Maximo Operator Catalog - --mirror-aiservice Mirror images for IBM Maximo Application Suite AI Service - -Content Selection (Dependencies): - --mirror-minio Mirror images for minio - --mirror-db2 Mirror images for IBM Db2 - --mirror-mariadb Mirror images for mariadb - --mirror-opendatahub Mirror images for opendatahub - --mirror-odf Mirror images for ODF - -Content Selection (All images included): - --mirror-everything Mirror all ai-service related images (including dependencies) - -Other Commands: - --no-confirm Mirror images without prompting for confirmation - -h, --help Show this help message -EOM - [[ -n "$1" ]] && exit 1 || exit 0 -} +. $CLI_DIR/functions/help/mirror_images_help function mirror_aiservice_everything() { # Core @@ -135,7 +112,7 @@ function mirror_aiservice_to_registry_noninteractive() { --mirror-opendatahub) MIRROR_OPENDATAHUB=true ;; - + --no-confirm) NO_CONFIRM=true ;; @@ -207,10 +184,10 @@ function mirror_aiservice_to_registry() { export MIRROR_MINIO export MIRROR_DB2U export MIRROR_MARIADB - + export MIRROR_OPENDATAHUB export MIRROR_ODF - + if [[ "$MIRROR_CATALOG" == true || "$MIRROR_MINIO" == true || "$MIRROR_DB2U" == true || diff --git a/image/cli/mascli/functions/mirror_images b/image/cli/mascli/functions/mirror_images index 0ac3a90095d..77d2bf20906 100644 --- a/image/cli/mascli/functions/mirror_images +++ b/image/cli/mascli/functions/mirror_images @@ -1,51 +1,6 @@ #!/bin/bash +. $CLI_DIR/functions/help/mirror_images_help -function mirror_to_registry_help() { - mirror_to_registry_help_header - cat << EOM - -Content Selection (Core Platform): - --mirror-catalog Mirror the IBM Maximo Operator Catalog - --mirror-core Mirror images for IBM Maximo Application Suite Core - -Content Selection (Applications): - --mirror-assist Mirror images for IBM Maximo Assist - --mirror-iot Mirror images for IBM Maximo IoT - --mirror-manage Mirror images for IBM Maximo Manage - --mirror-icd Mirror image for IBM Maximo IT (Separately entitled IBM Maximo Manage extension) - --mirror-monitor Mirror images for IBM Maximo Monitor - --mirror-optimizer Mirror images for IBM Maximo Optimizer - --mirror-predict Mirror images for IBM Maximo Predict - --mirror-visualinspection Mirror images for IBM Maximo Visual Inspection - -Content Selection (Cloud Pak for Data): - --mirror-cp4d Mirror images for IBM Cloud Pak for Data Platform - --mirror-wsl Mirror images for IBM Watson Studio Local - --mirror-wml Mirror images for IBM Watson Machine Learning - --mirror-spark Mirror images for IBM Analytics Engine (Spark) - --mirror-cognos Mirror images for IBM Cognos Analytics - -Content Selection (Other Dependencies): - --mirror-cfs Mirror images for IBM Cloud Pak Foundation Services - --mirror-sls Mirror images for IBM Suite License Service - --mirror-tsm Mirror images for IBM Truststore Manager - --mirror-mongo Mirror images for MongoDb Community Edition - --mirror-mongo-v5 Mirror images for MongoDb Community Edition version 5 - --mirror-mongo-v6 Mirror images for MongoDb Community Edition version 6 - --mirror-mongo-v7 Mirror images for MongoDb Community Edition version 7 - --mirror-db2 Mirror images for IBM Db2 - --mirror-appconnect Mirror images for IBM AppConnect - --mirror-odf Mirror images for ODF - -Content Selection (All images included): - --mirror-everything Mirror all MAS related images (including dependencies) - -Other Commands: - --no-confirm Mirror images without prompting for confirmation - -h, --help Show this help message -EOM - [[ -n "$1" ]] && exit 1 || exit 0 -} function mirror_everything() { # Core @@ -69,14 +24,11 @@ function mirror_everything() { MIRROR_SLS=true MIRROR_TRUSTSTOREMGR=true MIRROR_MONGOCE=true - MIRROR_MONGOCE_V4=true - MIRROR_MONGOCE_V5=true MIRROR_MONGOCE_V6=true MIRROR_MONGOCE_V7=true MIRROR_MONGOCE_V8=true MIRROR_DB2U=true - MIRROR_APPCONNECT=true MIRROR_ODF=true # Dependencies (CP4D) @@ -118,7 +70,6 @@ function mirror_to_registry_noninteractive() { MIRROR_WML=false MIRROR_SPARK=false MIRROR_COGNOS=false - MIRROR_APPCONNECT=false MIRROR_ODF=false while [[ $# -gt 0 ]] @@ -230,15 +181,6 @@ function mirror_to_registry_noninteractive() { --mirror-mongo) MIRROR_MONGOCE=true ;; - --mirror-mongo-v4) - MIRROR_MONGOCE_V4=true - ;; - --mirror-mongo-v5) - MIRROR_MONGOCE_V5=true - ;; - --mirror-mongo-v6) - MIRROR_MONGOCE_V6=true - ;; --mirror-mongo-v7) MIRROR_MONGOCE_V7=true ;; @@ -248,9 +190,6 @@ function mirror_to_registry_noninteractive() { --mirror-db2) MIRROR_DB2U=true ;; - --mirror-appconnect) - MIRROR_APPCONNECT=true - ;; --mirror-odf) MIRROR_ODF=true ;; @@ -350,9 +289,10 @@ function mirror_to_registry_interactive() { echo echo "MongoDb Community Edition options for mirroring:" echo " 1. Default MongoDb version set by catalog source (recommended)" - echo " 2. MongoDb version 4" - echo " 3. MongoDb version 5" - echo " 4. Mirror all supported MongoDb versions" + echo " 2. MongoDb version 6" + echo " 3. MongoDb version 7" + echo " 4. MongoDb version 8" + echo " 5. Mirror all supported MongoDb versions" reset_colors echo prompt_for_input "Select the MongoDb Community Edition mirroring option" MONGOCE_SELECTION "1" @@ -363,15 +303,19 @@ function mirror_to_registry_interactive() { MIRROR_MONGOCE=true ;; 2) - MIRROR_MONGOCE_V4=true + MIRROR_MONGOCE_V6=true ;; 3) - MIRROR_MONGOCE_V5=true + MIRROR_MONGOCE_V7=true ;; 4) + MIRROR_MONGOCE_V8=true + ;; + 5) MIRROR_MONGOCE=true - MIRROR_MONGOCE_V4=true - MIRROR_MONGOCE_V5=true + MIRROR_MONGOCE_V6=true + MIRROR_MONGOCE_V7=true + MIRROR_MONGOCE_V8=true ;; # Invalid Selection @@ -390,7 +334,6 @@ function mirror_to_registry_interactive() { prompt_for_confirm "IBM Analytics Engine (Spark)" MIRROR_SPARK prompt_for_confirm "IBM Cognos Analytics" MIRROR_COGNOS - prompt_for_confirm "IBM AppConnect" MIRROR_APPCONNECT prompt_for_confirm "Red Hat ODF" MIRROR_ODF fi @@ -410,11 +353,6 @@ function mirror_to_registry_interactive() { } - - - - - function mirror_to_registry() { # Take the first parameter off (it will be mirror-images) shift @@ -428,8 +366,6 @@ function mirror_to_registry() { export MIRROR_SLS export MIRROR_TRUSTSTOREMGR export MIRROR_MONGOCE - export MIRROR_MONGOCE_V4 - export MIRROR_MONGOCE_V5 export MIRROR_MONGOCE_V6 export MIRROR_MONGOCE_V7 export MIRROR_MONGOCE_V8 @@ -439,7 +375,6 @@ function mirror_to_registry() { export MIRROR_WSL export MIRROR_SPARK export MIRROR_COGNOS - export MIRROR_APPCONNECT export MIRROR_ODF export MIRROR_MAS_ICD @@ -449,13 +384,10 @@ function mirror_to_registry() { "$MIRROR_SLS" == true || "$MIRROR_TRUSTSTOREMGR" == true || "$MIRROR_MONGOCE" == true || - "$MIRROR_MONGOCE_V4" == true || - "$MIRROR_MONGOCE_V5" == true || "$MIRROR_MONGOCE_V6" == true || "$MIRROR_MONGOCE_V7" == true || "$MIRROR_MONGOCE_V8" == true || "$MIRROR_DB2U" == true || - "$MIRROR_APPCONNECT" == true || "$MIRROR_ODF" == true || "$MIRROR_CP4D" == true || "$MIRROR_WSL" == true || @@ -507,13 +439,10 @@ function mirror_to_registry() { show_mirror_status "IBM Suite License Service ..........." $MIRROR_SLS show_mirror_status "IBM Truststore Manager .............." $MIRROR_TRUSTSTOREMGR show_mirror_status "MongoDb Community Edition ..........." $MIRROR_MONGOCE - show_mirror_status "+ Version 4 ........................." $MIRROR_MONGOCE_V4 - show_mirror_status "+ Version 5 ........................." $MIRROR_MONGOCE_V5 show_mirror_status "+ Version 6 ........................." $MIRROR_MONGOCE_V6 show_mirror_status "+ Version 7 ........................." $MIRROR_MONGOCE_V7 show_mirror_status "+ Version 8 ........................." $MIRROR_MONGOCE_V8 show_mirror_status "IBM Db2 ............................." $MIRROR_DB2U - show_mirror_status "IBM AppConnect ......................" $MIRROR_APPCONNECT show_mirror_status "RedHat ODF .........................." $MIRROR_ODF show_mirror_status "OpenDataHub ........................." $MIRROR_OPENDATAHUB diff --git a/image/cli/mascli/functions/mirror_images_common b/image/cli/mascli/functions/mirror_images_common index 85a4b9dd3e0..8105dcc4571 100644 --- a/image/cli/mascli/functions/mirror_images_common +++ b/image/cli/mascli/functions/mirror_images_common @@ -29,43 +29,6 @@ function show_mirror_status() { fi } -function mirror_to_registry_help_header() { - [[ -n "$1" ]] && echo_warning "$1" - reset_colors - cat << EOM -Usage: - mas mirror-images [options] -Where ${COLOR_YELLOW}specified${TEXT_RESET} each option may also be defined by setting the appropriate environment variable. -When no options are specified on the command line, interactive-mode will be enabled by default. - -Mirror Mode (Required): - -m, --mode ${COLOR_YELLOW}MIRROR_MODE${TEXT_RESET} Operation mode (direct, to-filesystem, from-filesystem) - -d, --dir ${COLOR_YELLOW}MIRROR_WORKING_DIR${TEXT_RESET} Working directory for the mirror process - -Registry Details (Required): - -H, --host ${COLOR_YELLOW}REGISTRY_PUBLIC_HOST${TEXT_RESET} Hostname of the target registry - -P, --port ${COLOR_YELLOW}REGISTRY_PUBLIC_PORT${TEXT_RESET} Port number for the target registry - -u, --username ${COLOR_YELLOW}REGISTRY_USERNAME${TEXT_RESET} Username to authenticate to the target registry - -p, --password ${COLOR_YELLOW}REGISTRY_PASSWORD${TEXT_RESET} Password to authenticate to the target registry - -Registry Prefix (Optional): - -x, --prefix ${COLOR_YELLOW}REGISTRY_PREFIX${TEXT_RESET} Prefix for the mirror image - -AWS Elastic Container Registry (Optional): - -r, --aws-ecr-region ${COLOR_YELLOW}REGISTRY_ECR_AWS_REGION${TEXT_RESET} The AWS region if the target registry is Elastic Container Registry - -e, --target-is-ecr Indicate that the target registry is Elastic Container Registry - -Source Registry Entitlements (Required based on what content you choose to mirror): - --ibm-entitlement ${COLOR_YELLOW}IBM_ENTITLEMENT_KEY${TEXT_RESET} IBM Entitlement Key - --artifactory-username ${COLOR_YELLOW}ARTIFACTORY_USERNAME${TEXT_RESET} Artifactory Username - --artifactory-token ${COLOR_YELLOW}ARTIFACTORY_TOKEN${TEXT_RESET} Artifactory Token - -Maximo Operator Catalog Selection (Optional): - -c, --catalog ${COLOR_YELLOW}MAS_CATALOG_VERSION${TEXT_RESET} Maximo Operator Catalog Version to mirror (e.g. v9-240625-amd64) - -C, --channel ${COLOR_YELLOW}MAS_CHANNEL${TEXT_RESET} Maximo Application Suite Channel to mirror (e.g. 9.1.x) -EOM -} - function mirror_to_registry_interactive_common() { load_config echo @@ -148,6 +111,8 @@ function mirror_to_registry_common() { export ARTIFACTORY_USERNAME export ARTIFACTORY_TOKEN + set_target_arch + echo reset_colors echo_h2 "Review Settings" @@ -171,6 +136,7 @@ function mirror_to_registry_common() { echo_h4 "IBM Operator Catalog" " " echo_reset_dim "Catalog Version ..................... ${COLOR_MAGENTA}${MAS_CATALOG_VERSION}" echo_reset_dim "MAS Update Channel .................. ${COLOR_MAGENTA}${MAS_CHANNEL}" + echo_reset_dim "Target Architecture ................. ${COLOR_MAGENTA}${MIRROR_SINGLE_ARCH}" } function confirm_mirror() { @@ -191,3 +157,16 @@ function confirm_mirror() { export ARTIFACTORY_USERNAME="" export ARTIFACTORY_TOKEN="" } + +function set_target_arch() { + if [[ "$MAS_CATALOG_VERSION" == *"amd64"* ]]; then + export MIRROR_SINGLE_ARCH="amd64" + elif [[ "$MAS_CATALOG_VERSION" == *"ppc64le"* ]]; then + export MIRROR_SINGLE_ARCH="ppc64le" + elif [[ "$MAS_CATALOG_VERSION" == *"s390x"* ]]; then + export MIRROR_SINGLE_ARCH="s390x" + else + echo -e "${COLOR_RED}Usage Error: Could not determine target architecture from catalog version: $MAS_CATALOG_VERSION${TEXT_RESET}\n" + exit 1 + fi +} diff --git a/image/cli/mascli/mas b/image/cli/mascli/mas index 242aa375f49..4ac06821d0e 100755 --- a/image/cli/mascli/mas +++ b/image/cli/mascli/mas @@ -81,6 +81,7 @@ mkdir -p $CONFIG_DIR . $CLI_DIR/functions/gitops_dro . $CLI_DIR/functions/gitops_db2u . $CLI_DIR/functions/gitops_db2u_database +. $CLI_DIR/functions/gitops_rds_db2_database . $CLI_DIR/functions/gitops_process_mongo_user . $CLI_DIR/functions/gitops_aws_infrastructure . $CLI_DIR/functions/gitops_rosa @@ -276,9 +277,6 @@ case $1 in echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> $LOGFILE echo "!! update !!" >> $LOGFILE echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" >> $LOGFILE - - echo "${TEXT_UNDERLINE}IBM Maximo Application Suite Update Manager (v${VERSION})${TEXT_RESET}" - echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/ansible-devops/${TEXT_RESET} and ${COLOR_CYAN}${TEXT_UNDERLINE}https://tekton.dev/${TEXT_RESET}" # Take the first parameter off (it will be "update") shift # Run the new Python-based install @@ -703,6 +701,22 @@ case $1 in gitops_iac_provision_s3_cmd "$@" ;; + gitops-iac-provision-msk) + echo "${TEXT_UNDERLINE}IBM Maximo Application Suite IAC Manager - Provision S3 (v${VERSION})${TEXT_RESET}" + echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" + echo + reset_colors + gitops_iac_provision_msk_cmd "$@" + ;; + + gitops-iac-provision-rdsdb2) + echo "${TEXT_UNDERLINE}IBM Maximo Application Suite IAC Manager - Provision RDS DB2 (v${VERSION})${TEXT_RESET}" + echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" + echo + reset_colors + gitops_iac_provision_rdsdb2_cmd "$@" + ;; + gitops-iac-generate-common-files) echo "${TEXT_UNDERLINE}IBM Maximo Application Suite IAC Manager - Generate Common Files (v${VERSION})${TEXT_RESET}" echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" @@ -719,7 +733,7 @@ case $1 in gitops_iac_manage_pr_cmd "$@" ;; - + gitops-deprovision-aiservice-tenant) echo "${TEXT_UNDERLINE}IBM Maximo Application Suite AIService Tenant deprovision Manager (v${VERSION})${TEXT_RESET}" echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" @@ -760,6 +774,14 @@ case $1 in gitops_deprovision_cp4d_service "$@" ;; + gitops-rds-db2-database) + echo "${TEXT_UNDERLINE}IBM Maximo Application Suite GitOps Manager (v${VERSION})${TEXT_RESET}" + echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" + echo + reset_colors + gitops_rds_db2_database "$@" + ;; + gitops-suite-license-service) echo "${TEXT_UNDERLINE}IBM Maximo Application Suite GitOps Manager (v${VERSION})${TEXT_RESET}" echo "Powered by ${COLOR_CYAN}${TEXT_UNDERLINE}https://github.com/ibm-mas/gitops/${TEXT_RESET}" diff --git a/image/cli/mascli/templates/filters/yaml.py b/image/cli/mascli/templates/filters/yaml.py index 2aa564cbbeb..1ab3b6871f4 100644 --- a/image/cli/mascli/templates/filters/yaml.py +++ b/image/cli/mascli/templates/filters/yaml.py @@ -4,3 +4,8 @@ # Convert a string representation of YAML to actual YAML def toYaml(value: str) -> dict: return yaml.safe_load(value) + + +# Convert a Python object to a nicely formatted YAML string +def to_nice_yaml(value, indent: int = 2) -> str: + return yaml.dump(value, default_flow_style=False, indent=indent, sort_keys=False) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/ibm-dro.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/ibm-dro.yaml.j2 index fe598dda4a6..a48aa8e10a3 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/ibm-dro.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/ibm-dro.yaml.j2 @@ -7,6 +7,12 @@ ibm_dro: dro_cmm_setup: {{ DRO_CMM_SETUP }} dro_install_plan: {{ DRO_INSTALL_PLAN }} imo_install_plan: {{ IMO_INSTALL_PLAN }} +{% if DRO_PUBLIC_DOMAIN is defined and DRO_PUBLIC_DOMAIN and CIS_CRN is defined and CIS_CRN %} + dro_public_domain: {{ DRO_PUBLIC_DOMAIN }} + tls_certificate: "" + tls_key: "" + cis_crn: {{ CIS_CRN }} +{% endif %} {% if DRO_CMM_SETUP is defined and DRO_CMM_SETUP %} dro_cmm: auth_apikey: "" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-appcfg-config.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-appcfg-config.yaml.j2 new file mode 100644 index 00000000000..5b112ba2f91 --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-appcfg-config.yaml.j2 @@ -0,0 +1,24 @@ +mas_config_name: "{{ MAS_CONFIG_NAME }}" +mas_config_chart: ibm-mas-app-config +mas_config_scope: {{ MAS_CONFIG_SCOPE }} +mas_workspace_id: {{ MAS_WORKSPACE_ID }} +mas_application_id: {{ MAS_APP_ID }} +mas_config_kind: "AppCfg" +mas_config_api_version: "config.mas.ibm.com" +use_postdelete_hooks: {{ USE_POSTDELETE_HOOKS }} + +system_appcfg_labels: + mas.ibm.com/configScope: system + mas.ibm.com/instanceId: "{{ MAS_INSTANCE_ID }}" + +maf_enabled: {{ MAF_ENABLED }} + +persistentVolume: + name: app-config + size: {{ MAF_SIZE }} + storageClassName: {{ MAF_STORAGE_CLASSNAME }} + +{% if MAS_APPCFG_POD_TEMPLATE is defined and MAS_APPCFG_POD_TEMPLATE !='' %} +mas_appcfg_pod_templates: + {{ MAS_APPCFG_POD_TEMPLATE | indent(2) }} +{% endif %} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases-common.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases-common.yaml.j2 new file mode 100644 index 00000000000..fcf4d66dfee --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases-common.yaml.j2 @@ -0,0 +1,2 @@ +merge-key: "{{ ACCOUNT_ID }}/{{ CLUSTER_ID }}/{{ MAS_INSTANCE_ID }}" +ibm_dbs_rds_databases: [] diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases.yaml.j2 new file mode 100644 index 00000000000..d085cb59081 --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/db2-databases/ibm-dbs-rds-databases.yaml.j2 @@ -0,0 +1,34 @@ +db2_namespace: {{ DB2_NAMESPACE }} +mas_application_id: {{ MAS_APP_ID }} +db2_instance_name: {{ DB2_INSTANCE_NAME }} +host: +port: +dbname: +rds_admin_db_name: +user: +password: # pragma: allowlist secret +jdbc_connection_url: +{%- if JDBC_CONNECTION_URL_ADDITIONAL_PARAMS is defined and JDBC_CONNECTION_URL_ADDITIONAL_PARAMS !='' %} +jdbc_connection_url_additional_params: {{ JDBC_CONNECTION_URL_ADDITIONAL_PARAMS }} +{%- endif %} +replica_db: {{ REPLICA_DB }} +db2_instance_registry: + {% filter indent(width=2) -%} + {{ DB2_INSTANCE_REGISTRY }} + {%- endfilter %} +db2_database_db_config: + {% filter indent(width=2) -%} + {{ DB2_DATABASE_DB_CONFIG }} + {%- endfilter %} +{% if DB2_ADDONS_AUDIT_CONFIG %} +db2_addons_audit_config: + {% filter indent(width=2) -%} + {{ DB2_ADDONS_AUDIT_CONFIG }} + {%- endfilter %} +{% endif %} +{% if DB2_INSTANCE_DBM_CONFIG %} +db2_instance_dbm_config: + {% filter indent(width=2) -%} + {{ DB2_INSTANCE_DBM_CONFIG }} + {%- endfilter %} +{% endif %} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 index 28c614b0b3b..5aa9e71b15b 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-aiservice-tenant.yaml.j2 @@ -17,7 +17,11 @@ ibm_aiservice_tenant: # sls slscfg_ca_b64enc: "" + {%- if STANDALONE_SLS_SERVICE %} + slscfg_url: + {%- else %} slscfg_url: "{{ SLSCFG_URL }}" + {%- endif %} slscfg_registration_key: "" aiservice_sls_subscription_id: "{{ AISERVICE_SLS_SUBSCRIPTION_ID }}" @@ -36,7 +40,9 @@ ibm_aiservice_tenant: aiservice_watsonxai_project_id: "" aiservice_watsonxai_apikey: "" aiservice_watsonxai_on_prem: "{{ AISERVICE_WATSONXAI_ON_PREM }}" +{% if SECRET_KEY_WATSONXAI_CA_CRT is defined and SECRET_KEY_WATSONXAI_CA_CRT != '' %} aiservice_watsonxai_ca_crt: "" +{% endif %} aiservice_watsonxai_instance_id: "{{ AISERVICE_WATSONX_INSTANCE_ID }}" aiservice_watsonxai_username: "{{ AISERVICE_WATSONX_USERNAME }}" aiservice_watsonxai_version: "{{ AISERVICE_WATSONX_VERSION }}" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-backend.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-backend.tf.j2 similarity index 100% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-backend.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-backend.tf.j2 diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-db2paramaters.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-db2paramaters.yaml.j2 new file mode 100644 index 00000000000..96f088c8d0c --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-db2paramaters.yaml.j2 @@ -0,0 +1,9 @@ +{%- if RDS_APP | upper == "MANAGE" -%} +{{RDS_DB2_CONFIG_MANAGE}} +{%- endif -%} +{%- if RDS_APP | upper == "IOT" -%} +{{RDS_DB2_CONFIG_IOT}} +{%- endif -%} +{%- if RDS_APP | upper == "FACILITIES" -%} +{{RDS_DB2_CONFIG_FACILITIES}} +{%- endif -%} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-efs.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-efs.tf.j2 similarity index 100% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-efs.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-efs.tf.j2 diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy-db2.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy-db2.tf.j2 new file mode 100644 index 00000000000..16cc3fc8286 --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy-db2.tf.j2 @@ -0,0 +1,8 @@ +module "account_policy_{{RDS_S3_APP_NAME}}" { + source = "{{ RDS_IAM_SOURCE }}" + name_prefix = var.name_prefix + create_s3_iam_group = var.create_s3_iam_group + create_s3_iam_policy = var.create_s3_iam_policy + efs_csi_policy = var.create_efs_policy + iam_users_list = var.s3_iam_users_list_audit_log_{{RDS_S3_APP_NAME}} +} diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy.tf.j2 similarity index 100% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-iampolicy.tf.j2 diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.tf.j2 new file mode 100644 index 00000000000..ecda1fffb7f --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.tf.j2 @@ -0,0 +1,408 @@ +{%- if (IS_EFS | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') -%} +data "aws_subnets" "external_subnets" { + filter { + name = "vpc-id" + values = [var.vpc_id] + } + filter { + name = "cidr-block" + values = {{ CLUSTER_CIDR_WORKLOAD_EXTERNAL }} + } +} + +data "aws_subnets" "internal_subnets" { + filter { + name = "vpc-id" + values = [var.vpc_id] + } + filter { + name = "cidr-block" + values = {{ CLUSTER_CIDR_WORKLOAD_INTERNAL }} + } +} +{%- endif %} + + +locals { +{%- if (IS_S3 | lower == 'true') or (IS_RDS | lower == 'true') %} +{%- if (RDS_MANAGE | lower == 'true') %} + #RDS Manage specific IAM parameter starts here + iam_user_arns_audit_log_manage = { + audit_logs = "${var.iam_user_arn_prefix_audit_log}-auditlog-manage" + } + + s3_iam_users_list_audit_log_manage = { + audit_logs = { + bucket_name = "${var.s3bucket_name_prefix_db2}-auditlog-manage" + iam_user_name = "${var.iam_user_name_prefix_audit_log}-auditlog-manage" + access_level = var.access_level_audit_log_rw + } + } + + iam_users_by_bucket_audit_log_manage = { + for bucket_name in distinct([for u in local.s3_iam_users_list_audit_log_manage : u.bucket_name]) : + bucket_name => [ + for u_key, u_info in local.s3_iam_users_list_audit_log_manage : + local.iam_user_arns_audit_log_manage[u_key] + if u_info.bucket_name == bucket_name + ] + } + + bucket_user_names_audit_log_manage = { + audit_logs = "${var.iam_user_name_prefix_audit_log}-auditlog-manage" + } + + bucket_user_name_map_audit_log_manage = { + for key, value in local.s3_iam_users_list_audit_log_manage : + key => lookup(local.bucket_user_names_audit_log_manage, key, null) + } + #RDS Manage specific IAM parameter ends here +{%- endif %} +{%- if (RDS_IOT | lower == 'true') %} + #RDS IOT specific IAM parameter starts here + iam_user_arns_audit_log_iot = { + audit_logs = "${var.iam_user_arn_prefix_audit_log}-auditlog-iot" + } + + s3_iam_users_list_audit_log_iot = { + audit_logs = { + bucket_name = "${var.s3bucket_name_prefix_db2}-auditlog-iot" + iam_user_name = "${var.iam_user_name_prefix_audit_log}-auditlog-iot" + access_level = var.access_level_audit_log_rw + } + } + + iam_users_by_bucket_audit_log_iot = { + for bucket_name in distinct([for u in local.s3_iam_users_list_audit_log_iot : u.bucket_name]) : + bucket_name => [ + for u_key, u_info in local.s3_iam_users_list_audit_log_iot : + local.iam_user_arns_audit_log_iot[u_key] + if u_info.bucket_name == bucket_name + ] + } + + bucket_user_names_audit_log_iot = { + audit_logs = "${var.iam_user_name_prefix_audit_log}-auditlog-iot" + } + + bucket_user_name_map_audit_log_iot = { + for key, value in local.s3_iam_users_list_audit_log_iot : + key => lookup(local.bucket_user_names_audit_log_iot, key, null) + } + #RDS IOT specific IAM parameter ends here +{%- endif %} +{%- if (RDS_FACILITIES | lower == 'true') %} + #RDS FACILITIES specific IAM parameter starts here + iam_user_arns_audit_log_facilities = { + audit_logs = "${var.iam_user_arn_prefix_audit_log}-auditlog-facilities" + } + + s3_iam_users_list_audit_log_facilities = { + audit_logs = { + bucket_name = "${var.s3bucket_name_prefix_db2}-auditlog-facilities" + iam_user_name = "${var.iam_user_name_prefix_audit_log}-auditlog-facilities" + access_level = var.access_level_audit_log_rw + } + } + + iam_users_by_bucket_audit_log_facilities = { + for bucket_name in distinct([for u in local.s3_iam_users_list_audit_log_facilities : u.bucket_name]) : + bucket_name => [ + for u_key, u_info in local.s3_iam_users_list_audit_log_facilities : + local.iam_user_arns_audit_log_facilities[u_key] + if u_info.bucket_name == bucket_name + ] + } + + bucket_user_names_audit_log_facilities = { + audit_logs = "${var.iam_user_name_prefix_audit_log}-auditlog-facilities" + } + + bucket_user_name_map_audit_log_facilities = { + for key, value in local.s3_iam_users_list_audit_log_facilities : + key => lookup(local.bucket_user_names_audit_log_facilities, key, null) + } + #RDS FACILITIES specific IAM parameter ends here +{%- endif %} +{%- if S3_MANAGE | lower == 'true' %} + #Manage related params for S3 starts + iam_user_arns_manage = { + custfiles = "${var.iam_user_arn_prefix_manage}-custfiles-${var.access_level_rw}" + doclinks = "${var.iam_user_arn_prefix_manage}-doclinks-${var.access_level_rw}" + logs_rw = "${var.iam_user_arn_prefix_manage}-logs-${var.access_level_rw}" + logs_ro = "${var.iam_user_arn_prefix_manage}-logs-${var.access_level_ro}" + } + + s3_iam_users_list_manage = { + doclinks = { + bucket_name = "${var.s3bucket_name_prefix_manage}-doclinks" + iam_user_name = "${var.iam_user_name_prefix_manage}-doclinks-${var.access_level_ro}" + access_level = var.access_level_rw + }, + custfiles = { + bucket_name = "${var.s3bucket_name_prefix_manage}-custfiles" + iam_user_name = "${var.iam_user_name_prefix_manage}-custfiles-${var.access_level_rw}" + access_level = var.access_level_rw + }, + logs_rw = { + bucket_name = "${var.s3bucket_name_prefix_manage}-logs" + iam_user_name = "${var.iam_user_name_prefix_manage}-logs-${var.access_level_rw}" + access_level = var.access_level_rw + }, + logs_ro = { + bucket_name = "${var.s3bucket_name_prefix_manage}-logs" + iam_user_name = "${var.iam_user_name_prefix_manage}-logs-${var.access_level_ro}" + access_level = var.access_level_ro + } + } + + iam_users_by_bucket_manage = { + for bucket_name in distinct([for u in local.s3_iam_users_list_manage : u.bucket_name]) : + bucket_name => [ + for u_key, u_info in local.s3_iam_users_list_manage : + local.iam_user_arns_manage[u_key] + if u_info.bucket_name == bucket_name + ] + } + + bucket_user_names_manage = { + custfiles = "${var.iam_user_name_prefix_manage}-custfiles-${var.access_level_rw}" + doclinks = "${var.iam_user_name_prefix_manage}-doclinks-${var.access_level_rw}" + logs_rw = "${var.iam_user_name_prefix_manage}-logs-${var.access_level_rw}" + logs_ro = "${var.iam_user_name_prefix_manage}-logs-${var.access_level_ro}" + } + + bucket_user_name_map_manage = { + for key, value in local.s3_iam_users_list_manage : + key => lookup(local.bucket_user_names_manage, key, null) + } + #Manage related params for S3 ends +{%- endif %} + + #S3 Actions params starts + s3_actions = { + ro = ["s3:GetObject", "s3:ListBucket"] + rw = ["s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket"] + } + #S3 Actions params ends +{%- endif %} +{%- if (IS_RDS | lower == 'true') %} + #RDS AUDIT LOG S3 Actions params starts + s3_actions_audit_log = { + rw = ["s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload"] + } + #RDS AUDIT LOG S3 Actions params ends +{%- endif %} +{%- if (IS_S3 | lower == 'true') or (IS_RDS | lower == 'true') %} + location = var.location +{%- endif %} + cluster = { + {%- if (IS_S3 | lower == 'true') or (IS_RDS | lower == 'true') %} + instance = { + name = var.instance_name + {%- if S3_MANAGE | lower == 'true' %} + #Manage specific S3 buckets starts + manage_s3buckets = { + doclinks = { + name_prefix = var.name_prefix + create = var.create_bucket + name = "${var.s3bucket_name_prefix_manage}-doclinks" + id = "${var.s3bucket_name_prefix_manage}-doclinks" + access_level = "rw" + s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_manage}-doclinks" + secret_suffix = "manage_attachments/cos-attachments" + cos_secret_format = false + manage_secret_format = true + expiration = null + }, + custfiles = { + name_prefix = var.name_prefix + create = var.create_bucket + name = "${var.s3bucket_name_prefix_manage}-custfiles" + id = "${var.s3bucket_name_prefix_manage}-custfiles" + access_level = "rw" + s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_manage}-custfiles" + secret_suffix = "manage_custfiles/cos-custfiles" + cos_secret_format = false + manage_secret_format = true + expiration = { + days = 366 // how long to keep logs + } + }, + logs_ro = { + name_prefix = var.name_prefix + create = var.create_bucket + name = "${var.s3bucket_name_prefix_manage}-logs" + id = "${var.s3bucket_name_prefix_manage}-logs" + access_level = "ro" + s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_manage}-logs" + secret_suffix = "manage_logging/cos-logging" + cos_secret_format = false + manage_secret_format = true + expiration = null + } + } + #Manage specific S3 buckets ends + {%- endif %} + {%- if (IS_RDS | lower == 'true') %} + {%- if (RDS_MANAGE | lower == 'true') %} + #RDS Manage specific S3 bucket start + rds_s3bucket_manage = { + auditlog-manage = { + name_prefix = var.name_prefix + create = var.create_bucket + name = "${var.s3bucket_name_prefix_db2}-auditlog-manage" + id = "${var.s3bucket_name_prefix_db2}-auditlog-manage" + access_level = "rw" + s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_db2}-auditlog-manage" + secret_suffix = "manage" + cos_secret_format = false + manage_secret_format = false + expiration = { + days = 366 // how long to keep logs + } + } + } + #RDS Manage specific S3 bucket end + {%- endif %} + {%- if (RDS_FACILITIES | lower == 'true') %} + #RDS FACILITIES specific S3 bucket start + rds_s3bucket_facilities = { + auditlog-facilities = { + name_prefix = var.name_prefix + create = var.create_bucket + name = "${var.s3bucket_name_prefix_db2}-auditlog-facilities" + id = "${var.s3bucket_name_prefix_db2}-auditlog-facilities" + access_level = "rw" + s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_db2}-auditlog-facilities" + secret_suffix = "facilities" + cos_secret_format = false + manage_secret_format = false + expiration = { + days = 366 // how long to keep logs + } + } + } + #RDS FACILITIES specific S3 bucket end + {%- endif %} + {%- if (RDS_IOT | lower == 'true') %} + #RDS IOT specific S3 bucket start + rds_s3bucket_iot = { + auditlog-iot = { + name_prefix = var.name_prefix + create = var.create_bucket + name = "${var.s3bucket_name_prefix_db2}-auditlog-iot" + id = "${var.s3bucket_name_prefix_db2}-auditlog-iot" + access_level = "rw" + s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_db2}-auditlog-iot" + secret_suffix = "iot" + cos_secret_format = false + manage_secret_format = false + expiration = { + days = 366 // how long to keep logs + } + } + } + #RDS IOT specific S3 bucket end + {%- endif %} + {%- endif %} + } + + {%- endif %} + {%- if (IS_S3 | lower == 'true') or (IS_RDS | lower == 'true') %} + name = var.cluster_name + {%- endif %} + {%- if (IS_RDS | lower == 'true') %} + #RDS related params starts + cidrs = { + workload_external = {{ CLUSTER_CIDR_WORKLOAD_EXTERNAL }} + workload_internal = {{ CLUSTER_CIDR_WORKLOAD_INTERNAL }} + } + #RDS related params ends + {%- endif %} + {%- if (IS_EFS | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') %} + #EFS/MSK/RDS related params starts + "external_subnet_ids" : data.aws_subnets.external_subnets.ids + "internal_subnet_ids" : data.aws_subnets.internal_subnets.ids + #EFS/MSK/RDS related params ends + {%- endif %} + {%- if (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') %} + #MSK/RDS related params starts + "security_groups" : ["{{ SECURITY_GROUPS_VALUE }}"] + #MSK/RDS related params ends + {%- endif %} + } + + + {%- if IS_EFS | lower == 'true' %} + #EFS config related params starts + multiple-efs = { +{%- if EFS_MANAGE_DB2 == "true" %} + manage-db2 = { + name = join("-", ["efs", var.cluster_name, var.instance_name, "manage-db2"]) + performance_mode = "{{EFS_MANAGE_DB2_PERFORMANCE_MODE}}" + throughput_mode = "{{EFS_MANAGE_DB2_THROUGHPUT_MODE}}" + efs_mount_count = {{EFS_MANAGE_DB2_MOUNT_COUNT}} + } +{%- endif %} +{%- if EFS_MANAGE_MAIN == "true" %} + manage-main = { + name = join("-", ["efs", var.cluster_name, var.instance_name, "manage-main"]) + performance_mode = "{{EFS_MANAGE_MAIN_PERFORMANCE_MODE}}" + throughput_mode = "{{EFS_MANAGE_MAIN_THROUGHPUT_MODE}}" + efs_mount_count = {{EFS_MANAGE_MAIN_MOUNT_COUNT}} + } +{%- endif %} +{%- if EFS_IOT_DB2 == "true" %} + iot-db2 = { + name = join("-", ["efs", var.cluster_name, var.instance_name, "iot-db2"]) + performance_mode = "{{EFS_IOT_DB2_PERFORMANCE_MODE}}" + throughput_mode = "{{EFS_IOT_DB2_THROUGHPUT_MODE}}" + efs_mount_count = {{EFS_IOT_DB2_MOUNT_COUNT}} + } +{%- endif %} +{%- if EFS_VISUALINSPECTION_MAIN == "true" %} + visualinspection-main = { + name = join("-", ["efs", var.cluster_name, var.instance_name, "visualinspection-main"]) + performance_mode = "{{EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE}}" + throughput_mode = "{{EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE}}" + efs_mount_count = {{EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT}} + } +{%- endif %} +{%- if EFS_FACILITIES_DB2 == "true" %} + facilities-db2 = { + name = join("-", ["efs", var.cluster_name, var.instance_name, "facilities-db2"]) + performance_mode = "{{EFS_FACILITIES_DB2_PERFORMANCE_MODE}}" + throughput_mode = "{{EFS_FACILITIES_DB2_THROUGHPUT_MODE}}" + efs_mount_count = {{EFS_FACILITIES_DB2_MOUNT_COUNT}} + } +{%- endif %} +{%- if EFS_FACILITIES_MAIN == "true" %} + facilities-main = { + name = join("-", ["efs", var.cluster_name, var.instance_name, "facilities-main"]) + performance_mode = "{{EFS_FACILITIES_MAIN_PERFORMANCE_MODE}}" + throughput_mode = "{{EFS_FACILITIES_MAIN_THROUGHPUT_MODE}}" + efs_mount_count = {{EFS_FACILITIES_MAIN_MOUNT_COUNT}} + } +{%- endif %} + } + #EFS config related params ends +{%- endif %} + + {%- if IS_MSK | lower == 'true' %} + #MSK config related params starts + multiple-msk = { + msk = { + name = join("-", [var.vpc_name, var.cluster_prefix, var.cluster_name, var.instance_name]) + sre_prefix = "massaas" + secret_name = join("/", [var.name_prefix, var.cluster_name, var.instance_name]) + broker_volume_size = {{MSK_BROKER_VOLUME_SIZE}} + cluster_name = "{{MSK_CLUSTER_USERNAME}}" + broker_nodes = {{MSK_NUMBER_OF_BROKER_NODES}} + instance_type = "{{MSK_INSTANCE_TYPE}}" + kafka_version = "{{MSK_KAFKA_VERSION}}" + } + } + #MSK config related params ends +{%- endif %} +} diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.yaml.j2 deleted file mode 100644 index 6f01b470980..00000000000 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-main.yaml.j2 +++ /dev/null @@ -1,202 +0,0 @@ -{%- if IS_EFS | lower == 'true' -%} -data "aws_subnets" "external_subnets" { - filter { - name = "vpc-id" - values = [var.vpc_id] - } - filter { - name = "cidr-block" - values = {{CLUSTER_CIDR_WORKLOAD_EXTERNAL}} - } -} - -data "aws_subnets" "internal_subnets" { - filter { - name = "vpc-id" - values = [var.vpc_id] - } - filter { - name = "cidr-block" - values = {{CLUSTER_CIDR_WORKLOAD_INTERNAL}} - } -} -{%- endif %} - - -locals { -{%- if IS_S3 | lower == 'true' %} -{%- if S3_MANAGE | lower == 'true' %} - #----Manage related params for S3 starts---- - iam_user_arns_manage = { - custfiles = "${var.iam_user_arn_prefix_manage}-custfiles-${var.access_level_rw}" - doclinks = "${var.iam_user_arn_prefix_manage}-doclinks-${var.access_level_rw}" - logs_rw = "${var.iam_user_arn_prefix_manage}-log-${var.access_level_rw}" - logs_ro = "${var.iam_user_arn_prefix_manage}-log-${var.access_level_ro}" - } - - s3_iam_users_list_manage = { - doclinks = { - bucket_name = "${var.s3bucket_name_prefix_manage}-doclinks" - iam_user_name = "${var.iam_user_name_prefix_manage}-doclinks-${var.access_level_ro}" - access_level = var.access_level_rw - }, - custfiles = { - bucket_name = "${var.s3bucket_name_prefix_manage}-custfiles" - iam_user_name = "${var.iam_user_name_prefix_manage}-custfiles-${var.access_level_rw}" - access_level = var.access_level_rw - }, - logs_rw = { - bucket_name = "${var.s3bucket_name_prefix_manage}-logs" - iam_user_name = "${var.iam_user_name_prefix_manage}-log-${var.access_level_rw}" - access_level = var.access_level_rw - }, - logs_ro = { - bucket_name = "${var.s3bucket_name_prefix_manage}-logs" - iam_user_name = "${var.iam_user_name_prefix_manage}-log-${var.access_level_ro}" - access_level = var.access_level_ro - } - } - - iam_users_by_bucket_manage = { - for bucket_name in distinct([for u in local.s3_iam_users_list_manage : u.bucket_name]) : - bucket_name => [ - for u_key, u_info in local.s3_iam_users_list_manage : - local.iam_user_arns_manage[u_key] - if u_info.bucket_name == bucket_name - ] - } - - bucket_user_names_manage = { - custfiles = "${var.iam_user_name_prefix_manage}-custfiles-${var.access_level_rw}" - doclinks = "${var.iam_user_name_prefix_manage}-doclinks-${var.access_level_rw}" - logs_rw = "${var.iam_user_name_prefix_manage}-log-${var.access_level_rw}" - logs_ro = "${var.iam_user_name_prefix_manage}-log-${var.access_level_ro}" - } - - bucket_user_name_map_manage = { - for key, value in local.s3_iam_users_list_manage : - key => lookup(local.bucket_user_names_manage, key, null) - } - #----Manage related params for S3 ends---- -{%- endif %} - - #----Common S3 params starts---- - s3_actions = { - ro = ["s3:GetObject", "s3:ListBucket"] - rw = ["s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:ListBucket"] - } - - location = var.location - #----Common S3 params ends---- -{%- endif %} - cluster = { - {%- if IS_S3 | lower == 'true' %} - instance = { - name = var.instance_name - {%- if S3_MANAGE | lower == 'true' %} - #----Manage specific S3 buckets starts---- - manage_s3buckets = { - doclinks = { - name_prefix = var.name_prefix - create = var.create_bucket - name = "${var.s3bucket_name_prefix_manage}-doclinks" - id = "${var.s3bucket_name_prefix_manage}-doclinks" - access_level = "rw" - s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_manage}-doclinks" - secret_suffix = "manage_attachments/cos-attachments" - cos_secret_format = false - manage_secret_format = true - expiration = null - }, - custfiles = { - name_prefix = var.name_prefix - create = var.create_bucket - name = "${var.s3bucket_name_prefix_manage}-custfiles" - id = "${var.s3bucket_name_prefix_manage}-custfiles" - access_level = "rw" - s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_manage}-custfiles" - secret_suffix = "manage_custfiles/cos-custfiles" - cos_secret_format = false - manage_secret_format = true - expiration = { - days = 366 // how long to keep logs - } - }, - logs = { - name_prefix = var.name_prefix - create = var.create_bucket - name = "${var.s3bucket_name_prefix_manage}-logs" - id = "${var.s3bucket_name_prefix_manage}-logs" - access_level = "ro" - s3_bucket_arn = "arn:aws:s3:::${var.s3bucket_name_prefix_manage}-logs" - secret_suffix = "manage_logging/cos-logging" - cos_secret_format = false - manage_secret_format = true - expiration = null - } - } - #----Manage specific S3 buckets ends---- - {%- endif %} - } - name = var.cluster_name - {%- endif %} - {%- if IS_EFS | lower == 'true' %} - #----EFS related params starts---- - "external_subnet_ids" : data.aws_subnets.external_subnets.ids - "internal_subnet_ids" : data.aws_subnets.internal_subnets.ids - #----EFS related params ends---- - {%- endif %} - } - - - {%- if IS_EFS | lower == 'true' %} - #----EFS config related params starts---- - multiple-efs = { -{%- if EFS_MANAGE == "true" %} - manage-db2 = { - name = join("-", ["efs", var.cluster_name, var.instance_name, "manage-db2"]) - performance_mode = "{{EFS_MANAGE_DB2_PERFORMANCE_MODE}}" - throughput_mode = "{{EFS_MANAGE_DB2_THROUGHPUT_MODE}}" - efs_mount_count = {{EFS_MANAGE_DB2_MOUNT_COUNT}} - } - manage-main = { - name = join("-", ["efs", var.cluster_name, var.instance_name, "manage-main"]) - performance_mode = "{{EFS_MANAGE_MAIN_PERFORMANCE_MODE}}" - throughput_mode = "{{EFS_MANAGE_MAIN_THROUGHPUT_MODE}}" - efs_mount_count = {{EFS_MANAGE_MAIN_MOUNT_COUNT}} - } -{%- endif %} -{%- if EFS_IOT == "true" %} - iot-db2 = { - name = join("-", ["efs", var.cluster_name, var.instance_name, "iot-db2"]) - performance_mode = "{{EFS_IOT_DB2_PERFORMANCE_MODE}}" - throughput_mode = "{{EFS_IOT_DB2_THROUGHPUT_MODE}}" - efs_mount_count = {{EFS_IOT_DB2_MOUNT_COUNT}} - } -{%- endif %} -{%- if EFS_VISUALINSPECTION == "true" %} - visualinspection-main = { - name = join("-", ["efs", var.cluster_name, var.instance_name, "visualinspection-main"]) - performance_mode = "{{EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE}}" - throughput_mode = "{{EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE}}" - efs_mount_count = {{EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT}} - } -{%- endif %} -{%- if EFS_FACILITIES == "true" %} - facilities-db2 = { - name = join("-", ["efs", var.cluster_name, var.instance_name, "facilities-db2"]) - performance_mode = "{{EFS_FACILITIES_DB2_PERFORMANCE_MODE}}" - throughput_mode = "{{EFS_FACILITIES_DB2_THROUGHPUT_MODE}}" - efs_mount_count = {{EFS_FACILITIES_DB2_MOUNT_COUNT}} - } - facilities-main = { - name = join("-", ["efs", var.cluster_name, var.instance_name, "facilities-main"]) - performance_mode = "{{EFS_FACILITIES_MAIN_PERFORMANCE_MODE}}" - throughput_mode = "{{EFS_FACILITIES_MAIN_THROUGHPUT_MODE}}" - efs_mount_count = {{EFS_FACILITIES_MAIN_MOUNT_COUNT}} - } -{%- endif %} - } - #----EFS config related params ends---- -{%- endif %} -} diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-msk.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-msk.tf.j2 new file mode 100644 index 00000000000..bc54870b03f --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-msk.tf.j2 @@ -0,0 +1,36 @@ +module "msk" { + source = "{{MSK_SOURCE}}" + for_each = local.multiple-msk + + vpc_id = var.vpc_id + secret_recovery_days = 0 + msk_kafka_version = each.value.kafka_version + msk_cluster_name = each.value.name + msk_instance_type = each.value.instance_type + az_distribution = "DEFAULT" + msk_cluster_username = each.value.cluster_name + broker_volume_size = each.value.broker_volume_size + number_of_broker_nodes = each.value.broker_nodes + msk_egress_subnet_ids = local.cluster.external_subnet_ids + msk_ingress_subnet_ids = local.cluster.internal_subnet_ids + msk_worker_subnet_id_list = local.cluster.internal_subnet_ids + + # id of additional security group to associate with cluster + msk_additional_security_groups = local.cluster.security_groups + + cloudwatch_logs_enabled = false + cloudwatch_logs_log_group = null + + firehose_logs_enabled = false + firehose_delivery_stream = "" + + s3_logs_enabled = false + s3_logs_bucket = "" + s3_logs_prefix = "" + + properties = {} + + # prefix added to secret used by MAS Deployment + sre_prefix = each.value.sre_prefix + secret_name = each.value.secret_name +} diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-provider.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-provider.tf.j2 similarity index 100% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-provider.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-provider.tf.j2 diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 new file mode 100644 index 00000000000..38c9b8c3e90 --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 @@ -0,0 +1,55 @@ +data "aws_secretsmanager_secret" "mas-saas-license-db2-{{RDS_APP}}" { + name = join("", ["/", var.name_prefix, "/rds_db2/license"]) +} + +data "aws_secretsmanager_secret_version" "mas-saas-license-db2-{{RDS_APP}}" { + secret_id = data.aws_secretsmanager_secret.mas-saas-license-db2-{{RDS_APP}}.id +} + +locals { + mas-saas-license-db2-json-{{RDS_APP}} = jsondecode(data.aws_secretsmanager_secret_version.mas-saas-license-db2-{{RDS_APP}}.secret_string) + ibm_customer_id_{{RDS_APP}} = local.mas-saas-license-db2-json-{{RDS_APP}}["ibm_customer_id"] + ibm_site_id_{{RDS_APP}} = local.mas-saas-license-db2-json-{{RDS_APP}}["ibm_site_id"] + secret_suffix_{{RDS_APP}} = join("-", ["rds", var.instance_name, "{{RDS_APP}}"]) +} + +module "db2rds-{{RDS_APP}}" { + source = "{{RDS_SOURCE}}" + s3_bucket_dependency = [module.s3buckets_instance_{{RDS_APP}}] + sre_prefix = join("-", [var.cluster_name, var.instance_name, "{{RDS_APP}}"]) + secret_prefix = join("/", [var.name_prefix, var.cluster_name, var.instance_name, "jdbc",join("-", ["rds", var.instance_name, "{{RDS_APP}}"]) ]) + engine = "db2-ae" + vpc_id = var.vpc_id + ibm_customer_id = local.ibm_customer_id_{{RDS_APP}} + ibm_site_id = local.ibm_site_id_{{RDS_APP}} + username = "db2admin" + subnet_grp_id_list = local.cluster.internal_subnet_ids + db2_egress_subnet_ids = local.cluster.external_subnet_ids + db2_ingress_subnet_ids = local.cluster.internal_subnet_ids + db2_additional_ingress_cidrs = local.cluster.cidrs.workload_internal + db2_additional_egress_cidrs = local.cluster.cidrs.workload_external + db2_instance_class = "{{RDS_MANAGE_DB2_INSTANCE_CLASS}}" + db2_storage_type = "gp3" + allocated_storage = {{RDS_MANAGE_ALLOCATED_STORAGE}} + db2_enabled_cloudwatch_logs_exports = ["diag.log", "notify.log"] + db2_additional_security_groups = local.cluster.security_groups + region_name = "{{REGION_NAME}}" + db_name = "BLUDB" + db2_identifier = "rds" + engine_version = var.engine_version + multi_az = false + publicly_accessible = false + parameter_group_family = "db2-ae-11.5" + option_group_name = join("-", [var.cluster_name, var.instance_name, "{{RDS_APP}}", "db2-ae-11-5"]) + db2_preferred_maintenance_window = "sun:05:00-sun:06:00" + backup_retention_period = 30 + monitoring_interval = 30 + db2_preferred_backup_window = "01:00-02:00" + db2_port = "50001" + db2_parameters_file_path = "./db2_parameters-{{RDS_APP}}.yaml" + major_engine_version = "11.5" + s3_bucket_name_for_audit_log = join("-", [var.cluster_name, var.instance_name, "rds", "auditlog", "{{RDS_APP}}"]) + rds_admin_db_name = "rdsadmin" + db2_parameters_apply_type = var.db2_parameters_apply_type + enable_db2_read_replica = false +} diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints-db2.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints-db2.tf.j2 new file mode 100644 index 00000000000..4abc9320e9f --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints-db2.tf.j2 @@ -0,0 +1,28 @@ +resource "time_sleep" "wait_for_iam_{{RDS_S3_APP_NAME}}" { + depends_on = [module.account_policy_{{RDS_S3_APP_NAME}}] + create_duration = "60s" +} + +module "s3buckets_access_point_{{RDS_S3_APP_NAME}}" { + source = "{{ RDS_S3ACCESSPOINT_SOURCE }}" + for_each = { + for k, v in local.cluster.instance.rds_s3bucket_{{RDS_S3_APP_NAME}} : + k => v if can(regex("auditlog-{{RDS_S3_APP_NAME}}", v.name)) + } + + depends_on = [module.s3buckets_instance_{{RDS_S3_APP_NAME}}, module.account_policy_{{RDS_S3_APP_NAME}}, time_sleep.wait_for_iam_{{RDS_S3_APP_NAME}}] + + name_prefix = each.value.name_prefix + s3_access_point_bucket_id = each.value.id + s3_bucket_arn = each.value.s3_bucket_arn + s3_access_point_name = join("-", [var.cluster_name,var.instance_name,"auditlog","{{RDS_S3_APP_NAME}}"]) + s3_access_point_policy_actions = local.s3_actions_audit_log[each.value.access_level] + configure_antivirus = false + + # Dynamically select correct IAM user based on bucket name + s3_access_point_user = local.iam_user_arns_audit_log_{{RDS_S3_APP_NAME}}["audit_logs"] + + account_id = var.account_id + antivirus_lamda_function_arn = "" + vpc_id = var.vpc_id +} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.tf.j2 similarity index 91% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.tf.j2 index fabb3f2a716..721f6008724 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3accesspoints.tf.j2 @@ -1,3 +1,8 @@ +resource "time_sleep" "wait_for_iam" { + depends_on = [module.account_policy] + create_duration = "60s" +} + module "s3buckets_access_point" { source = "{{ S3_SOURCE_S3ACCESSPOINT }}" for_each = { @@ -5,7 +10,7 @@ module "s3buckets_access_point" { k => v if can(regex("log", v.name)) || can(regex("doclinks", v.name)) } - depends_on = [module.s3buckets_instance, module.account_policy] + depends_on = [module.s3buckets_instance, module.account_policy, time_sleep.wait_for_iam] name_prefix = each.value.name_prefix s3_access_point_bucket_id = each.value.id diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance-db2.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance-db2.tf.j2 new file mode 100644 index 00000000000..69f3e80267d --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance-db2.tf.j2 @@ -0,0 +1,19 @@ +module "s3buckets_instance_{{RDS_S3_APP_NAME}}" { + source = "{{RDS_S3_SOURCE}}" + depends_on = [module.account_policy_{{RDS_S3_APP_NAME}}] + tags = var.common_tags + name_prefix = var.name_prefix + s3buckets = local.cluster.instance.rds_s3bucket_{{RDS_S3_APP_NAME}} + iam_user_arns = local.iam_user_arns_audit_log_{{RDS_S3_APP_NAME}} + bucket_user_name_map = local.bucket_user_name_map_audit_log_{{RDS_S3_APP_NAME}} + iam_users_by_bucket = local.iam_users_by_bucket_audit_log_{{RDS_S3_APP_NAME}} + s3_iam_users_list = local.s3_iam_users_list_audit_log_{{RDS_S3_APP_NAME}} + s3_actions = local.s3_actions_audit_log + s3_encryption = true + s3_encryption_algorithm = var.s3_encryption_algorithm + force_bucket_destroy = true + mas_cluster_id = local.cluster.name + mas_instance_id = local.cluster.instance.name + secret_recovery_days = 0 + s3_bucket_region = local.location.region +} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance.tf.j2 similarity index 100% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-s3instance.tf.j2 diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.tf.j2 new file mode 100644 index 00000000000..6142429c9d6 --- /dev/null +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.tf.j2 @@ -0,0 +1,113 @@ +{%- if (IS_EFS | lower == 'true') or (IS_S3 | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') %} +#Common params starts +cluster_name = "{{ CLUSTER_ID}}" +instance_name = "{{ MAS_INSTANCE_ID }}" +vpc_id = "{{ VPC_ID_VALUE}}" +#Common params ends +{%- endif %} + +{%- if (IS_MSK | lower == 'true') %} + +#MSK related params starts +cluster_prefix = "{{MSK_CLUSTER_PREFIX}}" +#MSK related params ends +{%- endif %} + + +{%- if (IS_EFS | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') %} + +#EFS/MSK/RDS related params starts +vpc_name = "{{ VPC_NAME_VALUE }}" +#EFS/MSK/RDS related params ends +{%- endif %} + +{%- if (IS_S3 | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') %} +#S3/MSK related params starts +name_prefix = "{{ NAME_PREFIX_VALUE }}" +#S3/MSK related params ends +{%- endif %} + +{%- if IS_S3 | lower == 'true' %} +#S3 related params starts +{%- if S3_MANAGE | lower == 'true' %} +#S3 Manage related params starts +s3bucket_name_prefix_manage = "massaas-cos-{{MAS_INSTANCE_ID}}-{{CLUSTER_ID}}" +iam_user_name_prefix_manage = "massaas-cos-{{MAS_INSTANCE_ID}}-{{CLUSTER_ID}}-sid" +iam_user_arn_prefix_manage = "arn:aws:iam::{{ACCOUNT_ID}}:user/massaas-cos-{{MAS_INSTANCE_ID}}-{{CLUSTER_ID}}-sid" +s3_iam_users_list_manage = { + doclinks = { + iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-doclinks-rw" + }, + custfiles = { + iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-custfiles-rw" + }, + logs_rw = { + iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-logs-rw" + }, + logs_ro = { + iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-logs-ro" + } +} +#S3 Manage related params ends +{%- endif %} + +#S3 related params ends +{%- endif %} + +{%- if (IS_S3 | lower == 'true') or (IS_RDS | lower == 'true') %} +#S3/RDS related params starts +create_bucket = true +s3_encryption_algorithm = "AES256" +common_tags = { + "source" = "terraform", + "environment" = "{{ENVIRONMENT_VALUE}}", + "owner" = "{{OWNER_VALUE}}", + "contact" = "{{CONTACT_VALUE}}", + "cost-center" = "{{COST_CENTER_VALUE}}" +} +location = { + region = "{{REGION_NAME}}" + availability_zones = ["{{REGION_NAME}}a", "{{REGION_NAME}}b", "{{REGION_NAME}}c"] +} +create_s3_iam_group = false +create_s3_iam_policy = false +create_efs_policy = false +account_id = "{{ACCOUNT_ID}}" +#S3/RDS related params ends +{%- endif %} +{%- if (IS_RDS | lower == 'true') %} +#RDS related params starts +engine_version = "11.5.9.0.sb00063198.r1" +db2_parameters_apply_type = "pending-reboot" +s3bucket_name_prefix_db2 = "{{CLUSTER_ID}}-{{MAS_INSTANCE_ID}}-rds" +iam_user_name_prefix_audit_log = "{{CLUSTER_ID}}-{{MAS_INSTANCE_ID}}-rds" +iam_user_arn_prefix_audit_log = "arn:aws:iam::{{ACCOUNT_ID}}:user/{{CLUSTER_ID}}-{{MAS_INSTANCE_ID}}-rds" +{%- if (RDS_MANAGE | lower == 'true') %} +#RDS S3 MANAGE AUDIT LOG related params starts +s3_iam_users_list_audit_log_manage = { + audit_logs = { + iam_user_name = "{{CLUSTER_ID}}-{{MAS_INSTANCE_ID}}-rds-auditlog-manage" + } +} +#RDS S3 MANAGE AUDIT LOG related params ends +{%- endif %} +{%- if (RDS_IOT | lower == 'true') %} +#RDS S3 IOT AUDIT LOG related params starts +s3_iam_users_list_audit_log_iot = { + audit_logs = { + iam_user_name = "{{CLUSTER_ID}}-{{MAS_INSTANCE_ID}}-rds-auditlog-iot" + } +} +#RDS S3 IOT AUDIT LOG related params ends +{%- endif %} +{%- if (RDS_FACILITIES | lower == 'true') %} +#RDS S3 FACILITIES AUDIT LOG related params starts +s3_iam_users_list_audit_log_facilities = { + audit_logs = { + iam_user_name = "{{CLUSTER_ID}}-{{MAS_INSTANCE_ID}}-rds-auditlog-facilities" + } +} +#RDS S3 FACILITIES AUDIT LOG related params ends +{%- endif %} +#RDS related params ends +{%- endif %} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.yaml.j2 deleted file mode 100644 index b9ad053156a..00000000000 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-terraformtfvars.yaml.j2 +++ /dev/null @@ -1,63 +0,0 @@ -{%- if (IS_EFS | lower == 'true') or (IS_S3 | lower == 'true') %} -#----Common params starts---- -cluster_name = "{{ CLUSTER_ID}}" -instance_name = "{{ MAS_INSTANCE_ID }}" -vpc_id = "{{ VPC_ID_VALUE}}" -#----Common params ends---- -{%- endif %} - - -{%- if IS_EFS | lower == 'true' %} - -#----EFS related params starts---- -vpc_name = "{{ VPC_NAME_VALUE }}" -#----EFS related params ends---- -{%- endif %} - - - -{%- if IS_S3 | lower == 'true' %} - -#----S3 related params starts---- -name_prefix = "{{ NAME_PREFIX_VALUE }}" -create_s3_iam_group = false -create_s3_iam_policy = false -create_efs_policy = false -common_tags = { - "source" = "terraform", - "environment" = "{{ENVIRONMENT_VALUE}}", - "owner" = "{{OWNER_VALUE}}", - "contact" = "{{CONTACT_VALUE}}", - "cost-center" = "{{COST_CENTER_VALUE}}" -} -create_bucket = true -s3_encryption_algorithm = "AES256" -account_id = "{{ACCOUNT_ID}}" -location = { - region = "{{REGION_NAME}}" - availability_zones = ["{{REGION_NAME}}a", "{{REGION_NAME}}b", "{{REGION_NAME}}c"] -} -{%- if S3_MANAGE | lower == 'true' %} -#----S3 Manage related params starts---- -s3bucket_name_prefix_manage = "massaas-cos-{{MAS_INSTANCE_ID}}-{{CLUSTER_ID}}" -iam_user_name_prefix_manage = "massaas-cos-{{MAS_INSTANCE_ID}}-{{CLUSTER_ID}}-sid" -iam_user_arn_prefix_manage = "arn:aws:iam::{{ACCOUNT_ID}}:user/massaas-cos-{{MAS_INSTANCE_ID}}-{{CLUSTER_ID}}-sid" -s3_iam_users_list_manage = { - doclinks = { - iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-doclinks-rw" - }, - custfiles = { - iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-custfiles-rw" - }, - logs_rw = { - iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-log-rw" - }, - logs_ro = { - iam_user_name = "massaas-cos-{{ MAS_INSTANCE_ID }}-{{ CLUSTER_ID }}-sid-log-ro" - } -} -#----S3 Manage related params ends---- -{%- endif %} - -#----S3 related params ends---- -{%- endif %} \ No newline at end of file diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.tf.j2 similarity index 55% rename from image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.yaml.j2 rename to image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.tf.j2 index dc176562faa..2ce41417cd0 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-variables.tf.j2 @@ -1,4 +1,4 @@ -{%- if (IS_S3 | lower == 'true') or (IS_EFS | lower == 'true')%} +{%- if (IS_S3 | lower == 'true') or (IS_EFS | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true') %} variable "instance_name" { type = string description = "Name of Instance" @@ -13,7 +13,15 @@ variable "vpc_id" { description = "ID of VPC" } {%- endif %} -{%- if IS_EFS | lower == 'true'%} +{%- if IS_MSK | lower == 'true'%} + +variable "cluster_prefix" { + type = string + description = "Cluster Prefix" +} +{%- endif %} + +{%- if (IS_EFS | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true')%} variable "vpc_name" { type = string @@ -21,31 +29,17 @@ variable "vpc_name" { } {%- endif %} -{%- if IS_S3 | lower == 'true'%} +{%- if (IS_S3 | lower == 'true') or (IS_MSK | lower == 'true') or (IS_RDS | lower == 'true')%} variable "name_prefix" { type = string description = "name_prefix" } +{%- endif %} -variable "account_id" { - type = string - description = "account id" -} -variable "create_s3_iam_group" { - type = bool - description = "Whether to create s3 iam group or not" -} +{%- if IS_S3 | lower == 'true'%} -variable "create_s3_iam_policy" { - type = bool - description = "Whether to create s3 iam group or not" -} -variable "create_efs_policy" { - type = bool - description = "Whether to create efs policy or not" -} variable "s3_iam_users_list_manage" { description = "s3 user list" @@ -66,16 +60,52 @@ variable "access_level_ro" { default = "ro" } -variable "common_tags" { - type = map(string) - description = "Common resource tags" + +{%- if S3_MANAGE | lower == 'true'%} +variable "s3bucket_name_prefix_manage" { + type = string + description = "s3 bucket name prefix" +} +variable "iam_user_name_prefix_manage" { + type = string + description = "iam user name prefix" +} +variable "iam_user_arn_prefix_manage" { + type = string + description = "iam user arn" +} +{%- endif %} +{%- endif %} +{%- if (IS_S3 | lower == 'true') or (IS_RDS | lower == 'true')%} +variable "s3_encryption_algorithm" { + type = string + description = "s3 encryption algorithm" +} +variable "create_s3_iam_policy" { + type = bool + description = "Whether to create s3 iam group or not" +} +variable "create_efs_policy" { + type = bool + description = "Whether to create efs policy or not" } +variable "account_id" { + type = string + description = "account id" +} variable "create_bucket" { type = bool description = "Enable creation of bucket" } - +variable "common_tags" { + type = map(string) + description = "Common resource tags" +} +variable "create_s3_iam_group" { + type = bool + description = "Whether to create s3 iam group or not" +} variable "location" { type = object({ region = string @@ -87,24 +117,60 @@ variable "location" { availability_zones = ["us-east-1a", "us-east-1b", "us-east-1c"] } } +{%- endif %} -variable "s3_encryption_algorithm" { +{%- if (IS_RDS | lower == 'true')%} +variable "s3bucket_name_prefix_db2" { type = string - description = "s3 encryption algorithm" + description = "s3 bucket name prefix for RDS DB2" +} +variable "engine_version" { + type = string + description = "Db2 engine version" } -{%- if S3_MANAGE | lower == 'true'%} -variable "s3bucket_name_prefix_manage" { - type = string - description = "s3 bucket name prefix" +variable "db2_parameters_apply_type" { + type = string + description = "db2 parameters apply type" } -variable "iam_user_name_prefix_manage" { - type = string - description = "iam user name prefix" + +variable "access_level_audit_log_rw" { + type = string + description = "read and write" + default = "rw" } -variable "iam_user_arn_prefix_manage" { - type = string - description = "iam user arn" + +variable "iam_user_arn_prefix_audit_log" { + type = string + description = "iam user arn" +} +variable "iam_user_name_prefix_audit_log" { + type = string + description = "iam user name prefix" +} +{%- if (RDS_MANAGE | lower == 'true')%} +variable "s3_iam_users_list_audit_log_manage" { + description = "s3 user list" + type = map(object({ + iam_user_name = string + })) } {%- endif %} -{%- endif %} \ No newline at end of file +{%- if (RDS_IOT | lower == 'true')%} +variable "s3_iam_users_list_audit_log_iot" { + description = "s3 user list" + type = map(object({ + iam_user_name = string + })) +} +{%- endif %} +{%- if (RDS_FACILITIES | lower == 'true')%} +variable "s3_iam_users_list_audit_log_facilities" { + description = "s3 user list" + type = map(object({ + iam_user_name = string + })) +} +{%- endif %} +{%- endif %} + diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-mas-instance-base.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-mas-instance-base.yaml.j2 index 823961cbae8..41d26b64534 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-mas-instance-base.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-mas-instance-base.yaml.j2 @@ -35,6 +35,18 @@ allow_list: {{ ALLOW_LIST }} additional_vpn: {{ ADDITIONAL_VPN }} {% endif %} +{% if APPLICATION_CONFIGURATION is defined and APPLICATION_CONFIGURATION != '' %} +application_configuration: {{ APPLICATION_CONFIGURATION }} +{% endif %} + +use_postdelete_hooks: {{ USE_POSTDELETE_HOOKS }} +{% if ADDITIONAL_RESOURCES_INSTANCES is defined and ADDITIONAL_RESOURCES_INSTANCES != '' %} +additional_resources: +{%- set instances_yaml = ADDITIONAL_RESOURCES_INSTANCES | toYaml | to_nice_yaml(indent=2) %} + instances: +{{ instances_yaml | indent(4, first=True) }} +{% endif %} + {% if EXTENSIONS is defined and EXTENSIONS != '' %} extensions: {{ EXTENSIONS }} {% endif %} diff --git a/image/cli/mascli/templates/gitops/bootstrap/argocd.yaml.j2 b/image/cli/mascli/templates/gitops/bootstrap/argocd.yaml.j2 index 13087e5e971..b3ffc8562d7 100644 --- a/image/cli/mascli/templates/gitops/bootstrap/argocd.yaml.j2 +++ b/image/cli/mascli/templates/gitops/bootstrap/argocd.yaml.j2 @@ -155,6 +155,29 @@ spec: hs.message = "" return hs + config.mas.ibm.com/AppCfg: + health.lua: | + hs = {} + if obj.status ~= nil then + if obj.status.conditions ~= nil then + for i, condition in ipairs(obj.status.conditions) do + if condition.type == "Failure" and condition.status == "True" then + hs.status = "Degraded" + hs.message = condition.message + return hs + end + if condition.type == "Successful" and condition.status == "True" then + hs.status = "Healthy" + hs.message = condition.message + return hs + end + end + end + end + hs.status = "Progressing" + hs.message = "" + return hs + apps.mas.ibm.com/AIServiceTenant: health.lua: | hs = {} diff --git a/image/cli/mascli/templates/gitops/bootstrap/subscription.yaml b/image/cli/mascli/templates/gitops/bootstrap/subscription.yaml index f40037cb59f..02b536eb125 100644 --- a/image/cli/mascli/templates/gitops/bootstrap/subscription.yaml +++ b/image/cli/mascli/templates/gitops/bootstrap/subscription.yaml @@ -5,7 +5,7 @@ metadata: name: openshift-gitops namespace: openshift-operators spec: - channel: gitops-1.16 + channel: gitops-1.17 installPlanApproval: Automatic name: openshift-gitops-operator source: redhat-operators diff --git a/image/cli/masfvt/fvt-manage-ai.yml b/image/cli/masfvt/fvt-manage-ai.yml new file mode 100644 index 00000000000..fb04279422e --- /dev/null +++ b/image/cli/masfvt/fvt-manage-ai.yml @@ -0,0 +1,49 @@ +--- +- hosts: localhost + any_errors_fatal: true + vars: + # Image Pull Policy + image_pull_policy: "{{ lookup('env', 'IMAGE_PULL_POLICY') }}" + # MAS Details + mas_app_channel_manage: "{{ lookup('env', 'MAS_APP_CHANNEL_MANAGE') }}" + mas_instance_id: "{{ lookup('env', 'MAS_INSTANCE_ID') }}" + mas_workspace_id: "{{ lookup('env', 'MAS_WORKSPACE_ID') }}" + mas_appws_components: "{{ lookup('env', 'MANAGE_COMPONENTS') }}" + # AI Service Details + aiservice_instance_id: "{{ lookup('env', 'AISERVICE_INSTANCE_ID') }}" + # FVT Configuration + fvt_image_registry: "{{ lookup('env', 'FVT_IMAGE_REGISTRY') }}" + fvt_artifactory_username: "{{ lookup('env', 'FVT_ARTIFACTORY_USERNAME') }}" + fvt_artifactory_token: "{{ lookup('env', 'FVT_ARTIFACTORY_TOKEN') }}" + fvt_digest_manage_pytest: "{{ lookup('env', 'FVT_DIGEST_MANAGE_PYTEST') }}" + # Pipeline Run Info + devops_build_number: "{{ lookup('env', 'DEVOPS_BUILD_NUMBER') | default('0', True) }}" + pipelinerun_name: "{{ lookup('env', 'PIPELINERUN_NAME') | default('mas-fvt-manage-ai', True) }}-{{ devops_build_number }}" + pipelinerun_namespace: "{{ lookup('env', 'PIPELINERUN_NAMESPACE') | default('mas-' ~ mas_instance_id ~ '-pipelines', True) }}" + tasks: + - name: "Validate AI Service Instance ID" + fail: + msg: "AISERVICE_INSTANCE_ID is required for Manage AI FVT tests but was not provided" + when: aiservice_instance_id is not defined or aiservice_instance_id == "" + + - name: "Debug" + debug: + msg: + - "pipelinerun_name ................ {{ pipelinerun_name }}" + - "pipelinerun_namespace ........... {{ pipelinerun_namespace }}" + - "" + - "mas_app_channel_manage .......... {{ mas_app_channel_manage }}" + - "mas_instance_id ................. {{ mas_instance_id }}" + - "mas_workspace_id ................ {{ mas_workspace_id }}" + - "mas_appws_components ............ {{ mas_appws_components }}" + - "aiservice_instance_id ........... {{ aiservice_instance_id }}" + - "" + - "fvt_image_registry .............. {{ fvt_image_registry }}" + - "fvt_artifactory_username ........ {{ fvt_artifactory_username }}" + - "fvt_artifactory_token ........... {{ fvt_artifactory_token }}" + - "fvt_digest_manage_pytest ........ {{ fvt_digest_manage_pytest }}" + + - name: "Start fvt-manage-ai pipeline" + kubernetes.core.k8s: + apply: true + template: templates/mas-fvt-manage-ai.yml.j2 diff --git a/image/cli/masfvt/templates/mas-fvt-manage-ai.yml.j2 b/image/cli/masfvt/templates/mas-fvt-manage-ai.yml.j2 new file mode 100644 index 00000000000..533f0e0cfa1 --- /dev/null +++ b/image/cli/masfvt/templates/mas-fvt-manage-ai.yml.j2 @@ -0,0 +1,52 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: PipelineRun +metadata: + name: "{{ pipelinerun_name }}" + namespace: "{{ pipelinerun_namespace }}" + labels: + tekton.dev/pipeline: mas-fvt-manage-ai +spec: + pipelineRef: + name: mas-fvt-manage-ai + + serviceAccountName: pipeline + timeouts: + pipeline: "8h" + + params: + # Pull Policy + - name: image_pull_policy + value: "{{ image_pull_policy }}" + # MAS Info + - name: mas_app_channel_manage + value: "{{ mas_app_channel_manage }}" + - name: mas_instance_id + value: "{{ mas_instance_id }}" + - name: mas_workspace_id + value: "{{ mas_workspace_id }}" + - name: mas_appws_components + value: "{{ mas_appws_components }}" + # AI Service Info + - name: aiservice_instance_id + value: "{{ aiservice_instance_id }}" + # Registry + - name: fvt_image_registry + value: "{{ fvt_image_registry }}" + - name: fvt_artifactory_username + value: "{{ fvt_artifactory_username }}" + - name: fvt_artifactory_token + value: "{{ fvt_artifactory_token }}" + # Digests + - name: fvt_digest_manage_pytest + value: "{{ fvt_digest_manage_pytest }}" + + workspaces: + # The generated configuration files + - name: shared-configs + persistentVolumeClaim: + claimName: config-pvc + # PodTemplates configurations + - name: shared-pod-templates + secret: + secretName: pipeline-pod-templates diff --git a/mkdocs.yml b/mkdocs.yml index 0ed5c385a9d..effea6e9fed 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -12,17 +12,15 @@ nav: - "Image Mirroring": guides/image-mirroring.md - "Image Validation": guides/image-validation.md - "Install": guides/install.md + - "AI Service Standalone Install": guides/aiservice-install.md - "Update": guides/update.md - "Upgrade": guides/upgrade.md - "Uninstall": guides/uninstall.md - - "MRE&F External DB Setup": guides/facilities-external-db.md - "Examples": - "EAM Migration": examples/eam-migration.md - "Mirror Db2 Images": examples/mirror-db2.md - "Minimal RBAC": examples/minimal-rbac.md - "Command Reference": - - "update": commands/update.md - - "upgrade": commands/upgrade.md - "uninstall": commands/uninstall.md - "must-gather": commands/must-gather.md - "configure-airgap": commands/configure-airgap.md @@ -35,10 +33,10 @@ nav: - "configtool-oidc": commands/configtool-oidc.md - "Operator Catalogs": - "Overview": catalogs/index.md - - "Dec 24 2025": catalogs/v9-251224-amd64.md + - "Jan 29 2026": catalogs/v9-260129-amd64.md + - "Dec 31 2025": catalogs/v9-251231-amd64.md - "Nov 27 2025": catalogs/v9-251127-amd64.md - "Oct 30 2025": catalogs/v9-251030-amd64.md - - "Oct 10 2025": catalogs/v9-251010-amd64.md - "Reference": - "Dependencies": reference/dependencies.md - "Topology": reference/topology.md @@ -63,7 +61,7 @@ extra_css: markdown_extensions: - toc: - permalink: "¤" + permalink: true - admonition # https://squidfunk.github.io/mkdocs-material/extensions/admonition/ # Note @@ -81,6 +79,8 @@ markdown_extensions: plugins: - search: {} + - mas_catalogs + - mas_cli - redirects: redirect_maps: "guides/architecture/core.md": "https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=reference-maximo-application-suite-core-services" @@ -88,6 +88,8 @@ plugins: "guides/choosing-the-right-catalog.md": "catalogs/index.md" "commands/mirror-images.md": "guides/image-mirroring.md" "commands/install.md": "guides/install.md" + "commands/update.md": "guides/update.md" + "commands/upgrade.md": "guides/upgrade.md" - glightbox: shadow: true caption_position: bottom diff --git a/mkdocs_plugins/README.md b/mkdocs_plugins/README.md new file mode 100644 index 00000000000..89352332cc9 --- /dev/null +++ b/mkdocs_plugins/README.md @@ -0,0 +1,548 @@ +# MkDocs MAS Plugins + +Custom MkDocs plugins for IBM Maximo Application Suite documentation, eliminating duplication and ensuring documentation stays synchronized with code. + +## Overview + +This package provides two complementary plugins that dynamically generate documentation from authoritative sources: + +1. **MAS Catalogs Plugin (`mas_catalogs`)** - Dynamically inject MAS catalog metadata from python-devops +2. **MAS CLI Plugin (`mas_cli`)** - Automatically generate CLI documentation from Python argparse configurations + +Both plugins eliminate manual documentation maintenance and ensure content stays synchronized with code. + +## Installation + +### From CLI Project Root + +```bash +cd mkdocs_plugins +pip uninstall mkdocs-mas-plugins -y # Remove any old versions +pip install -e . +cd .. +``` + +### Package Information + +**Package Name**: `mkdocs-mas-plugins` +**Version**: 0.2.0 +**Plugins Included**: `mas_catalogs`, `mas_cli` + +## Configuration + +Add to `mkdocs.yml`: + +```yaml +plugins: + - search: {} + - mas_catalogs # Catalog documentation plugin + - mas_cli # CLI documentation plugin + - redirects: + ... +``` + +--- + +# MAS Catalogs Plugin + +Dynamically inject MAS catalog metadata from python-devops, eliminating documentation duplication. + +## Problem Solved + +Previously, each catalog documentation page contained a hardcoded HTML table: + +```markdown +Details +------------------------------------------------------------------------------- + + + + + +
    Imageicr.io/cpopen/ibm-maximo-operator-catalog
    Tagv9-251231-amd64
    Digestsha256:ecad371a50e030ce93ca00d73ef3b8b95f1305158800a077758c74ff4cf65623
    +``` + +This created several issues: +- **Duplication**: Same table structure repeated across 70+ files +- **Maintenance burden**: Format changes required updating all files +- **Data inconsistency risk**: Manual updates could lead to errors +- **No single source of truth**: Catalog metadata already exists in python-devops + +## Solution + +Replace hardcoded tables with simple directives that pull metadata dynamically: + +```markdown +:::mas-catalog-details +``` + +## Usage + +The plugin provides four directives for catalog documentation: + +### 1. Details Section +```markdown +:::mas-catalog-details +``` +Renders the catalog Details table with Image, Tag, and Digest. + +### 2. Manual Installation +```markdown +:::mas-catalog-install +``` +Renders the `oc apply` command for manual installation. + +### 3. Source YAML +```markdown +:::mas-catalog-source +``` +Renders the complete CatalogSource YAML definition. + +### 4. OCP Compatibility Matrix +```markdown +:::mas-catalog-ocp-compatibility-matrix +``` +Renders the OpenShift Container Platform compatibility matrix table with GA dates, Standard Support, and Extended Support information. This directive is only applicable to catalogs from v9-250109 onwards, as older catalogs don't have OCP compatibility metadata in python-devops. + +### Example + +In catalog markdown files (e.g., `docs/catalogs/v9-251127-amd64.md`): + +```markdown +IBM Maximo Operator Catalog v9 (251127) +=============================================================================== + +:::mas-catalog-details + +What's New +------------------------------------------------------------------------------- +... + +Known Issues +------------------------------------------------------------------------------- +... + +:::mas-catalog-install + + +:::mas-catalog-source + +Red Hat OpenShift Container Platform Support +------------------------------------------------------------------------------- +For more information about the OCP lifecycle refer to the [Red Hat OpenShift Container Platform Life Cycle Policy](https://access.redhat.com/support/policy/updates/openshift/). + +IBM Maximo Application Suite customers receive a standard Red Hat OpenShift Container Platform subscription as part of their purchase. This includes 18 months of maintenance support for each OpenShift minor release. A further 6 months support is available to purchase as an Extended Update Support (EUS) Add-on to x86-64 versions of Red Hat OpenShift Kubernetes Engine, Red Hat OpenShift Container Platform, and Red Hat OpenShift Platform Plus Standard subscriptions. + +:::mas-catalog-ocp-compatibility-matrix +... +``` + +**No parameters needed!** The plugin automatically: +1. Detects the catalog tag from the filename (`v9-251127-amd64.md` → `v9-251127-amd64`) +2. Loads metadata from `mas.devops.data.getCatalog()` +3. Renders all sections with the correct tag and digest + +## How It Works + +The plugin: +- Tries to import `mas.devops.data` from installed package +- Falls back to local python-devops directory for development +- Extracts the catalog tag from the page filename +- Calls `getCatalog(tag)` to load metadata +- Replaces directives with rendered content +- Shows an error if the catalog metadata is not found + +## Benefits + +1. **Single Source of Truth**: Catalog metadata lives in python-devops +2. **Reduced Duplication**: Eliminated 1,736 lines of repeated HTML and YAML across 74 files +3. **Easier Maintenance**: Format changes only need plugin updates +4. **Consistency**: All catalog pages use the same rendering logic +5. **Extensibility**: Framework ready for additional directives + +## Implementation Results + +**Files Updated**: 72 catalog documentation files +**Lines Removed**: 554 (duplicated HTML tables) +**Lines Added**: 72 (simple directives) +**Net Reduction**: 482 lines of duplicated code + +### Clean Git Diff + +``` +74 files changed, 220 insertions(+), 1,956 deletions(-) +``` + +--- + +# MAS CLI Plugin + +Automatically generate CLI documentation from Python argparse configurations, eliminating manual documentation maintenance and ensuring CLI help text stays synchronized with code. + +## Problem Solved + +Previously, CLI command documentation had to be manually written and maintained: + +```markdown +Usage +------------------------------------------------------------------------------- +For full usage information run `mas install --help` +``` + +This created several issues: +- **Documentation drift**: Help text in code vs. documentation could become inconsistent +- **Maintenance burden**: Changes to CLI arguments required updating multiple locations +- **Duplication**: Same information existed in argparse and markdown files +- **No single source of truth**: The argparse configuration should be authoritative + +## Solution + +Replace manual documentation with a simple directive that generates comprehensive documentation from the argparse configuration: + +```markdown +:::mas-cli-usage +module: mas.cli.install.argParser +parser: installArgParser +::: +``` + +## Usage + +### Directive Syntax + +```markdown +:::mas-cli-usage +module: mas.cli.install.argParser +parser: installArgParser +ignore_description: true +ignore_epilog: true +::: +``` + +**Parameters:** +- `module` (required): Python module path containing the ArgumentParser (e.g., `mas.cli.install.argParser`) +- `parser` (required): Variable name of the ArgumentParser instance (e.g., `installArgParser`) +- `ignore_description` (optional): If `true`, skip the description section (default: `false`) +- `ignore_epilog` (optional): If `true`, skip the epilog section (default: `false`) + +### Example + +In documentation files (e.g., `docs/guides/install.md`): + +```markdown +Installation +=============================================================================== + +:::mas-cli-usage +module: mas.cli.install.argParser +parser: installArgParser +ignore_description: true +ignore_epilog: true +::: + +Preparation +------------------------------------------------------------------------------- +... +``` + +**The plugin automatically:** +1. Imports the specified module +2. Extracts the ArgumentParser instance +3. Generates comprehensive markdown documentation with: + - Usage synopsis + - Description (unless ignored) + - All argument groups as organized HTML tables + - Type information, choices, and defaults + - Help text for each option + - Epilog (unless ignored) + +## Generated Output + +The plugin generates well-structured markdown documentation with HTML tables for precise formatting: + +### Usage Section +```markdown +## Usage + +```bash +mas install [OPTIONS] +``` +``` + +### Description Section (Optional) +```markdown +### Description + +IBM Maximo Application Suite Admin CLI v1.0.0 +Install MAS by configuring and launching the MAS Install Tekton Pipeline. + +Interactive Mode: +Omitting the --instance-id option will trigger an interactive prompt +``` + +### Argument Groups + +Each argument group from the argparse configuration becomes a section with an HTML table: + +```markdown +### MAS Catalog Selection & Entitlement + + + + + + + + + + + + + + + + + + + + + + + + ... + +
    OptionTypeDefaultDescription
    -c, --mas-catalog-versionstring-IBM Maximo Operator Catalog to install
    +``` + +### Table Columns + +1. **Option**: Short and long flags (e.g., `-i`, `--mas-instance-id`) +2. **Type**: + - `string` for string arguments + - `{choice1,choice2}` for choice-based arguments + - `flag` for boolean flags + - `int` for integer arguments +3. **Default**: Default value or `-` if none +4. **Description**: Help text from argparse + +## How It Works + +The plugin: +1. Registers with MkDocs as `mas_cli` +2. Scans markdown files for `:::mas-cli-usage` directives +3. Parses directive parameters (module, parser name, and optional flags) +4. Dynamically imports the specified module +5. Extracts the ArgumentParser instance +6. Iterates through all argument groups +7. Generates HTML tables for each group with fixed column widths +8. Replaces the directive with formatted markdown +9. **Raises exceptions on errors to fail the build** (CI/CD friendly) + +**Important**: +- The plugin tries to import from installed packages first +- Falls back to `../python/src/` for development +- **Build will fail** if the module cannot be imported or the parser is not found +- This ensures CI/CD pipelines catch documentation issues early + +## Benefits + +1. **Single Source of Truth**: Argparse configuration is the authoritative source +2. **Always Up-to-Date**: Documentation automatically reflects code changes +3. **Consistency**: All CLI commands documented with same format +4. **Reduced Maintenance**: No manual documentation updates needed +5. **Type Safety**: Actual types and choices from argparse +6. **Comprehensive**: All 200+ arguments automatically documented +7. **Extensibility**: Easy to add more CLI commands +8. **Precise Formatting**: HTML tables with fixed column widths for consistent appearance + +## Implementation Results + +**Plugin Created**: `mkdocs_mas_cli` package with 2 modules +**Lines of Code**: ~400 lines (plugin + formatter) +**Documentation Updated**: `docs/guides/install.md` +**Configuration Updated**: `mkdocs.yml`, `setup.py` + +### Files Created + +- `mkdocs_plugins/mkdocs_mas_cli/__init__.py` - Plugin implementation (~125 lines) +- `mkdocs_plugins/mkdocs_mas_cli/formatter.py` - Markdown/HTML formatter (~280 lines) + +### Files Modified + +- `mkdocs_plugins/setup.py` - Added mas_cli plugin entry point +- `mkdocs.yml` - Registered mas_cli plugin +- `docs/guides/install.md` - Replaced manual usage with directive + +## Error Handling + +The plugin provides clear error messages and **fails the build** for common issues: + +### Module Not Found +``` +ImportError: Could not import mas.cli.install.argParser. +Tried adding /path/to/python/src to sys.path. +Original error: No module named 'mas.cli' +``` + +### Parser Not Found +``` +AttributeError: Module mas.cli.install.argParser does not have attribute 'installArgParser' +``` + +### Invalid Parser +``` +TypeError: installArgParser is not an ArgumentParser instance +``` + +## Testing + +### Manual Testing + +1. **Install Plugin** + ```bash + cd mkdocs_plugins + pip install -e . + cd .. + ``` + +2. **Build Documentation** + ```bash + mkdocs serve + ``` + +3. **Verify Output** + Visit http://localhost:8000/guides/install/ and verify: + - [ ] Usage section displays correctly + - [ ] Description is formatted properly (if not ignored) + - [ ] All argument groups are present + - [ ] HTML tables render with consistent column widths + - [ ] Options are properly formatted + - [ ] Choices display as inline code + - [ ] Defaults show correctly + - [ ] Help text is readable + - [ ] Epilog appears (if not ignored) + +## Extending the Plugin + +### Support Multiple Commands + +Document multiple CLI commands in one page: + +```markdown +## Install Command +:::mas-cli-usage +module: mas.cli.install.argParser +parser: installArgParser +::: + +## Update Command +:::mas-cli-usage +module: mas.cli.update.argParser +parser: updateArgParser +::: +``` + +### Custom Formatting Options + +Use optional parameters to control output: + +```markdown +:::mas-cli-usage +module: mas.cli.install.argParser +parser: installArgParser +ignore_description: true +ignore_epilog: true +::: +``` + +## Troubleshooting + +### Issue: Plugin not registered + +```bash +cd mkdocs_plugins +pip uninstall mkdocs-mas-plugins -y +pip install -e . +python -c "import mkdocs_mas_cli; print('OK')" +``` + +### Issue: Module dependencies missing + +Ensure you're running in the correct virtual environment with all CLI dependencies installed. + +### Issue: Table formatting broken + +The plugin uses HTML tables with fixed column widths. If tables appear broken, check for: +- Unescaped HTML characters in help text (automatically escaped by the plugin) +- Very long option names or descriptions (may need CSS adjustments) + +--- + +# Package Structure + +``` +mkdocs_plugins/ +├── mkdocs_mas_cli/ # CLI documentation plugin +│ ├── __init__.py # Plugin implementation +│ └── formatter.py # Markdown/HTML formatting +├── mkdocs_mas_catalogs/ # Catalog documentation plugin +│ └── __init__.py # Plugin implementation +├── setup.py # Package configuration +└── README.md # This file +``` + +## Requirements + +**Production:** +- `mas.devops` package (for catalogs plugin) +- `mas.cli` package (for CLI plugin) +- `mkdocs >= 1.0` +- `pyyaml` + +**Development:** +- python-devops project in `../python-devops/` (for catalogs plugin) +- CLI source code in `../python/src/` (for CLI plugin) + +## Future Enhancements + +### Catalogs Plugin +- `:::mas-catalog-whats-new` - Auto-generate from release notes +- `:::mas-catalog-known-issues` - Pull from metadata +- `:::mas-catalog-versions` - Show OCP/MAS app compatibility matrix +- `:::mas-catalog-packages` - Dynamic package tables + +### CLI Plugin +- **Subcommand Documentation**: Handle argparse subparsers +- **Example Generation**: Auto-generate examples from test cases +- **Cross-References**: Link related arguments +- **Search Integration**: Enhanced search for CLI options +- **Version Tracking**: Show when options were added/deprecated +- **Validation**: Ensure all options are documented + +## Contributing + +When adding new content: + +### For Catalog Documentation +1. Create the catalog YAML file +2. Add metadata to python-devops +3. Create markdown file with directives +4. Build and verify + +### For CLI Documentation +1. Create the argparse configuration +2. Add a directive to the documentation markdown file +3. Build and verify the generated documentation +4. No manual documentation needed! + +## Related Work + +This is part of a broader code deduplication effort across the IBM MAS CLI project, eliminating thousands of lines of duplicated documentation and ensuring content stays synchronized with authoritative sources. + +## License + +These plugins are part of the IBM Maximo Application Suite CLI project and follow the same license (Eclipse Public License v1.0). + +## Made with Bob + +These plugins were designed and implemented with assistance from Bob, an AI coding assistant, following established MkDocs plugin patterns and best practices. \ No newline at end of file diff --git a/mkdocs_plugins/mkdocs_mas_catalogs/__init__.py b/mkdocs_plugins/mkdocs_mas_catalogs/__init__.py new file mode 100644 index 00000000000..2515f717fc8 --- /dev/null +++ b/mkdocs_plugins/mkdocs_mas_catalogs/__init__.py @@ -0,0 +1,299 @@ +"""MkDocs plugin for MAS catalog details.""" + +import sys +from pathlib import Path +import re +from mkdocs.plugins import BasePlugin + +__version__ = "0.1.0" + +# Try to import from installed package first +try: + from mas.devops.data import getCatalog, getOCPLifecycleData, getCatalogEditorial, NoSuchCatalogError +except ImportError: + # Development fallback: add python-devops to path + PYTHON_DEVOPS_PATH = ( + Path(__file__).parent.parent.parent.parent / "python-devops" / "src" + ) + if PYTHON_DEVOPS_PATH.exists(): + sys.path.insert(0, str(PYTHON_DEVOPS_PATH)) + from mas.devops.data import getCatalog, getOCPLifecycleData, getCatalogEditorial, NoSuchCatalogError + else: + raise ImportError( + "Could not import mas.devops.data. " + "Please install python-devops package or ensure it's available at ../python-devops/" + ) + + +class MASCatalogsPlugin(BasePlugin): + """ + Plugin to inject catalog metadata dynamically. + + Supported directives: + - :::mas-catalog-details - Renders the Details table + - :::mas-catalog-install - Renders the Manual Installation command + - :::mas-catalog-source - Renders the CatalogSource YAML + - :::mas-catalog-ocp-compatibility-matrix - Renders the OCP compatibility matrix + - :::mas-catalog-whats-new - Renders the What's New section + - :::mas-catalog-known-issues - Renders the Known Issues section + + The catalog tag is automatically detected from the page filename. + For example, in v9-251127-amd64.md, the tag is v9-251127-amd64 + """ + + def on_page_markdown(self, markdown, page, config, files): + """Replace catalog directives with rendered content.""" + + # Extract catalog tag from page filename + # e.g., "catalogs/v9-251127-amd64.md" -> "v9-251127-amd64" + page_name = Path(page.file.src_path).stem + catalog_tag = page_name + + # Replace all directives + markdown = re.sub( + r":::mas-catalog-details", + lambda m: self._render_details(catalog_tag), + markdown, + ) + markdown = re.sub( + r":::mas-catalog-install", + lambda m: self._render_install(catalog_tag), + markdown, + ) + markdown = re.sub( + r":::mas-catalog-source", + lambda m: self._render_source(catalog_tag), + markdown, + ) + markdown = re.sub( + r":::mas-catalog-ocp-compatibility-matrix", + lambda m: self._render_ocp_matrix(catalog_tag), + markdown, + ) + markdown = re.sub( + r":::mas-catalog-whats-new", + lambda m: self._render_whats_new(catalog_tag), + markdown, + ) + markdown = re.sub( + r":::mas-catalog-known-issues", + lambda m: self._render_known_issues(catalog_tag), + markdown, + ) + + return markdown + + def _get_catalog_data(self, catalog_tag): + """Get catalog data and handle errors.""" + try: + catalog = getCatalog(catalog_tag) + return catalog, None + except NoSuchCatalogError: + return ( + None, + f"""!!! error + Catalog {catalog_tag} not found in python-devops. + + Make sure the catalog metadata exists at: + `python-devops/src/mas/devops/data/catalogs/{catalog_tag}.yaml` +""", + ) + + def _render_details(self, catalog_tag): + """Render the Details section.""" + catalog, error = self._get_catalog_data(catalog_tag) + if error: + return error + + digest = catalog.get("catalog_digest", "N/A") + + return f"""Details +------------------------------------------------------------------------------- + + + + + +
    Imageicr.io/cpopen/ibm-maximo-operator-catalog
    Tag{catalog_tag}
    Digest{digest}
    +""" + + def _render_install(self, catalog_tag): + """Render the Manual Installation section.""" + catalog, error = self._get_catalog_data(catalog_tag) + if error: + return error + + return f"""Manual Installation +------------------------------------------------------------------------------- +`oc apply -f https://raw.githubusercontent.com/ibm-mas/cli/master/catalogs/{catalog_tag}.yaml` +""" + + def _render_source(self, catalog_tag): + """Render the Source section with CatalogSource YAML.""" + catalog, error = self._get_catalog_data(catalog_tag) + if error: + return error + + digest = catalog.get("catalog_digest", "N/A") + + return f"""Source +------------------------------------------------------------------------------- +```yaml +apiVersion: operators.coreos.com/v1alpha1 +kind: CatalogSource +metadata: + name: ibm-operator-catalog + namespace: openshift-marketplace +spec: + displayName: IBM Maximo Operators ({catalog_tag}) + publisher: IBM + description: Static Catalog Source for IBM Maximo Application Suite + sourceType: grpc + image: icr.io/cpopen/ibm-maximo-operator-catalog@{digest} + priority: 90 +``` +""" + + def _render_ocp_matrix(self, catalog_tag): + """Render the OCP compatibility matrix table.""" + catalog, error = self._get_catalog_data(catalog_tag) + if error: + return error + + # Get OCP compatibility list from catalog + ocp_versions = catalog.get("ocp_compatibility", []) + + if not ocp_versions: + return """!!! warning + No OCP compatibility data available for this catalog. +""" + + # Get OCP lifecycle data using the API + ocp_lifecycle_data = getOCPLifecycleData() + if not ocp_lifecycle_data: + return """!!! error + OCP lifecycle data not found. Please ensure ocp.yaml exists in python-devops. +""" + + # Build the table header + table_html = """ + + + + + + +""".format( + len(ocp_versions) + 1 + ) + + # Add rows for each OCP version + ocp_data = ocp_lifecycle_data.get("ocp_versions", {}) + for version in ocp_versions: + version_str = str(version) + version_info = ocp_data.get(version_str, {}) + + ga_date = version_info.get("ga_date", "N/A") + standard_support = version_info.get("standard_support", "N/A") + extended_support = version_info.get("extended_support", "N/A") + + # Format extended support - use "N/A" if it's literally "N/A" + if extended_support == "N/A": + extended_support = " N/A " + + table_html += f""" + + + + + +""" + + table_html += "
    OCPGeneral AvailabilityStandard SupportExtended Support
    {version_str}{ga_date}{standard_support}{extended_support}
    " + + return table_html + + def _render_whats_new(self, catalog_tag): + """Render the What's New section.""" + editorial = getCatalogEditorial(catalog_tag) + + if not editorial: + return "" # No editorial content, return empty string + + whats_new = editorial.get("whats_new", []) + + if not whats_new: + return "" # No What's New content + + # Handle both old string format and new structured format + if isinstance(whats_new, str): + # Old format: plain text + whats_new_text = whats_new.strip() + else: + # New format: list of items with title and details + lines = [] + for item in whats_new: + title = item.get("title", "") + details = item.get("details", []) + + lines.append(f"- {title}") + for detail in details: + lines.append(f" - {detail}") + + whats_new_text = "\n".join(lines) + + if not whats_new_text: + return "" + + return f"""What's New +------------------------------------------------------------------------------- +{whats_new_text} +""" + + def _render_known_issues(self, catalog_tag): + """Render the Known Issues section.""" + editorial = getCatalogEditorial(catalog_tag) + + # If no editorial data exists, show "no known issues" + if not editorial: + return """Known Issues +------------------------------------------------------------------------------- +There are no known issues for this catalog release. +""" + + known_issues = editorial.get("known_issues", []) + + # If known_issues field exists but is empty, show "no known issues" + if not known_issues: + return """Known Issues +------------------------------------------------------------------------------- +There are no known issues for this catalog release. +""" + + # Handle both old string format and new structured format + if isinstance(known_issues, str): + # Old format: plain text + known_issues_text = known_issues.strip() + else: + # New format: list of items with title + lines = [] + for item in known_issues: + title = item.get("title", "") + if title: + lines.append(f"- {title}") + + known_issues_text = "\n".join(lines) + + if not known_issues_text: + return """Known Issues +------------------------------------------------------------------------------- +There are no known issues for this catalog release. +""" + + return f"""Known Issues +------------------------------------------------------------------------------- +{known_issues_text} +""" + + +# Made with Bob diff --git a/mkdocs_plugins/mkdocs_mas_catalogs/setup.py b/mkdocs_plugins/mkdocs_mas_catalogs/setup.py new file mode 100644 index 00000000000..e8a8364fa2e --- /dev/null +++ b/mkdocs_plugins/mkdocs_mas_catalogs/setup.py @@ -0,0 +1,22 @@ +"""Setup for mkdocs-mas-catalogs plugin.""" + +from setuptools import setup, find_packages + +setup( + name="mkdocs-mas-catalogs", + version="0.1.0", + description="MkDocs plugin to dynamically render MAS catalog documentation", + packages=find_packages(), + entry_points={ + "mkdocs.plugins": [ + "mas_catalogs = mkdocs_mas_catalogs:MASCatalogsPlugin", + ] + }, + install_requires=[ + "mkdocs>=1.0", + "pyyaml", + ], + python_requires=">=3.8", +) + +# Made with Bob diff --git a/mkdocs_plugins/mkdocs_mas_cli/__init__.py b/mkdocs_plugins/mkdocs_mas_cli/__init__.py new file mode 100644 index 00000000000..27a403a2693 --- /dev/null +++ b/mkdocs_plugins/mkdocs_mas_cli/__init__.py @@ -0,0 +1,125 @@ +"""MkDocs plugin for CLI documentation from argparse.""" + +import re +import sys +import importlib +from pathlib import Path +from mkdocs.plugins import BasePlugin + +from .formatter import MarkdownFormatter + +__version__ = "0.1.0" + + +class MASCLIPlugin(BasePlugin): + """ + Plugin to generate CLI documentation from argparse configurations. + + Supported directive: + :::mas-cli-usage + module: mas.cli.install.argParser + parser: installArgParser + ignore_description: true + ignore_epilog: true + ::: + """ + + def on_page_markdown(self, markdown, page, config, files): + """Replace CLI directives with rendered content.""" + + # Pattern to match the directive block + pattern = r':::mas-cli-usage\s*\n((?:.*\n)*?):::' + + def replace_directive(match): + """Parse and replace a single directive.""" + params_text = match.group(1) + params = self._parse_params(params_text) + + if 'module' not in params or 'parser' not in params: + raise ValueError( + "CLI documentation directive missing required parameters. " + "Must specify both 'module' and 'parser'. " + f"Found parameters: {list(params.keys())}" + ) + + return self._render_cli_usage( + params['module'], + params['parser'], + ignore_description=self._parse_bool(params.get('ignore_description', 'false')), + ignore_epilog=self._parse_bool(params.get('ignore_epilog', 'false')) + ) + + markdown = re.sub(pattern, replace_directive, markdown) + return markdown + + def _parse_params(self, params_text): + """Parse YAML-style parameters from directive.""" + params = {} + for line in params_text.strip().split('\n'): + if ':' in line: + key, value = line.split(':', 1) + params[key.strip()] = value.strip() + return params + + def _parse_bool(self, value): + """Parse boolean value from string.""" + return value.lower() in ('true', 'yes', '1', 'on') + + def _render_cli_usage(self, module_path, parser_name, ignore_description=False, ignore_epilog=False): + """Load parser and generate markdown documentation.""" + # Don't catch exceptions - let them propagate to fail the build + parser = self._load_parser(module_path, parser_name) + formatter = MarkdownFormatter() + return formatter.format_parser(parser, ignore_description=ignore_description, ignore_epilog=ignore_epilog) + + def _load_parser(self, module_path, parser_name): + """Dynamically import and return the ArgumentParser.""" + try: + module = importlib.import_module(module_path) + except ImportError as e: + # If import fails, try adding python/src to path (for development) + # This handles cases where mkdocs runs in a subprocess + python_src = Path(__file__).parent.parent.parent / "python" / "src" + + # Always try to add the path if it exists + if python_src.exists(): + python_src_str = str(python_src.resolve()) + if python_src_str not in sys.path: + sys.path.insert(0, python_src_str) + + # Force reload of importlib to pick up new path + importlib.invalidate_caches() + + try: + module = importlib.import_module(module_path) + except ImportError as e2: + raise ImportError( + f"Could not import {module_path}. " + f"Tried adding {python_src_str} to sys.path. " + f"Original error: {e}. " + f"After path addition: {e2}" + ) + else: + raise ImportError( + f"Could not import {module_path}. " + f"Python source path {python_src} does not exist. " + f"Error: {e}" + ) + + if not hasattr(module, parser_name): + raise AttributeError( + f"Module {module_path} does not have attribute '{parser_name}'" + ) + + parser = getattr(module, parser_name) + + # Verify it's an ArgumentParser + if not hasattr(parser, '_action_groups'): + raise TypeError( + f"{parser_name} is not an ArgumentParser instance" + ) + + return parser + + +# Made with Bob diff --git a/mkdocs_plugins/mkdocs_mas_cli/formatter.py b/mkdocs_plugins/mkdocs_mas_cli/formatter.py new file mode 100644 index 00000000000..b9a82d03e9f --- /dev/null +++ b/mkdocs_plugins/mkdocs_mas_cli/formatter.py @@ -0,0 +1,269 @@ +"""Markdown formatting utilities for argparse documentation.""" + +import argparse +from typing import Dict + + +class MarkdownFormatter: + """Format ArgumentParser as markdown documentation.""" + + def format_parser(self, parser: argparse.ArgumentParser, ignore_description: bool = False, ignore_epilog: bool = False) -> str: + """Generate complete markdown documentation from ArgumentParser. + + Args: + parser: ArgumentParser instance to format + ignore_description: If True, skip the description section + ignore_epilog: If True, skip the epilog section + + Returns: + Formatted markdown documentation + """ + sections = [] + + # Usage section + usage = self.format_usage(parser) + if usage: + sections.append(usage) + + # Description section + if not ignore_description: + description = self.format_description(parser) + if description: + sections.append(description) + + # Argument groups - now with consistent column widths + groups = self.format_argument_groups(parser) + if groups: + sections.append(groups) + + # Epilog section + if not ignore_epilog: + epilog = self.format_epilog(parser) + if epilog: + sections.append(epilog) + + return '\n\n'.join(sections) + + def format_usage(self, parser: argparse.ArgumentParser) -> str: + """Generate usage synopsis.""" + prog = parser.prog or "command" + return f"""## Usage + +```bash +{prog} [OPTIONS] +```""" + + def format_description(self, parser: argparse.ArgumentParser) -> str: + """Generate description section.""" + if not parser.description: + return "" + + # Clean up description (may have multiple lines) + desc_lines = parser.description.strip().split('\n') + description = '\n'.join(line.strip() for line in desc_lines) + + return f"""### Description + +{description}""" + + def format_epilog(self, parser: argparse.ArgumentParser) -> str: + """Generate epilog section.""" + if not parser.epilog: + return "" + + return f"""### Additional Information + +{parser.epilog.strip()}""" + + def format_argument_groups(self, parser: argparse.ArgumentParser) -> str: + """Generate HTML tables for all argument groups with consistent column widths.""" + # Collect all groups and their data + groups_data = [] + + for group in parser._action_groups: + # Skip default groups with no custom title + if group.title in ('positional arguments', 'optional arguments', 'options'): + actions = [a for a in group._group_actions if a.dest != 'help'] + if not actions: + continue + else: + actions = [a for a in group._group_actions if a.dest != 'help'] + + if not actions: + continue + + # Collect data for this group + group_info = { + 'title': group.title or "Options", + 'description': group.description, + 'rows': [] + } + + for action in actions: + row_data = self._get_argument_data(action) + group_info['rows'].append(row_data) + + groups_data.append(group_info) + + # Format all groups as HTML tables with fixed column widths + sections = [] + for group_info in groups_data: + section = self._format_group_as_html(group_info) + sections.append(section) + + return '\n\n'.join(sections) + + def _get_argument_data(self, action) -> Dict[str, str]: + """Extract argument data as a dictionary.""" + # Option flags (without backticks for HTML) + option_strings = ', '.join(f"{opt}" for opt in action.option_strings) + if not option_strings: + option_strings = f"{action.dest}" + + # Type/Choices (format for HTML) + type_str = self.format_type_html(action) + + # Default value (format for HTML) + default_str = self.format_default_html(action) + + # Description (escape for HTML) + help_text = self.escape_html(action.help or "") + + return { + 'option': option_strings, + 'type': type_str, + 'default': default_str, + 'description': help_text + } + + def _format_group_as_html(self, group_info: Dict) -> str: + """Format a group as an HTML table with fixed column widths.""" + lines = [f"### {group_info['title']}"] + + # Add group description if present + if group_info['description']: + lines.append("") + lines.append(group_info['description']) + + # HTML table with fixed column widths + lines.append("") + lines.append('') + lines.append(' ') + lines.append(' ') # Option column + lines.append(' ') # Type column + lines.append(' ') # Default column + lines.append(' ') # Description column + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + lines.append(' ') + + # Table rows + for row_data in group_info['rows']: + lines.append(' ') + lines.append(f' ') + lines.append(f' ') + lines.append(f' ') + lines.append(f' ') + lines.append(' ') + + lines.append(' ') + lines.append('
    OptionTypeDefaultDescription
    {row_data["option"]}{row_data["type"]}{row_data["default"]}{row_data["description"]}
    ') + + return '\n'.join(lines) + + def format_type(self, action) -> str: + """Format the type/choices for an argument (markdown version).""" + if action.choices: + choices = ', '.join(str(c) for c in action.choices) + return f"`{{{choices}}}`" + elif isinstance(action, argparse._StoreTrueAction): + return "flag" + elif isinstance(action, argparse._StoreFalseAction): + return "flag" + elif isinstance(action, argparse._StoreConstAction): + return "flag" + elif action.type: + return f"`{action.type.__name__}`" + else: + return "`string`" + + def format_type_html(self, action) -> str: + """Format the type/choices for an argument (HTML version).""" + if action.choices: + choices = ', '.join(str(c) for c in action.choices) + return f"{{{choices}}}" + elif isinstance(action, argparse._StoreTrueAction): + return "flag" + elif isinstance(action, argparse._StoreFalseAction): + return "flag" + elif isinstance(action, argparse._StoreConstAction): + return "flag" + elif action.type: + return f"{action.type.__name__}" + else: + return "string" + + def format_default(self, action) -> str: + """Format the default value for an argument (markdown version).""" + if action.default is None or action.default == argparse.SUPPRESS: + return "-" + elif isinstance(action.default, bool): + return f"`{str(action.default).lower()}`" + elif isinstance(action.default, str): + if action.default == "": + return '`""`' + return f"`{action.default}`" + else: + return f"`{action.default}`" + + def format_default_html(self, action) -> str: + """Format the default value for an argument (HTML version).""" + if action.default is None or action.default == argparse.SUPPRESS: + return "-" + elif isinstance(action.default, bool): + return f"{str(action.default).lower()}" + elif isinstance(action.default, str): + if action.default == "": + return '""' + return f"{self.escape_html(action.default)}" + else: + return f"{action.default}" + + def escape_markdown(self, text: str) -> str: + """Escape special markdown characters in text.""" + if not text: + return "" + + # Escape pipe characters in table cells + text = text.replace('|', '\\|') + + # Handle backticks - don't escape if already in code + # This is a simple heuristic + if '`' in text and not text.count('`') % 2 == 0: + text = text.replace('`', '\\`') + + return text + + def escape_html(self, text: str) -> str: + """Escape special HTML characters in text.""" + if not text: + return "" + + # Escape HTML special characters (ampersand first!) + text = text.replace('&', '\x26amp;') + text = text.replace('<', '\x26lt;') + text = text.replace('>', '\x26gt;') + text = text.replace('"', '\x26quot;') + text = text.replace("'", '\x26#39;') + + return text + + +# Made with Bob diff --git a/mkdocs_plugins/setup.py b/mkdocs_plugins/setup.py new file mode 100644 index 00000000000..9b9ce7d213f --- /dev/null +++ b/mkdocs_plugins/setup.py @@ -0,0 +1,23 @@ +"""Setup for mkdocs-mas-plugins.""" + +from setuptools import setup, find_packages + +setup( + name="mkdocs-mas-plugins", + version="0.2.0", + description="MkDocs plugins for MAS documentation (catalogs and CLI)", + packages=find_packages(), + entry_points={ + "mkdocs.plugins": [ + "mas_catalogs = mkdocs_mas_catalogs:MASCatalogsPlugin", + "mas_cli = mkdocs_mas_cli:MASCLIPlugin", + ] + }, + install_requires=[ + "mkdocs>=1.0", + "pyyaml", + ], + python_requires=">=3.8", +) + +# Made with Bob diff --git a/python/setup.py b/python/setup.py index fa5d4975e7d..561c9496596 100644 --- a/python/setup.py +++ b/python/setup.py @@ -62,7 +62,7 @@ def get_version(rel_path): 'halo', # MIT License 'prompt_toolkit', # BSD License 'openshift', # Apache Software License - 'kubernetes', # Apache Software License + 'kubernetes == 33.1.0', # Apache Software License # Version lock to be removed once https://github.com/kubernetes-client/python/issues/2460 is resolved 'tabulate' # MIT License ], extras_require={ diff --git a/python/src/mas/cli/aiservice/install/app.py b/python/src/mas/cli/aiservice/install/app.py index 7bd07eaff93..d752759569a 100644 --- a/python/src/mas/cli/aiservice/install/app.py +++ b/python/src/mas/cli/aiservice/install/app.py @@ -124,14 +124,29 @@ def configAibroker(self): self.configOperationMode() + @logMethodCall + def chooseInstallFlavour(self) -> None: + self.printH1("Choose Install Mode") + self.printDescription([ + "There are two flavours of the interactive install to choose from: Simplified and Advanced. The simplified option will present fewer dialogs, but you lose the ability to configure the following aspects of the installation:", + " - Configure certificate issuer", + ]) + self.showAdvancedOptions = self.yesOrNo("Show advanced installation options") + @logMethodCall def interactiveMode(self, simplified: bool, advanced: bool) -> None: # Interactive mode self.interactiveMode = True + if simplified: + self.showAdvancedOptions = False + elif advanced: + self.showAdvancedOptions = True + else: + self.chooseInstallFlavour() + self.storageClassProvider = "custom" self.slsLicenseFileLocal = None - self.showAdvancedOptions = True # Catalog self.configCatalog() @@ -150,7 +165,7 @@ def interactiveMode(self, simplified: bool, advanced: bool) -> None: self.configCertManager() self.configAibroker() if self.devMode: - self.configAppChannel("aibroker") + self.configAppChannel() self.aiServiceSettings() self.aiServiceTenantSettings() @@ -158,6 +173,7 @@ def interactiveMode(self, simplified: bool, advanced: bool) -> None: # Dependencies self.configMongoDb() + self.setDB2DefaultChannel() self.setDB2DefaultSettings() @logMethodCall @@ -176,6 +192,7 @@ def nonInteractiveMode(self) -> None: "approval_aiservice": {"id": "aiservice"}, } + self.setDB2DefaultChannel() self.setDB2DefaultSettings() for key, value in vars(self.args).items(): @@ -237,11 +254,15 @@ def nonInteractiveMode(self) -> None: self.operationalMode = 1 self.setParam("environment_type", "production") self.setParam("aiservice_odh_model_deployment_type", "raw") + self.setParam("aiservice_rhoai_model_deployment_type", "raw") + self.setParam("rhoai", "false") else: self.operationalMode = 2 self.setParam("mas_annotations", "mas.ibm.com/operationalMode=nonproduction") self.setParam("environment_type", "non-production") self.setParam("aiservice_odh_model_deployment_type", "serverless") + self.setParam("aiservice_rhoai_model_deployment_type", "serverless") + self.setParam("rhoai", "false") elif key == "additional_configs": self.localConfigDir = value @@ -306,7 +327,7 @@ def nonInteractiveMode(self) -> None: self.fatalError(f"Unsupported format for {key} ({value}). Expected int:int:boolean") # Arguments that we don't need to do anything with - elif key in ["accept_license", "dev_mode", "skip_pre_check", "skip_grafana_install", "no_confirm", "no_wait_for_pvc", "help", "advanced", "simplified"]: + elif key in ["accept_license", "dev_mode", "skip_pre_check", "skip_grafana_install", "no_confirm", "help", "advanced", "simplified"]: pass elif key == "manual_certificates": @@ -349,7 +370,6 @@ def install(self, argv): instanceId = args.aiservice_instance_id # Properties for arguments that control the behavior of the CLI self.noConfirm = args.no_confirm - self.waitForPVC = not args.no_wait_for_pvc self.licenseAccepted = args.accept_license self.devMode = args.dev_mode @@ -445,14 +465,8 @@ def install(self, argv): self.printH1("Launch Install") pipelinesNamespace = f"aiservice-{self.getParam('aiservice_instance_id')}-pipelines" - if not self.noConfirm: - self.printDescription(["If you are using storage classes that utilize 'WaitForFirstConsumer' binding mode choose 'No' at the prompt below"]) - wait = self.yesOrNo("Wait for PVCs to bind") - else: - wait = False - with Halo(text='Validating OpenShift Pipelines installation', spinner=self.spinner) as h: - if installOpenShiftPipelines(self.dynamicClient): + if installOpenShiftPipelines(self.dynamicClient, self.getParam("storage_class_rwx")): h.stop_and_persist(symbol=self.successIcon, text="OpenShift Pipelines Operator is installed and ready to use") else: h.stop_and_persist(symbol=self.successIcon, text="OpenShift Pipelines Operator installation failed") @@ -465,7 +479,6 @@ def install(self, argv): instanceId=self.getParam("aiservice_instance_id"), storageClass=self.pipelineStorageClass, accessMode=self.pipelineStorageAccessMode, - waitForBind=wait, configureRBAC=(self.getParam("service_account_name") == "") ) prepareInstallSecrets( @@ -511,6 +524,7 @@ def setupApprovals(self, namespace: str) -> None: logger.debug(f"Approval workflow for {approval['id']} will be enabled during install ({approval['maxRetries']} / {approval['retryDelay']}s / {approval['ignoreFailure']})") self.initializeApprovalConfigMap(namespace, approval['id'], True, approval['maxRetries'], approval['retryDelay'], approval['ignoreFailure']) + @logMethodCall def aiServiceSettings(self) -> None: self.printH1("AI Service Settings") @@ -543,6 +557,18 @@ def aiServiceSettings(self) -> None: self.promptForString("Storage tenants bucket", "aiservice_s3_tenants_bucket") self.promptForString("Storage templates bucket", "aiservice_s3_templates_bucket") + # Configure Certificate Issuer + self.configCertIssuer() + + @logMethodCall + def configCertIssuer(self): + if self.showAdvancedOptions: + self.printH1("Configure Certificate Issuer") + configureCertIssuer = self.yesOrNo('Configure certificate issuer') + if configureCertIssuer: + self.promptForString("Certificate issuer name", "aiservice_certificate_issuer") + + @logMethodCall def aiServiceTenantSettings(self) -> None: self.printH1("AI Service Tenant Settings") self.printDescription([ @@ -835,7 +861,7 @@ def configDRO(self) -> None: self.promptForString("IBM Data Reporter Operator (DRO) Namespace", "dro_namespace", default="redhat-marketplace") @logMethodCall - def configAppChannel(self, appId): + def configAppChannel(self): self.params["aiservice_channel"] = prompt(HTML('Custom channel for AI Service ')) @logMethodCall @@ -853,6 +879,10 @@ def configOperationMode(self): if self.operationalMode == 1: self.setParam("environment_type", "production") self.setParam("aiservice_odh_model_deployment_type", "raw") + self.setParam("aiservice_rhoai_model_deployment_type", "raw") + self.setParam("rhoai", "false") else: self.setParam("environment_type", "non-production") self.setParam("aiservice_odh_model_deployment_type", "serverless") + self.setParam("aiservice_rhoai_model_deployment_type", "serverless") + self.setParam("rhoai", "false") diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index d259e867ab3..6616b3b930c 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -94,8 +94,6 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- if self.devMode: command += f" --dev-mode{newline}" - if not self.waitForPVC: - command += f" --no-wait-for-pvc{newline}" if self.getParam('skip_pre_check') is True: command += f" --skip-pre-check{newline}" if self.getParam('image_pull_policy') != "": @@ -105,6 +103,11 @@ def buildCommand(self) -> str: # AI Service Advanced Settings # ----------------------------------------------------------------------------- + + # Certificate Issuer + if self.getParam('aiservice_certificate_issuer') != "": + command += f" --aiservice-certificate-issuer \"{self.getParam('aiservice_certificate_issuer')}\"{newline}" + if self.getParam('aiservice_s3_accesskey') != "": command += f" --s3-accesskey \"{self.getParam('aiservice_s3_accesskey')}\"{newline}" if self.getParam('aiservice_s3_secretkey') != "": @@ -126,6 +129,10 @@ def buildCommand(self) -> str: if self.getParam('aiservice_odh_model_deployment_type') != "": command += f" --odh-model-deployment-type \"{self.getParam('aiservice_odh_model_deployment_type')}\"{newline}" + if self.getParam('aiservice_rhoai_model_deployment_type') != "": + command += f" --rhoai-model-deployment-type \"{self.getParam('aiservice_rhoai_model_deployment_type')}\"{newline}" + if self.getParam('rhoai') == "true": + command += f" --rhoai{newline}" if self.getParam('aiservice_watsonxai_apikey') != "": command += f" --watsonxai-apikey \"{self.getParam('aiservice_watsonxai_apikey')}\"{newline}" @@ -171,5 +178,8 @@ def buildCommand(self) -> str: if self.getParam('rsl_ca_crt') != "": command += f" --rsl-ca-crt \"{self.getParam('rsl_ca_crt')}\"{newline}" + if self.getParam('db2_channel') != "": + command += f" --db2-channel \"{self.getParam('db2_channel')}\"{newline}" + command += " --accept-license --no-confirm" return command diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index bb4c14b4bf5..79288c01585 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -186,6 +186,27 @@ def isValidFile(parser, arg) -> str: help="Model deployment type for ODH" ) +# Red Hat Openshift AI +# ----------------------------------------------------------------------------- +rhoaiArgGroup = aiServiceinstallArgParser.add_argument_group("RedHat Openshift AI") + +rhoaiArgGroup.add_argument( + "--rhoai-model-deployment-type", + dest="aiservice_rhoai_model_deployment_type", + required=False, + default="raw", + help="Model deployment type for RedHat Openshift AI" +) + +rhoaiArgGroup.add_argument( + "--rhoai", + dest="rhoai", + required=False, + help="temporary flag to install Redhat Openshift AI instead of Opendatahub", + action="store_const", + const="true" +) + # S3 - General # ----------------------------------------------------------------------------- s3ArgGroup = aiServiceinstallArgParser.add_argument_group("S3 Storage") @@ -401,6 +422,12 @@ def isValidFile(parser, arg) -> str: default="non-production", help="Environment type (default: non-production)" ) +aiServiceArgGroup.add_argument( + "--aiservice-certificate-issuer", + dest="aiservice_certificate_issuer", + required=False, + help="Provide the name of the Issuer to configure AI Service to issue certificates", +) # IBM Db2 Universal Operator @@ -470,12 +497,6 @@ def isValidFile(parser, arg) -> str: default=False, help="Configure installation for development mode", ) -otherArgGroup.add_argument( - "--no-wait-for-pvc", - required=False, - action="store_true", - help="Disable the wait for pipeline PVC to bind before starting the pipeline" -) otherArgGroup.add_argument( "--skip-pre-check", required=False, diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index 7b6aa428971..c17287f8af0 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -59,6 +59,9 @@ "artifactory_token", # ODH "aiservice_odh_model_deployment_type", + # RHOAI + "aiservice_rhoai_model_deployment_type", + "rhoai", # AI Service "aiservice_s3_accesskey", "aiservice_s3_secretkey", @@ -97,4 +100,7 @@ "rsl_token", "rsl_ca_crt", "environment_type", + + # Certificate Issuer + "aiservice_certificate_issuer", ] diff --git a/python/src/mas/cli/aiservice/install/summarizer.py b/python/src/mas/cli/aiservice/install/summarizer.py index b560e3d4892..f09d24be3e8 100644 --- a/python/src/mas/cli/aiservice/install/summarizer.py +++ b/python/src/mas/cli/aiservice/install/summarizer.py @@ -47,6 +47,9 @@ def aiServiceSummary(self) -> None: self.printParamSummary("Instance ID", "aiservice_instance_id") self.printParamSummary("Environment Type", "environment_type") + if "aiservice_certificate_issuer" in self.params: + self.printParamSummary("Certificate Issuer", "aiservice_certificate_issuer") + self.printH2("AI Service Tenant Entitlement") self.printParamSummary("Entitlement Type", "tenant_entitlement_type") self.printParamSummary("Start Date", "tenant_entitlement_start_date") diff --git a/python/src/mas/cli/cli.py b/python/src/mas/cli/cli.py index a597fefaba0..33b700e8695 100644 --- a/python/src/mas/cli/cli.py +++ b/python/src/mas/cli/cli.py @@ -1,5 +1,5 @@ # ***************************************************************************** -# Copyright (c) 2024 IBM Corporation and other Contributors. +# Copyright (c) 2024, 2026 IBM Corporation and other Contributors. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -19,6 +19,7 @@ from subprocess import PIPE, Popen, TimeoutExpired import threading import json +from typing import List, Dict, Any, Callable, Type # Use of the openshift client rather than the kubernetes client allows us access to "apply" from kubernetes import config @@ -41,7 +42,7 @@ urllib3.disable_warnings() -def getHelpFormatter(formatter=RawTextHelpFormatter, w=160, h=50): +def getHelpFormatter(formatter: Type[RawTextHelpFormatter] = RawTextHelpFormatter, w: int = 160, h: int = 50) -> Callable: """ Return a wider HelpFormatter, if possible. @@ -49,7 +50,7 @@ def getHelpFormatter(formatter=RawTextHelpFormatter, w=160, h=50): """ try: kwargs = {'width': w, 'max_help_position': h} - formatter(None, **kwargs) + formatter(None, **kwargs) # type: ignore return lambda prog: formatter(prog, **kwargs) except TypeError: logger.warning("argparse help formatter failed, falling back.") @@ -57,19 +58,19 @@ def getHelpFormatter(formatter=RawTextHelpFormatter, w=160, h=50): class RunCmdResult(object): - def __init__(self, returnCode, output, error): - self.rc = returnCode - self.out = output - self.err = error + def __init__(self, returnCode: int, output: bytes, error: bytes) -> None: + self.rc: int = returnCode + self.out: bytes = output + self.err: bytes = error - def successful(self): + def successful(self) -> bool: return self.rc == 0 - def failed(self): + def failed(self) -> bool: return self.rc != 0 -def runCmd(cmdArray, timeout=630): +def runCmd(cmdArray: List[str], timeout: int = 630) -> RunCmdResult: """ Run a command on the local host. This drives all the helm operations, as there is no python Helm client available. @@ -88,11 +89,11 @@ def runCmd(cmdArray, timeout=630): output, error = p.communicate(timeout=timeout) return RunCmdResult(p.returncode, output, error) except TimeoutExpired as e: - return RunCmdResult(127, 'TimeoutExpired', str(e)) + return RunCmdResult(127, b'TimeoutExpired', str(e).encode()) -def logMethodCall(func): - def wrapper(self, *args, **kwargs): +def logMethodCall(func: Callable) -> Callable: + def wrapper(self: Any, *args: Any, **kwargs: Any) -> Any: logger.debug(f">>> BaseApp.{func.__name__}") result = func(self, *args, **kwargs) logger.debug(f"<<< BaseApp.{func.__name__}") @@ -101,7 +102,7 @@ def wrapper(self, *args, **kwargs): class BaseApp(PrintMixin, PromptMixin): - def __init__(self): + def __init__(self) -> None: # Set up a log formatter chFormatter = logging.Formatter('%(asctime)-25s' + ' %(levelname)-8s %(message)s') @@ -119,34 +120,34 @@ def __init__(self): logging.getLogger('asyncio').setLevel(logging.INFO) # Supports extended semver, unlike mas.cli.__version__ - self.version = "100.0.0-pre.local" - self.h1count = 0 - self.h2count = 0 + self.version: str = "100.0.0-pre.local" + self.h1count: int = 0 + self.h2count: int = 0 - self.localConfigDir = None - self.templatesDir = path.join(path.abspath(path.dirname(__file__)), "templates") - self.tektonDefsWithoutDigestPath = path.join(self.templatesDir, "ibm-mas-tekton.yaml") - self.tektonDefsWithDigestPath = path.join(self.templatesDir, "ibm-mas-tekton-with-digest.yaml") + self.localConfigDir: str | None = None + self.templatesDir: str = path.join(path.abspath(path.dirname(__file__)), "templates") + self.tektonDefsWithoutDigestPath: str = path.join(self.templatesDir, "ibm-mas-tekton.yaml") + self.tektonDefsWithDigestPath: str = path.join(self.templatesDir, "ibm-mas-tekton-with-digest.yaml") # Default to using the tekton definitions without image digests - self.tektonDefsPath = self.tektonDefsWithoutDigestPath + self.tektonDefsPath: str = self.tektonDefsWithoutDigestPath # Initialize the dictionary that will hold the parameters we pass to a PipelineRun - self.params = dict() + self.params: Dict[str, str] = dict() # These dicts will hold the additional-configs, pod-templates, sls license file and manual certificates secrets - self.additionalConfigsSecret = None - self.podTemplatesSecret = None - self.slsLicenseFileSecret = None - self.certsSecret = None + self.additionalConfigsSecret: Dict[str, Any] | None = None + self.podTemplatesSecret: Dict[str, Any] | None = None + self.slsLicenseFileSecret: Dict[str, Any] | None = None + self.certsSecret: Dict[str, Any] | None = None - self._isSNO = None - self._isAirgap = None + self._isSNO: bool | None = None + self._isAirgap: bool | None = None # Until we connect to the cluster we don't know what architecture it's worker nodes are - self.architecture = None + self.architecture: str | None = None - self.compatibilityMatrix = { + self.compatibilityMatrix: Dict[str, Dict[str, List[str]]] = { "9.2.x-feature": { "aibroker": ["9.2.x-feature", "9.1.x"], "manage": ["9.2.x-feature", "9.1.x"], @@ -206,7 +207,7 @@ def __init__(self): }, } - self.licenses = { + self.licenses: Dict[str, str] = { "8.9.x": " - https://ibm.biz/MAS89-License", "8.10.x": " - https://ibm.biz/MAS810-License", "8.11.x": " - https://ibm.biz/MAS811-License\n - https://ibm.biz/MAXIT81-License", @@ -217,7 +218,7 @@ def __init__(self): "9.2.x-feature": " - https://ibm.biz/MAS91-License\n - https://ibm.biz/MAXIT91-License\n - https://ibm.biz/MAXESRI91-License\n\nBe aware, this channel subscription is supported for non-production use only. \nIt allows early access to new features for evaluation in non-production environments. \nThis subscription is offered alongside and in parallel with our normal maintained streams. \nWhen using this subscription, IBM Support will only accept cases for the latest available bundle deployed in a non-production environment. \nSeverity must be either 3 or 4 and cases cannot be escalated. \nPlease refer to IBM documentation for more details.\n", } - self.upgrade_path = { + self.upgrade_path: Dict[str, str] = { "9.1.x": "9.2.x-feature", "9.1.x-feature": "9.1.x", "9.0.x": "9.1.x", @@ -226,14 +227,15 @@ def __init__(self): "8.9.x": "8.10.x", } - self.spinner = { + self.spinner: Dict[str, Any] = { "interval": 80, "frames": [" ⠋", " ⠙", " ⠹", " ⠸", " ⠼", " ⠴", " ⠦", " ⠧", " ⠇", " ⠏"] } - self.successIcon = "✅️" - self.failureIcon = "❌" + self.successIcon: str = "✅️" + self.failureIcon: str = "❌" - self._dynClient = None + self._dynClient: DynamicClient | None = None + self._apiClient: ApiClient | None = None self.printTitle(f"\nIBM Maximo Application Suite Admin CLI v{self.version}") print_formatted_text(HTML("Powered by https://github.com/ibm-mas/ansible-devops/ and https://tekton.dev/\n")) @@ -285,14 +287,14 @@ def createTektonFileWithDigest(self) -> None: self.tektonDefsPath = self.tektonDefsWithDigestPath @logMethodCall - def getCompatibleVersions(self, coreChannel: str, appId: str) -> list: + def getCompatibleVersions(self, coreChannel: str, appId: str) -> List[str]: if coreChannel in self.compatibilityMatrix: return self.compatibilityMatrix[coreChannel][appId] else: return [] @logMethodCall - def fatalError(self, message: str, exception: Exception = None) -> None: + def fatalError(self, message: str, exception: Exception | None = None) -> None: if exception is not None: logger.error(message) logger.exception(exception, stack_info=True) @@ -303,13 +305,13 @@ def fatalError(self, message: str, exception: Exception = None) -> None: exit(1) @logMethodCall - def isSNO(self): + def isSNO(self) -> bool: if self._isSNO is None: self._isSNO = isSNO(self.dynamicClient) return self._isSNO @logMethodCall - def isAirgap(self): + def isAirgap(self) -> bool: if self._isAirgap is None: # First check if the legacy ICSP is installed. If it is raise an error and instruct the user to re-run configure-airgap to # migrate the cluster from ICSP to IDMS @@ -318,10 +320,10 @@ def isAirgap(self): self._isAirgap = isAirgapInstall(self.dynamicClient) return self._isAirgap - def setParam(self, param: str, value: str): + def setParam(self, param: str, value: str) -> None: self.params[param] = value - def getParam(self, param: str): + def getParam(self, param: str) -> str: """ Returns the value of a parameter, or an empty string is the parameter has not set at all or is set to None """ @@ -331,14 +333,14 @@ def getParam(self, param: str): return "" @property - def dynamicClient(self): + def dynamicClient(self) -> DynamicClient: if self._dynClient is not None: return self._dynClient else: return self.reloadDynamicClient() @logMethodCall - def reloadDynamicClient(self): + def reloadDynamicClient(self) -> DynamicClient | None: """ Configure the Kubernetes API Client using the active context in kubeconfig """ @@ -360,7 +362,7 @@ def reloadDynamicClient(self): return None @logMethodCall - def connect(self): + def connect(self) -> None: promptForNewServer = False self.reloadDynamicClient() if self._dynClient is not None: @@ -396,7 +398,7 @@ def connect(self): self.lookupTargetArchitecture() @logMethodCall - def lookupTargetArchitecture(self, architecture: str = None) -> None: + def lookupTargetArchitecture(self, architecture: str | None = None) -> None: logger.debug("Looking up worker node architecture") if architecture is not None: self.architecture = architecture diff --git a/python/src/mas/cli/displayMixins.py b/python/src/mas/cli/displayMixins.py index 772718eaec2..342c0a87933 100644 --- a/python/src/mas/cli/displayMixins.py +++ b/python/src/mas/cli/displayMixins.py @@ -12,6 +12,7 @@ from prompt_toolkit import prompt, print_formatted_text, HTML, PromptSession from prompt_toolkit.completion import WordCompleter from prompt_toolkit.validation import Validator +from typing import List from .validators import YesNoValidator, IntValidator, FileExistsValidator, DirectoryExistsValidator @@ -27,32 +28,32 @@ class PrintMixin(): - def printTitle(self, message): + def printTitle(self, message: str) -> None: print_formatted_text(HTML(f"{message.replace(' & ', ' & ')}")) - def printH1(self, message): - self.h1count += 1 - self.h2count = 0 + def printH1(self, message: str) -> None: + self.h1count += 1 # type: ignore + self.h2count = 0 # type: ignore print() - print_formatted_text(HTML(f"<{H1COLOR}>{self.h1count}) {message.replace(' & ', ' & ')}")) + print_formatted_text(HTML(f"<{H1COLOR}>{self.h1count}) {message.replace(' & ', ' & ')}")) # type: ignore - def printH2(self, message): - self.h2count += 1 + def printH2(self, message: str) -> None: + self.h2count += 1 # type: ignore print() - print_formatted_text(HTML(f"<{H2COLOR}>{self.h1count}.{self.h2count}) {message.replace(' & ', ' & ')}")) + print_formatted_text(HTML(f"<{H2COLOR}>{self.h1count}.{self.h2count}) {message.replace(' & ', ' & ')}")) # type: ignore - def printDescription(self, content: list) -> None: + def printDescription(self, content: List[str]) -> None: content[0] = f"<{DESCRIPTIONCOLOR}>{content[0]}" content[len(content) - 1] = f"{content[len(content) - 1]}" - print_formatted_text(HTML("\n".join(content))) + print_formatted_text(HTML("\n".join(content).replace(' & ', ' & '))) - def printHighlight(self, message: str) -> None: + def printHighlight(self, message: str | list[str]) -> None: if isinstance(message, list): message = "\n".join(message) print_formatted_text(HTML(f"{message.replace(' & ', ' & ')}")) - def printWarning(self, message): + def printWarning(self, message: str) -> None: print_formatted_text(HTML(f"Warning: {message.replace(' & ', ' & ')}")) def printSummary(self, title: str, value: str) -> None: @@ -61,32 +62,32 @@ def printSummary(self, title: str, value: str) -> None: print_formatted_text(HTML(f" <{SUMMARYCOLOR}>{message.replace(' & ', ' & ')}")) def printParamSummary(self, message: str, param: str) -> None: - if self.getParam(param) is None: + if self.getParam(param) is None: # type: ignore self.printSummary(message, f"<{UNDEFINEDPARAMCOLOR}>Undefined") - elif self.getParam(param) == "": + elif self.getParam(param) == "": # type: ignore self.printSummary(message, f"<{UNDEFINEDPARAMCOLOR}>Default") else: - self.printSummary(message, self.getParam(param)) + self.printSummary(message, self.getParam(param)) # type: ignore -def masPromptYesOrNo(message): +def masPromptYesOrNo(message: str) -> HTML: return HTML(f"<{PROMPTCOLOR}>{message.replace(' & ', ' & ')}? [y/n] ") -def masPromptValue(message): +def masPromptValue(message: str) -> HTML: return HTML(f"<{PROMPTCOLOR}>{message.replace(' & ', ' & ')} ") class PromptMixin(): - def yesOrNo(self, message: str, param: str = None) -> bool: + def yesOrNo(self, message: str, param: str | None = None) -> bool: response = prompt(message=masPromptYesOrNo(message), validator=YesNoValidator(), validate_while_typing=False) responseAsBool = response.lower() in ["y", "yes"] if param is not None: - self.params[param] = "true" if responseAsBool else "false" + self.params[param] = "true" if responseAsBool else "false" # type: ignore return responseAsBool - def promptForString(self, message: str, param: str = None, default: str = "", isPassword: bool = False, validator: Validator = None, completer: WordCompleter = None) -> str: + def promptForString(self, message: str, param: str | None = None, default: str = "", isPassword: bool = False, validator: Validator | None = None, completer: WordCompleter | None = None) -> str: if param is not None and default == "": default = getenv(param.upper(), default="") @@ -97,27 +98,30 @@ def promptForString(self, message: str, param: str = None, default: str = "", is response = prompt(message=masPromptValue(message), is_password=isPassword, default=default, completer=completer, validator=validator, validate_while_typing=False) if param is not None: - self.params[param] = response + self.params[param] = response # type: ignore return response - def promptForInt(self, message: str, param: str = None, default: int = None, min=None, max=None) -> int: + def promptForInt(self, message: str, param: str | None = None, default: int | None = None, min: int | None = None, max: int | None = None) -> int: if param is not None and default is None: - default = getenv(param.upper(), default=None) + default = getenv(param.upper(), default=None) # type: ignore if default is None: response = int(prompt(message=masPromptValue(message), validator=IntValidator(min, max))) else: response = int(prompt(message=masPromptValue(message), validator=IntValidator(min, max), default=str(default))) if param is not None: - self.params[param] = str(response) + self.params[param] = str(response) # type: ignore return response - def promptForListSelect(self, message: str, options: list, param: str = None, default: int = None) -> str: + def promptForListSelect(self, message: str, options: List[str], param: str | None = None, default: int | None = None) -> str: selection = self.promptForInt(message=message, default=default, min=1, max=len(options)) # List indices are 0 origin, so we need to subtract 1 from the selection made to arrive at the correct value - self.setParam(param, options[selection - 1]) + result = options[selection - 1] + if param is not None: + self.setParam(param, result) # type: ignore + return result - def promptForFile(self, message: str, mustExist: bool = True, default: str = "", envVar: str = "") -> None: + def promptForFile(self, message: str, mustExist: bool = True, default: str = "", envVar: str = "") -> str: if default == "" and envVar != "": default = getenv(envVar, "") if mustExist: @@ -125,8 +129,10 @@ def promptForFile(self, message: str, mustExist: bool = True, default: str = "", else: return prompt(message=masPromptValue(message), default=default) - def promptForDir(self, message: str, mustExist: bool = True, default: str = "") -> None: + def promptForDir(self, message: str, mustExist: bool = True, default: str = "") -> str: if mustExist: return prompt(message=masPromptValue(message), validator=DirectoryExistsValidator(), validate_while_typing=False, default=default) else: return prompt(message=masPromptValue(message), default=default) + +# Made with Bob diff --git a/python/src/mas/cli/install/app.py b/python/src/mas/cli/install/app.py index e0c2f823437..f6849849f1a 100644 --- a/python/src/mas/cli/install/app.py +++ b/python/src/mas/cli/install/app.py @@ -17,7 +17,6 @@ from dateutil.relativedelta import relativedelta import re import calendar - from openshift.dynamic.exceptions import NotFoundError from prompt_toolkit import prompt, print_formatted_text, HTML @@ -59,7 +58,7 @@ ) from mas.devops.utils import isVersionEqualOrAfter from mas.devops.sls import findSLSByNamespace -from mas.devops.data import getCatalog +from mas.devops.data import getCatalog, getCatalogEditorial from mas.devops.tekton import ( installOpenShiftPipelines, updateTektonDefinitions, @@ -183,6 +182,7 @@ def formatCatalog(self, name: str) -> str: def processCatalogChoice(self) -> list: self.catalogDigest = self.chosenCatalog["catalog_digest"] self.catalogMongoDbVersion = self.chosenCatalog["mongo_extras_version_default"] + self.catalogDb2Channel = self.chosenCatalog.get("db2_channel_default", "v110509.0") # Returns fallback "v110509.0" for old catalogs without this field if self.architecture != "s390x" and self.architecture != "ppc64le": self.catalogCp4dVersion = self.chosenCatalog["cpd_product_version_default"] @@ -243,6 +243,31 @@ def processCatalogChoice(self) -> list: f"MongoDb: {self.catalogMongoDbVersion}", ] + # Add editorial content (What's New and Known Issues) + editorial = getCatalogEditorial(self.getParam('mas_catalog_version')) + if editorial: + # Add What's New section + if 'whats_new' in editorial and editorial['whats_new']: + summary.append("") + summary.append("What's New") + for item in editorial['whats_new']: + # Replace **text** with text in title + title = item.get('title', '') + title = title.replace('**', '', 1).replace('**', '', 1) + summary.append(title) + # Add details if present + if 'details' in item and item['details']: + for detail in item['details']: + summary.append(f" - {detail}") + + # Add Known Issues section + if 'known_issues' in editorial and editorial['known_issues']: + summary.append("") + summary.append("Known Issues") + for issue in editorial['known_issues']: + title = issue.get('title', '') + summary.append(f"- {title}") + return summary @logMethodCall @@ -356,12 +381,19 @@ def configGrafana(self) -> None: self.setParam("grafana_action", "none") else: try: - packagemanifestAPI = self.dynamicClient.resources.get(api_version="packages.operators.coreos.com/v1", kind="PackageManifest") - packagemanifestAPI.get(name="grafana-operator", namespace="openshift-marketplace") - if self.skipGrafanaInstall: + # Check if dynamicClient is available and resources.get() returns a valid API + if self.dynamicClient is None: self.setParam("grafana_action", "none") else: - self.setParam("grafana_action", "install") + packagemanifestAPI = self.dynamicClient.resources.get(api_version="packages.operators.coreos.com/v1", kind="PackageManifest") + if packagemanifestAPI is None: + self.setParam("grafana_action", "none") + else: + packagemanifestAPI.get(name="grafana-operator", namespace="openshift-marketplace") + if self.skipGrafanaInstall: + self.setParam("grafana_action", "none") + else: + self.setParam("grafana_action", "install") except NotFoundError: self.setParam("grafana_action", "none") @@ -373,6 +405,61 @@ def configGrafana(self) -> None: self.promptForString("Install namespace", "grafana_v5_namespace", default="grafana5") self.promptForString("Grafana storage size", "grafana_instance_storage_size", default="10Gi") + @logMethodCall + def arcgisSettings(self) -> None: + """ + Configure ArcGIS as a shared dependency for Manage and Facilities. + This method detects if either Manage (with Spatial) or Facilities is selected + and prompts for ArcGIS installation accordingly. + """ + needsArcGIS = False + apps_requiring_arcgis = [] + + # Check if Manage with Spatial component is selected + if self.installManage and "spatial=" in self.getParam("mas_appws_components"): + needsArcGIS = True + apps_requiring_arcgis.append("Maximo Manage (Spatial)") + + # Check if Facilities is selected (MAS 9.1+) + if self.installFacilities: + needsArcGIS = True + apps_requiring_arcgis.append("Maximo Real Estate and Facilities") + + # Only prompt if ArcGIS is needed and we're on MAS 9.x + # Check the appropriate channel based on what's being installed + if needsArcGIS: + channel = self.getParam("mas_app_channel_manage") or self.getParam("mas_app_channel_facilities") + if channel and isVersionEqualOrAfter('9.0.0', channel): + # Build description based on what's being installed + description = [ + "", + "Geospatial capabilities require a map server provider", + "You may choose your preferred map provider later or you can enable IBM Maximo Location Services for Esri now" + ] + + # Add specific details based on installed applications + if len(apps_requiring_arcgis) == 1: + description.append(f"This includes ArcGIS Enterprise as part of {apps_requiring_arcgis[0]} (Additional AppPoints required).") + else: + description.append(f"This includes ArcGIS Enterprise for {' and '.join(apps_requiring_arcgis)} (Additional AppPoints required).") + + self.printDescription(description) + + if self.yesOrNo("Include IBM Maximo Location Services for Esri"): + self.setParam("mas_arcgis_channel", channel) + self.installArcgis = True + + self.printDescription([ + "", + "IBM Maximo Location Services for Esri License Terms", + "For information about your IBM Maximo Location Services for Esri License visit: ", + " - https://ibm.biz/MAXArcGIS90-License", + "To continue with the installation, you must accept these additional license terms" + ]) + + if not self.yesOrNo("Do you accept the license terms"): + exit(1) + @logMethodCall def configSpecialCharacters(self): if self.showAdvancedOptions: @@ -498,23 +585,153 @@ def configOperationMode(self): if self.operationalMode == 1: self.setParam("environment_type", "production") self.setParam("aiservice_odh_model_deployment_type", "raw") + self.setParam("aiservice_rhoai_model_deployment_type", "raw") + self.setParam("rhoai", "false") else: self.setParam("environment_type", "non-production") self.setParam("aiservice_odh_model_deployment_type", "serverless") + self.setParam("aiservice_rhoai_model_deployment_type", "serverless") + self.setParam("rhoai", "false") + + def _promptForIngressController(self): + try: + ingressControllerAPI = self.dynamicClient.resources.get( + api_version="operator.openshift.io/v1", + kind="IngressController" + ) + ingressControllers = ingressControllerAPI.get(namespace="openshift-ingress-operator") + availableControllers = [] + for ic in ingressControllers.items: + if hasattr(ic, 'status') and hasattr(ic.status, 'conditions'): + for condition in ic.status.conditions: + if condition.type == 'Available' and condition.status == 'True': + availableControllers.append({ + 'name': ic.metadata.name, + 'domain': ic.status.domain if hasattr(ic.status, 'domain') else 'N/A' + }) + break + + if len(availableControllers) == 1: + selectedController = availableControllers[0]['name'] + logger.info(f"Only one IngressController available, using: {selectedController}") + return selectedController + + if len(availableControllers) > 1: + self.printH1("Select IngressController") + self.printDescription([ + "Multiple IngressControllers detected in your cluster.", + "Please select which one should be used for MAS routes:", + "" + ]) + + for idx, ic in enumerate(availableControllers, 1): + print(f" {idx}. {ic['name']} (domain: {ic['domain']})") + + print("") + selection = self.promptForInt("IngressController", min=1, max=len(availableControllers)) + selectedController = availableControllers[selection - 1]['name'] + logger.info(f"User selected IngressController: {selectedController}") + return selectedController + + logger.warning("No available IngressControllers found, defaulting to 'default'") + return 'default' + + except Exception as e: + logger.warning(f"Failed to list IngressControllers: {e}") + return 'default' @logMethodCall def configRoutingMode(self): if self.showAdvancedOptions and isVersionEqualOrAfter('9.2.0', self.getParam("mas_channel")) and self.getParam("mas_channel") != '9.2.x-feature': self.printH1("Configure Routing Mode") + self.printDescription([ "Maximo Application Suite can be installed so it can be accessed with single domain URLs (path mode) or multi-domain URLs (subdomain mode):", "", " 1. Path (single domain)", " 2. Subdomain (multi domain)" ]) + routingModeInt = self.promptForInt("Routing Mode", default=1, min=1, max=2) routingModeOptions = ["path", "subdomain"] - self.setParam("mas_routing_mode", routingModeOptions[routingModeInt - 1]) + selectedMode = routingModeOptions[routingModeInt - 1] + + if selectedMode == "path": + selectedController = self._promptForIngressController() + self.setParam("mas_ingress_controller_name", selectedController) + + # Check if selected IngressController is configured for path-based routing + # Note: In interactive mode, we only check configuration, not existence, + # since the user selects from a list of existing controllers + _, isConfigured = self._checkIngressControllerForPathRouting(selectedController) + + if isConfigured: + self.setParam("mas_routing_mode", "path") + self.printDescription([f" IngressController '{selectedController}' is configured for path-based routing."]) + else: + self.printDescription([ + "", + f"The IngressController '{selectedController}' requires configuration for path-based routing.", + "", + "The following setting needs to be applied:", + "", + " spec:", + " routeAdmission:", + " namespaceOwnership: InterNamespaceAllowed", + "", + "Would you like to configure it during installation?" + ]) + + if self.yesOrNo("Configure IngressController for path-based routing"): + self.setParam("mas_routing_mode", "path") + self.setParam("mas_configure_ingress", "true") + self.printDescription([f"IngressController '{selectedController}' will be configured during installation."]) + else: + self.printDescription([ + "", + "Path-based routing requires IngressController configuration.", + "Falling back to subdomain mode." + ]) + self.setParam("mas_routing_mode", "subdomain") + self.setParam("mas_ingress_controller_name", "") + else: + self.setParam("mas_routing_mode", "subdomain") + + def _checkIngressControllerForPathRouting(self, controllerName='default'): + """Check if a specific IngressController exists and is configured for path-based routing. + + Returns: + tuple: (exists: bool, configured: bool) + - exists: True if the IngressController resource exists + - configured: True if it's properly configured for path-based routing + """ + try: + ingressControllerAPI = self.dynamicClient.resources.get( + api_version="operator.openshift.io/v1", + kind="IngressController" + ) + + ingressController = ingressControllerAPI.get( + name=controllerName, + namespace="openshift-ingress-operator" + ) + + spec = ingressController.get('spec', {}) + routeAdmission = spec.get('routeAdmission', {}) + namespaceOwnership = routeAdmission.get('namespaceOwnership', '') + + if namespaceOwnership == 'InterNamespaceAllowed': + logger.info(f"IngressController '{controllerName}' is configured for path-based routing") + return (True, True) + + logger.info(f"IngressController '{controllerName}' is NOT configured for path-based routing") + return (True, False) + except NotFoundError: + logger.warning(f"IngressController '{controllerName}' not found in openshift-ingress-operator namespace") + return (False, False) + except Exception as e: + logger.warning(f"Failed to check IngressController '{controllerName}' configuration: {e}") + return (False, False) @logMethodCall def configAnnotations(self): @@ -666,6 +883,9 @@ def configApps(self): else: self.installMonitor = False + # Initialize ArcGIS flag (will be set to True later in arcgisSettings() if needed) + self.installArcgis = False + if self.installMonitor: self.configAppChannel("monitor") @@ -716,12 +936,16 @@ def configApps(self): self.configAppChannel("facilities") else: self.installFacilities = False + # TODO: May be have to change this condition if Manage 9.0 is not supporting AI Cofig Application # AI Service is only installable on Manage 9.x as AI Config Application is not supported on Manage 8.x - if not self.getParam("mas_app_channel_manage").startswith("8."): + + if isVersionEqualOrAfter('9.0.0', self.getParam("mas_app_channel_manage")): self.installAIService = self.yesOrNo("Install AI Service") if self.installAIService: self.configAIService() + else: + self.installAIService = False @logMethodCall def configAppChannel(self, appId): @@ -942,6 +1166,17 @@ def aiServiceSettings(self) -> None: self.promptForString("Storage tenants bucket", "aiservice_s3_tenants_bucket") self.promptForString("Storage templates bucket", "aiservice_s3_templates_bucket") + # Configure Certificate Issuer + self.configAIServiceCertIssuer() + + @logMethodCall + def configAIServiceCertIssuer(self): + if self.showAdvancedOptions: + self.printH1("Configure Certificate Issuer") + configureCertIssuer = self.yesOrNo('Configure certificate issuer') + if configureCertIssuer: + self.promptForString("Certificate issuer name", "aiservice_certificate_issuer") + @logMethodCall def aiServiceTenantSettings(self) -> None: if self.installAIService: @@ -1101,6 +1336,7 @@ def interactiveMode(self, simplified: bool, advanced: bool) -> None: self.aiServiceIntegrations() # Dependencies + self.arcgisSettings() # Will only prompt if Manage (with Spatial) or Facilities is selected self.configMongoDb() self.configDb2() self.configKafka() # Will only do anything if IoT has been selected for install @@ -1126,6 +1362,7 @@ def nonInteractiveMode(self) -> None: self.installManage = False self.installPredict = False self.installInspection = False + self.installArcgis = False self.installOptimizer = False self.installFacilities = False self.deployCP4D = False @@ -1260,6 +1497,12 @@ def nonInteractiveMode(self) -> None: if not vars(self.args).get("aiservice_instance_id") and value is not None and value != "": self.setParam("manage_bind_aiservice_tenant_id", value) + # ArcGIS settings + elif key == "mas_arcgis_channel": + if value is not None and value != "": + self.setParam("mas_arcgis_channel", value) + self.installArcgis = True + # Manage advanced settings that need extra processing elif key == "mas_app_settings_server_bundle_size": if value is not None: @@ -1319,7 +1562,7 @@ def nonInteractiveMode(self) -> None: self.fatalError(f"Unsupported format for {key} ({value}). Expected int:int:boolean") # Arguments that we don't need to do anything with - elif key in ["accept_license", "dev_mode", "skip_pre_check", "skip_grafana_install", "no_confirm", "no_wait_for_pvc", "help", "advanced", "simplified"]: + elif key in ["accept_license", "dev_mode", "skip_pre_check", "skip_grafana_install", "no_confirm", "help", "advanced", "simplified", "mas_configure_ingress"]: pass elif key == "manual_certificates": @@ -1401,6 +1644,8 @@ def nonInteractiveMode(self) -> None: # Load the catalog information self.chosenCatalog = getCatalog(self.getParam("mas_catalog_version")) + if self.chosenCatalog is not None: + self.processCatalogChoice() # Only process catalog if it was successfully loaded,this will set catalogDb2Channel # License file is only optional for existing SLS instance if self.slsLicenseFileLocal is None: @@ -1414,6 +1659,8 @@ def nonInteractiveMode(self) -> None: self.validateCatalogSource() self.licensePrompt() + self.setDB2DefaultChannel() + # Version before 9.1 cannot have empty components if (self.getParam("mas_channel").startswith("8.") or self.getParam("mas_channel").startswith("9.0")) and (self.getParam("mas_app_channel_manage") is not None and self.getParam("mas_app_channel_manage") != "") and self.getParam("mas_appws_components") == "": self.fatalError("--manage-components must be set for versions earlier than 9.1.0") @@ -1422,6 +1669,20 @@ def nonInteractiveMode(self) -> None: if ((self.getParam("mas_app_channel_predict") is not None and self.getParam("mas_app_channel_predict") != "") and 'health' not in self.getParam("mas_appws_components")): self.fatalError("--manage-components must include 'health' component when installing Predict") + # Validate ArcGIS installation requirements in non-interactive mode + if self.installArcgis: + hasSpatial = self.installManage and "spatial=" in self.getParam("mas_appws_components") + hasFacilities = self.installFacilities + + # ArcGIS requires either Spatial or Facilities to be installed + if not hasSpatial and not hasFacilities: + self.fatalError("--arcgis-channel requires either Manage with Spatial component (--manage-components must include 'spatial=') or Facilities (--facilities-channel) to be installed") + + # ArcGIS requires channel 9.0 or later + arcgis_channel = self.getParam("mas_arcgis_channel") + if arcgis_channel and not isVersionEqualOrAfter('9.0.0', arcgis_channel): + self.fatalError(f"--arcgis-channel must be 9.0 or later (current: {arcgis_channel})") + @logMethodCall def install(self, argv): """ @@ -1435,7 +1696,6 @@ def install(self, argv): # Properties for arguments that control the behavior of the CLI self.noConfirm = args.no_confirm - self.waitForPVC = not args.no_wait_for_pvc self.licenseAccepted = args.accept_license self.devMode = args.dev_mode self.skipGrafanaInstall = args.skip_grafana_install @@ -1453,6 +1713,9 @@ def install(self, argv): if args.skip_pre_check: self.setParam("skip_pre_check", "true") + if hasattr(args, 'mas_configure_ingress') and args.mas_configure_ingress: + self.setParam("mas_configure_ingress", "true") + if instanceId is None: self.printH1("Set Target OpenShift Cluster") # Connect to the target cluster @@ -1496,13 +1759,6 @@ def install(self, argv): self.slsLicenseFile() self.manualCertificates() - if not self.noConfirm and not self.waitForPVC: - self.printDescription(["If you are using storage classes that utilize 'WaitForFirstConsumer' binding mode choose 'No' at the prompt below"]) - self.waitForPVC = self.yesOrNo("Wait for PVCs to bind") - - if not self.waitForPVC: - self.setParam("no_wait_for_pvc", True) - # Show a summary of the installation configuration self.printH1("Non-Interactive Install Command") self.printDescription([ @@ -1511,6 +1767,83 @@ def install(self, argv): self.buildCommand() ]) + # Validate IngressController configuration for path-based routing (non-interactive mode only) + if not self.interactiveMode and self.getParam("mas_routing_mode") == "path": + ingressControllerName = None + if hasattr(self.args, 'mas_ingress_controller_name') and self.args.mas_ingress_controller_name: + ingressControllerName = self.args.mas_ingress_controller_name + logger.info(f"Using IngressController '{ingressControllerName}' from CLI flag") + elif self.getParam("mas_ingress_controller_name"): + ingressControllerName = self.getParam("mas_ingress_controller_name") + logger.info(f"Using IngressController '{ingressControllerName}' from existing parameter") + else: + ingressControllerName = "default" + logger.info("No IngressController specified, defaulting to 'default'") + + self.setParam("mas_ingress_controller_name", ingressControllerName) + + exists, isConfigured = self._checkIngressControllerForPathRouting(ingressControllerName) + + if not exists: + self.fatalError( + "\n".join([ + "IngressController Not Found", + "", + "========================================================================", + f"You selected IngressController '{ingressControllerName}', but it does not exist", + "in the openshift-ingress-operator namespace.", + "", + "To fix this issue:", + "", + "1. List available IngressControllers:", + " oc get ingresscontroller -n openshift-ingress-operator", + "", + "2. Use an existing controller name with --ingress-controller-name flag:", + " mas install --routing path --ingress-controller-name [existing-controller] ...", + "", + "3. Or use the default controller (usually named 'default'):", + " mas install --routing path --ingress-controller-name default ...", + "", + "Alternatively, you can use subdomain routing mode:", + " mas install --routing subdomain ..." + ]) + ) + elif not isConfigured: + if hasattr(self.args, 'mas_configure_ingress') and self.args.mas_configure_ingress: + logger.info(f"IngressController '{ingressControllerName}' will be configured for path-based routing during installation pipeline") + self.setParam("mas_configure_ingress", "true") + else: + self.fatalError( + "\n".join([ + "IngressController Not Configured for Path-Based Routing", + "", + "========================================================================", + f"IngressController '{ingressControllerName}' exists but is not properly configured", + "for path-based routing.", + "", + "Required Configuration:", + " spec:", + " routeAdmission:", + " namespaceOwnership: InterNamespaceAllowed", + "", + "To fix this issue, you have two options:", + "", + "1. Add the --configure-ingress flag to configure it during installation:", + f" (Optionally, you can provide your custom IngressController name instead of {ingressControllerName} )", + f" mas install --routing path --ingress-controller-name {ingressControllerName} --configure-ingress ...", + "", + "2. Manually configure it before installation by running:", + f" oc patch ingresscontroller {ingressControllerName} -n openshift-ingress-operator \\", + " --type=merge \\", + " --patch='{\"spec\":{\"routeAdmission\":{\"namespaceOwnership\":\"InterNamespaceAllowed\"}}}'", + "", + "Alternatively, you can use subdomain routing mode:", + " mas install --routing subdomain ..." + ]) + ) + else: + logger.info(f"IngressController '{ingressControllerName}' is already configured for path-based routing") + # Based on the parameters set the annotations correctly self.configAnnotations() @@ -1531,7 +1864,7 @@ def install(self, argv): pipelinesNamespace = f"mas-{self.getParam('mas_instance_id')}-pipelines" with Halo(text='Validating OpenShift Pipelines installation', spinner=self.spinner) as h: - if installOpenShiftPipelines(self.dynamicClient, self.getParam("storage_class_rwx")): + if installOpenShiftPipelines(self.dynamicClient, customStorageClassName=self.getParam("storage_class_rwx")): h.stop_and_persist(symbol=self.successIcon, text="OpenShift Pipelines Operator is installed and ready to use") else: h.stop_and_persist(symbol=self.successIcon, text="OpenShift Pipelines Operator installation failed") @@ -1544,7 +1877,6 @@ def install(self, argv): instanceId=self.getParam("mas_instance_id"), storageClass=self.pipelineStorageClass, accessMode=self.pipelineStorageAccessMode, - waitForBind=self.waitForPVC, configureRBAC=(self.getParam("service_account_name") == "") ) prepareInstallSecrets( diff --git a/python/src/mas/cli/install/argBuilder.py b/python/src/mas/cli/install/argBuilder.py index 535d9420baf..b3178f3bf23 100644 --- a/python/src/mas/cli/install/argBuilder.py +++ b/python/src/mas/cli/install/argBuilder.py @@ -101,6 +101,12 @@ def buildCommand(self) -> str: if self.getParam('mas_routing_mode') != "": command += f" --routing \"{self.getParam('mas_routing_mode')}\"{newline}" + if self.getParam('mas_ingress_controller_name') != "": + command += f" --ingress-controller \"{self.getParam('mas_ingress_controller_name')}\"{newline}" + + if self.getParam('mas_configure_ingress') is True: + command += f" --configure-ingress{newline}" + if self.getParam('mas_domain') != "": command += f" --domain \"{self.getParam('mas_domain')}\"{newline}" @@ -196,7 +202,8 @@ def buildCommand(self) -> str: # Arcgis # ----------------------------------------------------------------------------- - # TODO: Add ArcGis after we have properly fixed how it's installed + if self.installArcgis: + command += f" --arcgis-channel \"{self.getParam('mas_arcgis_channel')}\"{newline}" # Manage Advanced Settings # ----------------------------------------------------------------------------- @@ -207,7 +214,7 @@ def buildCommand(self) -> str: if self.getParam('mas_app_settings_server_bundles_size') != "": command += f" --manage-server-bundle-size \"{self.getParam('mas_app_settings_server_bundles_size')}\"{newline}" if self.getParam('mas_app_settings_default_jms') != "": - command += f" --manage-jms \"{self.getParam('mas_app_settings_default_jms')}\"{newline}" + command += f" --manage-jms {newline}" if self.getParam('mas_app_settings_persistent_volumes_flag') == "true": command += f" --manage-persistent-volumes{newline}" if self.getParam('mas_app_settings_demodata') == "true": @@ -311,6 +318,11 @@ def buildCommand(self) -> str: command += f" --aiservice-instance-id \"{self.getParam('aiservice_instance_id')}\"{newline}" if self.getParam('aiservice_channel') != "": command += f" --aiservice-channel \"{self.getParam('aiservice_channel')}\"{newline}" + + # Certificate Issuer for AI Service + if self.getParam('aiservice_certificate_issuer') != "": + command += f" --aiservice-certificate-issuer \"{self.getParam('aiservice_certificate_issuer')}\"{newline}" + if self.getParam('aiservice_s3_accesskey') != "" and self.getParam('minio_root_user') == "": command += f" --s3-accesskey \"{self.getParam('aiservice_s3_accesskey')}\"{newline}" if self.getParam('aiservice_s3_secretkey') != "" and self.getParam('minio_root_user') == "": @@ -332,6 +344,13 @@ def buildCommand(self) -> str: if self.getParam('aiservice_odh_model_deployment_type') != "": command += f" --odh-model-deployment-type \"{self.getParam('aiservice_odh_model_deployment_type')}\"{newline}" + if self.getParam('aiservice_rhoai_model_deployment_type') != "": + command += f" --rhoai-model-deployment-type \"{self.getParam('aiservice_rhoai_model_deployment_type')}\"{newline}" + if self.getParam('rhoai') == "true": + command += f" --rhoai{newline}" + + if self.getParam('mas_app_settings_persistent_volumes_flag') == "true": + command += f" --manage-persistent-volumes{newline}" if self.getParam('aiservice_watsonxai_apikey') != "": command += f" --watsonxai-apikey \"{self.getParam('aiservice_watsonxai_apikey')}\"{newline}" @@ -541,8 +560,6 @@ def buildCommand(self) -> str: # ----------------------------------------------------------------------------- if self.devMode: command += f" --dev-mode{newline}" - if not self.waitForPVC: - command += f" --no-wait-for-pvc{newline}" if self.getParam('skip_pre_check') is True: command += f" --skip-pre-check{newline}" if self.getParam('skip_grafana_install') is True: diff --git a/python/src/mas/cli/install/argParser.py b/python/src/mas/cli/install/argParser.py index 365d96b2305..4e10f6f556d 100644 --- a/python/src/mas/cli/install/argParser.py +++ b/python/src/mas/cli/install/argParser.py @@ -14,8 +14,33 @@ from .. import __version__ as packageVersion from ..cli import getHelpFormatter +# Constants for argument choices +DNS_PROVIDERS = ["cloudflare", "cis", "route53"] +STORAGE_ACCESS_MODES = ["ReadWriteMany", "ReadWriteOnce"] +KAFKA_PROVIDERS = ["strimzi", "redhat", "ibm", "aws"] +DB2_TYPES = ["db2wh", "db2oltp"] +TAINT_EFFECTS = ["NoSchedule", "PreferNoSchedule", "NoExecute"] +UPGRADE_TYPES = ["regularUpgrade", "onlineUpgrade"] +ATTACHMENT_PROVIDERS = ["filestorage", "ibm", "aws"] +ATTACHMENT_MODES = ["cr", "db"] +FACILITIES_SIZES = ["small", "medium", "large"] +IMAGE_PULL_POLICIES = ["IfNotPresent", "Always"] -def isValidFile(parser, arg) -> str: + +def isValidFile(parser: argparse.ArgumentParser, arg: str) -> str: + """ + Validate that a file exists at the given path. + + Args: + parser: The ArgumentParser instance for error reporting + arg: The file path to validate + + Returns: + The validated file path + + Raises: + ArgumentParser.error: If the file does not exist + """ if not path.exists(arg): parser.error(f"Error: The file {arg} does not exist") else: @@ -37,7 +62,10 @@ def isValidFile(parser, arg) -> str: # MAS Catalog Selection & Entitlement # ----------------------------------------------------------------------------- -catArgGroup = installArgParser.add_argument_group("MAS Catalog Selection & Entitlement") +catArgGroup = installArgParser.add_argument_group( + "MAS Catalog Selection & Entitlement", + "Configure which IBM Maximo Operator Catalog to install and provide your IBM entitlement key for access to container images." +) catArgGroup.add_argument( "-c", "--mas-catalog-version", required=False, @@ -54,9 +82,12 @@ def isValidFile(parser, arg) -> str: help="IBM entitlement key" ) -# MAS Basic Configuration +# Basic Configuration # ----------------------------------------------------------------------------- -masArgGroup = installArgParser.add_argument_group("MAS Basic Configuration") +masArgGroup = installArgParser.add_argument_group( + "Basic Configuration", + "Core configuration options for your MAS instance including instance ID, workspace settings, subscription channels, and user settings." +) masArgGroup.add_argument( "-i", "--mas-instance-id", required=False, @@ -82,53 +113,20 @@ def isValidFile(parser, arg) -> str: required=False, help="AI Service Instance ID" ) - -# MAS Special characters -# ----------------------------------------------------------------------------- -masSpecialCharacters = installArgParser.add_argument_group("Mas Special Characters") -masSpecialCharacters.add_argument( +masArgGroup.add_argument( "--allow-special-chars", dest="mas_special_characters", required=False, - help="Allow special chars for users username/ID", + help="Allow special characters for user username/ID", action="store_true" ) -# ECK Integration -# ----------------------------------------------------------------------------- -eckArgGroup = installArgParser.add_argument_group("ECK Integration") -eckArgGroup.add_argument( - "--eck", - dest="eck_action", - required=False, - help="", - action="store_const", - const="install" -) -eckArgGroup.add_argument( - "--eck-enable-logstash", - required=False, - help="", - action="store_true" -) -eckArgGroup.add_argument( - "--eck-remote-es-hosts", - required=False, - help="" -) -eckArgGroup.add_argument( - "--eck-remote-es-username", - required=False, - help="" -) -eckArgGroup.add_argument( - "--eck-remote-es-password", - required=False, - help="" -) -# MAS Advanced Configuration +# Advanced Configuration # ----------------------------------------------------------------------------- -masAdvancedArgGroup = installArgParser.add_argument_group("MAS Advanced Configuration") +masAdvancedArgGroup = installArgParser.add_argument_group( + "Advanced Configuration", + "Advanced configuration options for MAS including DNS providers, certificates, domain settings, and IPv6 support." +) masAdvancedArgGroup.add_argument( "--superuser-username", dest="mas_superuser_username", @@ -172,6 +170,19 @@ def isValidFile(parser, arg) -> str: help="Configure MAS with path or subdomain routing", choices=["path", "subdomain"] ) +masAdvancedArgGroup.add_argument( + "--configure-ingress", + dest="mas_configure_ingress", + required=False, + action="store_true", + help="Automatically configure IngressController to allow InterNamespaceAllowed for path-based routing" +) +masAdvancedArgGroup.add_argument( + "--ingress-controller-name", + dest="mas_ingress_controller_name", + required=False, + help="Name of the IngressController to use for path-based routing (default: 'default')" +) masAdvancedArgGroup.add_argument( "--manual-certificates", required=False, @@ -196,8 +207,9 @@ def isValidFile(parser, arg) -> str: "--dns-provider", dest="dns_provider", required=False, - help="Enable Automatic DNS management (see DNS Configuration options)", - choices=["cloudflare", "cis", "route53"] + help="Enable automatic DNS management (see DNS Configuration options)", + choices=DNS_PROVIDERS, + metavar="{cloudflare,cis,route53}" ) masAdvancedArgGroup.add_argument( @@ -223,9 +235,9 @@ def isValidFile(parser, arg) -> str: const="true" ) -# DNS Configuration - IBM CIS +# DNS Integration - IBM CIS # ----------------------------------------------------------------------------- -cisArgGroup = installArgParser.add_argument_group("DNS Configuration - CIS") +cisArgGroup = installArgParser.add_argument_group("DNS Integration - CIS") cisArgGroup.add_argument( "--cis-email", dest="cis_email", @@ -251,9 +263,12 @@ def isValidFile(parser, arg) -> str: help="Optionally setup MAS instance as a subdomain under a multi-tenant CIS DNS record" ) -# DNS Configuration - CloudFlare +# DNS Integration - CloudFlare # ----------------------------------------------------------------------------- -cloudFlareArgGroup = installArgParser.add_argument_group("DNS Configuration - CloudFlare") +cloudFlareArgGroup = installArgParser.add_argument_group( + "DNS Integration - CloudFlare", + "Configuration options for Cloudflare DNS provider, including API credentials, zone, and subdomain settings." +) cloudFlareArgGroup.add_argument( "--cloudflare-email", dest="cloudflare_email", @@ -281,7 +296,10 @@ def isValidFile(parser, arg) -> str: # Storage # ----------------------------------------------------------------------------- -storageArgGroup = installArgParser.add_argument_group("Storage") +storageArgGroup = installArgParser.add_argument_group( + "Storage", + "Configure storage classes for ReadWriteOnce (RWO) and ReadWriteMany (RWX) volumes, and pipeline storage settings." +) storageArgGroup.add_argument( "--storage-class-rwo", required=False, @@ -300,13 +318,17 @@ def isValidFile(parser, arg) -> str: storageArgGroup.add_argument( "--storage-accessmode", required=False, - help="Install pipeline storage class access mode (ReadWriteMany or ReadWriteOnce)", - choices=["ReadWriteMany", "ReadWriteOnce"] + help="Install pipeline storage class access mode", + choices=STORAGE_ACCESS_MODES, + metavar="{ReadWriteMany,ReadWriteOnce}" ) # IBM Suite License Service # ----------------------------------------------------------------------------- -slsArgGroup = installArgParser.add_argument_group("IBM Suite License Service") +slsArgGroup = installArgParser.add_argument_group( + "IBM Suite License Service", + "Configure IBM Suite License Service (SLS) including license file location, namespace, and subscription channel." +) slsArgGroup.add_argument( "--license-file", required=False, @@ -331,9 +353,12 @@ def isValidFile(parser, arg) -> str: help="Customize the SLS channel when in development mode", ) -# IBM Data Reporting Operator (DRO) +# IBM Data Reporting Operator # ----------------------------------------------------------------------------- -droArgGroup = installArgParser.add_argument_group("IBM Data Reporting Operator (DRO)") +droArgGroup = installArgParser.add_argument_group( + "IBM Data Reporting Operator", + "Configure IBM Data Reporting Operator (DRO) with contact information and namespace settings for usage data collection." +) droArgGroup.add_argument( "--contact-email", "--uds-email", @@ -361,18 +386,24 @@ def isValidFile(parser, arg) -> str: help="Namespace for DRO" ) -# MongoDb Community Operator +# MongoDB Community Operator # ----------------------------------------------------------------------------- -mongoArgGroup = installArgParser.add_argument_group("MongoDb Community Operator") +mongoArgGroup = installArgParser.add_argument_group( + "MongoDB Community Operator", + "Configure the namespace for MongoDB Community Operator deployment." +) mongoArgGroup.add_argument( "--mongodb-namespace", required=False, - help="" + help="Namespace for MongoDB Community Operator" ) # OCP Configuration # ----------------------------------------------------------------------------- -ocpArgGroup = installArgParser.add_argument_group("OCP Configuration") +ocpArgGroup = installArgParser.add_argument_group( + "OCP Configuration", + "OpenShift Container Platform specific configuration including ingress certificate settings." +) ocpArgGroup.add_argument( "--ocp-ingress-tls-secret-name", required=False, @@ -381,7 +412,10 @@ def isValidFile(parser, arg) -> str: # MAS Applications # ----------------------------------------------------------------------------- -masAppsArgGroup = installArgParser.add_argument_group("MAS Applications") +masAppsArgGroup = installArgParser.add_argument_group( + "MAS Applications", + "Configure subscription channels for MAS applications including Assist, IoT, Monitor, Optimizer, Predict, and Visual Inspection." +) masAppsArgGroup.add_argument( "--assist-channel", required=False, @@ -437,18 +471,11 @@ def isValidFile(parser, arg) -> str: # Arcgis # ----------------------------------------------------------------------------- arcgisArgGroup = installArgParser.add_argument_group("Maximo Location Services for Esri (arcgis)") -arcgisArgGroup.add_argument( - "--install-arcgis", - required=False, - help="Enables IBM Maximo Location Services for Esri. Only applicable if installing Manage with Spatial", - action="store_const", - const="true" -) arcgisArgGroup.add_argument( "--arcgis-channel", dest="mas_arcgis_channel", required=False, - help="" + help="Subscription channel for IBM Maximo Location Services for Esri. Only applicable if installing Manage with Spatial or Facilities" ) # Manage Advanced Settings @@ -608,9 +635,10 @@ def isValidFile(parser, arg) -> str: "--manage-upgrade-type", dest="mas_appws_upgrade_type", required=False, - help="Set Manage upgrade type. Default is `regularUpgrade`", + help="Set Manage upgrade type (default: regularUpgrade)", default="regularUpgrade", - choices=["regularUpgrade", "onlineUpgrade"] + choices=UPGRADE_TYPES, + metavar="{regularUpgrade,onlineUpgrade}" ) # Manage Attachments @@ -619,15 +647,17 @@ def isValidFile(parser, arg) -> str: "--manage-attachments-provider", dest="mas_manage_attachments_provider", required=False, - help="Defines the storage provider type to be used to store attachments in Maximo Manage. Supported options are `filestorage`, `ibm` and `aws`.", - choices=["filestorage", "ibm", "aws"] + help="Storage provider type for Maximo Manage attachments", + choices=ATTACHMENT_PROVIDERS, + metavar="{filestorage,ibm,aws}" ) manageArgGroup.add_argument( "--manage-attachments-mode", dest="mas_manage_attachment_configuration_mode", required=False, - help="Defines how attachment properties will be configured in Manage. Possible values are: cr and db", - choices=["cr", "db"] + help="How attachment properties will be configured in Manage", + choices=ATTACHMENT_MODES, + metavar="{cr,db}" ) manageArgGroup.add_argument( @@ -644,95 +674,101 @@ def isValidFile(parser, arg) -> str: ) # Facilities Advanced Settings -# TODO: Fix type for storage sizes and max conn pool size -facilitiesArgGroup = installArgParser.add_argument_group("Facilities Advanced Configuration") +# ----------------------------------------------------------------------------- +facilitiesArgGroup = installArgParser.add_argument_group( + "Advanced Settings - Facilities", + "Advanced configuration for Maximo Real Estate and Facilities including deployment size, image pull policy, routes timeout, Liberty extensions, vault secrets, workflow agents, connection pool size, and storage settings." +) facilitiesArgGroup.add_argument( "--facilities-size", dest="mas_ws_facilities_size", required=False, - help="Defines the size of Facilities deployment", - choices=['small', 'medium', 'large'], + help="Size of Facilities deployment", + choices=FACILITIES_SIZES, + metavar="{small,medium,large}" ) facilitiesArgGroup.add_argument( "--facilities-pull-policy", dest="mas_ws_facilities_pull_policy", required=False, - help="Defines the pull policy for the images", - choices=["IfNotPresent", "Always"], + help="Image pull policy for Facilities", + choices=IMAGE_PULL_POLICIES, + metavar="{IfNotPresent,Always}" ) facilitiesArgGroup.add_argument( "--facilities-routes-timeout", dest="mas_ws_facilities_routes_timeout", required=False, - help="Defines the timeout for the routes", - default="600s", + help="Timeout for Facilities routes (default: 600s)", + default="600s" ) facilitiesArgGroup.add_argument( "--facilities-xml-extension", dest="mas_ws_facilities_liberty_extension_XML", required=False, - help="Defines the name of the secret that holds the extensions for Liberty server", + help="Secret name containing Liberty server extensions" ) facilitiesArgGroup.add_argument( "--facilities-vault-secret", dest="mas_ws_facilities_vault_secret", required=False, - help="Defines the name of the secret that holds the AES Encryption password", + help="Secret name containing AES encryption password" ) facilitiesArgGroup.add_argument( "--facilities-dwfagent", dest="mas_ws_facilities_dwfagents", required=False, - help="Defines the list of dedicates workflow agents", + help="List of dedicated workflow agents", type=str ) facilitiesArgGroup.add_argument( "--facilities-maxconnpoolsize", dest="mas_ws_facilities_db_maxconnpoolsize", required=False, - help="Defines the maximum connection pool size", - default=200, + help="Maximum database connection pool size (default: 200)", + type=int, + default=200 ) facilitiesArgGroup.add_argument( "--facilities-log-storage-class", dest="mas_ws_facilities_storage_log_class", required=False, - help="Defines the log storage class", + help="Storage class for Facilities logs" ) facilitiesArgGroup.add_argument( "--facilities-log-storage-mode", dest="mas_ws_facilities_storage_log_mode", required=False, - help="Defines the log storage mode", + help="Storage mode for Facilities logs" ) facilitiesArgGroup.add_argument( "--facilities-log-storage-size", dest="mas_ws_facilities_storage_log_size", required=False, - help="Defines the logs storage size", + help="Storage size for Facilities logs" ) facilitiesArgGroup.add_argument( "--facilities-userfiles-storage-class", dest="mas_ws_facilities_storage_userfiles_class", required=False, - help="Defines the user files storage class", + help="Storage class for Facilities user files" ) facilitiesArgGroup.add_argument( "--facilities-userfiles-storage-mode", dest="mas_ws_facilities_storage_userfiles_mode", required=False, - help="Defines the user files storage mode", + help="Storage mode for Facilities user files" ) facilitiesArgGroup.add_argument( "--facilities-userfiles-storage-size", dest="mas_ws_facilities_storage_userfiles_size", required=False, - help="Defines the user files storage size", + help="Storage size for Facilities user files" ) -# ODH +# Open Data Hub # ----------------------------------------------------------------------------- -odhArgGroup = installArgParser.add_argument_group("Opendatahub") +odhArgGroup = installArgParser.add_argument_group("Open Data Hub") odhArgGroup.add_argument( "--odh-model-deployment-type", @@ -742,10 +778,33 @@ def isValidFile(parser, arg) -> str: help="Model deployment type for ODH" ) -# S3 - General +# Red Hat Openshift AI # ----------------------------------------------------------------------------- -s3ArgGroup = installArgParser.add_argument_group("S3 Storage") -s3ArgGroup.add_argument( +rhoaiArgGroup = installArgParser.add_argument_group("RedHat Openshift AI") + +rhoaiArgGroup.add_argument( + "--rhoai-model-deployment-type", + dest="aiservice_rhoai_model_deployment_type", + required=False, + default="raw", + help="Model deployment type for RedHat Openshift AI" +) + +rhoaiArgGroup.add_argument( + "--rhoai", + dest="rhoai", + required=False, + help="temporary flag to install Redhat Openshift AI instead of Opendatahub", + action="store_const", + const="true" +) +# S3 Storage +# ----------------------------------------------------------------------------- +aiServiceS3ArgGroup = installArgParser.add_argument_group( + "S3 Storage", + "Configure S3-compatible object storage for AI Service including Minio installation or external S3 connection details (host, port, SSL, credentials, bucket, and region)." +) +aiServiceS3ArgGroup.add_argument( "--install-minio", dest="install_minio_aiservice", required=False, @@ -756,13 +815,13 @@ def isValidFile(parser, arg) -> str: # S3 - Minio # ----------------------------------------------------------------------------- -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--minio-root-user", dest="minio_root_user", required=False, help="Root user for minio" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--minio-root-password", dest="minio_root_password", required=False, @@ -771,43 +830,43 @@ def isValidFile(parser, arg) -> str: # S3 - External Connection # ----------------------------------------------------------------------------- -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-host", dest="aiservice_s3_host", required=False, help="Hostname or IP address of the S3 storage service" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-port", dest="aiservice_s3_port", required=False, help="Port number for the S3 storage service" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-ssl", dest="aiservice_s3_ssl", required=False, help="Enable or disable SSL for S3 connection (true/false)" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-accesskey", dest="aiservice_s3_accesskey", required=False, help="Access key for authenticating with the S3 storage service" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-secretkey", dest="aiservice_s3_secretkey", required=False, help="Secret key for authenticating with the S3 storage service" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-region", dest="aiservice_s3_region", required=False, help="Region for the S3 storage service" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-bucket-prefix", dest="aiservice_s3_bucket_prefix", required=False, @@ -816,14 +875,14 @@ def isValidFile(parser, arg) -> str: # S3 - Bucket Naming # ----------------------------------------------------------------------------- -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-tenants-bucket", dest="aiservice_s3_tenants_bucket", required=False, default="km-tenants", help="Name of the S3 bucket for tenants storage" ) -s3ArgGroup.add_argument( +aiServiceS3ArgGroup.add_argument( "--s3-templates-bucket", dest="aiservice_s3_templates_bucket", required=False, @@ -833,122 +892,132 @@ def isValidFile(parser, arg) -> str: # Watsonx # ----------------------------------------------------------------------------- -watsonxArgGroup = installArgParser.add_argument_group("Watsonx") +aiServiceWatsonxArgGroup = installArgParser.add_argument_group( + "Watsonx", + "Configure IBM Watsonx integration for AI Service including API key, instance ID, project ID, and service URL." +) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-apikey", dest="aiservice_watsonxai_apikey", required=False, help="API key for WatsonX" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-url", dest="aiservice_watsonxai_url", required=False, help="URL endpoint for WatsonX" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-project-id", dest="aiservice_watsonxai_project_id", required=False, help="Project ID for WatsonX" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonx-action", dest="aiservice_watsonx_action", required=False, help="Action to perform with WatsonX (install/remove)" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-ca-crt", dest="aiservice_watsonxai_ca_crt", required=False, help="CA certificate for WatsonX AI (PEM format, optional, only if using self-signed certs)" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-deployment-id", dest="aiservice_watsonxai_deployment_id", required=False, help="WatsonX deployment ID" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-space-id", dest="aiservice_watsonxai_space_id", required=False, help="WatsonX space ID" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-instance-id", dest="aiservice_watsonxai_instance_id", required=False, help="WatsonX instance ID" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-username", dest="aiservice_watsonxai_username", required=False, help="WatsonX username" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-version", dest="aiservice_watsonxai_version", required=False, help="WatsonX version" ) -watsonxArgGroup.add_argument( +aiServiceWatsonxArgGroup.add_argument( "--watsonxai-onprem", dest="aiservice_watsonxai_on_prem", required=False, help="WatsonX deployed on prem" ) -# AI Service +# AI Service Tenant # ----------------------------------------------------------------------------- -aiServiceArgGroup = installArgParser.add_argument_group("Maximo AI Service") +aiServiceTenantArgGroup = installArgParser.add_argument_group("Maximo AI Service Tenant") -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--tenant-entitlement-type", dest="tenant_entitlement_type", required=False, default="standard", help="Entitlement type for AI Service tenant" ) -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--tenant-entitlement-start-date", dest="tenant_entitlement_start_date", required=False, help="Start date for AI Service tenant" ) -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--tenant-entitlement-end-date", dest="tenant_entitlement_end_date", required=False, help="End date for AI Service tenant" ) -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--rsl-url", dest="rsl_url", required=False, help="rsl url" ) -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--rsl-org-id", dest="rsl_org_id", required=False, help="org id for rsl" ) -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--rsl-token", dest="rsl_token", required=False, help="token for rsl" ) -aiServiceArgGroup.add_argument( +aiServiceTenantArgGroup.add_argument( "--rsl-ca-crt", dest="rsl_ca_crt", required=False, help="CA certificate for RSL API (PEM format, optional, only if using self-signed certs)" ) + +# AI Service Configuration +# ----------------------------------------------------------------------------- +aiServiceArgGroup = installArgParser.add_argument_group( + "Maximo AI Service", + "Maximo AI Service configuration such as certificate Issuer, environment type" +) aiServiceArgGroup.add_argument( "--environment-type", dest="environment_type", @@ -956,10 +1025,19 @@ def isValidFile(parser, arg) -> str: default="non-production", help="Environment type (default: non-production)" ) +aiServiceArgGroup.add_argument( + "--aiservice-certificate-issuer", + dest="aiservice_certificate_issuer", + required=False, + help="Provide the name of the Issuer to configure AI Service to issue certificates", +) # IBM Cloud Pak for Data # ----------------------------------------------------------------------------- -cpdAppsArgGroup = installArgParser.add_argument_group("IBM Cloud Pak for Data") +cpdAppsArgGroup = installArgParser.add_argument_group( + "IBM Cloud Pak for Data", + "Configure IBM Cloud Pak for Data applications including Watson Studio, Watson Machine Learning, Watson Discovery, Analytics Engine (Spark), Cognos Analytics, SPSS Modeler, and Canvas Base." +) cpdAppsArgGroup.add_argument( "--cp4d-version", dest="cpd_product_version", @@ -1001,7 +1079,10 @@ def isValidFile(parser, arg) -> str: # IBM Db2 Universal Operator # ----------------------------------------------------------------------------- -db2ArgGroup = installArgParser.add_argument_group("IBM Db2 Universal Operator") +db2ArgGroup = installArgParser.add_argument_group( + "IBM Db2 Universal Operator", + "Configure IBM Db2 instances including namespace, channel, installation options for system/manage/facilities databases, database type, timezone, affinity, tolerations, resource limits, and storage capacity." +) db2ArgGroup.add_argument( "--db2-namespace", required=False, @@ -1039,12 +1120,14 @@ def isValidFile(parser, arg) -> str: db2ArgGroup.add_argument( "--db2-type", required=False, - help="Choose the type of the Manage dedicated Db2u instance. Available options are `db2wh` (default) or `db2oltp`" + help="Type of Manage dedicated Db2u instance (default: db2wh)", + choices=DB2_TYPES, + metavar="{db2wh,db2oltp}" ) db2ArgGroup.add_argument( "--db2-timezone", required=False, - help="" + help="Timezone for Db2 instance" ) db2ArgGroup.add_argument( "--db2-affinity-key", @@ -1069,7 +1152,9 @@ def isValidFile(parser, arg) -> str: db2ArgGroup.add_argument( "--db2-tolerate-effect", required=False, - help="Set the effect that will be tolerated (NoSchedule, PreferNoSchedule, or NoExecute)" + help="Taint effect to tolerate", + choices=TAINT_EFFECTS, + metavar="{NoSchedule,PreferNoSchedule,NoExecute}" ) db2ArgGroup.add_argument( "--db2-cpu-requests", @@ -1095,56 +1180,99 @@ def isValidFile(parser, arg) -> str: "--db2-backup-storage", dest="db2_backup_storage_size", required=False, - help="Customize Db2 storage capacity" + help="Db2 backup storage capacity" ) db2ArgGroup.add_argument( "--db2-data-storage", dest="db2_data_storage_size", required=False, - help="Customize Db2 storage capacity" + help="Db2 data storage capacity" ) db2ArgGroup.add_argument( "--db2-logs-storage", dest="db2_logs_storage_size", required=False, - help="Customize Db2 storage capacity" + help="Db2 logs storage capacity" ) db2ArgGroup.add_argument( "--db2-meta-storage", dest="db2_meta_storage_size", required=False, - help="Customize Db2 storage capacity" + help="Db2 metadata storage capacity" ) db2ArgGroup.add_argument( "--db2-temp-storage", dest="db2_temp_storage_size", required=False, - help="Customize Db2 storage capacity" + help="Db2 temporary storage capacity" +) + +# ECK Integration +# ----------------------------------------------------------------------------- +eckArgGroup = installArgParser.add_argument_group( + "ECK Integration", + "Configure Elastic Cloud on Kubernetes (ECK) integration for logging and monitoring capabilities." +) +eckArgGroup.add_argument( + "--eck", + dest="eck_action", + required=False, + help="", + action="store_const", + const="install" +) +eckArgGroup.add_argument( + "--eck-enable-logstash", + required=False, + help="", + action="store_true" +) +eckArgGroup.add_argument( + "--eck-remote-es-hosts", + required=False, + help="" +) +eckArgGroup.add_argument( + "--eck-remote-es-username", + required=False, + help="" +) +eckArgGroup.add_argument( + "--eck-remote-es-password", + required=False, + help="" ) # Kafka - Common # ----------------------------------------------------------------------------- -kafkaCommonArgGroup = installArgParser.add_argument_group("Kafka - Common") +kafkaCommonArgGroup = installArgParser.add_argument_group( + "Kafka - Common", + "Common Kafka configuration options including provider selection (Strimzi, Red Hat AMQ Streams, IBM Event Streams, or AWS MSK) and authentication credentials." +) kafkaCommonArgGroup.add_argument( "--kafka-provider", required=False, - help="Set Kafka provider. Supported options are `redhat` (Red Hat AMQ Streams), `strimzi` and `ibm` (IBM Event Streams) and `aws` (AWS MSK)", - choices=["strimzi", "redhat", "ibm", "aws"] + help="Kafka provider: redhat (Red Hat AMQ Streams), strimzi, ibm (IBM Event Streams), or aws (AWS MSK)", + choices=KAFKA_PROVIDERS, + metavar="{strimzi,redhat,ibm,aws}" ) kafkaCommonArgGroup.add_argument( "--kafka-username", required=False, - help="Set Kafka instance username. Only applicable if installing `redhat` (Red Hat AMQ Streams), `strimzi` or `aws` (AWS MSK)" + help="Kafka instance username (applicable for redhat, strimzi, or aws providers)" ) kafkaCommonArgGroup.add_argument( "--kafka-password", required=False, - help="Set Kafka instance password. Only applicable if installing `redhat` (Red Hat AMQ Streams), `strimzi` or `aws` (AWS MSK)" + help="Kafka instance password (applicable for redhat, strimzi, or aws providers)" ) # Kafka - Strimzi & AMQ Streams # ----------------------------------------------------------------------------- -kafkaOCPArgGroup = installArgParser.add_argument_group("Kafka - Strimzi and AMQ Streams") +kafkaOCPArgGroup = installArgParser.add_argument_group( + "Kafka - Strimzi and AMQ Streams", + "Configuration options specific to Strimzi and Red Hat AMQ Streams Kafka deployments including namespace and cluster version." +) kafkaCommonArgGroup.add_argument( "--kafka-namespace", required=False, @@ -1156,9 +1284,12 @@ def isValidFile(parser, arg) -> str: help="Set version of the Kafka cluster that the Strimzi or AMQ Streams operator will create" ) -# Kafka - MSK +# Kafka - AWS MSK # ----------------------------------------------------------------------------- -mskArgGroup = installArgParser.add_argument_group("Kafka - AWS MSK") +mskArgGroup = installArgParser.add_argument_group( + "Kafka - AWS MSK", + "Configuration options for Amazon Managed Streaming for Apache Kafka (MSK) including instance type, node count, volume size, CIDR subnets for availability zones, and egress settings." +) mskArgGroup.add_argument( "--msk-instance-type", dest="aws_msk_instance_type", @@ -1210,7 +1341,10 @@ def isValidFile(parser, arg) -> str: # Kafka - Event Streams # ----------------------------------------------------------------------------- -eventstreamsArgGroup = installArgParser.add_argument_group("Kafka - Event Streams") +eventstreamsArgGroup = installArgParser.add_argument_group( + "Kafka - Event Streams", + "Configuration options for IBM Event Streams including resource group, instance name, and location." +) eventstreamsArgGroup.add_argument( "--eventstreams-resource-group", dest="eventstreams_resourcegroup", @@ -1268,7 +1402,10 @@ def isValidFile(parser, arg) -> str: # Cloud Providers # ----------------------------------------------------------------------------- -cloudArgGroup = installArgParser.add_argument_group("Cloud Providers") +cloudArgGroup = installArgParser.add_argument_group( + "Cloud Providers", + "Configure cloud provider settings including AWS region, availability zones, and IBM Cloud API key." +) cloudArgGroup.add_argument( "--ibmcloud-apikey", required=False, @@ -1295,23 +1432,12 @@ def isValidFile(parser, arg) -> str: help="Set target Virtual Private Cloud ID for the MSK instance" ) -# Development Mode -# ----------------------------------------------------------------------------- -devArgGroup = installArgParser.add_argument_group("Development Mode") -devArgGroup.add_argument( - "--artifactory-username", - required=False, - help="Username for access to development builds on Artifactory" -) -devArgGroup.add_argument( - "--artifactory-token", - required=False, - help="API Token for access to development builds on Artifactory" -) - # Approvals # ----------------------------------------------------------------------------- -approvalsGroup = installArgParser.add_argument_group("Integrated Approval Workflow (MAX_RETRIES:RETRY_DELAY:IGNORE_FAILURE)") +approvalsGroup = installArgParser.add_argument_group( + "Integrated Approval Workflow", + "Configure approval checkpoints during installation for Core Platform and each MAS application workspace (Assist, IoT, Manage, Monitor, Optimizer, Predict, Visual Inspection, Facilities, and AI Service). Format: MAX_RETRIES:RETRY_DELAY:IGNORE_FAILURE" +) approvalsGroup.add_argument( "--approval-core", default="", @@ -1365,18 +1491,31 @@ def isValidFile(parser, arg) -> str: # More Options # ----------------------------------------------------------------------------- -otherArgGroup = installArgParser.add_argument_group("More") +otherArgGroup = installArgParser.add_argument_group( + "More", + "Additional options including advanced/simplified mode toggles, license acceptance, development mode, Artifactory credentials, PVC wait control, pre-check skip, Grafana installation, confirmation prompts, image pull policy, and custom service account." +) +otherArgGroup.add_argument( + "--artifactory-username", + required=False, + help="Username for access to development builds on Artifactory" +) +otherArgGroup.add_argument( + "--artifactory-token", + required=False, + help="API Token for access to development builds on Artifactory" +) otherArgGroup.add_argument( "--advanced", action="store_true", default=False, - help="Show advanced install options (in interactve mode)" + help="Show advanced install options (in interactive mode)" ) otherArgGroup.add_argument( "--simplified", action="store_true", default=False, - help="Don't show advanced install options (in interactve mode)" + help="Don't show advanced install options (in interactive mode)" ) otherArgGroup.add_argument( @@ -1390,13 +1529,7 @@ def isValidFile(parser, arg) -> str: required=False, action="store_true", default=False, - help="Configure installation for development mode", -) -otherArgGroup.add_argument( - "--no-wait-for-pvc", - required=False, - action="store_true", - help="Disable the wait for pipeline PVC to bind before starting the pipeline" + help="Configure installation for development mode" ) otherArgGroup.add_argument( "--skip-pre-check", @@ -1408,31 +1541,33 @@ def isValidFile(parser, arg) -> str: "--skip-grafana-install", required=False, action="store_true", - help="Skips Grafana install action" + help="Skip Grafana installation" ) otherArgGroup.add_argument( "--no-confirm", required=False, action="store_true", default=False, - help="Launch the upgrade without prompting for confirmation", + help="Launch the installation without prompting for confirmation" ) otherArgGroup.add_argument( "--image-pull-policy", dest="image_pull_policy", required=False, - help="Manually set the image pull policy used in the Tekton Pipeline", + help="Image pull policy for Tekton Pipeline", + choices=IMAGE_PULL_POLICIES, + metavar="{IfNotPresent,Always}" ) otherArgGroup.add_argument( "--service-account", dest="service_account_name", required=False, - help="Run the install pipeline under a custom service account (also disables creation of the default 'pipeline' service account)", + help="Custom service account for install pipeline (disables default 'pipeline' service account creation)" ) otherArgGroup.add_argument( "-h", "--help", action="help", default=False, - help="Show this help message and exit", + help="Show this help message and exit" ) diff --git a/python/src/mas/cli/install/catalogs.py b/python/src/mas/cli/install/catalogs.py index be62d2caf5b..114855ef60f 100644 --- a/python/src/mas/cli/install/catalogs.py +++ b/python/src/mas/cli/install/catalogs.py @@ -9,21 +9,21 @@ # ***************************************************************************** supportedCatalogs = { "amd64": [ - "v9-251224-amd64", + "v9-260129-amd64", + "v9-251231-amd64", "v9-251127-amd64", "v9-251030-amd64", - "v9-251010-amd64", ], "s390x": [ - "v9-251224-s390x", + "v9-260129-s390x", + "v9-251231-s390x", "v9-251127-s390x", "v9-251030-s390x", - # No "v9-251010-s390x" release ], "ppc64le": [ - "v9-251224-ppc64le", + "v9-260129-ppc64le", + "v9-251231-ppc64le", "v9-251127-ppc64le", "v9-251030-ppc64le", - "v9-251010-ppc64le", ], } diff --git a/python/src/mas/cli/install/params.py b/python/src/mas/cli/install/params.py index 8a3144b2942..dcb00fadb67 100644 --- a/python/src/mas/cli/install/params.py +++ b/python/src/mas/cli/install/params.py @@ -38,6 +38,7 @@ "mas_superuser_password", "mas_trust_default_cas", "mas_routing_mode", + "mas_ingress_controller_name", "mas_app_settings_server_bundles_size", "mas_app_settings_default_jms", "mas_app_settings_persistent_volumes_flag", @@ -147,9 +148,6 @@ # Dev Mode "artifactory_username", "artifactory_token", - # TODO: The way arcgis has been implemented needs to be fixed - "install_arcgis", - "mas_arcgis_channel", # Guided Tour "mas_enable_walkme", # Facilities @@ -170,6 +168,9 @@ "mas_special_characters", # ODH "aiservice_odh_model_deployment_type", + # RHOAI + "aiservice_rhoai_model_deployment_type", + "rhoai", # AI Service "aiservice_s3_accesskey", "aiservice_s3_secretkey", @@ -207,5 +208,8 @@ "rsl_org_id", "rsl_token", "rsl_ca_crt", - "environment_type" + "environment_type", + + # Certificate Issuer + "aiservice_certificate_issuer" ] diff --git a/python/src/mas/cli/install/settings/additionalConfigs.py b/python/src/mas/cli/install/settings/additionalConfigs.py index 67763b56e7b..4f6acff37c6 100644 --- a/python/src/mas/cli/install/settings/additionalConfigs.py +++ b/python/src/mas/cli/install/settings/additionalConfigs.py @@ -8,6 +8,7 @@ # # ***************************************************************************** +from typing import TYPE_CHECKING, Dict, List, Any from os import path from base64 import b64encode from glob import glob @@ -17,7 +18,79 @@ logger = logging.getLogger(__name__) +if TYPE_CHECKING: + from prompt_toolkit.completion import WordCompleter + from prompt_toolkit.validation import Validator + + class AdditionalConfigsMixin(): + if TYPE_CHECKING: + # Attributes from BaseApp and other mixins + params: Dict[str, str] + interactiveMode: bool + localConfigDir: str | None + noConfirm: bool + templatesDir: str + slsLicenseFileLocal: str | None + manualCertsDir: str + showAdvancedOptions: bool + additionalConfigsSecret: Dict[str, Any] | None + podTemplatesSecret: Dict[str, Any] | None + slsLicenseFileSecret: Dict[str, Any] | None + certsSecret: Dict[str, Any] | None + + # Methods from BaseApp + def setParam(self, param: str, value: str) -> None: + ... + + def getParam(self, param: str) -> str: + ... + + def fatalError(self, message: str, exception: Exception | None = None) -> None: + ... + + # Methods from PrintMixin + def printH1(self, message: str) -> None: + ... + + def printH2(self, message: str) -> None: + ... + + def printDescription(self, content: List[str]) -> None: + ... + + # Methods from PromptMixin + def yesOrNo(self, message: str, param: str | None = None) -> bool: + ... + + def promptForString( + self, + message: str, + param: str | None = None, + default: str = "", + isPassword: bool = False, + validator: Validator | None = None, + completer: WordCompleter | None = None + ) -> str: + ... + + def promptForInt( + self, + message: str, + param: str | None = None, + default: int | None = None, + min: int | None = None, + max: int | None = None + ) -> int: + ... + + def promptForDir(self, message: str, mustExist: bool = True, default: str = "") -> str: + ... + + # Methods from other mixins + def selectLocalConfigDir(self) -> None: + ... + def additionalConfigs(self) -> None: if self.interactiveMode: self.printH1("Additional Configuration") diff --git a/python/src/mas/cli/install/settings/db2Settings.py b/python/src/mas/cli/install/settings/db2Settings.py index 62aa55f69f0..db19163b3ee 100644 --- a/python/src/mas/cli/install/settings/db2Settings.py +++ b/python/src/mas/cli/install/settings/db2Settings.py @@ -9,24 +9,87 @@ # ***************************************************************************** from os import path +from typing import TYPE_CHECKING, Dict, List, Any from prompt_toolkit import print_formatted_text +if TYPE_CHECKING: + # Type hints for methods and attributes provided by other mixins + # These are only used during type checking and have no runtime cost + from prompt_toolkit.completion import WordCompleter + from prompt_toolkit.validation import Validator + + class Db2SettingsMixin(): + if TYPE_CHECKING: + # Attributes from BaseApp and other mixins + params: Dict[str, str] + devMode: bool + installIoT: bool + installManage: bool + installFacilities: bool + manageAppName: str + showAdvancedOptions: bool + localConfigDir: str | None + + # Methods from BaseApp + def setParam(self, param: str, value: str) -> None: + ... + + def getParam(self, param: str) -> str: + ... + + def isSNO(self) -> bool: + ... + + # Methods from PrintMixin + def printH1(self, message: str) -> None: + ... + + def printH2(self, message: str) -> None: + ... + + def printDescription(self, content: List[str]) -> None: + ... + + # Methods from PromptMixin + def yesOrNo(self, message: str, param: str | None = None) -> bool: + ... + + def promptForString( + self, + message: str, + param: str | None = None, + default: str = "", + isPassword: bool = False, + validator: Validator | None = None, + completer: WordCompleter | None = None + ) -> str: + ... + + def promptForListSelect( + self, + message: str, + options: List[str], + param: str | None = None, + default: int | None = None + ) -> str: + ... + + # Methods from ConfigGeneratorMixin or InstallSettingsMixin + def selectLocalConfigDir(self) -> None: + ... + + def generateJDBCCfg(self, **kwargs: Any) -> None: + ... + # In silentMode, no prompts will show up for "happy path" DB2 configuration scenarios. Prompts will still show up when an input is absolutely required # Settings under showAdvancedOptions are always prompted def configDb2(self, silentMode=False) -> None: if not silentMode: self.printH1("Configure Databases") - # Set the default db2-Channel - default_db2_channel = "v110509.0" - # Get user-specified value - user_channel = self.getParam("db2_channel") - - # Only allow custom db2_channel in devMode with a non-empty value - db2_channel = user_channel if (self.devMode and user_channel) else default_db2_channel - self.params["db2_channel"] = db2_channel + self.setDB2DefaultChannel() # Set default channel for Db2 if not already set # If neither Iot, Manage or Facilities is being installed, we have nothing to do if not self.installIoT and not self.installManage and not self.installFacilities: @@ -65,6 +128,7 @@ def configDb2(self, silentMode=False) -> None: self.selectLocalConfigDir() # Check if a configuration already exists before creating a new one + assert self.localConfigDir is not None, "localConfigDir must be set" jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-system.yaml") print_formatted_text(f"Searching for system database configuration file in {jdbcCfgFile} ...") if path.exists(jdbcCfgFile): @@ -101,13 +165,13 @@ def configDb2(self, silentMode=False) -> None: createSystemDb2UsingUniversalOperator = self.yesOrNo(f"Create {self.manageAppName} dedicated Db2 instance using the IBM Db2 Universal Operator") if createSystemDb2UsingUniversalOperator: self.setParam("db2_action_manage", "install") - if not silentMode: + if self.showAdvancedOptions and not silentMode: self.printDescription([ f"Available Db2 instance types for {self.manageAppName}:", " 1. DB2 Warehouse (Default option)", " 2. DB2 Online Transactional Processing (OLTP)" ]) - self.promptForListSelect(message=f"Select the {self.manageAppName} dedicated DB2 instance type", options=["db2wh", "db2oltp"], param="db2_type", default="1") + self.promptForListSelect(message=f"Select the {self.manageAppName} dedicated DB2 instance type", options=["db2wh", "db2oltp"], param="db2_type", default=1) else: self.setParam("db2_type", "db2wh") else: @@ -117,6 +181,7 @@ def configDb2(self, silentMode=False) -> None: self.selectLocalConfigDir() # Check if a configuration already exists before creating a new one + assert self.localConfigDir is not None, "localConfigDir must be set" jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-manage.yaml") print_formatted_text(f"Searching for {self.manageAppName} database configuration file in {jdbcCfgFile} ...") if path.exists(jdbcCfgFile): @@ -140,6 +205,7 @@ def configDb2(self, silentMode=False) -> None: self.selectLocalConfigDir() # Check if a configuration already exists before creating a new one + assert self.localConfigDir is not None, "localConfigDir must be set" jdbcCfgFile = path.join(self.localConfigDir, f"jdbc-{instanceId}-facilities.yaml") print_formatted_text(f"Searching for Real Estate and Facilities database configuration file in {jdbcCfgFile} ...") if path.exists(jdbcCfgFile): @@ -206,6 +272,27 @@ def configDb2(self, silentMode=False) -> None: else: self.setParam("db2_namespace", "db2u") + def setDB2DefaultChannel(self) -> None: + # Set the default db2-Channel + if hasattr(self, 'catalogDb2Channel'): + # Best case: catalogDb2Channel was set by processCatalogChoice() + default_db2_channel = self.catalogDb2Channel + elif hasattr(self, 'chosenCatalog') and self.chosenCatalog is not None: + # Fallback: Get directly from chosenCatalog if available + default_db2_channel = self.chosenCatalog.get("db2_channel_default", "v110509.0") + else: + # Use hardcoded fallback + default_db2_channel = "v110509.0" + + if not self.devMode: + db2_channel = default_db2_channel + else: + # In dev mode, allow user override if provided + user_channel = self.getParam("db2_channel") + db2_channel = user_channel if user_channel else default_db2_channel + + self.params["db2_channel"] = db2_channel + def setDB2DefaultSettings(self) -> None: self.setParam("db2_cpu_requests", "4000m") diff --git a/python/src/mas/cli/install/settings/kafkaSettings.py b/python/src/mas/cli/install/settings/kafkaSettings.py index 66e68926cb0..cf8328aa0fc 100644 --- a/python/src/mas/cli/install/settings/kafkaSettings.py +++ b/python/src/mas/cli/install/settings/kafkaSettings.py @@ -8,11 +8,69 @@ # # ***************************************************************************** +from typing import TYPE_CHECKING, Dict, List from os import path from prompt_toolkit import print_formatted_text +if TYPE_CHECKING: + from prompt_toolkit.completion import WordCompleter + from prompt_toolkit.validation import Validator + + class KafkaSettingsMixin(): + if TYPE_CHECKING: + # Attributes from BaseApp and other mixins + params: Dict[str, str] + installIoT: bool + showAdvancedOptions: bool + localConfigDir: str | None + + # Methods from BaseApp + def setParam(self, param: str, value: str) -> None: + ... + + def getParam(self, param: str) -> str: + ... + + def fatalError(self, message: str, exception: Exception | None = None) -> None: + ... + + # Methods from PrintMixin + def printH1(self, message: str) -> None: + ... + + def printDescription(self, content: List[str]) -> None: + ... + + # Methods from PromptMixin + def yesOrNo(self, message: str, param: str | None = None) -> bool: + ... + + def promptForString( + self, + message: str, + param: str | None = None, + default: str = "", + isPassword: bool = False, + validator: Validator | None = None, + completer: WordCompleter | None = None + ) -> str: + ... + + def promptForListSelect( + self, + message: str, + options: List[str], + param: str | None = None, + default: int | None = None + ) -> str: + ... + + # Methods from other mixins + def selectLocalConfigDir(self) -> None: + ... + def configKafka(self) -> None: if self.installIoT: self.printH1("Configure Kafka") @@ -83,7 +141,7 @@ def configKafka(self) -> None: self.promptForString("MSK Instance Password", "aws_kafka_user_password", isPassword=True) self.promptForString("MSK Instance Type", "aws_msk_instance_type", default="kafka.m5.large") self.promptForString("MSK Total Number of Broker Nodes", "aws_msk_instance_number", default="3") - self.promptForString("MSK Storage Size (in GB)", "aws_msk_volume_size", defauklt="100") + self.promptForString("MSK Storage Size (in GB)", "aws_msk_volume_size", default="100") self.promptForString("Availability Zone 1 CIDR", "aws_msk_cidr_az1") self.promptForString("Availability Zone 2 CIDR", "aws_msk_cidr_az2") self.promptForString("Availability Zone 3 CIDR", "aws_msk_cidr_az3") @@ -95,6 +153,7 @@ def configKafka(self) -> None: instanceId = self.getParam('mas_instance_id') # Check if a configuration already exists + assert self.localConfigDir is not None, "localConfigDir must be set" kafkaCfgFile = path.join(self.localConfigDir, f"kafka-{instanceId}-system.yaml") print_formatted_text(f"Searching for system kafka configuration file in {kafkaCfgFile} ...") if path.exists(kafkaCfgFile): diff --git a/python/src/mas/cli/install/settings/manageSettings.py b/python/src/mas/cli/install/settings/manageSettings.py index 0f853f5edaa..f46149233ff 100644 --- a/python/src/mas/cli/install/settings/manageSettings.py +++ b/python/src/mas/cli/install/settings/manageSettings.py @@ -8,6 +8,7 @@ # # ***************************************************************************** +from typing import TYPE_CHECKING, Dict, List from prompt_toolkit.completion import WordCompleter from mas.cli.validators import LanguageValidator from mas.devops.aiservice import listAiServiceTenantInstances, listAiServiceInstances @@ -19,32 +20,74 @@ logger = logging.getLogger(__name__) -class ManageSettingsMixin(): - - def arcgisSettings(self) -> None: - # If Spatial is selected, then prompt to choose to add IBM Maximo Location Services for Esri, and prompt license - if "spatial=" in self.getParam("mas_appws_components") and self.getParam("mas_app_channel_manage").startswith("9."): - self.printDescription([ - "", - "Maximo Spatial requires a map server provider in order to enable geospatial capabilities", - "You may choose your preferred map provider later or you can enable IBM Maximo Location Services for Esri now", - f"This includes ArcGIS Enterprise as part of the {self.manageAppName} and Maximo Spatial bundle (Additional AppPoints required)." - ]) - - if self.yesOrNo("Include IBM Maximo Location Services for Esri"): - self.setParam("install_arcgis", "true") - self.setParam("mas_arcgis_channel", self.getParam("mas_app_channel_manage")) +if TYPE_CHECKING: + from openshift.dynamic import DynamicClient + from prompt_toolkit.validation import Validator - self.printDescription([ - "", - "IBM Maximo Location Services for Esri License Terms", - "For information about your IBM Maximo Location Services for Esri License visit: ", - " - https://ibm.biz/MAXArcGIS90-License", - "To continue with the installation, you must accept these additional license terms" - ]) - if not self.yesOrNo("Do you accept the license terms"): - exit(1) +class ManageSettingsMixin(): + if TYPE_CHECKING: + # Attributes from BaseApp and other mixins + params: Dict[str, str] + manageAppName: str + showAdvancedOptions: bool + isManageFoundation: bool + installManage: bool + installAIService: bool + supportedLanguages: List[str] + dynamicClient: DynamicClient + + # Methods from BaseApp + def setParam(self, param: str, value: str) -> None: + ... + + def getParam(self, param: str) -> str: + ... + + def isSNO(self) -> bool: + ... + + def fatalError(self, message: str, exception: Exception | None = None) -> None: + ... + + # Methods from PrintMixin + def printH1(self, message: str) -> None: + ... + + def printH2(self, message: str) -> None: + ... + + def printDescription(self, content: List[str]) -> None: + ... + + # Methods from PromptMixin + def yesOrNo(self, message: str, param: str | None = None) -> bool: + ... + + def promptForString( + self, + message: str, + param: str | None = None, + default: str = "", + isPassword: bool = False, + validator: Validator | None = None, + completer: WordCompleter | None = None + ) -> str: + ... + + def promptForInt( + self, + message: str, + param: str | None = None, + default: int | None = None, + min: int | None = None, + max: int | None = None + ) -> int: + ... + + # Methods from other mixins + def configCP4D(self) -> None: + ... def manageSettings(self) -> None: if self.installManage: @@ -52,7 +95,6 @@ def manageSettings(self) -> None: self.printDescription([f"Customize your {self.manageAppName} installation, refer to the product documentation for more information"]) self.manageSettingsComponents() - self.arcgisSettings() self.manageSettingsServerBundleConfig() self.manageSettingsJMS() @@ -263,24 +305,24 @@ def manageSettingsOther(self) -> None: self.printH2(f"Maximo {self.manageAppName} Settings - Other") self.supportedLanguages = ["AR", "CS", "DA", "DE", "EN", "ES", "FI", "FR", "HE", "HR", "HU", "IT", "JA", "KO", "NL", "NO", "PL", "PT-BR", "RU", "SK", "SL", "SV", "TR", "UK", "ZH-CN", "ZH-TW"] if self.isManageFoundation: - self.printDescription([ - "Configure additional settings:", - " - Base and additional languages", - " - Server timezone" - ]) - if self.yesOrNo("Configure Additional Settings"): + if self.showAdvancedOptions: + self.printDescription([ + "Configure additional settings:", + " - Base and additional languages", + " - Server timezone" + ]) self.manageSettingsTimezone() self.manageSettingsLanguages() else: - self.printDescription([ - "Configure additional settings:", - " - Demo data", - " - Base and additional languages", - " - Server timezone", - " - Cognos integration (install Cloud Pak for Data)", - " - Watson Studio Local integration (install Cloud Pak for Data)" - ]) - if self.yesOrNo("Configure Additional Settings"): + if self.showAdvancedOptions: + self.printDescription([ + "Configure additional settings:", + " - Demo data", + " - Base and additional languages", + " - Server timezone", + " - Cognos integration (install Cloud Pak for Data)", + " - Watson Studio Local integration (install Cloud Pak for Data)" + ]) self.manageSettingsDemodata() self.manageSettingsTimezone() self.manageSettingsLanguages() diff --git a/python/src/mas/cli/install/settings/mongodbSettings.py b/python/src/mas/cli/install/settings/mongodbSettings.py index 217ecb321fb..e6d4528c224 100644 --- a/python/src/mas/cli/install/settings/mongodbSettings.py +++ b/python/src/mas/cli/install/settings/mongodbSettings.py @@ -8,11 +8,60 @@ # # ***************************************************************************** +from typing import TYPE_CHECKING, Dict, List, Any from os import path from prompt_toolkit import print_formatted_text +if TYPE_CHECKING: + from prompt_toolkit.completion import WordCompleter + from prompt_toolkit.validation import Validator + + class MongoDbSettingsMixin(): + if TYPE_CHECKING: + # Attributes from BaseApp and other mixins + params: Dict[str, str] + architecture: str | None + showAdvancedOptions: bool + localConfigDir: str | None + + # Methods from BaseApp + def setParam(self, param: str, value: str) -> None: + ... + + def getParam(self, param: str) -> str: + ... + + # Methods from PrintMixin + def printH1(self, message: str) -> None: + ... + + def printDescription(self, content: List[str]) -> None: + ... + + # Methods from PromptMixin + def yesOrNo(self, message: str, param: str | None = None) -> bool: + ... + + def promptForString( + self, + message: str, + param: str | None = None, + default: str = "", + isPassword: bool = False, + validator: Validator | None = None, + completer: WordCompleter | None = None + ) -> str: + ... + + # Methods from other mixins + def selectLocalConfigDir(self) -> None: + ... + + def generateMongoCfg(self, **kwargs: Any) -> None: + ... + def configMongoDb(self) -> None: self.printH1("Configure MongoDb") self.printDescription([ @@ -35,6 +84,7 @@ def configMongoDb(self) -> None: instanceId = self.getParam('mas_instance_id') # Check if a configuration already exists before creating a new one + assert self.localConfigDir is not None, "localConfigDir must be set" mongoCfgFile = path.join(self.localConfigDir, "mongodb-system.yaml") print_formatted_text(f"Searching for system mongodb configuration file in {mongoCfgFile} ...") diff --git a/python/src/mas/cli/install/summarizer.py b/python/src/mas/cli/install/summarizer.py index 6612acb0858..ba74561de71 100644 --- a/python/src/mas/cli/install/summarizer.py +++ b/python/src/mas/cli/install/summarizer.py @@ -77,6 +77,9 @@ def masSummary(self) -> None: print() self.printParamSummary("Network Routing Mode", "mas_routing_mode") + if self.getParam("mas_routing_mode") == "path": + self.printParamSummary("IngressController Name", "mas_ingress_controller_name") + self.printParamSummary("Configure IngressController", "mas_configure_ingress") print() self.printParamSummary("Configure Suite to run in IPV6", "enable_ipv6") @@ -130,7 +133,7 @@ def monitorSummary(self) -> None: self.printSummary("Monitor", "Do Not Install") def arcgisSummary(self) -> None: - if self.getParam("install_arcgis") != "": + if self.installArcgis: self.printSummary("Loc Srv Esri (arcgis)", self.params["mas_arcgis_channel"]) else: self.printSummary("Loc Srv Esri (arcgis)", "Do Not Install") @@ -238,6 +241,9 @@ def aiServiceSummary(self) -> None: self.printParamSummary("Instance ID", "aiservice_instance_id") self.printParamSummary("Environment Type", "environment_type") + if "aiservice_certificate_issuer" in self.params: + self.printParamSummary("Certificate Issuer", "aiservice_certificate_issuer") + self.printH2("AI Service Tenant Entitlement") self.printParamSummary("Entitlement Type", "tenant_entitlement_type") self.printParamSummary("Start Date", "tenant_entitlement_start_date") @@ -391,8 +397,8 @@ def grafanaSummary(self) -> None: self.printSummary("Install Grafana", "Install" if self.getParam("grafana_action") == "install" else "Do Not Install") def installSummary(self) -> None: - self.printH2("Install Process") - self.printSummary("Wait for PVCs to bind", "No" if self.getParam("no_wait_for_pvc") else "Yes") + pass + # self.printH2("Install Process") def displayInstallSummary(self) -> None: self.printH1("Review Settings") diff --git a/python/src/mas/cli/update/app.py b/python/src/mas/cli/update/app.py index 36fcfc7920b..625ff02f9c1 100644 --- a/python/src/mas/cli/update/app.py +++ b/python/src/mas/cli/update/app.py @@ -19,7 +19,7 @@ from ..cli import BaseApp from .argParser import updateArgParser -from mas.devops.data import getCatalog +from mas.devops.data import getCatalog, getNewestCatalogTag from mas.devops.ocp import createNamespace, getConsoleURL, getClusterVersion, isClusterVersionInRange from mas.devops.mas import listMasInstances, getCurrentCatalog from mas.devops.aiservice import listAiServiceInstances @@ -98,7 +98,7 @@ def update(self, argv): isMasInstalled = self.reviewMASInstance() isAiServiceInstalled = self.reviewAiServiceInstance() if not isMasInstalled and not isAiServiceInstalled: - self.fatalError(["No MAS or AI Service instances were detected on the cluster => nothing to update! See log file for details"]) + self.fatalError("No MAS or AI Service instances were detected on the cluster => nothing to update! See log file for details") if self.args.mas_catalog_version is None: # Interactive mode @@ -107,6 +107,8 @@ def update(self, argv): # Validations if not self.devMode: self.validateCatalog() + else: + self.chosenCatalog = getCatalog(getNewestCatalogTag()) self.printH1("Dependency Update Checks") with Halo(text='Checking for IBM Watson Discovery', spinner=self.spinner) as h: @@ -247,13 +249,13 @@ def chooseCatalog(self) -> None: self.printH1("Select IBM Maximo Operator Catalog Version") self.printDescription([ "Select MAS Catalog", - " 1) Dec 24 2025 Update (MAS 9.1.7, 9.0.18, 8.11.29, & 8.10.32)", - " 2) Nov 27 2025 Update (MAS 9.1.6, 9.0.17, 8.11.28, & 8.10.31)", - " 3) Oct 30 2025 Update (MAS 9.1.5, 9.0.16, 8.11.27, & 8.10.30)", + " 1) Jan 29 2026 Update (MAS 9.1.8, 9.0.19, 8.11.30, & 8.10.33)", + " 2) Dec 31 2025 Update (MAS 9.1.7, 9.0.18, 8.11.29, & 8.10.32)", + " 3) Nov 27 2025 Update (MAS 9.1.6, 9.0.17, 8.11.28, & 8.10.31)", ]) catalogOptions = [ - "v9-251224-amd64", "v9-251127-amd64", "v9-251030-amd64", + "v9-260129-amd64", "v9-251231-amd64", "v9-251127-amd64", ] self.promptForListSelect("Select catalog version", catalogOptions, "mas_catalog_version", default=1) @@ -326,11 +328,13 @@ def detectGrafana4(self) -> bool: "- User accounts set up in the v4 instance will not be migrated" ]) self.setParam("grafana_v5_upgrade", "true") + return True else: h.stop_and_persist(symbol=self.successIcon, text="Grafana Operator v4 is not installed") - return + return False except (ResourceNotFoundError, NotFoundError): h.stop_and_persist(symbol=self.successIcon, text="Grafana Operator v4 is not installed") + return False def detectMongoDb(self) -> None: with Halo(text='Checking for MongoDb CE', spinner=self.spinner) as h: @@ -342,51 +346,22 @@ def detectMongoDb(self) -> None: else: self.setParam("mongodb_replicas", "3") - # Determine the namespace try: mongoDbAPI = self.dynamicClient.resources.get(api_version="mongodbcommunity.mongodb.com/v1", kind="MongoDBCommunity") - mongoClusters = mongoDbAPI.get().to_dict()["items"] + + if self.getParam("mongodb_namespace") != "": + logger.debug(f"Looking for MongoDBCommunity instances in {self.getParam('mongodb_namespace')}") + mongoClusters = mongoDbAPI.get(namespace=self.getParam("mongodb_namespace")).to_dict()["items"] + else: + logger.debug("Looking for MongoDBCommunity instances in all namespaces") + mongoClusters = mongoDbAPI.get().to_dict()["items"] if len(mongoClusters) > 0: mongoNamespace = mongoClusters[0]["metadata"]["namespace"] currentMongoVersion = mongoClusters[0]["status"]["version"] + targetMongoVersion = self.chosenCatalog["mongo_extras_version_default"] self.setParam("mongodb_namespace", mongoNamespace) - - # Important: - # This CLI can run independent of the ibm.mas_devops collection, so we cannot reference - # the case bundles in there anymore - # Longer term we will centralise this information inside the mas-devops python collection, - # where it can be made available to both the ansible collection and this python package. - defaultMongoVersion = "8.0.13" - mongoVersions = { - "v9-240625-amd64": "6.0.12", - "v9-240730-amd64": "6.0.12", - "v9-240827-amd64": "6.0.12", - "v9-241003-amd64": "6.0.12", - "v9-241107-amd64": "7.0.12", - "v9-241205-amd64": "7.0.12", - "v9-250109-amd64": "7.0.12", - "v9-250206-amd64": "7.0.12", - "v9-250306-amd64": "7.0.12", - "v9-250403-amd64": "7.0.12", - "v9-250501-amd64": "7.0.12", - "v9-250624-amd64": "7.0.12", - "v9-250731-amd64": "7.0.22", - "v9-250828-amd64": "7.0.22", - "v9-250902-amd64": "7.0.22", - "v9-250925-amd64": "7.0.23", - "v9-251010-amd64": "7.0.23", - "v9-251030-amd64": "7.0.23", - "v9-251127-amd64": "8.0.13", - "v9-251224-amd64": "8.0.13", - } - catalogVersion = self.getParam('mas_catalog_version') - if catalogVersion in mongoVersions: - targetMongoVersion = mongoVersions[self.getParam('mas_catalog_version')] - else: - targetMongoVersion = defaultMongoVersion - self.setParam("mongodb_version", targetMongoVersion) targetMongoVersionMajor = targetMongoVersion.split(".")[0] @@ -477,6 +452,7 @@ def detectCP4D(self) -> None: return elif len(cpds) == 1: cpdUpgradePath = { + "5.2.0": "5.2.0", "5.1.3": "5.2.0", "5.0.0": "5.1.3", } diff --git a/python/src/mas/cli/update/argParser.py b/python/src/mas/cli/update/argParser.py index 6d7102964d7..8487cd892e9 100644 --- a/python/src/mas/cli/update/argParser.py +++ b/python/src/mas/cli/update/argParser.py @@ -9,24 +9,94 @@ # ***************************************************************************** import argparse +import sys -from .. import __version__ as packageVersion from ..cli import getHelpFormatter -updateArgParser = argparse.ArgumentParser( + +class UpdateArgumentParser(argparse.ArgumentParser): + """Custom argument parser that validates --catalog requirement""" + + def format_usage(self): + """Custom usage message showing different modes""" + prog = self.prog + return ( + f"Usage (non-interactive mode):\n" + f" {prog} -c MAS_CATALOG_VERSION [--db2-namespace DB2_NAMESPACE]\n" + f" [--mongodb-namespace MONGODB_NAMESPACE] [--mongodb-v5-upgrade]\n" + f" [--mongodb-v6-upgrade] [--mongodb-v7-upgrade] [--mongodb-v8-upgrade]\n" + f" [--kafka-namespace KAFKA_NAMESPACE] [--kafka-provider {{redhat,strimzi}}]\n" + f" [--artifactory-username ARTIFACTORY_USERNAME]\n" + f" [--artifactory-token ARTIFACTORY_TOKEN] [--dev-mode]\n" + f" [--cp4d-version CPD_PRODUCT_VERSION] [--no-confirm] [--skip-pre-check]\n" + f"\n" + f"Usage (interactive mode):\n" + f" {prog}\n" + f"\n" + f"Usage (help):\n" + f" {prog} -h\n" + ) + + def format_help(self): + """Override format_help to use our custom usage format""" + formatter = self._get_formatter() + + # Add description + formatter.add_text(self.description) + + # Add custom usage + formatter.add_text(self.format_usage()) + + # Add argument groups + for actionGroup in self._action_groups: + formatter.start_section(actionGroup.title) + formatter.add_text(actionGroup.description) + formatter.add_arguments(actionGroup._group_actions) + formatter.end_section() + + # Add epilog + formatter.add_text(self.epilog) + + return formatter.format_help() + + def parse_args(self, args=None, namespace=None): # type: ignore[override] + parsedArgs = super().parse_args(args, namespace) + + # Get all arguments that were actually provided by the user + providedArgs = [] + if args is not None: + providedArgs = [arg for arg in args if arg.startswith('-')] + else: + providedArgs = [arg for arg in sys.argv[1:] if arg.startswith('-')] + + # Check if any arguments were provided + hasAnyArgs = len(providedArgs) > 0 + + # Check if --catalog was provided + hasCatalog = parsedArgs.mas_catalog_version is not None + + # Check if only help was requested + helpOnly = '--help' in providedArgs or '-h' in providedArgs + + # Validation: If any arguments are provided (except help), --catalog must be present + if hasAnyArgs and not hasCatalog and not helpOnly: + self.error("non-interactive mode requires --catalog parameter, the interactive mode does not support any flags") + + return parsedArgs + + +updateArgParser = UpdateArgumentParser( prog='mas update', - description="\n".join([ - f"IBM Maximo Application Suite Admin CLI v{packageVersion}", - "Update the IBM Maximo Operator Catalog, and related MAS dependencies by configuring and launching the MAS Update Tekton Pipeline.\n", - "Interactive Mode:", - "Omitting the --catalog option will trigger an interactive prompt" - ]), + description="Update the IBM Maximo Operator Catalog, and related MAS dependencies by configuring and launching the MAS Update Tekton Pipeline.", epilog="Refer to the online documentation for more information: https://ibm-mas.github.io/cli/", formatter_class=getHelpFormatter(), add_help=False ) -masArgGroup = updateArgParser.add_argument_group('Catalog Selection') +masArgGroup = updateArgParser.add_argument_group( + 'Catalog Selection', + 'Select the IBM Maximo Operator Catalog version to update to.' +) masArgGroup.add_argument( '-c', '--catalog', dest='mas_catalog_version', @@ -34,7 +104,10 @@ help="Maximo Operator Catalog Version (e.g. v9-240625-amd64)" ) -depsArgGroup = updateArgParser.add_argument_group('Update Dependencies') +depsArgGroup = updateArgParser.add_argument_group( + 'Update Dependencies', + 'Configure which MAS dependencies (Db2, MongoDB, Kafka) should be updated and specify their namespaces.' +) depsArgGroup.add_argument( '--db2-namespace', required=False, @@ -92,23 +165,22 @@ help="The type of Kakfa operator installed in the target namespace for updte", ) -# Development Mode +# More Options # ----------------------------------------------------------------------------- -devArgGroup = updateArgParser.add_argument_group("Development Mode") -devArgGroup.add_argument( +otherArgGroup = updateArgParser.add_argument_group( + 'More', + 'Additional options including development mode, Artifactory credentials, CP4D version, confirmation prompts, and pre-check control.' +) +otherArgGroup.add_argument( "--artifactory-username", required=False, help="Username for access to development builds on Artifactory" ) -devArgGroup.add_argument( +otherArgGroup.add_argument( "--artifactory-token", required=False, help="API Token for access to development builds on Artifactory" ) - -# More Options -# ----------------------------------------------------------------------------- -otherArgGroup = updateArgParser.add_argument_group('More') otherArgGroup.add_argument( "--dev-mode", required=False, diff --git a/python/src/mas/cli/upgrade/argParser.py b/python/src/mas/cli/upgrade/argParser.py index 689d370dd79..94178706ca1 100644 --- a/python/src/mas/cli/upgrade/argParser.py +++ b/python/src/mas/cli/upgrade/argParser.py @@ -26,13 +26,19 @@ add_help=False ) -masArgGroup = upgradeArgParser.add_argument_group('MAS Instance Selection') +masArgGroup = upgradeArgParser.add_argument_group( + 'MAS Instance Selection', + 'Select the MAS instance to upgrade to the next available release.' +) masArgGroup.add_argument( '--mas-instance-id', required=False, help="The MAS instance ID to be upgraded" ) -otherArgGroup = upgradeArgParser.add_argument_group('More') +otherArgGroup = upgradeArgParser.add_argument_group( + 'More', + 'Additional options including pre-check control, confirmation prompts, license acceptance, and development mode.' +) otherArgGroup.add_argument( '--skip-pre-check', required=False, diff --git a/python/src/mas/cli/validators.py b/python/src/mas/cli/validators.py index 446349b63b0..77b2c4a9f95 100644 --- a/python/src/mas/cli/validators.py +++ b/python/src/mas/cli/validators.py @@ -11,6 +11,7 @@ from re import match from os import path from json import loads, JSONDecodeError +from typing import List # Use of the openshift client rather than the kubernetes client allows us access to "apply" from openshift import dynamic @@ -18,6 +19,7 @@ from kubernetes.client import api_client from prompt_toolkit.validation import Validator, ValidationError +from prompt_toolkit.document import Document from mas.devops.ocp import getStorageClass from mas.devops.mas import verifyMasInstance @@ -29,7 +31,7 @@ class InstanceIDFormatValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a MAS instance ID exists on the target cluster """ @@ -40,7 +42,7 @@ def validate(self, document): class WorkspaceIDFormatValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a MAS instance ID exists on the target cluster """ @@ -51,7 +53,7 @@ def validate(self, document): class TimeoutFormatValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a MAS instance ID exists on the target cluster """ @@ -62,7 +64,7 @@ def validate(self, document): class WorkspaceNameFormatValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a MAS instance ID exists on the target cluster """ @@ -73,7 +75,7 @@ def validate(self, document): class InstanceIDValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a MAS instance ID exists on the target cluster """ @@ -87,7 +89,7 @@ def validate(self, document): class AiserviceInstanceIDValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a AI Service instance ID exists on the target cluster """ @@ -101,14 +103,14 @@ def validate(self, document): class AiserviceTeanantIDValidator(Validator): - def __init__(self, manage_bind_aiservice_instance_id, install_aiservice=False): + def __init__(self, manage_bind_aiservice_instance_id: str, install_aiservice: bool = False) -> None: """ Initialize validator with AI Service instance ID and installation flag """ - self.manage_bind_aiservice_instance_id = manage_bind_aiservice_instance_id - self.install_aiservice = install_aiservice + self.manage_bind_aiservice_instance_id: str = manage_bind_aiservice_instance_id + self.install_aiservice: bool = install_aiservice - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a AI Service tenant ID exists on the target cluster """ @@ -126,7 +128,7 @@ def validate(self, document): class StorageClassValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a StorageClass exists on the target cluster """ @@ -140,7 +142,7 @@ def validate(self, document): class YesNoValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a response is understandable as a yes/no response """ @@ -150,11 +152,11 @@ def validate(self, document): class IntValidator(Validator): - def __init__(self, min, max): - self.min = min - self.max = max + def __init__(self, min: int | None, max: int | None) -> None: + self.min: int | None = min + self.max: int | None = max - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a response is understandable as a yes/no response """ @@ -170,7 +172,7 @@ def validate(self, document): class FileExistsValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a file exists on the local system """ @@ -180,7 +182,7 @@ def validate(self, document): class DirectoryExistsValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a file exists on the local system """ @@ -190,7 +192,7 @@ def validate(self, document): class OptimizerInstallPlanValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a response is a valid install plan for Optimizer """ @@ -200,7 +202,7 @@ def validate(self, document): class JsonValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate that a response is a valid JSON """ @@ -212,14 +214,14 @@ def validate(self, document): class LanguageValidator(Validator): - def __init__(self, _language_list): + def __init__(self, _language_list: List[str]) -> None: """ This function was created to give context of the array that will be validated """ - self._language_list = _language_list + self._language_list: List[str] = _language_list - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate if an input it's outside of an list """ @@ -230,7 +232,7 @@ def validate(self, document): class BucketPrefixValidator(Validator): - def validate(self, document): + def validate(self, document: Document) -> None: """ Validate Bucket prefix length """ @@ -238,3 +240,5 @@ def validate(self, document): if not match(r"^.{1,4}$", bucketPrefix): raise ValidationError(message='Bucket prefix does not meet the requirement', cursor_position=len(bucketPrefix)) + +# Made with Bob diff --git a/python/test/aiservice/install/test_app.py b/python/test/aiservice/install/test_app.py index 63f25948eab..cd0c3748ebe 100644 --- a/python/test/aiservice/install/test_app.py +++ b/python/test/aiservice/install/test_app.py @@ -52,6 +52,7 @@ def test_install_noninteractive(tmpdir): mock.patch('mas.cli.aiservice.install.app.getCurrentCatalog') as get_current_catalog, mock.patch('mas.cli.aiservice.install.app.installOpenShiftPipelines'), mock.patch('mas.cli.aiservice.install.app.updateTektonDefinitions'), + mock.patch('mas.cli.aiservice.install.app.prepareAiServicePipelinesNamespace'), mock.patch('mas.cli.aiservice.install.app.launchInstallPipeline') as launch_ai_service_install_pipeline ): dynamic_client_class.return_value = dynamic_client @@ -108,7 +109,7 @@ def test_install_noninteractive(tmpdir): '--skip-pre-check']) -def test_install_interactive(tmpdir): +def test_install_interactive_advanced(tmpdir): tmpdir.join('authorized_entitlement.lic').write('testLicense') tmpdir.join('mongodb-system.yaml').write('#') tmpdir.join('cert.crt').write('#') @@ -142,6 +143,7 @@ def test_install_interactive(tmpdir): mock.patch('mas.cli.aiservice.install.app.getCurrentCatalog') as get_current_catalog, mock.patch('mas.cli.aiservice.install.app.installOpenShiftPipelines'), mock.patch('mas.cli.aiservice.install.app.updateTektonDefinitions'), + mock.patch('mas.cli.aiservice.install.app.prepareAiServicePipelinesNamespace'), mock.patch('mas.cli.aiservice.install.app.launchInstallPipeline') as launch_ai_service_install_pipeline, mock.patch('mas.cli.cli.isSNO') as is_sno, mock.patch('mas.cli.displayMixins.prompt') as mixins_prompt, @@ -159,6 +161,132 @@ def set_mixin_prompt_input(**kwargs): message = str(kwargs['message']) if re.match('.*Proceed with this cluster?.*', message): return 'y' + if re.match('.*Show advanced installation options?.*', message): + return 'y' + if re.match('.*Do you accept the license terms?.*', message): + return 'y' + if re.match('.*ReadWriteOnce (RWO) storage class.*', message): + return 'nfs-client' + if re.match('.*ReadWriteMany (RWX) storage class.*', message): + return 'nfs-client' + if re.match('.*SLS Mode.*', message): + return '1' + if re.match('.*License file.*', message): + return f'{tmpdir}/authorized_entitlement.lic' + if re.match('.*Instance ID.*', message): + return 'apmdevops' + if re.match('.*Operational Mode.*', message): + return '1' + if re.match('.*Install Minio.*', message): + return 'y' + if re.match('.*minio root username.*', message): + return 'username' + if re.match('.*minio root password.*', message): + return 'password' + if re.match('.*Configure certificate issuer?.*', message): + return 'y' + if re.match('.*Certificate issuer name.*', message): + return 'cert-issuer' + if re.match('.*RSL url.*', message): + return 'https://rls.maximo.test.ibm.com' + if re.match('.*ORG Id of RSL.*', message): + return 'rslOrgId' + if re.match('.*Token for RSL.*', message): + return 'rslToken' + if re.match('.*Watsonxai machine learning url.*', message): + return 'watsonxUrl' + if re.match('.*Does the RSL API use a self-signed certificate.*', message): + return 'n' + if re.match('.*Does the Watsonxai AI use a self-signed certificate.*', message): + return 'n' + if re.match('.*Create MongoDb cluster.*', message): + return 'n' + if re.match('.*Select Local configuration directory.*', message): + return str(tmpdir) + if re.match('.*MongoDb Username.*', message): + return 'mongodbUser' + if re.match('.*MongoDb Password.*', message): + return 'mongodbPassword' + if re.match('.*Path to certificate file.*', message): + return f'{tmpdir}/cert.crt' + if re.match(".*System mongodb configuration file 'mongodb-system.yaml' already exists", message): + return 'n' + if re.match(".*Proceed with these settings.*", message): + return 'y' + if re.match(".*Wait for PVCs to bind.*", message): + return 'n' + mixins_prompt.side_effect = set_mixin_prompt_input + + def set_app_prompt_input(**kwargs): + message = str(kwargs['message']) + if re.match('.*ReadWriteOnce (RWO) storage class.*', message): + return 'nfs-client' + if re.match('.*ReadWriteMany (RWX) storage class.*', message): + return 'nfs-client' + app_prompt.side_effect = set_app_prompt_input + + storage_class = MagicMock() + get_storage_classes.return_value = [storage_class] + storage_class.metadata = MagicMock() + storage_class.metadata.name = 'nfs-client' + app = AiServiceInstallApp() + app.install(argv=[]) + + +def test_install_interactive_simplified(tmpdir): + tmpdir.join('authorized_entitlement.lic').write('testLicense') + tmpdir.join('mongodb-system.yaml').write('#') + tmpdir.join('cert.crt').write('#') + with mock.patch('mas.cli.cli.config'): + dynamic_client = MagicMock(DynamicClient) + resources = MagicMock() + dynamic_client.resources = resources + routes_api = MagicMock() + catalog_api = MagicMock() + crd_api = MagicMock() + namespace_api = MagicMock() + cluster_role_binding_api = MagicMock() + pvc_api = MagicMock() + secret_api = MagicMock() + storage_class_api = MagicMock() + license_api = MagicMock() + resource_apis = {'CatalogSource': catalog_api, 'Route': routes_api, 'CustomResourceDefinition': crd_api, 'Namespace': namespace_api, + 'ClusterRoleBinding': cluster_role_binding_api, 'PersistentVolumeClaim': pvc_api, 'Secret': secret_api, + 'StorageClass': storage_class_api, 'LicenseService': license_api} + resources.get.side_effect = lambda **kwargs: resource_apis.get(kwargs['kind'], None) + route = MagicMock() + route.spec = MagicMock() + route.spec.host = 'maximo.ibm.com' + route.spec.displayName = supportedCatalogs['amd64'][1] + routes_api.get.return_value = route + catalog_api.get.side_effect = NotFoundError(ApiException(status='404')) + with ( + mock.patch('mas.cli.cli.DynamicClient') as dynamic_client_class, + mock.patch('mas.cli.cli.getNodes') as get_nodes, + mock.patch('mas.cli.cli.isAirgapInstall') as is_airgap_install, + mock.patch('mas.cli.aiservice.install.app.getCurrentCatalog') as get_current_catalog, + mock.patch('mas.cli.aiservice.install.app.installOpenShiftPipelines'), + mock.patch('mas.cli.aiservice.install.app.updateTektonDefinitions'), + mock.patch('mas.cli.aiservice.install.app.prepareAiServicePipelinesNamespace'), + mock.patch('mas.cli.aiservice.install.app.launchInstallPipeline') as launch_ai_service_install_pipeline, + mock.patch('mas.cli.cli.isSNO') as is_sno, + mock.patch('mas.cli.displayMixins.prompt') as mixins_prompt, + mock.patch('mas.cli.aiservice.install.app.prompt') as app_prompt, + mock.patch('mas.cli.aiservice.install.app.getStorageClasses') as get_storage_classes + ): + dynamic_client_class.return_value = dynamic_client + get_nodes.return_value = [{'status': {'nodeInfo': {'architecture': 'amd64'}}}] + is_airgap_install.return_value = False + get_current_catalog.return_value = {'catalogId': supportedCatalogs['amd64'][1]} + launch_ai_service_install_pipeline.return_value = 'https://pipeline.test.maximo.ibm.com' + is_sno.return_value = False + + def set_mixin_prompt_input(**kwargs): + message = str(kwargs['message']) + if re.match('.*Proceed with this cluster?.*', message): + return 'y' + if re.match('.*Show advanced installation options?.*', message): + return 'n' if re.match('.*Do you accept the license terms?.*', message): return 'y' if re.match('.*ReadWriteOnce (RWO) storage class.*', message): @@ -169,10 +297,16 @@ def set_mixin_prompt_input(**kwargs): return '1' if re.match('.*License file.*', message): return f'{tmpdir}/authorized_entitlement.lic' + if re.match('.*Instance ID.*', message): + return 'apmdevops' if re.match('.*Operational Mode.*', message): return '1' if re.match('.*Install Minio.*', message): return 'y' + if re.match('.*minio root username.*', message): + return 'username' + if re.match('.*minio root password.*', message): + return 'password' if re.match('.*RSL url.*', message): return 'https://rls.maximo.test.ibm.com' if re.match('.*ORG Id of RSL.*', message): diff --git a/python/test/install/__init__.py b/python/test/install/__init__.py new file mode 100644 index 00000000000..269e311ae2c --- /dev/null +++ b/python/test/install/__init__.py @@ -0,0 +1,11 @@ +# ***************************************************************************** +# Copyright (c) 2024, 2025 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +# Made with Bob diff --git a/python/test/install/test_existing_catalog.py b/python/test/install/test_existing_catalog.py new file mode 100644 index 00000000000..5f2551c1df4 --- /dev/null +++ b/python/test/install/test_existing_catalog.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +from utils import InstallTestConfig, run_install_test +import sys +import os +from mas.cli.install.catalogs import supportedCatalogs + +# Add test directory to path for utils import +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) + + +def test_install_interactive_existing_catalog(tmpdir): + """Test interactive installation when a catalog is already installed.""" + + # Define prompt handlers with expected patterns and responses + prompt_handlers = { + # 1. Cluster connection + '.*Proceed with this cluster?.*': lambda msg: 'y', + # 2. Install flavour (advanced options) + '.*Show advanced installation options.*': lambda msg: 'n', + # 3. Catalog selection + # Note: We will not be prompted for the catalog because we are mocking that there is already a catalog installed + '.*Select release.*': lambda msg: '9.1', + # 4. License acceptance + '.*Do you accept the license terms?.*': lambda msg: 'y', + # 5. Storage classes + ".*Use the auto-detected storage classes.*": lambda msg: 'y', + # 6. SLS configuration + '.*License file.*': lambda msg: f'{tmpdir}/authorized_entitlement.lic', + # 7. DRO configuration + ".*Contact e-mail address.*": lambda msg: 'maximo@ibm.com', + ".*Contact first name.*": lambda msg: 'Test', + ".*Contact last name.*": lambda msg: 'Test', + # 8. ICR credentials + ".*IBM entitlement key.*": lambda msg: 'testEntitlementKey', + # 9. MAS Instance configuration + '.*Instance ID.*': lambda msg: 'testinst', + '.*Workspace ID.*': lambda msg: 'testws', + '.*Workspace.*name.*': lambda msg: 'Test Workspace', + # 10. Operational mode + '.*Operational Mode.*': lambda msg: '1', + # 11. Application selection + # Note: because we choose not to install IoT we should not be prompted for Monitor or Predict + '.*Install IoT.*': lambda msg: 'n', + '.*Install Manage.*': lambda msg: 'y', + '.*Select components to enable.*': lambda msg: 'n', + '.*Include customization archive.*': lambda msg: 'n', + '.*Install Assist.*': lambda msg: 'n', + '.*Install Optimizer.*': lambda msg: 'n', + '.*Install Visual Inspection.*': lambda msg: 'n', + '.*Install.*Real Estate and Facilities.*': lambda msg: 'n', + '.*Install AI Service.*': lambda msg: 'n', + # 12. MongoDB configuration + '.*Create MongoDb cluster.*': lambda msg: 'y', + # 13. Db2 configuration + '.*Create Manage dedicated Db2 instance.*': lambda msg: 'y', + # 15. Final confirmation + '.*Use additional configurations.*': lambda msg: 'n', + ".*Proceed with these settings.*": lambda msg: 'y', + } + + # Create test configuration with existing catalog + config = InstallTestConfig( + prompt_handlers=prompt_handlers, + current_catalog={'catalogId': supportedCatalogs['amd64'][1]}, + architecture='amd64', + is_sno=False, + is_airgap=False, + storage_class_name='nfs-client', + storage_provider='nfs', + storage_provider_name='NFS Client', + ocp_version='4.18.0', + timeout_seconds=30 + ) + + # Run the test + run_install_test(tmpdir, config) + + +# Made with Bob diff --git a/python/test/install/test_no_catalog.py b/python/test/install/test_no_catalog.py new file mode 100644 index 00000000000..699c072e4ad --- /dev/null +++ b/python/test/install/test_no_catalog.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +from utils import InstallTestConfig, run_install_test +import sys +import os +from mas.cli.install.catalogs import supportedCatalogs + +# Add test directory to path for utils import +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) + + +def test_install_interactive_no_catalog(tmpdir): + """Test interactive installation when no catalog is installed.""" + + # Define prompt handlers with expected patterns and responses + prompt_handlers = { + # 1. Cluster connection + '.*Proceed with this cluster?.*': lambda msg: 'y', + # 2. Install flavour (advanced options) + '.*Show advanced installation options.*': lambda msg: 'n', + # 3. Catalog selection + '.*Select catalog.*': lambda msg: supportedCatalogs['amd64'][1], + '.*Select release.*': lambda msg: '9.1', + # 4. License acceptance + '.*Do you accept the license terms?.*': lambda msg: 'y', + # 5. Storage classes + ".*Use the auto-detected storage classes.*": lambda msg: 'y', + # 6. SLS configuration + '.*License file.*': lambda msg: f'{tmpdir}/authorized_entitlement.lic', + # 7. DRO configuration + ".*Contact e-mail address.*": lambda msg: 'maximo@ibm.com', + ".*Contact first name.*": lambda msg: 'Test', + ".*Contact last name.*": lambda msg: 'Test', + # 8. ICR credentials + ".*IBM entitlement key.*": lambda msg: 'testEntitlementKey', + # 9. MAS Instance configuration + '.*Instance ID.*': lambda msg: 'testinst', + '.*Workspace ID.*': lambda msg: 'testws', + '.*Workspace.*name.*': lambda msg: 'Test Workspace', + # 10. Operational mode + '.*Operational Mode.*': lambda msg: '1', + # 11. Application selection + '.*Install IoT.*': lambda msg: 'y', + '.*Install Monitor.*': lambda msg: 'n', + '.*Install Manage.*': lambda msg: 'y', + '.*Select components to enable.*': lambda msg: 'n', + '.*Include customization archive.*': lambda msg: 'n', + '.*Install Predict.*': lambda msg: 'n', + '.*Install Assist.*': lambda msg: 'n', + '.*Install Optimizer.*': lambda msg: 'n', + '.*Install Visual Inspection.*': lambda msg: 'n', + '.*Install.*Real Estate and Facilities.*': lambda msg: 'n', + '.*Install AI Service.*': lambda msg: 'n', + # 12. MongoDB configuration + '.*Create MongoDb cluster.*': lambda msg: 'y', + # 13. Db2 configuration + '.*Create system Db2 instance.*': lambda msg: 'y', + '.*Re-use System Db2 instance for Manage application.*': lambda msg: 'n', + '.*Create Manage dedicated Db2 instance.*': lambda msg: 'y', + # 14. Kafka configuration + '.*Create system Kafka instance.*': lambda msg: 'y', + '.*Kafka version.*': lambda msg: '3.8.0', + # 15. Final confirmation + '.*Use additional configurations.*': lambda msg: 'n', + ".*Proceed with these settings.*": lambda msg: 'y', + } + + # Create test configuration with no existing catalog + config = InstallTestConfig( + prompt_handlers=prompt_handlers, + current_catalog=None, # No catalog installed + architecture='amd64', + is_sno=False, + is_airgap=False, + storage_class_name='nfs-client', + storage_provider='nfs', + storage_provider_name='NFS Client', + ocp_version='4.18.0', + timeout_seconds=30 + ) + + # Run the test + run_install_test(tmpdir, config) + + +# Made with Bob diff --git a/python/test/install/test_unsupported_ocp.py b/python/test/install/test_unsupported_ocp.py new file mode 100644 index 00000000000..c50696a68b4 --- /dev/null +++ b/python/test/install/test_unsupported_ocp.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +from utils import InstallTestConfig, run_install_test +import sys +import os +from mas.cli.install.catalogs import supportedCatalogs + +# Add test directory to path for utils import +sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) + + +def test_install_interactive_unsupported_ocp(tmpdir): + """Test that installation fails with unsupported OCP version. + """ + + prompt_handlers = { + # 1. Cluster connection + '.*Proceed with this cluster?.*': lambda msg: 'y', + # 2. Install flavour (advanced options) + '.*Show advanced installation options.*': lambda msg: 'n', + # 3. Catalog selection + '.*Select release.*': lambda msg: '9.1', + } + + # Create test configuration with unsupported OCP version + config = InstallTestConfig( + prompt_handlers=prompt_handlers, + current_catalog={'catalogId': supportedCatalogs['amd64'][1]}, + architecture='amd64', + is_sno=False, + is_airgap=False, + storage_class_name='nfs-client', + storage_provider='nfs', + storage_provider_name='NFS Client', + ocp_version='4.6.0', # Unsupported version + timeout_seconds=30, + expect_system_exit=True # We expect SystemExit to be raised + ) + + # Run the test - SystemExit will be caught and verified by the helper + # The test will also fail if not all prompts are matched, proving that + # the prompt verification works correctly even with SystemExit + run_install_test(tmpdir, config) + + +# Made with Bob diff --git a/python/test/test_help.py b/python/test/test_help.py index 996a4d4d5b2..aa64f7bfa1b 100644 --- a/python/test/test_help.py +++ b/python/test/test_help.py @@ -1,6 +1,7 @@ import pytest from mas.cli.install.app import InstallApp +from mas.cli.update.app import UpdateApp from mas.cli.upgrade.app import UpgradeApp from mas.cli.uninstall.app import UninstallApp @@ -20,14 +21,14 @@ def testInstallHelp(): assert e.value.code == 0 -def testUninstallHelp(): +def testUpdateHelp(): """ Should exit with RC = 0 after printing help message """ with create_app_session(output=DummyOutput()): with pytest.raises(SystemExit) as e: - app = UninstallApp() - app.uninstall(argv=["--help"]) + app = UpdateApp() + app.update(argv=["--help"]) assert e.type == SystemExit assert e.value.code == 0 @@ -42,3 +43,15 @@ def testUpgradeHelp(): app.upgrade(argv=["--help"]) assert e.type == SystemExit assert e.value.code == 0 + + +def testUninstallHelp(): + """ + Should exit with RC = 0 after printing help message + """ + with create_app_session(output=DummyOutput()): + with pytest.raises(SystemExit) as e: + app = UninstallApp() + app.uninstall(argv=["--help"]) + assert e.type == SystemExit + assert e.value.code == 0 diff --git a/python/test/test_install.py b/python/test/test_install.py deleted file mode 100644 index 996a4d4d5b2..00000000000 --- a/python/test/test_install.py +++ /dev/null @@ -1,44 +0,0 @@ -import pytest - -from mas.cli.install.app import InstallApp -from mas.cli.upgrade.app import UpgradeApp -from mas.cli.uninstall.app import UninstallApp - -from prompt_toolkit.application import create_app_session -from prompt_toolkit.output import DummyOutput - - -def testInstallHelp(): - """ - Should exit with RC = 0 after printing help message - """ - with create_app_session(output=DummyOutput()): - with pytest.raises(SystemExit) as e: - app = InstallApp() - app.install(argv=["--help"]) - assert e.type == SystemExit - assert e.value.code == 0 - - -def testUninstallHelp(): - """ - Should exit with RC = 0 after printing help message - """ - with create_app_session(output=DummyOutput()): - with pytest.raises(SystemExit) as e: - app = UninstallApp() - app.uninstall(argv=["--help"]) - assert e.type == SystemExit - assert e.value.code == 0 - - -def testUpgradeHelp(): - """ - Should exit with RC = 0 after printing help message - """ - with create_app_session(output=DummyOutput()): - with pytest.raises(SystemExit) as e: - app = UpgradeApp() - app.upgrade(argv=["--help"]) - assert e.type == SystemExit - assert e.value.code == 0 diff --git a/python/test/utils/__init__.py b/python/test/utils/__init__.py new file mode 100644 index 00000000000..8b519fa7705 --- /dev/null +++ b/python/test/utils/__init__.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +from .prompt_tracker import PromptTracker, create_prompt_handler +from .install_test_helper import InstallTestConfig, InstallTestHelper, run_install_test + +__all__ = ['PromptTracker', 'create_prompt_handler', 'InstallTestConfig', 'InstallTestHelper', 'run_install_test'] + +# Made with Bob diff --git a/python/test/utils/install_test_helper.py b/python/test/utils/install_test_helper.py new file mode 100644 index 00000000000..e8499457649 --- /dev/null +++ b/python/test/utils/install_test_helper.py @@ -0,0 +1,317 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +import time +import threading +from typing import Dict, Callable, Optional +from unittest import mock +from unittest.mock import MagicMock +from kubernetes.client.rest import ApiException +from openshift.dynamic import DynamicClient +from openshift.dynamic.exceptions import NotFoundError +from mas.cli.install.catalogs import supportedCatalogs +from mas.cli.install.app import InstallApp +from utils.prompt_tracker import create_prompt_handler + + +class InstallTestConfig: + """Configuration for an install test scenario.""" + + def __init__( + self, + prompt_handlers: Dict[str, Callable[[str], str]], + current_catalog: Optional[Dict[str, str]] = None, + architecture: str = 'amd64', + is_sno: bool = False, + is_airgap: bool = False, + storage_class_name: str = 'nfs-client', + storage_provider: str = 'nfs', + storage_provider_name: str = 'NFS Client', + ocp_version: str = '4.18.0', + timeout_seconds: int = 30, + expect_system_exit: bool = False + ): + """ + Initialize test configuration. + + Args: + prompt_handlers: Dictionary mapping regex patterns to handler functions + current_catalog: Current catalog dict or None if no catalog installed + architecture: Node architecture (amd64, s390x, ppc64le) + is_sno: Whether cluster is Single Node OpenShift + is_airgap: Whether this is an airgap installation + storage_class_name: Name of the storage class to use + storage_provider: Storage provider type (nfs, ocs, etc.) + storage_provider_name: Display name of storage provider + ocp_version: OpenShift version + timeout_seconds: Timeout for watchdog (default 30s) + expect_system_exit: Whether to expect SystemExit to be raised + """ + self.prompt_handlers = prompt_handlers + self.current_catalog = current_catalog + self.architecture = architecture + self.is_sno = is_sno + self.is_airgap = is_airgap + self.storage_class_name = storage_class_name + self.storage_provider = storage_provider + self.storage_provider_name = storage_provider_name + self.ocp_version = ocp_version + self.timeout_seconds = timeout_seconds + self.expect_system_exit = expect_system_exit + + +class InstallTestHelper: + """Helper class to run install tests with minimal code duplication.""" + + def __init__(self, tmpdir, config: InstallTestConfig): + """ + Initialize the test helper. + + Args: + tmpdir: pytest tmpdir fixture + config: Test configuration + """ + self.tmpdir = tmpdir + self.config = config + self.test_failed = {'failed': False, 'message': ''} + self.last_prompt_time = {'time': time.time()} + self.watchdog_thread = None + self.prompt_tracker = None + + def setup_test_files(self): + """Create test files in tmpdir.""" + self.tmpdir.join('authorized_entitlement.lic').write('testLicense') + self.tmpdir.join('mongodb-system.yaml').write('#') + self.tmpdir.join('cert.crt').write('#') + + def start_watchdog(self): + """Start watchdog thread to detect hanging prompts.""" + def watchdog(): + while not self.test_failed['failed']: + time.sleep(1) + elapsed = time.time() - self.last_prompt_time['time'] + if elapsed > self.config.timeout_seconds: + self.test_failed['failed'] = True + self.test_failed['message'] = f"Test hung: No prompt received for {self.config.timeout_seconds}s" + break + + self.watchdog_thread = threading.Thread(target=watchdog, daemon=True) + self.watchdog_thread.start() + + def stop_watchdog(self): + """Stop the watchdog thread.""" + self.test_failed['failed'] = True + + def setup_mocks(self): + """Setup all mock objects and return context managers.""" + # Create mock APIs + dynamic_client = MagicMock(DynamicClient) + resources = MagicMock() + dynamic_client.resources = resources + + # Create individual API mocks + routes_api = MagicMock() + catalog_api = MagicMock() + crd_api = MagicMock() + namespace_api = MagicMock() + cluster_role_binding_api = MagicMock() + pvc_api = MagicMock() + secret_api = MagicMock() + storage_class_api = MagicMock() + license_api = MagicMock() + service_api = MagicMock() + cluster_version_api = MagicMock() + aiservice_tenant_api = MagicMock() + aiservice_api = MagicMock() + aiservice_app_api = MagicMock() + + # Map resource kinds to APIs + resource_apis = { + 'CatalogSource': catalog_api, + 'Route': routes_api, + 'CustomResourceDefinition': crd_api, + 'Namespace': namespace_api, + 'ClusterRoleBinding': cluster_role_binding_api, + 'PersistentVolumeClaim': pvc_api, + 'Secret': secret_api, + 'StorageClass': storage_class_api, + 'LicenseService': license_api, + 'Service': service_api, + 'ClusterVersion': cluster_version_api, + 'AIServiceTenant': aiservice_tenant_api, + 'AIService': aiservice_api, + 'AIServiceApp': aiservice_app_api + } + resources.get.side_effect = lambda **kwargs: resource_apis.get(kwargs['kind'], None) + + # Configure route mock + route = MagicMock() + route.spec = MagicMock() + route.spec.host = 'maximo.ibm.com' + route.spec.displayName = supportedCatalogs[self.config.architecture][1] + routes_api.get.return_value = route + + # Configure catalog mock + catalog_api.get.side_effect = NotFoundError(ApiException(status='404')) + + # Configure service mock for image registry + image_registry_service = MagicMock() + image_registry_service.metadata = MagicMock() + image_registry_service.metadata.name = 'image-registry' + service_api.get.return_value = image_registry_service + + # Configure AIService mocks (empty lists) + for api in [aiservice_tenant_api, aiservice_api, aiservice_app_api]: + mock_list = MagicMock() + mock_list.to_dict.return_value = {'items': []} + api.get.return_value = mock_list + + # Configure ClusterVersion mock + cluster_version = MagicMock() + cluster_version.status = MagicMock() + history_record = MagicMock() + history_record.state = 'Completed' + history_record.version = self.config.ocp_version + cluster_version.status.history = [history_record] + cluster_version_api.get.return_value = cluster_version + + return dynamic_client, resource_apis + + def setup_prompt_handler(self, mixins_prompt, prompt_session_instance, app_prompt): + """Setup prompt handler with tracking and watchdog integration.""" + # Create prompt tracker + self.prompt_tracker, prompt_handler = create_prompt_handler(self.config.prompt_handlers) + + def wrapped_prompt_handler(**kwargs): + """Handle prompts and update watchdog timer.""" + # Check if test has timed out + if self.test_failed['failed']: + raise TimeoutError(self.test_failed['message']) + + # Update last prompt time + self.last_prompt_time['time'] = time.time() + + # Use the prompt tracker to handle the prompt + return prompt_handler(**kwargs) + + # Set the same handler for all prompt mocks + mixins_prompt.side_effect = wrapped_prompt_handler + prompt_session_instance.prompt.side_effect = wrapped_prompt_handler + app_prompt.side_effect = wrapped_prompt_handler + + def run_install_test(self): + """ + Run the install test with all mocks configured. + + Raises: + TimeoutError: If test times out + AssertionError: If prompt verification fails + SystemExit: If expect_system_exit is True and SystemExit is raised + """ + self.setup_test_files() + self.start_watchdog() + + system_exit_raised = False + exit_code = None + + with mock.patch('mas.cli.cli.config'): + dynamic_client, resource_apis = self.setup_mocks() + + with ( + mock.patch('mas.cli.cli.DynamicClient') as dynamic_client_class, + mock.patch('mas.cli.cli.getNodes') as get_nodes, + mock.patch('mas.cli.cli.isAirgapInstall') as is_airgap_install, + mock.patch('mas.cli.install.app.getCurrentCatalog') as get_current_catalog, + mock.patch('mas.cli.install.app.installOpenShiftPipelines'), + mock.patch('mas.cli.install.app.updateTektonDefinitions'), + mock.patch('mas.cli.install.app.createNamespace'), + mock.patch('mas.cli.install.app.preparePipelinesNamespace'), + mock.patch('mas.cli.install.app.launchInstallPipeline') as launch_install_pipeline, + mock.patch('mas.cli.cli.isSNO') as is_sno, + mock.patch('mas.cli.displayMixins.prompt') as mixins_prompt, + mock.patch('mas.cli.displayMixins.PromptSession') as prompt_session_class, + mock.patch('mas.cli.install.app.prompt') as app_prompt, + mock.patch('mas.cli.install.app.getStorageClasses') as get_storage_classes, + mock.patch('mas.cli.install.app.getDefaultStorageClasses') as get_default_storage_classes + ): + # Configure mock return values + dynamic_client_class.return_value = dynamic_client + get_nodes.return_value = [{'status': {'nodeInfo': {'architecture': self.config.architecture}}}] + is_airgap_install.return_value = self.config.is_airgap + get_current_catalog.return_value = self.config.current_catalog + launch_install_pipeline.return_value = 'https://pipeline.test.maximo.ibm.com' + is_sno.return_value = self.config.is_sno + + # Configure PromptSession mock + prompt_session_instance = MagicMock() + prompt_session_class.return_value = prompt_session_instance + + # Setup prompt handler + self.setup_prompt_handler(mixins_prompt, prompt_session_instance, app_prompt) + + # Configure storage class mocks + storage_class = MagicMock() + storage_class.metadata = MagicMock() + storage_class.metadata.name = self.config.storage_class_name + get_storage_classes.return_value = [storage_class] + + default_storage_classes = MagicMock() + default_storage_classes.provider = self.config.storage_provider + default_storage_classes.providerName = self.config.storage_provider_name + default_storage_classes.rwo = self.config.storage_class_name + default_storage_classes.rwx = self.config.storage_class_name + get_default_storage_classes.return_value = default_storage_classes + + try: + app = InstallApp() + app.install(argv=[]) + except SystemExit as e: + system_exit_raised = True + exit_code = e.code + if not self.config.expect_system_exit: + raise + finally: + self.stop_watchdog() + + # Check if test timed out + if self.test_failed['message']: + raise TimeoutError(self.test_failed['message']) + + # Verify SystemExit was raised if expected + if self.config.expect_system_exit and not system_exit_raised: + raise AssertionError("Expected SystemExit to be raised but it was not") + + # Verify exit code is non-zero if SystemExit was expected + if self.config.expect_system_exit and exit_code == 0: + raise AssertionError(f"Expected non-zero exit code but got {exit_code}") + + # Always verify all prompts were matched exactly once + # This will fail if any prompts weren't reached (e.g., due to early SystemExit) + # which is the desired behavior to ensure tests accurately reflect what prompts are shown + self.prompt_tracker.verify_all_prompts_matched() + + +def run_install_test(tmpdir, config: InstallTestConfig): + """ + Convenience function to run an install test. + + Args: + tmpdir: pytest tmpdir fixture + config: Test configuration + + Raises: + TimeoutError: If test times out + AssertionError: If prompt verification fails + """ + helper = InstallTestHelper(tmpdir, config) + helper.run_install_test() + +# Made with Bob diff --git a/python/test/utils/prompt_tracker.py b/python/test/utils/prompt_tracker.py new file mode 100644 index 00000000000..974df97b050 --- /dev/null +++ b/python/test/utils/prompt_tracker.py @@ -0,0 +1,103 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +import re +from typing import Dict, Callable + + +class PromptTracker: + """ + Utility class to track which prompts were matched during tests. + Ensures each expected prompt is matched exactly once. + """ + + def __init__(self, prompt_handlers: Dict[str, Callable[[str], str]]): + """ + Initialize the prompt tracker. + + Args: + prompt_handlers: Dictionary mapping regex patterns to handler functions. + Each handler receives the full message and returns the response. + """ + self.prompt_handlers = prompt_handlers + self.match_counts = {pattern: 0 for pattern in prompt_handlers.keys()} + + def handle_prompt(self, **kwargs) -> str: + """ + Handle a prompt by matching it against registered patterns. + + Args: + **kwargs: Keyword arguments containing 'message' and other prompt parameters. + + Returns: + The response string from the matched handler. + + Raises: + AssertionError: If no pattern matches the prompt. + """ + message = str(kwargs['message']) + + # Try to match against all registered patterns + for pattern, handler in self.prompt_handlers.items(): + if re.match(pattern, message): + self.match_counts[pattern] += 1 + return handler(message) + + # No pattern matched - fail the test with debug info + raise AssertionError(f"Unmatched prompt in test: {message}\nFull kwargs: {kwargs}") + + def verify_all_prompts_matched(self, allow_unmatched: bool = False): + """ + Verify that all expected prompts were matched exactly once. + + Args: + allow_unmatched: If True, don't fail if some prompts were never matched + (useful for error scenarios where execution stops early) + + Raises: + AssertionError: If any prompt was matched != 1 times (or 0 times if allow_unmatched=False). + """ + errors = [] + for pattern, count in self.match_counts.items(): + if count == 0: + if not allow_unmatched: + errors.append(f"Prompt pattern never matched: {pattern}") + elif count > 1: + errors.append(f"Prompt pattern matched {count} times (expected 1): {pattern}") + + if len(errors) > 0: + error_message = " | ".join(errors) + raise AssertionError(error_message) + + def get_match_counts(self) -> Dict[str, int]: + """ + Get the current match counts for all patterns. + + Returns: + Dictionary mapping patterns to their match counts. + """ + return self.match_counts.copy() + + +def create_prompt_handler(prompt_handlers: Dict[str, Callable[[str], str]]) -> tuple: + """ + Create a prompt tracker and return both the tracker and handler function. + + Args: + prompt_handlers: Dictionary mapping regex patterns to handler functions. + + Returns: + Tuple of (PromptTracker instance, handler function for use with mock.side_effect) + """ + tracker = PromptTracker(prompt_handlers) + return tracker, tracker.handle_prompt + +# Made with Bob diff --git a/python/test/utils/test_prompt_tracker.py b/python/test/utils/test_prompt_tracker.py new file mode 100644 index 00000000000..6479458d47c --- /dev/null +++ b/python/test/utils/test_prompt_tracker.py @@ -0,0 +1,87 @@ +#!/usr/bin/env python +# ***************************************************************************** +# Copyright (c) 2026 IBM Corporation and other Contributors. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# ***************************************************************************** + +import pytest +from utils.prompt_tracker import create_prompt_handler + + +def test_prompt_tracker_single_match(): + """Test that a prompt matched exactly once passes verification.""" + handlers = { + '.*test.*': lambda msg: 'response' + } + tracker, handler = create_prompt_handler(handlers) + + result = handler(message='test message') + assert result == 'response' + + # Should pass verification + tracker.verify_all_prompts_matched() + + +def test_prompt_tracker_never_matched(): + """Test that a prompt never matched fails verification.""" + handlers = { + '.*test.*': lambda msg: 'response', + '.*unused.*': lambda msg: 'unused' + } + tracker, handler = create_prompt_handler(handlers) + + handler(message='test message') + + # Should fail verification + with pytest.raises(AssertionError, match='Prompt pattern never matched: .*unused.*'): + tracker.verify_all_prompts_matched() + + +def test_prompt_tracker_multiple_matches(): + """Test that a prompt matched multiple times fails verification.""" + handlers = { + '.*test.*': lambda msg: 'response' + } + tracker, handler = create_prompt_handler(handlers) + + handler(message='test 1') + handler(message='test 2') + + # Should fail verification + with pytest.raises(AssertionError, match='Prompt pattern matched 2 times'): + tracker.verify_all_prompts_matched() + + +def test_prompt_tracker_unmatched_prompt(): + """Test that an unmatched prompt fails immediately.""" + handlers = { + '.*test.*': lambda msg: 'response' + } + tracker, handler = create_prompt_handler(handlers) + + # Should fail immediately + with pytest.raises(AssertionError, match='Unmatched prompt in test: unmatched'): + handler(message='unmatched') + + +def test_prompt_tracker_get_match_counts(): + """Test that match counts are tracked correctly.""" + handlers = { + '.*test1.*': lambda msg: 'response1', + '.*test2.*': lambda msg: 'response2' + } + tracker, handler = create_prompt_handler(handlers) + + handler(message='test1') + handler(message='test2') + + counts = tracker.get_match_counts() + assert counts['.*test1.*'] == 1 + assert counts['.*test2.*'] == 1 + +# Made with Bob diff --git a/rbac/install/namespaces.yaml b/rbac/install/namespaces.yaml index 4d5c01e0b4d..610f555841c 100644 --- a/rbac/install/namespaces.yaml +++ b/rbac/install/namespaces.yaml @@ -38,3 +38,8 @@ apiVersion: v1 kind: Namespace metadata: name: redhat-marketplace +--- +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-pipelines diff --git a/rbac/install/pipeline/mas-x-core.yaml b/rbac/install/pipeline/mas-x-core.yaml index 52b5235a46e..949cdbc6e1e 100644 --- a/rbac/install/pipeline/mas-x-core.yaml +++ b/rbac/install/pipeline/mas-x-core.yaml @@ -44,8 +44,8 @@ rules: - configmaps - secrets verbs: - - create - get + - create - patch - apiGroups: @@ -54,6 +54,7 @@ rules: - suites - workspaces verbs: + - get - create - patch @@ -66,5 +67,6 @@ rules: - slscfgs - bascfgs verbs: + - get - create - patch diff --git a/rbac/install/user/clusterrole.yaml b/rbac/install/user/clusterrole.yaml index e0886c3915e..36d4011a2e4 100644 --- a/rbac/install/user/clusterrole.yaml +++ b/rbac/install/user/clusterrole.yaml @@ -17,6 +17,18 @@ kind: ClusterRole metadata: name: mas:{{ mas_instance_id }}:install-user rules: + + + # The CLI will inspect the "version" clusterversion to validate MAS/OCP version compatibility + - apiGroups: + - config.openshift.io + resources: + - clusterversions + verbs: + - get + resourceNames: + - version + # The CLI will inspect the cluster nodes to automatically determine the target architecture - apiGroups: - "" @@ -24,41 +36,53 @@ rules: - nodes verbs: - list + + # During installation of OpenShift Pipelines, we need to check for existing namespaces + # We also need access to the namespace where we will be running the install pipeline - apiGroups: - "" resources: - namespaces verbs: - get + resourceNames: + - openshift-pipelines + - mas-{{ mas_instance_id }}-pipelines + + # Visibility of "tasks.tekton.dev" CRD allows the CLI to detect whether OpenShift Pipelines has been installed - apiGroups: - - operator.openshift.io + - apiextensions.k8s.io resources: - - imagecontentsourcepolicies + - customresourcedefinitions verbs: - get - - list + resourceNames: + - tasks.tekton.dev + - pipelines.tekton.dev + + # Visibility of ImageContentSourcePolicy and ImageDigestMirrorSet resources allows the CLI to auto-detect + # whether the cluster has been set up for using a private image registry - apiGroups: - - config.openshift.io - resources: - - imagedigestmirrorsets - verbs: - - list - - apiGroups: - - apiextensions.k8s.io + - operator.openshift.io resources: - - customresourcedefinitions + - imagecontentsourcepolicies verbs: - get + - list - apiGroups: - config.openshift.io resources: - imagedigestmirrorsets verbs: - list + + # We need to set up the "pipeline" service account that will be used by the pipelines - apiGroups: - rbac.authorization.k8s.io resources: - clusterrolebindings verbs: - get - - patch # TODO: Support running without this permission + - patch + resourceNames: + - ibm-mas-pipeline-{{ mas_instance_id }} diff --git a/rbac/install/user/openshift-pipelines.yaml b/rbac/install/user/openshift-pipelines.yaml index c47d7cd9eb0..9896c3ff4d5 100644 --- a/rbac/install/user/openshift-pipelines.yaml +++ b/rbac/install/user/openshift-pipelines.yaml @@ -26,3 +26,14 @@ rules: - deployments verbs: - get + # Enables the workaround to handle the bug in OpenShift Pipelines/Tekton when + # there is no default storage class defined in the cluster + - apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - patch + resourceNames: + - postgredb-tekton-results-postgres-0 diff --git a/tekton/generate-tekton-pipelines.yml b/tekton/generate-tekton-pipelines.yml index 67bf1e659d2..2b4821e6468 100644 --- a/tekton/generate-tekton-pipelines.yml +++ b/tekton/generate-tekton-pipelines.yml @@ -40,6 +40,7 @@ - mas-fvt-iot - mas-fvt-finally - mas-fvt-manage + - mas-fvt-manage-ai - mas-fvt-manage-is - mas-fvt-manage-regr - mas-fvt-mobile-pytest diff --git a/tekton/generate-tekton-tasks.yml b/tekton/generate-tekton-tasks.yml index d434a636a72..426b8344797 100644 --- a/tekton/generate-tekton-tasks.yml +++ b/tekton/generate-tekton-tasks.yml @@ -52,6 +52,7 @@ - minio - aiservice - odh + - rhoai - aiservice-upgrade # 4. Generate Tasks (FVT) @@ -72,6 +73,7 @@ - mas-fvt-deprovision-cos - mas-fvt-deprovision-kafka - mas-fvt-finalize + - mas-fvt-pipeline-finish-and-deprovision - mas-fvt-iot - mas-fvt-manage - mas-fvt-mobile-testng @@ -104,6 +106,7 @@ - mas-launchfvt-finally - mas-launchfvt-iot - mas-launchfvt-manage + - mas-launchfvt-manage-ai - mas-launchfvt-manage-is - mas-launchfvt-mobile - mas-launchfvt-monitor @@ -250,14 +253,18 @@ - gitops-suite - gitops-odh - gitops-deprovision-odh - - gitops-aiservice - gitops-aiservice-tenant - gitops-deprovision-aiservice-tenant - gitops-deprovision-aiservice + - gitops-app-config + - gitops-delete-app-config - gitops-iac-create-branch - gitops-iac-generate-common-files - gitops-iac-manage-pr - gitops-iac-provision-efs - gitops-iac-provision-s3 + - gitops-iac-provision-msk + - gitops-rds-db2-database + - gitops-iac-provision-rdsdb2 diff --git a/tekton/src/params/install-aiservice.yml.j2 b/tekton/src/params/install-aiservice.yml.j2 index 54815d4810b..3da99e59c99 100644 --- a/tekton/src/params/install-aiservice.yml.j2 +++ b/tekton/src/params/install-aiservice.yml.j2 @@ -64,6 +64,14 @@ type: string description: Model deployment type for ODH. Must be one of; [raw, serverless] default: "raw" +- name: aiservice_rhoai_model_deployment_type + type: string + description: Model deployment type for Redhat Openshift AI. Must be one of; [raw, serverless] + default: "raw" +- name: rhoai + type: string + description: flag to install rhoai + default: "" - name: minio_root_user type: string @@ -155,3 +163,9 @@ description: token for RSL default: "" +# MAS Application Configuration - IBM Maximo AI Service - Certificate Issuer +# ----------------------------------------------------------------------------- +- name: aiservice_certificate_issuer + type: string + description: Name of the Issuer to configure AI Service to issue certificates + default: "" diff --git a/tekton/src/params/install.yml.j2 b/tekton/src/params/install.yml.j2 index 364e1c54c08..32a24709146 100644 --- a/tekton/src/params/install.yml.j2 +++ b/tekton/src/params/install.yml.j2 @@ -439,6 +439,14 @@ - name: mas_routing_mode type: string default: "" +- name: mas_ingress_controller_name + type: string + default: "" + description: Name of the IngressController to use for path-based routing +- name: mas_configure_ingress + type: string + default: "" + description: Set to 'true' to automatically configure IngressController for path-based routing - name: mas_trust_default_cas type: string default: "" @@ -662,13 +670,9 @@ # MAS Application Configuration - IBM Maximo Location Services for ESRI # ----------------------------------------------------------------------------- -- name: install_arcgis - type: string - description: Flag to control whether to install IBM Maximo Location Services for ESRI - default: "" - name: mas_arcgis_channel type: string - description: Default channel for IBM Maximo Location Services for ESRI + description: Subscription channel for IBM Maximo Location Services for ESRI. Setting this will trigger ArcGIS installation. default: "" # default is handled by ansible-devops # MAS Application Configuration - Health Application diff --git a/tekton/src/pipelines/aiservice-fvt-launcher.yml.j2 b/tekton/src/pipelines/aiservice-fvt-launcher.yml.j2 index aafa19d4927..fa91bb99999 100644 --- a/tekton/src/pipelines/aiservice-fvt-launcher.yml.j2 +++ b/tekton/src/pipelines/aiservice-fvt-launcher.yml.j2 @@ -57,6 +57,23 @@ spec: description: "Set this to 'true' to enable deprovision of the target cluster & associated resources following the completion of this pipeline" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + - name: waitfor-aiservice timeout: "0" taskRef: @@ -85,6 +102,8 @@ spec: - input: $(params.sync_with_install) operator: in values: ["true", "True"] + runAfter: + - pipeline-start - name: launchfvt-aiservice timeout: "0" @@ -279,6 +298,25 @@ spec: - name: pipelinerun_name value: "$(context.pipelineRun.name)-fvt-finally" + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + workspaces: # The generated configuration files - name: shared-configs diff --git a/tekton/src/pipelines/aiservice-fvt.yml.j2 b/tekton/src/pipelines/aiservice-fvt.yml.j2 index 09b0578e7a7..6d848539a04 100644 --- a/tekton/src/pipelines/aiservice-fvt.yml.j2 +++ b/tekton/src/pipelines/aiservice-fvt.yml.j2 @@ -49,6 +49,23 @@ spec: tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 2. Aibroker base test suite # ----------------------------------------------------------------------------- - name: fvt-aiservice-tenant-entitlement @@ -57,6 +74,8 @@ spec: {{ lookup('template', 'taskdefs/fvt-aiservice/common/params.yml.j2') | indent(8) }} - name: fvt_test_suite value: tenant_entitlement + runAfter: + - pipeline-start # 2. MCC test suite # ----------------------------------------------------------------------------- @@ -140,3 +159,25 @@ spec: runAfter: - fvt-aiservice-pcc - fvt-aiservice-similarity + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/aiservice-upgrade.yml.j2 b/tekton/src/pipelines/aiservice-upgrade.yml.j2 index 1754f3a0402..6bea6d0df65 100644 --- a/tekton/src/pipelines/aiservice-upgrade.yml.j2 +++ b/tekton/src/pipelines/aiservice-upgrade.yml.j2 @@ -32,6 +32,23 @@ spec: description: Skip performing compatiblity checks before upgrade tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Wait for approval & verify health of the cluster before we change anything # ------------------------------------------------------------------------- - name: waitfor-approval @@ -44,6 +61,8 @@ spec: value: $(params.image_pull_policy) - name: configmap_name value: approval-upgrade + runAfter: + - pipeline-start {{ lookup('template', 'taskdefs/cluster-setup/ocp-verify-all.yml.j2', template_vars={'name': 'pre-upgrade-check', 'devops_suite_name': 'pre-upgrade-check'}) | indent(4) }} runAfter: @@ -92,3 +111,22 @@ spec: # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) value: $(tasks.status) + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 b/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 index 19178244cb4..a12730cd730 100644 --- a/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-aiservice-tenant-pipeline.yml.j2 @@ -85,6 +85,11 @@ spec: - name: tenant_entitlement_end_date type: string + # standalone sls + - name: sls_service + type: string + default: "" + workspaces: - name: configs tasks: @@ -173,4 +178,5 @@ spec: value: $(params.tenant_entitlement_start_date) - name: tenant_entitlement_end_date value: $(params.tenant_entitlement_end_date) - \ No newline at end of file + - name: sls_service + value: $(params.sls_service) \ No newline at end of file diff --git a/tekton/src/pipelines/gitops/gitops-iac-pipeline.yml.j2 b/tekton/src/pipelines/gitops/gitops-iac-pipeline.yml.j2 index b226e180729..f4f77e94b9d 100644 --- a/tekton/src/pipelines/gitops/gitops-iac-pipeline.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-iac-pipeline.yml.j2 @@ -117,8 +117,141 @@ spec: type: string default: '' + # iac-msk common params + - name: is_msk + type: string + default: 'false' + + - name: msk_source + type: string + default: '' + + # iac-msk params + - name: msk_kafka_version + type: string + default: '' + + - name: msk_instance_type + type: string + default: '' + + - name: msk_cluster_username + type: string + default: '' + + - name: msk_broker_volume_size + type: string + default: '' + + - name: msk_number_of_broker_nodes + type: string + default: '' + + - name: msk_cluster_prefix + type: string + default: '' + + # iac-rdsdb2 common params + - name: is_rds + type: string + default: 'false' + + - name: rds_source + type: string + default: '' + + - name: rds_s3_source + type: string + default: '' + + - name: rds_iam_source + type: string + default: '' + + - name: rds_s3accesspoint_source + type: string + default: '' + + # iac-rdsdb2 manage params + - name: rds_manage_db2_instance_class + type: string + default: '' + + - name: rds_manage_db2_storage_type + type: string + default: '' + + - name: rds_manage_allocated_storage + type: string + default: '' + + - name: rds_manage_jdbc_connection_url_additional_params + type: string + default: '' + + - name: rds_manage_replica_db + type: string + default: '' + + - name: rds_db2_config_manage_yaml + type: string + default: '' + + # iac-rdsdb2 iot params + - name: rds_iot_db2_instance_class + type: string + default: '' + + - name: rds_iot_db2_storage_type + type: string + default: '' + + - name: rds_iot_allocated_storage + type: string + default: '' + + - name: rds_iot_jdbc_connection_url_additional_params + type: string + default: '' + + - name: rds_iot_replica_db + type: string + default: '' + + - name: rds_db2_config_iot_yaml + type: string + default: '' + + # iac-rdsdb2 facilities params + - name: rds_facilities_db2_instance_class + type: string + default: '' + + - name: rds_facilities_db2_storage_type + type: string + default: '' + + - name: rds_facilities_allocated_storage + type: string + default: '' + + - name: rds_facilities_jdbc_connection_url_additional_params + type: string + default: '' + + - name: rds_facilities_replica_db + type: string + default: '' + + - name: rds_db2_config_facilities_yaml + type: string + default: '' + + + workspaces: - name: configs + - name: shared-gitops-configs tasks: @@ -262,12 +395,154 @@ spec: - name: s3_mvi value: $(params.s3_mvi) - # Task 4: Generate Common Files (Runs after EFS/S3 tasks complete/skip) + # Task 3: Provision MSK (Conditional - runs if is_msk=true) + # ------------------------------------------------------------------------- + - name: gitops-iac-provision-msk + when: + - input: "$(params.is_msk)" + operator: in + values: ["true"] + runAfter: + - gitops-iac-config + taskRef: + name: gitops-iac-provision-msk + workspaces: + - name: configs + workspace: configs + params: + - name: cluster_name + value: $(params.cluster_name) + - name: account + value: $(params.account) + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: cluster_url + value: $(params.cluster_url) + - name: git_branch + value: $(params.git_branch) + - name: github_org + value: $(params.github_org) + - name: github_repo + value: $(params.github_repo) + - name: github_host + value: $(params.github_host) + - name: region_name + value: $(params.region_name) + + - name: msk_source + value: $(params.msk_source) + + # iac-msk iot params + - name: msk_kafka_version + value: $(params.msk_kafka_version) + - name: msk_instance_type + value: $(params.msk_instance_type) + - name: msk_cluster_username + value: $(params.msk_cluster_username) + - name: msk_broker_volume_size + value: $(params.msk_broker_volume_size) + - name: msk_number_of_broker_nodes + value: $(params.msk_number_of_broker_nodes) + - name: msk_cluster_prefix + value: $(params.msk_cluster_prefix) + + # Task 4: Provision RDS-DB2 (Conditional - runs if is_rds=true) + # ------------------------------------------------------------------------- + - name: gitops-iac-provision-rdsdb2 + when: + - input: "$(params.is_rds)" + operator: in + values: ["true"] + runAfter: + - gitops-iac-config + taskRef: + name: gitops-iac-provision-rdsdb2 + workspaces: + - name: configs + workspace: configs + - name: shared-gitops-configs + workspace: shared-gitops-configs + params: + - name: cluster_name + value: $(params.cluster_name) + - name: account + value: $(params.account) + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: cluster_url + value: $(params.cluster_url) + - name: git_branch + value: $(params.git_branch) + - name: github_org + value: $(params.github_org) + - name: github_repo + value: $(params.github_repo) + - name: github_host + value: $(params.github_host) + - name: region_name + value: $(params.region_name) + + - name: rds_source + value: $(params.rds_source) + - name: rds_s3_source + value: $(params.rds_s3_source) + - name: rds_iam_source + value: $(params.rds_iam_source) + - name: rds_s3accesspoint_source + value: $(params.rds_s3accesspoint_source) + + # iac-rdsdb2 manage params + - name: rds_manage_db2_instance_class + value: $(params.rds_manage_db2_instance_class) + - name: rds_manage_db2_storage_type + value: $(params.rds_manage_db2_storage_type) + - name: rds_manage_allocated_storage + value: $(params.rds_manage_allocated_storage) + - name: rds_manage_jdbc_connection_url_additional_params + value: $(params.rds_manage_jdbc_connection_url_additional_params) + - name: rds_manage_replica_db + value: $(params.rds_manage_replica_db) + - name: rds_db2_config_manage_yaml + value: $(params.rds_db2_config_manage_yaml) + + # iac-rdsdb2 iot params + - name: rds_iot_db2_instance_class + value: $(params.rds_iot_db2_instance_class) + - name: rds_iot_db2_storage_type + value: $(params.rds_iot_db2_storage_type) + - name: rds_iot_allocated_storage + value: $(params.rds_iot_allocated_storage) + - name: rds_iot_jdbc_connection_url_additional_params + value: $(params.rds_iot_jdbc_connection_url_additional_params) + - name: rds_iot_replica_db + value: $(params.rds_iot_replica_db) + - name: rds_db2_config_iot_yaml + value: $(params.rds_db2_config_iot_yaml) + + # iac-rdsdb2 facilities params + - name: rds_facilities_db2_instance_class + value: $(params.rds_facilities_db2_instance_class) + - name: rds_facilities_db2_storage_type + value: $(params.rds_facilities_db2_storage_type) + - name: rds_facilities_allocated_storage + value: $(params.rds_facilities_allocated_storage) + - name: rds_facilities_jdbc_connection_url_additional_params + value: $(params.rds_facilities_jdbc_connection_url_additional_params) + - name: rds_facilities_replica_db + value: $(params.rds_facilities_replica_db) + - name: rds_db2_config_facilities_yaml + value: $(params.rds_db2_config_facilities_yaml) + + + + # Task 5: Generate Common Files (Runs after EFS/S3/MSK/RDS-DB2 tasks complete/skip) # ------------------------------------------------------------------------- - name: gitops-iac-generate-common-files runAfter: - gitops-iac-provision-efs - gitops-iac-provision-s3 + - gitops-iac-provision-msk + - gitops-iac-provision-rdsdb2 taskRef: name: gitops-iac-generate-common-files workspaces: @@ -296,7 +571,12 @@ spec: value: $(params.is_efs) - name: is_s3 value: $(params.is_s3) - # EFS parameters (needed for variable computation) + - name: is_msk + value: $(params.is_msk) + - name: is_rds + value: $(params.is_rds) + + # EFS parameters (needed for variable computation) - name: efs_manage_db2_performance_mode value: $(params.efs_manage_db2_performance_mode) - name: efs_manage_db2_mount_count @@ -333,13 +613,60 @@ spec: value: $(params.efs_visualinspection_main_mount_count) - name: efs_visualinspection_main_throughput_mode value: $(params.efs_visualinspection_main_throughput_mode) - # S3 parameters (needed for variable computation) + + # S3 parameters (needed for variable computation) - name: s3_manage value: $(params.s3_manage) - name: s3_mvi value: $(params.s3_mvi) - # Task 5: Manage PR (Always runs last) + # iac-msk iot params + - name: msk_kafka_version + value: $(params.msk_kafka_version) + - name: msk_instance_type + value: $(params.msk_instance_type) + - name: msk_cluster_username + value: $(params.msk_cluster_username) + - name: msk_broker_volume_size + value: $(params.msk_broker_volume_size) + - name: msk_number_of_broker_nodes + value: $(params.msk_number_of_broker_nodes) + - name: msk_cluster_prefix + value: $(params.msk_cluster_prefix) + + # iac-rdsdb2 params + - name: rds_manage_db2_instance_class + value: $(params.rds_manage_db2_instance_class) + - name: rds_manage_db2_storage_type + value: $(params.rds_manage_db2_storage_type) + - name: rds_manage_allocated_storage + value: $(params.rds_manage_allocated_storage) + - name: rds_manage_jdbc_connection_url_additional_params + value: $(params.rds_manage_jdbc_connection_url_additional_params) + - name: rds_manage_replica_db + value: $(params.rds_manage_replica_db) + - name: rds_iot_db2_instance_class + value: $(params.rds_iot_db2_instance_class) + - name: rds_iot_db2_storage_type + value: $(params.rds_iot_db2_storage_type) + - name: rds_iot_allocated_storage + value: $(params.rds_iot_allocated_storage) + - name: rds_iot_jdbc_connection_url_additional_params + value: $(params.rds_iot_jdbc_connection_url_additional_params) + - name: rds_iot_replica_db + value: $(params.rds_iot_replica_db) + - name: rds_facilities_db2_instance_class + value: $(params.rds_facilities_db2_instance_class) + - name: rds_facilities_db2_storage_type + value: $(params.rds_facilities_db2_storage_type) + - name: rds_facilities_allocated_storage + value: $(params.rds_facilities_allocated_storage) + - name: rds_facilities_jdbc_connection_url_additional_params + value: $(params.rds_facilities_jdbc_connection_url_additional_params) + - name: rds_facilities_replica_db + value: $(params.rds_facilities_replica_db) + + # Task 6: Manage PR (Always runs last) # ------------------------------------------------------------------------- - name: gitops-iac-manage-pr runAfter: @@ -367,4 +694,8 @@ spec: - name: is_efs value: $(params.is_efs) - name: is_s3 - value: $(params.is_s3) \ No newline at end of file + value: $(params.is_s3) + - name: is_msk + value: $(params.is_msk) + - name: is_rds + value: $(params.is_rds) \ No newline at end of file diff --git a/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 index c295e15fbef..0938b038d15 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 @@ -854,8 +854,50 @@ spec: operator: notin values: [""] - # 3. DB2 for IoT, Manage and Facilities + # 3. RDS-DB2 and DB2 for IoT, Manage and Facilities # ------------------------------------------------------------------------- + # 3.1 RDS for IoT + - name: gitops-rds-db2-database-iot + params: + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} + + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/secrets-params.yml.j2') | indent(8) }} + + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/git-params.yml.j2') | indent(8) }} + + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: mas_app_id + value: iot + - name: jdbc_connection_url_additional_params + value: $(params.jdbc_connection_url_additional_params_iot) + - name: db2_instance_registry_yaml + value: $(params.db2_instance_registry_yaml_iot) + - name: db2_instance_dbm_config_yaml + value: $(params.db2_instance_dbm_config_yaml_iot) + - name: db2_database_db_config_yaml + value: $(params.db2_database_db_config_yaml_iot) + - name: db2_addons_audit_config_yaml + value: $(params.db2_addons_audit_config_yaml_iot) + + workspaces: + - name: configs + workspace: configs + - name: shared-gitops-configs + workspace: shared-gitops-configs + taskRef: + kind: Task + name: gitops-rds-db2-database + when: + - input: "$(params.db2_action_iot)" + operator: notin + values: [""] + - input: "$(params.jdbc_type_iot)" + operator: in + values: ["rds-db2"] + - input: "$(params.mas_app_channel_iot)" + operator: notin + values: [""] # 3.1 DB2 for IoT - name: gitops-db2u-database-iot @@ -986,6 +1028,7 @@ spec: - name: gitops-jdbc-config-iot runAfter: - gitops-db2u-database-iot + - gitops-rds-db2-database-iot params: {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} @@ -1023,6 +1066,49 @@ spec: operator: notin values: [""] + # 3.2 RDS for manage + - name: gitops-rds-db2-database-manage + params: + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} + + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/secrets-params.yml.j2') | indent(8) }} + + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/git-params.yml.j2') | indent(8) }} + + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: mas_app_id + value: manage + - name: replica_db + value: $(params.replica_db_manage) + - name: jdbc_connection_url_additional_params + value: $(params.jdbc_connection_url_additional_params_manage) + - name: db2_instance_registry_yaml + value: $(params.db2_instance_registry_yaml_manage) + - name: db2_instance_dbm_config_yaml + value: $(params.db2_instance_dbm_config_yaml_manage) + - name: db2_database_db_config_yaml + value: $(params.db2_database_db_config_yaml_manage) + - name: db2_addons_audit_config_yaml + value: $(params.db2_addons_audit_config_yaml_manage) + workspaces: + - name: configs + workspace: configs + - name: shared-gitops-configs + workspace: shared-gitops-configs + taskRef: + kind: Task + name: gitops-rds-db2-database + when: + - input: "$(params.db2_action_manage)" + operator: notin + values: [""] + - input: "$(params.jdbc_type_manage)" + operator: in + values: ["rds-db2"] + - input: "$(params.mas_app_channel_manage)" + operator: notin + values: [""] # 3.2 DB2 for Manage - name: gitops-db2u-database-manage params: @@ -1155,6 +1241,7 @@ spec: - name: gitops-jdbc-config-manage runAfter: - gitops-db2u-database-manage + - gitops-rds-db2-database-manage params: {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} @@ -1326,6 +1413,50 @@ spec: operator: notin values: [""] + # 3.3 RDS for facilities + - name: gitops-rds-db2-database-facilities + params: + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} + + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/secrets-params.yml.j2') | indent(8) }} + + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/git-params.yml.j2') | indent(8) }} + + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: mas_app_id + value: facilities + - name: replica_db + value: $(params.replica_db_facilities) + - name: jdbc_connection_url_additional_params + value: $(params.jdbc_connection_url_additional_params_facilities) + - name: db2_instance_registry_yaml + value: $(params.db2_instance_registry_yaml_facilities) + - name: db2_instance_dbm_config_yaml + value: $(params.db2_instance_dbm_config_yaml_facilities) + - name: db2_database_db_config_yaml + value: $(params.db2_database_db_config_yaml_facilities) + - name: db2_addons_audit_config_yaml + value: $(params.db2_addons_audit_config_yaml_facilities) + + workspaces: + - name: configs + workspace: configs + - name: shared-gitops-configs + workspace: shared-gitops-configs + taskRef: + kind: Task + name: gitops-rds-db2-database + when: + - input: "$(params.db2_action_facilities)" + operator: notin + values: [""] + - input: "$(params.jdbc_type_facilities)" + operator: in + values: ["rds-db2"] + - input: "$(params.mas_app_channel_facilities)" + operator: notin + values: [""] # 3.3 DB2 for Facilities - name: gitops-db2u-database-facilities params: @@ -1456,6 +1587,7 @@ spec: - name: gitops-jdbc-config-facilities runAfter: - gitops-db2u-database-facilities + - gitops-rds-db2-database-facilities params: {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} @@ -2401,8 +2533,7 @@ spec: values: ["deactivate", ""] - input: "$(params.mas_edition)" operator: in - values: ["essentials-maintenance", "standard", "premium"] - + values: ["essentials-maintenance", "standard", "premium", "essentials-inspection", "essentials-space-management", "essentials-lease-management", "essentials-capital-planning"] # 6.2 Manage App - name: gitops-deprovision-mas-app-install-manage runAfter: @@ -2429,8 +2560,7 @@ spec: values: [""] - input: "$(params.mas_edition)" operator: in - values: ["essentials-maintenance", "standard", "premium"] - + values: ["essentials-maintenance", "standard", "premium", "essentials-inspection", "essentials-space-management", "essentials-lease-management", "essentials-capital-planning"] # 6.3 Manage Database - name: gitops-deprovision-db2u-database-manage runAfter: @@ -2457,8 +2587,7 @@ spec: values: [""] - input: "$(params.mas_edition)" operator: in - values: ["essentials-maintenance", "standard", "premium"] - + values: ["essentials-maintenance", "standard", "premium", "essentials-inspection", "essentials-space-management", "essentials-lease-management", "essentials-capital-planning"] # 6.4 Manage JDBC Config - name: gitops-delete-jdbc-config-manage runAfter: @@ -2498,8 +2627,7 @@ spec: values: [""] - input: "$(params.mas_edition)" operator: in - values: ["essentials-maintenance", "standard", "premium"] - + values: ["essentials-maintenance", "standard", "premium", "essentials-inspection", "essentials-space-management", "essentials-lease-management", "essentials-capital-planning"] # 6.5 Manage Replica Config - name: gitops-deprovision-db2u-replica-database-manage runAfter: @@ -2528,7 +2656,7 @@ spec: values: [""] - input: "$(params.mas_edition)" operator: in - values: ["essentials-maintenance", "standard", "premium"] + values: ["essentials-maintenance", "standard", "premium", "essentials-inspection", "essentials-space-management", "essentials-lease-management", "essentials-capital-planning"] # 7. IoT Deprovision # ------------------------------------------------------------------------- diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index 6cfca8232a9..3e61fa941e9 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -66,6 +66,12 @@ spec: - name: imo_install_plan type: string default: "Automatic" + - name: dro_public_domain + type: string + default: "" + - name: dro_cis_crn + type: string + default: "" - name: nvidia_gpu_action type: string @@ -465,6 +471,10 @@ spec: value: $(params.dro_install_plan) - name: imo_install_plan value: $(params.imo_install_plan) + - name: dro_public_domain + value: $(params.dro_public_domain) + - name: dro_cis_crn + value: $(params.dro_cis_crn) taskRef: kind: Task name: gitops-dro diff --git a/tekton/src/pipelines/gitops/gitops-mas-instance.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-instance.yml.j2 index e3f9026ca66..41b6ed22d1d 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-instance.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-instance.yml.j2 @@ -229,6 +229,26 @@ spec: type: string - name: additional_vpn type: string + - name: application_configuration + type: string + default: "true" + - name: additional_resources_instances + type: string + default: "" + + # maf parameters + # ------------------------------------------------------------------------- + - name: mas_appcfg_pod_template_yaml + type: string + default: "" + - name: maf_enabled + type: string + - name: maf_storageClassName + type: string + default: "" + - name: maf_size + type: string + default: "2Gi" # standalone sls - name: sls_service @@ -446,6 +466,10 @@ spec: value: $(params.enhanced_dr) - name: additional_vpn value: $(params.additional_vpn) + - name: application_configuration + value: $(params.application_configuration) + - name: additional_resources_instances + value: $(params.additional_resources_instances) - name: extensions value: $(params.extensions) - name: sls_service @@ -735,6 +759,58 @@ spec: - name: shared-additional-configs workspace: shared-additional-configs + + # 6. MAS Suite App Config + # ------------------------------------------------------------------------- + - name: gitops-maf-config + runAfter: + - gitops-suite-config + params: + - name: cluster_name + value: $(params.cluster_name) + - name: account + value: $(params.account) + - name: secrets_path + value: $(params.secrets_path) + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: git_branch + value: $(params.git_branch) + - name: github_org + value: $(params.github_org) + - name: github_repo + value: $(params.github_repo) + - name: github_host + value: $(params.github_host) + - name: git_commit_msg + value: $(params.git_commit_msg) + - name: github_pat + value: $(params.github_pat) + - name: avp_aws_secret_region + value: $(params.avp_aws_secret_region) + - name: cluster_url + value: $(params.cluster_url) + - name: maf_enabled + value: $(params.maf_enabled) + - name: mas_appcfg_pod_template_yaml + value: $(params.mas_appcfg_pod_template_yaml) + - name: maf_storageClassName + value: $(params.maf_storageClassName) + - name: maf_size + value: $(params.maf_size) + taskRef: + kind: Task + name: gitops-app-config + when: + - input: "$(params.maf_enabled)" + operator: in + values: ["true"] + workspaces: + - name: configs + workspace: configs + - name: shared-gitops-configs + workspace: shared-gitops-configs + # ------------------------------------------------------------------------- # Deprovision task section # ------------------------------------------------------------------------- @@ -825,3 +901,26 @@ spec: - name: configs workspace: configs + + # 3. Deprovision app config + # ------------------------------------------------------------------------- + - name: gitops-deprovision-maf-app-config + params: + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/gitops-params.yml.j2') | indent(8) }} + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/secrets-params.yml.j2') | indent(8) }} + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/gitops/common/git-params.yml.j2') | indent(8) }} + + - name: mas_instance_id + value: $(params.mas_instance_id) + - name: maf_enabled + value: $(params.maf_enabled) + taskRef: + kind: Task + name: gitops-delete-app-config + when: + - input: "$(params.maf_enabled)" + operator: in + values: ["", "false"] + workspaces: + - name: configs + workspace: configs diff --git a/tekton/src/pipelines/mas-fvt-assist.yml.j2 b/tekton/src/pipelines/mas-fvt-assist.yml.j2 index 352fd9dad33..380970df63b 100644 --- a/tekton/src/pipelines/mas-fvt-assist.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-assist.yml.j2 @@ -58,6 +58,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x Assist # ------------------------------------------------------------------------- - name: kyverno-assist @@ -77,6 +94,8 @@ spec: - input: "$(params.mas_app_channel_assist)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-assist {{ lookup('template', pipeline_src_dir ~ '/taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -248,3 +267,22 @@ spec: - input: "$(params.mas_app_channel_assist)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-core.yml.j2 b/tekton/src/pipelines/mas-fvt-core.yml.j2 index 245d50287c1..bed80f74b36 100644 --- a/tekton/src/pipelines/mas-fvt-core.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-core.yml.j2 @@ -48,6 +48,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + - name: kyverno {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} params: @@ -62,6 +79,8 @@ spec: - input: "$(params.ivt_digest_core)" operator: notin values: [""] + runAfter: + - pipeline-start # Core FVT 1.0 coreidp-auth ~20m - Refresh token and authentication patterns # We are running this test first since it happens to set the Suite accessTokenTimeout from the default of 30m to 12h @@ -114,3 +133,22 @@ spec: - input: "$(params.ivt_digest_core)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-facilities.yml.j2 b/tekton/src/pipelines/mas-fvt-facilities.yml.j2 index f81446f407c..7bf9e574a84 100644 --- a/tekton/src/pipelines/mas-fvt-facilities.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-facilities.yml.j2 @@ -49,6 +49,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x Facilities # ------------------------------------------------------------------------- - name: kyverno-facilities @@ -70,6 +87,8 @@ spec: - input: "$(params.mas_app_channel_facilities)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-facilities {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -159,3 +178,22 @@ spec: - input: "$(params.mas_app_channel_facilities)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-finally.yml.j2 b/tekton/src/pipelines/mas-fvt-finally.yml.j2 index 36b9bf29263..91e891147c3 100644 --- a/tekton/src/pipelines/mas-fvt-finally.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-finally.yml.j2 @@ -99,28 +99,18 @@ spec: operator: in values: ["true", "True"] - # Delete the named cluster - # ------------------------------------------------------------------------- - - name: deprovision-cluster - timeout: "0" - taskRef: - kind: Task - name: mas-fvt-deprovision-ocp - when: - - input: $(params.deprovision) - operator: in - values: ["true", "True"] - runAfter: - - finalize - - # Finally + # Finally section - runs after all tasks complete # --------------------------------------------------------------------------- + # Combined task that: + # 1. Captures pipeline status (Step 1 - always runs) + # 2. Conditionally deprovisions cluster (Step 2 - only if status=Succeeded) + # This guarantees sequential execution and preserves cluster on failure for debugging finally: - - name: pipeline-finish + - name: pipeline-finish-and-deprovision timeout: "0" taskRef: kind: Task - name: mas-devops-update-pipeline-status + name: mas-fvt-pipeline-finish-and-deprovision params: - name: image_pull_policy value: $(params.image_pull_policy) @@ -134,6 +124,8 @@ spec: value: $(context.pipelineRun.name) - name: pipelinerun_namespace value: $(context.pipelineRun.namespace) + - name: deprovision + value: $(params.deprovision) workspaces: # Shared storage to hold mustgather output for tasks diff --git a/tekton/src/pipelines/mas-fvt-iot.yml.j2 b/tekton/src/pipelines/mas-fvt-iot.yml.j2 index 48cbe07d96e..9ecb5986269 100644 --- a/tekton/src/pipelines/mas-fvt-iot.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-iot.yml.j2 @@ -48,6 +48,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x IoT # ------------------------------------------------------------------------- - name: kyverno-iot @@ -67,6 +84,8 @@ spec: - input: "$(params.mas_app_channel_iot)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-iot {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -139,3 +158,22 @@ spec: - input: "$(params.ivt_digest_core)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-launcher.yml.j2 b/tekton/src/pipelines/mas-fvt-launcher.yml.j2 index e9fcc9000be..16bb30c360b 100644 --- a/tekton/src/pipelines/mas-fvt-launcher.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-launcher.yml.j2 @@ -71,6 +71,10 @@ spec: type: string default: "false" description: "Set this to 'true' to enable launch of the Manage Industry Solutions FVT pipeline after app-cfg-manage completes" + - name: launchfvt_manage_ai + type: string + default: "false" + description: "Set this to 'true' to enable launch of the Manage AI FVT pipeline after app-cfg-manage completes" - name: launchfvt_mobile type: string default: "false" @@ -138,6 +142,9 @@ spec: - name: mas_app_channel_manage type: string default: "" + - name: aiservice_instance_id + type: string + default: "" tasks: # 0. Configuration @@ -468,7 +475,7 @@ spec: operator: in values: ["true", "True"] # All these launchers require manage in place to then run setup, therefore the criteria - - input: $(params.launchfvt_manage)$(params.launchfvt_mobile)$(params.launchfvt_manage_is)$(params.launchfvt_predict)$(params.launchivt_manage) + - input: $(params.launchfvt_manage)$(params.launchfvt_mobile)$(params.launchfvt_manage_is)$(params.launchfvt_manage_ai)$(params.launchfvt_predict)$(params.launchivt_manage) operator: notin values: ["falsefalsefalsefalsefalse"] # case sensitive to simplify (here is how launchfvt flags are in fvt template repos) runAfter: @@ -570,6 +577,29 @@ spec: - launchfvt-core-pre92 - launchfvt-core-post92 + - name: launchfvt-manage-ai + timeout: "0" + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipelinerun_name + value: "$(params.mas_instance_id)-fvt-manage-ai" + - name: aiservice_instance_id + value: $(params.aiservice_instance_id) + taskRef: + kind: Task + name: mas-launchfvt-manage-ai + when: + - input: $(params.launchfvt_manage_ai) + operator: in + values: ["true", "True"] + # Only run if aiservice_instance_id is provided + - input: $(params.aiservice_instance_id) + operator: notin + values: ["", "null"] + runAfter: + - manage-setup + - name: approval-manage timeout: "0" taskRef: @@ -590,6 +620,7 @@ spec: - launchfvt-manage-pre92 - launchfvt-manage-post92 - launchfvt-manage-is + - launchfvt-manage-ai # 6. Application FVT - Mobile # ------------------------------------------------------------------------- diff --git a/tekton/src/pipelines/mas-fvt-manage-ai.yml.j2 b/tekton/src/pipelines/mas-fvt-manage-ai.yml.j2 new file mode 100644 index 00000000000..f2fd41a28af --- /dev/null +++ b/tekton/src/pipelines/mas-fvt-manage-ai.yml.j2 @@ -0,0 +1,104 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Pipeline +metadata: + name: mas-fvt-manage-ai +spec: + workspaces: + # The generated configuration files + - name: shared-configs + # PodTemplates configurations + - name: shared-pod-templates + + params: + # Tekton Pipeline image pull policy (for ibmmas/cli images) + - name: image_pull_policy + type: string + default: IfNotPresent + description: Pull policy for pipeline container images + + # MAS Configuration + - name: mas_app_channel_manage + type: string + default: "" + - name: mas_instance_id + type: string + default: "" + - name: mas_workspace_id + type: string + default: "" + - name: mas_appws_components + type: string + default: "" + - name: aiservice_instance_id + type: string + default: "" + + # FVT Configuration + - name: fvt_image_registry + type: string + default: "" + - name: fvt_artifactory_username + type: string + default: "" + - name: fvt_artifactory_token + type: string + default: "" + + # Image Digests + - name: fvt_digest_manage_pytest + type: string + default: "" + + tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + + # Manage Components Information + - name: fvt-component + taskRef: + kind: Task + name: mas-fvt-components + params: + - name: mas_appws_components + value: "$(params.mas_appws_components)" + runAfter: + - pipeline-start + + # AI-Related Tests Only + # ------------------------------------------------------------------------- + {{ lookup('template', 'taskdefs/fvt-manage-ai/ai-tests.yml.j2') | indent(4) }} + + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-manage-is.yml.j2 b/tekton/src/pipelines/mas-fvt-manage-is.yml.j2 index b3de2aa6ccf..d05d6e482ad 100644 --- a/tekton/src/pipelines/mas-fvt-manage-is.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-manage-is.yml.j2 @@ -64,6 +64,22 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) # Manage Components Information - name: fvt-component @@ -73,6 +89,8 @@ spec: params: - name: mas_appws_components value: "$(params.mas_appws_components)" + runAfter: + - pipeline-start # ---------------------------------------- # Manage Industry Solutions Setup @@ -96,3 +114,25 @@ spec: {{ lookup('template', 'taskdefs/fvt-manage-is/phase3.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-manage-is/phase4.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-manage-is/phase5.yml.j2') | indent(4) }} + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-manage-regr.yml.j2 b/tekton/src/pipelines/mas-fvt-manage-regr.yml.j2 index cdb9c2e47e1..e96c4a68324 100644 --- a/tekton/src/pipelines/mas-fvt-manage-regr.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-manage-regr.yml.j2 @@ -80,6 +80,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # Manage Regression FVT - name: fvt-manage-workorder # convention: use fvt-manage-, as the value of fvt_test_suite parameter {{ lookup('template', 'taskdefs/fvt-manage/api/taskref.yml.j2') | indent(6) }} @@ -87,6 +104,8 @@ spec: {{ lookup('template', 'taskdefs/fvt-manage/api/params.yml.j2') | indent(8) }} - name: fvt_test_suite value: workorder + runAfter: + - pipeline-start # Manage Aviation FVT - Regression Lane 1 - Task 1 - name: fvt-manage-avi-reg1-1 @@ -379,3 +398,25 @@ spec: value: tpae runAfter: - fvt-manage-acm-reg2-2 + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-manage.yml.j2 b/tekton/src/pipelines/mas-fvt-manage.yml.j2 index 990d33d074b..d44c705756b 100644 --- a/tekton/src/pipelines/mas-fvt-manage.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-manage.yml.j2 @@ -64,6 +64,22 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) # Manage Components Information - name: fvt-component @@ -73,6 +89,8 @@ spec: params: - name: mas_appws_components value: "$(params.mas_appws_components)" + runAfter: + - pipeline-start # 1. Core x Manage # ------------------------------------------------------------------------- @@ -151,3 +169,22 @@ spec: - input: "$(params.mas_app_channel_manage)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-mobile-pytest.yml.j2 b/tekton/src/pipelines/mas-fvt-mobile-pytest.yml.j2 index a4b052f557d..b6bb55ac3e0 100644 --- a/tekton/src/pipelines/mas-fvt-mobile-pytest.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-mobile-pytest.yml.j2 @@ -49,11 +49,50 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 2. Manage FVT - Manage Mobile # ------------------------------------------------------------------------- - {{ lookup('template', 'taskdefs/fvt-mobile/pytest/phase1-setup.yml.j2') | indent(4) }} + {{ lookup('template', 'taskdefs/fvt-mobile/pytest/phase1-setup.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/pytest/phase2-apps.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/pytest/phase3-apps.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/pytest/phase4-apps.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/pytest/phase5-apps.yml.j2') | indent(4) }} + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-mobile-requests.yml.j2 b/tekton/src/pipelines/mas-fvt-mobile-requests.yml.j2 index 9a7d461b12f..afad71aba3c 100644 --- a/tekton/src/pipelines/mas-fvt-mobile-requests.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-mobile-requests.yml.j2 @@ -56,7 +56,46 @@ spec: tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 2. Mobile FVT - Mobile Request tasks # ------------------------------------------------------------------------- {{ lookup('template', 'taskdefs/fvt-mobile/requests/phase1-reqs.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/requests/phase2-testng.yml.j2') | indent(4) }} + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-mobile-testng.yml.j2 b/tekton/src/pipelines/mas-fvt-mobile-testng.yml.j2 index a037c271cde..2049f353c28 100644 --- a/tekton/src/pipelines/mas-fvt-mobile-testng.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-mobile-testng.yml.j2 @@ -54,6 +54,22 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) # Manage Components Information - name: fvt-component @@ -63,6 +79,8 @@ spec: params: - name: mas_appws_components value: "$(params.mas_appws_components)" + runAfter: + - pipeline-start # 2. Manage FVT - Manage Mobile # ------------------------------------------------------------------------- @@ -72,3 +90,25 @@ spec: {{ lookup('template', 'taskdefs/fvt-mobile/testng/phase2-civil.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/testng/phase3-mobfound.yml.j2') | indent(4) }} {{ lookup('template', 'taskdefs/fvt-mobile/testng/phase4-final.yml.j2') | indent(4) }} + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-monitor.yml.j2 b/tekton/src/pipelines/mas-fvt-monitor.yml.j2 index 8d17fdd9b28..3c7c72be99c 100644 --- a/tekton/src/pipelines/mas-fvt-monitor.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-monitor.yml.j2 @@ -59,6 +59,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x Monitor # ------------------------------------------------------------------------- - name: kyverno-monitor @@ -78,6 +95,8 @@ spec: - input: "$(params.mas_app_channel_monitor)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-monitor {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -168,3 +187,22 @@ spec: - input: "$(params.mas_app_channel_monitor)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-optimizer.yml.j2 b/tekton/src/pipelines/mas-fvt-optimizer.yml.j2 index a7204700aa9..d62784eec2d 100644 --- a/tekton/src/pipelines/mas-fvt-optimizer.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-optimizer.yml.j2 @@ -56,6 +56,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x Optimizer # ------------------------------------------------------------------------- - name: kyverno-optimizer @@ -72,6 +89,8 @@ spec: - input: "$(params.ivt_digest_core)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-optimizer {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -694,3 +713,22 @@ spec: - input: "$(params.ivt_digest_core)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-predict.yml.j2 b/tekton/src/pipelines/mas-fvt-predict.yml.j2 index 73863fae9d5..a612f55c137 100644 --- a/tekton/src/pipelines/mas-fvt-predict.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-predict.yml.j2 @@ -48,6 +48,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x predict # ------------------------------------------------------------------------- - name: kyverno-predict @@ -67,6 +84,8 @@ spec: - input: "$(params.mas_app_channel_predict)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-predict {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -149,3 +168,22 @@ spec: - input: "$(params.mas_app_channel_predict)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-fvt-sls.yml.j2 b/tekton/src/pipelines/mas-fvt-sls.yml.j2 index 3a2c999bfed..f919754d38c 100644 --- a/tekton/src/pipelines/mas-fvt-sls.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-sls.yml.j2 @@ -11,6 +11,11 @@ spec: - name: shared-pod-templates params: + # Tekton Pipeline image pull policy (for ibmmas/cli images) + - name: image_pull_policy + type: string + default: IfNotPresent + description: Pull policy for pipeline container images - name: mas_instance_id type: string default: "" @@ -27,6 +32,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. SLS FVT # ------------------------------------------------------------------------- - name: fvt-sls-operatormaturity @@ -53,6 +75,8 @@ spec: workspace: shared-configs - name: pod-templates workspace: shared-pod-templates + runAfter: + - pipeline-start - name: kyverno taskRef: @@ -79,4 +103,26 @@ spec: - name: pod-templates workspace: shared-pod-templates + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + diff --git a/tekton/src/pipelines/mas-fvt-visualinspection.yml.j2 b/tekton/src/pipelines/mas-fvt-visualinspection.yml.j2 index d7fa900f8e1..407df6e9158 100644 --- a/tekton/src/pipelines/mas-fvt-visualinspection.yml.j2 +++ b/tekton/src/pipelines/mas-fvt-visualinspection.yml.j2 @@ -46,6 +46,23 @@ spec: default: "" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # 1. Core x visualinspection # ------------------------------------------------------------------------- - name: kyverno-visualinspection @@ -65,6 +82,8 @@ spec: - input: "$(params.mas_app_channel_visualinspection)" operator: notin values: [""] + runAfter: + - pipeline-start - name: ivtcore-visualinspection {{ lookup('template', 'taskdefs/ivt-core/common/taskref.yml.j2') | indent(6) }} @@ -143,3 +162,22 @@ spec: - input: "$(params.mas_app_channel_visualinspection)" operator: notin values: [""] + + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/mas-install.yml.j2 b/tekton/src/pipelines/mas-install.yml.j2 index 5d3a79f39d5..340876ab5e7 100644 --- a/tekton/src/pipelines/mas-install.yml.j2 +++ b/tekton/src/pipelines/mas-install.yml.j2 @@ -203,6 +203,12 @@ spec: runAfter: - cert-manager + # 4.6 Redhat Openshift AI ( for AI Service ) + # ------------------------------------------------------------------------- + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/aiservice/rhoai.yml.j2', template_vars={'application': 'aiservice'}) | indent(4) }} + runAfter: + - cert-manager + # 5. Install & Configure IBM MAS # ------------------------------------------------------------------------- # 5.1 Configure Workspace @@ -297,6 +303,8 @@ spec: {{ lookup('template', pipeline_src_dir ~ '/taskdefs/dependencies/arcgis.yml.j2') | indent(4) }} runAfter: - suite-verify + - app-install-manage + - app-install-facilities # 7. Install & Configure IoT @@ -375,6 +383,7 @@ spec: - db2-aiservice - minio - aiservice-odh + - aiservice-rhoai # 15. Verify health of the cluster before we consider the install complete # ------------------------------------------------------------------------- diff --git a/tekton/src/pipelines/mas-ivt-manage.yml.j2 b/tekton/src/pipelines/mas-ivt-manage.yml.j2 index b6bf52edd00..7d2ffe6454d 100644 --- a/tekton/src/pipelines/mas-ivt-manage.yml.j2 +++ b/tekton/src/pipelines/mas-ivt-manage.yml.j2 @@ -60,6 +60,23 @@ spec: default: "monitor_fvt_with_manage" tasks: + - name: pipeline-start + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + value: Started + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) + # Manage x Monitor - Data Dictionary # ------------------------------------------------------------------------- # - Requires in the same pipeline: @@ -104,6 +121,8 @@ spec: workspaces: - name: configs workspace: shared-configs + runAfter: + - pipeline-start # Manage Last Phase # ------------------------------------------------------------------------- @@ -119,3 +138,25 @@ spec: {{ lookup('template', 'taskdefs/fvt-manage/ui/params.yml.j2') | indent(8) }} runAfter: - ivt-manage + + # Finally + # --------------------------------------------------------------------------- + finally: + - name: pipeline-finish + timeout: "0" + taskRef: + kind: Task + name: mas-devops-update-pipeline-status + params: + - name: image_pull_policy + value: $(params.image_pull_policy) + - name: pipeline_status + # An aggregate status of all the pipelineTasks under the tasks section (excluding the finally section). + # This variable is only available in the finally tasks and can have any one of the values (Succeeded, Failed, Completed, or None) + value: $(tasks.status) + - name: pipeline_name + value: $(context.pipeline.name) + - name: pipelinerun_name + value: $(context.pipelineRun.name) + - name: pipelinerun_namespace + value: $(context.pipelineRun.namespace) diff --git a/tekton/src/pipelines/taskdefs/aiservice/aiservice.yml.j2 b/tekton/src/pipelines/taskdefs/aiservice/aiservice.yml.j2 index 7a9b88f710a..2e443c266ff 100644 --- a/tekton/src/pipelines/taskdefs/aiservice/aiservice.yml.j2 +++ b/tekton/src/pipelines/taskdefs/aiservice/aiservice.yml.j2 @@ -87,6 +87,12 @@ - name: environment_type value: $(params.environment_type) + # RHOAI flag + - name: rhoai + value: $(params.rhoai) + - name: aiservice_certificate_issuer + value: $(params.aiservice_certificate_issuer) + taskRef: name: mas-devops-aiservice kind: Task diff --git a/tekton/src/pipelines/taskdefs/aiservice/odh.yml.j2 b/tekton/src/pipelines/taskdefs/aiservice/odh.yml.j2 index 0ab804824b2..009cc7ca675 100644 --- a/tekton/src/pipelines/taskdefs/aiservice/odh.yml.j2 +++ b/tekton/src/pipelines/taskdefs/aiservice/odh.yml.j2 @@ -22,6 +22,8 @@ value: $(params.custom_labels) - name: aiservice_odh_model_deployment_type value: $(params.aiservice_odh_model_deployment_type) + - name: rhoai + value: $(params.rhoai) taskRef: name: mas-devops-aiservice-odh @@ -29,4 +31,7 @@ when: - input: "$(params.aiservice_channel)" operator: notin - values: [""] \ No newline at end of file + values: [""] + - input: "$(params.rhoai)" + operator: notin + values: ["true"] diff --git a/tekton/src/pipelines/taskdefs/aiservice/rhoai.yml.j2 b/tekton/src/pipelines/taskdefs/aiservice/rhoai.yml.j2 new file mode 100644 index 00000000000..d63e90d0845 --- /dev/null +++ b/tekton/src/pipelines/taskdefs/aiservice/rhoai.yml.j2 @@ -0,0 +1,37 @@ +- name: aiservice-rhoai + params: + {{ lookup('template', 'taskdefs/common/cli-params.yml.j2') | indent(4) }} + - name: devops_suite_name + value: aiservice-rhoai + + - name: mas_instance_id +{% if application is defined and application == "aiservice" %} + value: $(params.aiservice_instance_id) +{% else %} + value: $(params.mas_instance_id) +{% endif %} + - name: artifactory_username + value: $(params.artifactory_username) + - name: artifactory_token + value: $(params.artifactory_token) + - name: aiservice_channel + value: "$(params.aiservice_channel)" + - name: ibm_entitlement_key + value: $(params.ibm_entitlement_key) + - name: custom_labels + value: $(params.custom_labels) + - name: aiservice_rhoai_model_deployment_type + value: $(params.aiservice_rhoai_model_deployment_type) + - name: rhoai + value: $(params.rhoai) + + taskRef: + name: mas-devops-aiservice-rhoai + kind: Task + when: + - input: "$(params.aiservice_channel)" + operator: notin + values: [""] + - input: "$(params.rhoai)" + operator: in + values: ["true"] diff --git a/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 b/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 index 5aedd68daff..980083e483d 100644 --- a/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 +++ b/tekton/src/pipelines/taskdefs/core/suite-install.yml.j2 @@ -56,6 +56,10 @@ value: $(params.allow_custom_cache_key) - name: mas_routing_mode value: $(params.mas_routing_mode) + - name: mas_ingress_controller_name + value: $(params.mas_ingress_controller_name) + - name: mas_configure_ingress + value: $(params.mas_configure_ingress) - name: mas_manual_cert_mgmt value: $(params.mas_manual_cert_mgmt) - name: mas_trust_default_cas diff --git a/tekton/src/pipelines/taskdefs/dependencies/arcgis.yml.j2 b/tekton/src/pipelines/taskdefs/dependencies/arcgis.yml.j2 index 34b06db539b..31b814419cb 100644 --- a/tekton/src/pipelines/taskdefs/dependencies/arcgis.yml.j2 +++ b/tekton/src/pipelines/taskdefs/dependencies/arcgis.yml.j2 @@ -15,21 +15,21 @@ value: $(params.artifactory_token) - name: mas_app_channel value: "$(params.mas_app_channel_manage)" + - name: mas_app_channel_facilities + value: "$(params.mas_app_channel_facilities)" - name: ibm_entitlement_key value: $(params.ibm_entitlement_key) - name: custom_labels value: $(params.custom_labels) - name: mas_arcgis_channel value: $(params.mas_arcgis_channel) - - name: install_arcgis - value: $(params.install_arcgis) taskRef: name: mas-devops-arcgis kind: Task when: - - input: "$(params.mas_app_channel_manage)" + - input: "$(params.mas_arcgis_channel)" + operator: notin + values: [""] + - input: "$(params.mas_app_channel_manage)$(params.mas_app_channel_facilities)" operator: notin values: [""] - - input: "$(params.install_arcgis)" - operator: in - values: ["true", "True"] diff --git a/tekton/src/pipelines/taskdefs/fvt-core/phase4-disruptive.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-core/phase4-disruptive.yml.j2 index ad414bdb94d..30d145b8ed8 100644 --- a/tekton/src/pipelines/taskdefs/fvt-core/phase4-disruptive.yml.j2 +++ b/tekton/src/pipelines/taskdefs/fvt-core/phase4-disruptive.yml.j2 @@ -1,6 +1,7 @@ # Why are these suites disruptive? # - smtp: only test_smtpcfg is disruptive - deletes and recreates SMTPCfg multiple times # - trustcas: changes Suite config and verifies using SCIM whether defult CAs are included (or not) in the truststore +# - pathbasedrouting: changes the suite routingMode, recreates routes and causes a number of pods to restart. # - adoptionusagemetering: I can't see anything disruptive happening in this suite at all !? # - coreidp-ldap: reconfigures MAS IDP multiple times # - coreidp-saml: reconfigures MAS IDP multiple times @@ -41,7 +42,7 @@ {{ lookup('template', 'taskdefs/fvt-core/common/params.yml.j2') | indent(4) }} runAfter: {{ runAfter }} -# authservice ~3m +# 4. authservice ~3m # ----------------------------------------------------------------------------- - name: authservice {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -54,7 +55,18 @@ - core-trustcas - adoptionusagemetering -# 4. coreidp-ldap +# 5. pathbasedrouting +# ------------------------------------------------------------------------- +- name: pathbasedrouting + {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} + params: + - name: fvt_test_suite + value: pathbasedrouting + {{ lookup('template', 'taskdefs/fvt-core/common/params.yml.j2') | indent(4) }} + runAfter: + - authservice + +# 6. coreidp-ldap # ------------------------------------------------------------------------- - name: coreidp-ldap {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -63,9 +75,9 @@ value: coreidp-ldap {{ lookup('template', 'taskdefs/fvt-core/common/params.yml.j2') | indent(4) }} runAfter: - - authservice + - pathbasedrouting -# 5. coreidp-saml +# 7. coreidp-saml # ------------------------------------------------------------------------- - name: coreidp-saml {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -76,7 +88,7 @@ runAfter: - coreidp-ldap -# 6. coreidp-saml-ui +# 8. coreidp-saml-ui # ------------------------------------------------------------------------- - name: coreidp-saml-ui {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -87,7 +99,7 @@ runAfter: - coreidp-saml -# 7. coreidp-ssoconfig +# 9. coreidp-ssoconfig # ------------------------------------------------------------------------- - name: coreidp-ssoconfig {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -98,7 +110,7 @@ runAfter: - coreidp-saml-ui -# 8. licensingapi +# 10. licensingapi # ------------------------------------------------------------------------- - name: licensingapi {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -109,7 +121,7 @@ runAfter: - coreidp-ssoconfig -# 9. usagebilling +# 11. usagebilling # ------------------------------------------------------------------------- - name: usagebilling {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} @@ -125,7 +137,7 @@ - name: pod-templates workspace: shared-pod-templates -# 10. operatormaturity +# 12. operatormaturity # ------------------------------------------------------------------------- - name: operatormaturity {{ lookup('template', 'taskdefs/fvt-core/common/taskref.yml.j2') | indent(2) }} diff --git a/tekton/src/pipelines/taskdefs/fvt-manage-ai/ai-tests.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-manage-ai/ai-tests.yml.j2 new file mode 100644 index 00000000000..d9a7ec55c0a --- /dev/null +++ b/tekton/src/pipelines/taskdefs/fvt-manage-ai/ai-tests.yml.j2 @@ -0,0 +1,18 @@ +# ------------------------------------------------------------- +# AI Tests Phase +# - fvt-manage-base-api-system-ai (pytest) +# ------------------------------------------------------------- + +# Manage FVT System - AI tests +- name: fvt-manage-base-api-system-ai + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/fvt-manage/api/taskref.yml.j2') | indent(2) }} + params: + {{ lookup('template', pipeline_src_dir ~ '/taskdefs/fvt-manage/api/params.yml.j2') | indent(4) }} + - name: fvt_test_suite + value: base-api-system-ai + when: + - input: "base" + operator: in + values: ["$(tasks.fvt-component.results.component_names[*])"] + runAfter: + - fvt-component diff --git a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase1-setup.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase1-setup.yml.j2 index 922a6808b48..f534fb9b5f2 100644 --- a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase1-setup.yml.j2 +++ b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase1-setup.yml.j2 @@ -30,6 +30,8 @@ - input: "$(params.fvt_digest_mobile_pytest)" operator: notin values: [""] + runAfter: + - pipeline-start - name: mobile-pytest-requests diff --git a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase3-apps.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase3-apps.yml.j2 index aa94835df2d..d12e6e85459 100644 --- a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase3-apps.yml.j2 +++ b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase3-apps.yml.j2 @@ -19,3 +19,14 @@ - mobile-pytest-assetmanager - mobile-pytest-tech - mobile-pytest-supervisor + +- name: mobile-pytest-location + {{ lookup('template', 'taskdefs/fvt-mobile/common/taskref-pytest.yml.j2') | indent(2) }} + params: + {{ lookup('template', 'taskdefs/fvt-mobile/common/params-pytest.yml.j2') | indent(4) }} + - name: fvt_test_suite + value: mobile-api-location + runAfter: + - mobile-pytest-assetmanager + - mobile-pytest-tech + - mobile-pytest-supervisor \ No newline at end of file diff --git a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase4-apps.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase4-apps.yml.j2 index 839f44ed170..8900825e12b 100644 --- a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase4-apps.yml.j2 +++ b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase4-apps.yml.j2 @@ -7,6 +7,7 @@ runAfter: - mobile-pytest-calibration - mobile-pytest-civil-defects + - mobile-pytest-location - name: mobile-pytest-ir {{ lookup('template', 'taskdefs/fvt-mobile/common/taskref-pytest.yml.j2') | indent(2) }} @@ -17,6 +18,7 @@ runAfter: - mobile-pytest-calibration - mobile-pytest-civil-defects + - mobile-pytest-location - name: mobile-pytest-it {{ lookup('template', 'taskdefs/fvt-mobile/common/taskref-pytest.yml.j2') | indent(2) }} @@ -27,3 +29,4 @@ runAfter: - mobile-pytest-calibration - mobile-pytest-civil-defects + - mobile-pytest-location diff --git a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase5-apps.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase5-apps.yml.j2 index e1d2d554d1a..edfc5910ecf 100644 --- a/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase5-apps.yml.j2 +++ b/tekton/src/pipelines/taskdefs/fvt-mobile/pytest/phase5-apps.yml.j2 @@ -19,3 +19,14 @@ - mobile-pytest-ic - mobile-pytest-ir - mobile-pytest-it + +- name: mobile-pytest-collaborate + {{ lookup('template', 'taskdefs/fvt-mobile/common/taskref-pytest.yml.j2') | indent(2) }} + params: + {{ lookup('template', 'taskdefs/fvt-mobile/common/params-pytest.yml.j2') | indent(4) }} + - name: fvt_test_suite + value: mobile-api-collaborate + runAfter: + - mobile-pytest-ic + - mobile-pytest-ir + - mobile-pytest-it diff --git a/tekton/src/pipelines/taskdefs/fvt-mobile/requests/phase1-reqs.yml.j2 b/tekton/src/pipelines/taskdefs/fvt-mobile/requests/phase1-reqs.yml.j2 index 81e4dacb238..ad40795dc08 100644 --- a/tekton/src/pipelines/taskdefs/fvt-mobile/requests/phase1-reqs.yml.j2 +++ b/tekton/src/pipelines/taskdefs/fvt-mobile/requests/phase1-reqs.yml.j2 @@ -6,6 +6,8 @@ {{ lookup('template', 'taskdefs/fvt-mobile/common/params-pytest.yml.j2') | indent(4) }} - name: fvt_test_suite value: mobile-api-insp-forms + runAfter: + - pipeline-start - name: mobile-pytest-insp-results {{ lookup('template', 'taskdefs/fvt-mobile/common/taskref-requests-pytest.yml.j2') | indent(2) }} diff --git a/tekton/src/tasks/aiservice/aiservice.yml.j2 b/tekton/src/tasks/aiservice/aiservice.yml.j2 index 0732ebf4989..252414cfce5 100644 --- a/tekton/src/tasks/aiservice/aiservice.yml.j2 +++ b/tekton/src/tasks/aiservice/aiservice.yml.j2 @@ -152,6 +152,12 @@ spec: - name: rsl_token type: string + # RHOAI flag + - name: rhoai + # Certificate Issuer + - name: aiservice_certificate_issuer + type: string + stepTemplate: env: {{ lookup('template', task_src_dir ~ '/common/cli-env.yml.j2') | indent(6) }} @@ -249,6 +255,10 @@ spec: - name: RSL_TOKEN value: $(params.rsl_token) + # Certificate Issuer + - name: AISERVICE_CERTIFICATE_ISSUER + value: $(params.aiservice_certificate_issuer) + steps: - name: aiservice command: diff --git a/tekton/src/tasks/aiservice/rhoai.yml.j2 b/tekton/src/tasks/aiservice/rhoai.yml.j2 new file mode 100644 index 00000000000..fd72e96465c --- /dev/null +++ b/tekton/src/tasks/aiservice/rhoai.yml.j2 @@ -0,0 +1,91 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: mas-devops-aiservice-rhoai +spec: + params: + {{ lookup('template', task_src_dir ~ '/common/cli-params.yml.j2') | indent(4) }} + + # Pre-Release Support + - name: artifactory_username + default: '' + type: string + description: Required to use development MAS builds + - name: artifactory_token + default: '' + type: string + description: Required to use development MAS builds + + # Entitlement + - name: ibm_entitlement_key + type: string + + # MAS Details + - name: mas_instance_id + type: string + description: Instance ID + + # Application - Operator + - name: aiservice_channel + type: string + description: Catalog channel for the application operator subscription + + # Application - Operand + - name: mas_app_bindings_jdbc + default: "" + type: string + - name: mas_app_plan + type: string + description: Application installation plan + default: "" + + # Custom Label Support + - name: custom_labels + type: string + description: Optional MAS custom labels, comma separated list of key=value pairs + default: "" + + # Model deployment type + - name: aiservice_rhoai_model_deployment_type + type: string + description: Model deployment type for RHOAI + default: "raw" + + stepTemplate: + env: + {{ lookup('template', task_src_dir ~ '/common/cli-env.yml.j2') | indent(6) }} + + # Pre-Release Support + - name: ARTIFACTORY_USERNAME + value: $(params.artifactory_username) + - name: ARTIFACTORY_TOKEN + value: $(params.artifactory_token) + + # Entitlement + - name: IBM_ENTITLEMENT_KEY + value: $(params.ibm_entitlement_key) + + # MAS Details + - name: MAS_INSTANCE_ID + value: $(params.mas_instance_id) + + # Application - Operator + - name: MAS_APP_CHANNEL + value: $(params.aiservice_channel) + + # Custom Label Support + - name: CUSTOM_LABELS + value: $(params.custom_labels) + + # Model deployment type + - name: AISERVICE_RHOAI_MODEL_DEPLOYMENT_TYPE + value: $(params.aiservice_rhoai_model_deployment_type) + + steps: + - name: aiservice-rhoai + command: + - /opt/app-root/src/run-role.sh + - aiservice_rhoai + image: quay.io/ibmmas/cli:latest + imagePullPolicy: $(params.image_pull_policy) diff --git a/tekton/src/tasks/fvt-launcher/mas-launchfvt-manage-ai.yml.j2 b/tekton/src/tasks/fvt-launcher/mas-launchfvt-manage-ai.yml.j2 new file mode 100644 index 00000000000..beb1f7b33db --- /dev/null +++ b/tekton/src/tasks/fvt-launcher/mas-launchfvt-manage-ai.yml.j2 @@ -0,0 +1,126 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: mas-launchfvt-manage-ai +spec: + params: + # Control the image pull policy for the FVT container image + - name: image_pull_policy + type: string + default: IfNotPresent + + - name: pipelinerun_name + type: string + + - name: aiservice_instance_id + type: string + default: "" + + steps: + - name: start-pipelinerun + image: quay.io/ibmmas/cli:latest + imagePullPolicy: $(params.image_pull_policy) + command: + - ansible-playbook + - /masfvt/fvt-manage-ai.yml + env: + - name: IMAGE_PULL_POLICY + value: $(params.image_pull_policy) + - name: PIPELINERUN_NAME + value: $(params.pipelinerun_name) + - name: PIPELINERUN_NAMESPACE + value: $(context.taskRun.namespace) + - name: AISERVICE_INSTANCE_ID + value: $(params.aiservice_instance_id) + + # Lookups from mas-devops + # ----------------------------------------------------------------------- + - name: DEVOPS_BUILD_NUMBER + valueFrom: + secretKeyRef: + name: mas-devops + key: DEVOPS_BUILD_NUMBER + optional: true + - name: MAS_INSTANCE_ID + valueFrom: + secretKeyRef: + name: mas-devops + key: MAS_INSTANCE_ID + optional: false + + # Lookups from mas-fvt + # ----------------------------------------------------------------------- + - name: FVT_IMAGE_REGISTRY + valueFrom: + secretKeyRef: + name: mas-fvt + key: FVT_IMAGE_REGISTRY + optional: false + - name: FVT_ARTIFACTORY_USERNAME + valueFrom: + secretKeyRef: + name: mas-fvt + key: FVT_ARTIFACTORY_USERNAME + optional: false + - name: FVT_ARTIFACTORY_TOKEN + valueFrom: + secretKeyRef: + name: mas-fvt + key: FVT_ARTIFACTORY_TOKEN + optional: false + + # Lookups from mas-fvt-manage + # ----------------------------------------------------------------------- + # Framework Information + - name: MAS_APP_CHANNEL_MANAGE + valueFrom: + secretKeyRef: + name: mas-fvt-manage + key: MAS_APP_CHANNEL_MANAGE + optional: false + - name: MAS_WORKSPACE_ID + valueFrom: + secretKeyRef: + name: mas-fvt-manage + key: MAS_WORKSPACE_ID + optional: false + - name: MANAGE_COMPONENTS + valueFrom: + secretKeyRef: + name: mas-fvt-manage + key: MANAGE_COMPONENTS + optional: false + # Digests + - name: FVT_DIGEST_MANAGE_PYTEST + valueFrom: + secretKeyRef: + name: mas-fvt-manage + key: FVT_DIGEST_MANAGE_PYTEST + optional: false + + - name: wait-for-pipelinerun + image: quay.io/ibmmas/cli:latest + imagePullPolicy: $(params.image_pull_policy) + # 50 retries at 10 minute intervals = just over 8 hours + command: + - /opt/app-root/src/wait-for-tekton.sh + env: + - name: TYPE + value: pipelinerun + - name: NAME + value: $(params.pipelinerun_name) + - name: SUFFIX + valueFrom: + secretKeyRef: + name: mas-devops + key: DEVOPS_BUILD_NUMBER + optional: true + - name: NAMESPACE + value: $(context.taskRun.namespace) + - name: DELAY + value: "600" + - name: MAX_RETRIES + value: "50" + - name: IGNORE_FAILURE + value: "True" diff --git a/tekton/src/tasks/fvt-launcher/mas-launchfvt-optimizer.yml.j2 b/tekton/src/tasks/fvt-launcher/mas-launchfvt-optimizer.yml.j2 index ab200f74083..3233b219fc8 100644 --- a/tekton/src/tasks/fvt-launcher/mas-launchfvt-optimizer.yml.j2 +++ b/tekton/src/tasks/fvt-launcher/mas-launchfvt-optimizer.yml.j2 @@ -104,6 +104,12 @@ spec: name: mas-fvt-optimizer key: IVT_DIGEST_CORE optional: false + - name: FVT_DIGEST_MANAGE_PYTEST + valueFrom: + secretKeyRef: + name: mas-fvt-optimizer + key: FVT_DIGEST_MANAGE_PYTEST + optional: false - name: wait-for-pipelinerun image: quay.io/ibmmas/cli:latest diff --git a/tekton/src/tasks/fvt/mas-fvt-pipeline-finish-and-deprovision.yml.j2 b/tekton/src/tasks/fvt/mas-fvt-pipeline-finish-and-deprovision.yml.j2 new file mode 100644 index 00000000000..9e7d692c099 --- /dev/null +++ b/tekton/src/tasks/fvt/mas-fvt-pipeline-finish-and-deprovision.yml.j2 @@ -0,0 +1,207 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: mas-fvt-pipeline-finish-and-deprovision +spec: + params: + # Common CLI parameters (required by cli-env.yml.j2) + {{ lookup('template', task_src_dir ~ '/common/cli-params.yml.j2') | indent(4) }} + + # Pipeline status parameters + - name: pipeline_status + type: string + description: "tasks.status value: Succeeded, Failed, Completed, or None" + - name: pipeline_name + type: string + description: "Provide the name of the pipeline" + - name: pipelinerun_name + type: string + description: "Provide the name of the pipelinerun" + - name: pipelinerun_namespace + type: string + description: "Provide the namespace of the pipelinerun" + + # Deprovision control parameter + - name: deprovision + type: string + default: "true" + description: "Enable deprovision of the target cluster (only runs if pipeline_status=Succeeded)" + + steps: + # Step 1: Update pipeline status (always runs) + - name: pipeline-finish + image: quay.io/ibmmas/cli:latest + imagePullPolicy: $(params.image_pull_policy) + command: + - /opt/app-root/src/update-pipeline-status.py + env: + - name: DEVOPS_MONGO_URI + valueFrom: + secretKeyRef: + name: mas-devops + key: DEVOPS_MONGO_URI + optional: true + - name: DEVOPS_BUILD_NUMBER + valueFrom: + secretKeyRef: + name: mas-devops + key: DEVOPS_BUILD_NUMBER + optional: true + - name: DEVOPS_ENVIRONMENT + valueFrom: + secretKeyRef: + name: mas-devops + key: MAS_INSTANCE_ID + optional: true + - name: PIPELINE_STATUS + value: $(params.pipeline_status) + - name: PIPELINE_NAME + value: $(params.pipeline_name) + - name: PIPELINERUN_NAME + value: $(params.pipelinerun_name) + - name: PIPELINERUN_NAMESPACE + value: $(params.pipelinerun_namespace) + + # Step 2: Deprovision cluster (conditional - only on success) + - name: deprovision-cluster + image: quay.io/ibmmas/cli:latest + imagePullPolicy: $(params.image_pull_policy) + command: + - /bin/bash + - -c + - | + #!/bin/bash + set -e + + echo "==========================================" + echo "Cluster Deprovision - Conditional Check" + echo "==========================================" + echo "Deprovision parameter: $(params.deprovision)" + echo "Pipeline status: $(params.pipeline_status)" + echo "" + + # Check if deprovision is disabled + if [[ "$(params.deprovision)" != "true" && "$(params.deprovision)" != "True" ]]; then + echo "Deprovision is disabled (deprovision=$(params.deprovision))" + echo "Skipping cluster deprovision" + exit 0 + fi + + # Check if pipeline succeeded + if [[ "$(params.pipeline_status)" != "Succeeded" ]]; then + echo "Pipeline status is '$(params.pipeline_status)' (not 'Succeeded')" + echo "Preserving cluster for debugging - skipping deprovision" + echo "" + echo "Cluster will remain available for investigation" + exit 0 + fi + + echo "Pipeline succeeded and deprovision enabled - proceeding with cluster deprovision" + echo "" + + # Run the deprovision role + /opt/app-root/src/run-role.sh ocp_deprovision + env: + {{ lookup('template', task_src_dir ~ '/common/cli-env.yml.j2') | indent(8) }} + + # Cluster Details + - name: CLUSTER_NAME + valueFrom: + secretKeyRef: + name: mas-fvt + key: CLUSTER_NAME + optional: true + - name: CLUSTER_TYPE + valueFrom: + secretKeyRef: + name: mas-fvt + key: CLUSTER_TYPE + optional: true + + # ROKS Support + - name: IBMCLOUD_APIKEY + valueFrom: + secretKeyRef: + name: mas-fvt + key: IBMCLOUD_APIKEY + optional: true + + # FYRE Support + - name: FYRE_USERNAME + valueFrom: + secretKeyRef: + name: mas-fvt + key: FYRE_USERNAME + optional: true + + - name: FYRE_APIKEY + valueFrom: + secretKeyRef: + name: mas-fvt + key: FYRE_APIKEY + optional: true + + - name: FYRE_SITE + valueFrom: + secretKeyRef: + name: mas-fvt + key: FYRE_SITE + optional: true + + # AWS (IPI) Support + - name: AWS_ACCESS_KEY_ID + valueFrom: + secretKeyRef: + name: mas-fvt + key: AWS_ACCESS_KEY_ID + optional: true + + - name: AWS_SECRET_ACCESS_KEY + valueFrom: + secretKeyRef: + name: mas-fvt + key: AWS_SECRET_ACCESS_KEY + optional: true + + - name: IPI_DIR + valueFrom: + secretKeyRef: + name: mas-fvt + key: IPI_DIR + optional: true + + - name: IPI_CONFIG_DIR + valueFrom: + secretKeyRef: + name: mas-fvt + key: IPI_CONFIG_DIR + optional: true + + - name: IPI_PLATFORM + valueFrom: + secretKeyRef: + name: mas-fvt + key: IPI_PLATFORM + optional: true + + - name: OCP_VERSION + valueFrom: + secretKeyRef: + name: mas-fvt + key: OCP_VERSION + optional: true + + - name: FVT_ARTIFACTORY_USERNAME + valueFrom: + secretKeyRef: + name: mas-fvt + key: FVT_ARTIFACTORY_USERNAME + optional: true + + - name: FVT_ARTIFACTORY_TOKEN + valueFrom: + secretKeyRef: + name: mas-fvt + key: FVT_ARTIFACTORY_TOKEN + optional: true diff --git a/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 b/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 index 9d5c256023d..50e8bfcdf5a 100644 --- a/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2 @@ -81,6 +81,9 @@ spec: type: string - name: tenant_entitlement_end_date type: string + - name: sls_service + type: string + default: "" stepTemplate: name: gitops-aiservice-tenant env: @@ -158,6 +161,8 @@ spec: value: $(params.tenant_entitlement_start_date) - name: TENANT_ENTITLEMENT_END_DATE value: $(params.tenant_entitlement_end_date) + - name: STANDALONE_SLS_SERVICE + value: $(params.sls_service) envFrom: - configMapRef: name: environment-properties diff --git a/tekton/src/tasks/gitops/gitops-app-config.yml.j2 b/tekton/src/tasks/gitops/gitops-app-config.yml.j2 new file mode 100644 index 00000000000..60668a06037 --- /dev/null +++ b/tekton/src/tasks/gitops/gitops-app-config.yml.j2 @@ -0,0 +1,115 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: gitops-app-config +spec: + params: + - name: cluster_name + type: string + - name: cluster_url + type: string + default: "" + - name: account + type: string + - name: secrets_path + type: string + - name: git_branch + type: string + - name: github_org + type: string + - name: github_repo + type: string + - name: github_host + type: string + - name: avp_aws_secret_region + type: string + - name: mas_instance_id + type: string + - name: mas_workspace_id + type: string + default: "" + - name: maf_enabled + type: string + - name: mas_appcfg_pod_template_yaml + type: string + - name: maf_storageClassName + type: string + - name: maf_size + type: string + stepTemplate: + name: gitops-app-config + env: + - name: CLUSTER_ID + value: $(params.cluster_name) + - name: CLUSTER_URL + value: $(params.cluster_url) + - name: ACCOUNT_ID + value: $(params.account) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: SECRETS_PATH + value: $(params.secrets_path) + - name: GIT_BRANCH + value: $(params.git_branch) + - name: GITHUB_ORG + value: $(params.github_org) + - name: GITHUB_HOST + value: $(params.github_host) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: SM_AWS_REGION + value: $(params.avp_aws_secret_region) + - name: MAS_INSTANCE_ID + value: $(params.mas_instance_id) + - name: MAS_WORKSPACE_ID + value: $(params.mas_workspace_id) + - name: MAF_ENABLED + value: "$(params.maf_enabled)" + - name: MAS_APPCFG_POD_TEMPLATE_YAML + value: "$(params.mas_appcfg_pod_template_yaml)" + - name: MAF_STORAGE_CLASSNAME + value: "$(params.maf_storageClassName)" + - name: MAF_SIZE + value: "$(params.maf_size)" + envFrom: + - configMapRef: + name: environment-properties + optional: true + - secretRef: + name: secure-properties + steps: + - args: + - |- + mkdir -p /tmp/init-app-config + + git config --global user.name "MAS Automation" + git config --global user.email "you@example.com" + git config --global user.password $GITHUB_PAT + + mas gitops-mas-config \ + --account-id "$ACCOUNT_ID" \ + --cluster-id "$CLUSTER_ID" \ + --mas-instance-id "$MAS_INSTANCE_ID" \ + --mas-workspace-id "$MAS_WORKSPACE_ID" \ + --secrets-path "$SECRETS_PATH" \ + --github-push \ + --github-host "$GITHUB_HOST" \ + --github-org "$GITHUB_ORG" \ + --github-repo "$GITHUB_REPO" \ + --git-branch "$GIT_BRANCH" \ + --config-action upsert \ + --mas-config-scope system \ + --mas-config-type appcfg \ + --dir /tmp/init-app-config + + exit $? + command: + - /bin/sh + - -c + name: gitops-app-config + imagePullPolicy: Always + image: quay.io/ibmmas/cli:latest + workspaces: + - name: configs + - name: shared-gitops-configs diff --git a/tekton/src/tasks/gitops/gitops-delete-app-config.yml.j2 b/tekton/src/tasks/gitops/gitops-delete-app-config.yml.j2 new file mode 100644 index 00000000000..33d9543dced --- /dev/null +++ b/tekton/src/tasks/gitops/gitops-delete-app-config.yml.j2 @@ -0,0 +1,92 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: gitops-delete-app-config +spec: + params: + - name: cluster_name + type: string + - name: account + type: string + - name: secrets_path + type: string + - name: git_branch + type: string + - name: github_org + type: string + - name: github_repo + type: string + - name: github_host + type: string + - name: avp_aws_secret_region + type: string + - name: mas_instance_id + type: string + - name: mas_workspace_id + type: string + default: "" + stepTemplate: + name: gitops-delete-app-config + env: + - name: CLUSTER_ID + value: $(params.cluster_name) + - name: ACCOUNT_ID + value: $(params.account) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: SECRETS_PATH + value: $(params.secrets_path) + - name: GIT_BRANCH + value: $(params.git_branch) + - name: GITHUB_ORG + value: $(params.github_org) + - name: GITHUB_HOST + value: $(params.github_host) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: SM_AWS_REGION + value: $(params.avp_aws_secret_region) + - name: MAS_INSTANCE_ID + value: $(params.mas_instance_id) + - name: MAS_WORKSPACE_ID + value: $(params.mas_workspace_id) + envFrom: + - configMapRef: + name: environment-properties + optional: true + - secretRef: + name: secure-properties + steps: + - args: + - |- + mkdir -p /tmp/init-app-config + git config --global user.name "MAS Automation" + git config --global user.email "you@example.com" + git config --global user.password $GITHUB_PAT + + mas gitops-mas-config \ + --account-id "$ACCOUNT_ID" \ + --cluster-id "$CLUSTER_ID" \ + --mas-instance-id "$MAS_INSTANCE_ID" \ + --mas-workspace-id "$MAS_WORKSPACE_ID" \ + --secrets-path "$SECRETS_PATH" \ + --github-push \ + --github-host "$GITHUB_HOST" \ + --github-org "$GITHUB_ORG" \ + --github-repo "$GITHUB_REPO" \ + --git-branch "$GIT_BRANCH" \ + --config-action remove \ + --mas-config-scope system \ + --mas-config-type appcfg \ + --dir /tmp/init-app-config + + exit $? + command: + - /bin/sh + - -c + name: gitops-delete-app-config + imagePullPolicy: IfNotPresent + image: quay.io/ibmmas/cli:latest + workspaces: + - name: configs diff --git a/tekton/src/tasks/gitops/gitops-deprovision-odh.yml.j2 b/tekton/src/tasks/gitops/gitops-deprovision-odh.yml.j2 index 57002d6764c..0105c149202 100644 --- a/tekton/src/tasks/gitops/gitops-deprovision-odh.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-deprovision-odh.yml.j2 @@ -1,4 +1,4 @@ - +--- apiVersion: tekton.dev/v1beta1 kind: Task metadata: diff --git a/tekton/src/tasks/gitops/gitops-dro.yml.j2 b/tekton/src/tasks/gitops/gitops-dro.yml.j2 index 2b72043360b..d2df833a4b4 100644 --- a/tekton/src/tasks/gitops/gitops-dro.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-dro.yml.j2 @@ -41,6 +41,12 @@ spec: - name: imo_install_plan type: string default: "Automatic" + - name: dro_public_domain + type: string + default: "" + - name: dro_cis_crn + type: string + default: "" stepTemplate: name: gitops-dro env: @@ -74,6 +80,10 @@ spec: value: $(params.dro_install_plan) - name: IMO_INSTALL_PLAN value: $(params.imo_install_plan) + - name: DRO_PUBLIC_DOMAIN + value: $(params.dro_public_domain) + - name: DRO_CIS_CRN + value: $(params.dro_cis_crn) envFrom: - configMapRef: name: environment-properties diff --git a/tekton/src/tasks/gitops/gitops-iac-generate-common-files.yml.j2 b/tekton/src/tasks/gitops/gitops-iac-generate-common-files.yml.j2 index ebe72fff4e3..0eb6548267a 100644 --- a/tekton/src/tasks/gitops/gitops-iac-generate-common-files.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-iac-generate-common-files.yml.j2 @@ -30,6 +30,9 @@ spec: - name: is_s3 type: string default: 'false' + - name: is_rds + type: string + default: 'false' # EFS parameters - name: efs_manage_db2_performance_mode type: string @@ -92,6 +95,85 @@ spec: - name: s3_mvi type: string default: '' + - name: is_msk + type: string + default: 'false' + # iac-msk params + - name: msk_kafka_version + type: string + default: '' + - name: msk_instance_type + type: string + default: '' + - name: msk_cluster_username + type: string + default: '' + - name: msk_broker_volume_size + type: string + default: '' + - name: msk_number_of_broker_nodes + type: string + default: '' + - name: msk_cluster_prefix + type: string + default: '' + # iac-rds-db2 params + - name: rds_manage_db2_instance_class + type: string + default: "" + - name: rds_manage_db2_storage_type + type: string + default: "" + - name: rds_manage_allocated_storage + type: string + default: "" + - name: rds_manage_jdbc_connection_url_additional_params + type: string + default: "" + - name: rds_manage_replica_db + type: string + default: "" + - name: rds_manage_db2_combine_properties + type: string + default: "" + + - name: rds_iot_db2_instance_class + type: string + default: "" + - name: rds_iot_db2_storage_type + type: string + default: "" + - name: rds_iot_allocated_storage + type: string + default: "" + - name: rds_iot_jdbc_connection_url_additional_params + type: string + default: "" + - name: rds_iot_replica_db + type: string + default: "" + - name: rds_iot_db2_combine_properties + type: string + default: "" + + - name: rds_facilities_db2_instance_class + type: string + default: "" + - name: rds_facilities_db2_storage_type + type: string + default: "" + - name: rds_facilities_allocated_storage + type: string + default: "" + - name: rds_facilities_jdbc_connection_url_additional_params + type: string + default: "" + - name: rds_facilities_replica_db + type: string + default: "" + - name: rds_facilities_db2_combine_properties + type: string + default: "" stepTemplate: env: @@ -117,6 +199,10 @@ spec: value: $(params.is_efs) - name: IS_S3 value: $(params.is_s3) + - name: IS_MSK + value: $(params.is_msk) + - name: IS_RDS + value: $(params.is_rds) - name: EFS_MANAGE_DB2_PERFORMANCE_MODE value: $(params.efs_manage_db2_performance_mode) - name: EFS_MANAGE_DB2_MOUNT_COUNT @@ -157,6 +243,58 @@ spec: value: $(params.s3_manage) - name: S3_MVI value: $(params.s3_mvi) + # iac-msk params + - name: MSK_KAFKA_VERSION + value: $(params.msk_kafka_version) + - name: MSK_INSTANCE_TYPE + value: $(params.msk_instance_type) + - name: MSK_CLUSTER_USERNAME + value: $(params.msk_cluster_username) + - name: MSK_BROKER_VOLUME_SIZE + value: $(params.msk_broker_volume_size) + - name: MSK_NUMBER_OF_BROKER_NODES + value: $(params.msk_number_of_broker_nodes) + - name: MSK_CLUSTER_PREFIX + value: $(params.msk_cluster_prefix) + + - name: RDS_MANAGE_DB2_INSTANCE_CLASS + value: $(params.rds_manage_db2_instance_class) + - name: RDS_MANAGE_DB2_STORAGE_TYPE + value: $(params.rds_manage_db2_storage_type) + - name: RDS_MANAGE_ALLOCATED_STORAGE + value: $(params.rds_manage_allocated_storage) + - name: RDS_MANAGE_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.rds_manage_jdbc_connection_url_additional_params) + - name: RDS_MANAGE_REPLICA_DB + value: $(params.rds_manage_replica_db) + - name: RDS_MANAGE_DB2_COMBINE_PROPERTIES + value: $(params.rds_manage_db2_combine_properties) + + - name: RDS_IOT_DB2_INSTANCE_CLASS + value: $(params.rds_iot_db2_instance_class) + - name: RDS_IOT_DB2_STORAGE_TYPE + value: $(params.rds_iot_db2_storage_type) + - name: RDS_IOT_ALLOCATED_STORAGE + value: $(params.rds_iot_allocated_storage) + - name: RDS_IOT_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.rds_iot_jdbc_connection_url_additional_params) + - name: RDS_IOT_REPLICA_DB + value: $(params.rds_iot_replica_db) + - name: RDS_IOT_DB2_COMBINE_PROPERTIES + value: $(params.rds_iot_db2_combine_properties) + + - name: RDS_FACILITIES_DB2_INSTANCE_CLASS + value: $(params.rds_facilities_db2_instance_class) + - name: RDS_FACILITIES_DB2_STORAGE_TYPE + value: $(params.rds_facilities_db2_storage_type) + - name: RDS_FACILITIES_ALLOCATED_STORAGE + value: $(params.rds_facilities_allocated_storage) + - name: RDS_FACILITIES_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.rds_facilities_jdbc_connection_url_additional_params) + - name: RDS_FACILITIES_REPLICA_DB + value: $(params.rds_facilities_replica_db) + - name: RDS_FACILITIES_DB2_COMBINE_PROPERTIES + value: $(params.rds_facilities_db2_combine_properties) envFrom: - configMapRef: name: environment-properties @@ -174,31 +312,11 @@ spec: CMD="mas gitops-iac-generate-common-files -a $ACCOUNT -c $CLUSTER_NAME -m $MAS_INSTANCE_ID --dir /workspace/gitops-iac --github-push --github-host $GITHUB_HOST --github-org $GITHUB_ORG --github-repo $GITHUB_REPO --git-branch $GIT_BRANCH --region-name $REGION_NAME" - [ -n "$CLUSTER_URL" ] && CMD="$CMD --cluster-url $CLUSTER_URL" - # IS_EFS and IS_S3 are required, default to false if not set - CMD="$CMD --is_efs ${IS_EFS:-false}" - CMD="$CMD --is_s3 ${IS_S3:-false}" - [ -n "$EFS_MANAGE_DB2_PERFORMANCE_MODE" ] && CMD="$CMD --efs_manage_db2_performance_mode $EFS_MANAGE_DB2_PERFORMANCE_MODE" - [ -n "$EFS_MANAGE_DB2_MOUNT_COUNT" ] && CMD="$CMD --efs_manage_db2_mount_count $EFS_MANAGE_DB2_MOUNT_COUNT" - [ -n "$EFS_MANAGE_DB2_THROUGHPUT_MODE" ] && CMD="$CMD --efs_manage_db2_throughput_mode $EFS_MANAGE_DB2_THROUGHPUT_MODE" - [ -n "$EFS_MANAGE_MAIN_PERFORMANCE_MODE" ] && CMD="$CMD --efs_manage_main_performance_mode $EFS_MANAGE_MAIN_PERFORMANCE_MODE" - [ -n "$EFS_MANAGE_MAIN_MOUNT_COUNT" ] && CMD="$CMD --efs_manage_main_mount_count $EFS_MANAGE_MAIN_MOUNT_COUNT" - [ -n "$EFS_MANAGE_MAIN_THROUGHPUT_MODE" ] && CMD="$CMD --efs_manage_main_throughput_mode $EFS_MANAGE_MAIN_THROUGHPUT_MODE" - [ -n "$EFS_IOT_DB2_PERFORMANCE_MODE" ] && CMD="$CMD --efs_iot_db2_performance_mode $EFS_IOT_DB2_PERFORMANCE_MODE" - [ -n "$EFS_IOT_DB2_MOUNT_COUNT" ] && CMD="$CMD --efs_iot_db2_mount_count $EFS_IOT_DB2_MOUNT_COUNT" - [ -n "$EFS_IOT_DB2_THROUGHPUT_MODE" ] && CMD="$CMD --efs_iot_db2_throughput_mode $EFS_IOT_DB2_THROUGHPUT_MODE" - [ -n "$EFS_FACILITIES_DB2_PERFORMANCE_MODE" ] && CMD="$CMD --efs_facilities_db2_performance_mode $EFS_FACILITIES_DB2_PERFORMANCE_MODE" - [ -n "$EFS_FACILITIES_DB2_MOUNT_COUNT" ] && CMD="$CMD --efs_facilities_db2_mount_count $EFS_FACILITIES_DB2_MOUNT_COUNT" - [ -n "$EFS_FACILITIES_DB2_THROUGHPUT_MODE" ] && CMD="$CMD --efs_facilities_db2_throughput_mode $EFS_FACILITIES_DB2_THROUGHPUT_MODE" - [ -n "$EFS_FACILITIES_MAIN_PERFORMANCE_MODE" ] && CMD="$CMD --efs_facilities_main_performance_mode $EFS_FACILITIES_MAIN_PERFORMANCE_MODE" - [ -n "$EFS_FACILITIES_MAIN_MOUNT_COUNT" ] && CMD="$CMD --efs_facilities_main_mount_count $EFS_FACILITIES_MAIN_MOUNT_COUNT" - [ -n "$EFS_FACILITIES_MAIN_THROUGHPUT_MODE" ] && CMD="$CMD --efs_facilities_main_throughput_mode $EFS_FACILITIES_MAIN_THROUGHPUT_MODE" - [ -n "$EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE" ] && CMD="$CMD --efs_visualinspection_main_performance_mode $EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE" - [ -n "$EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT" ] && CMD="$CMD --efs_visualinspection_main_mount_count $EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT" - [ -n "$EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE" ] && CMD="$CMD --efs_visualinspection_main_throughput_mode $EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE" - [ -n "$S3_MANAGE" ] && CMD="$CMD --s3_manage $S3_MANAGE" - [ -n "$S3_MVI" ] && CMD="$CMD --s3_mvi $S3_MVI" - + CMD="$CMD --is-efs ${IS_EFS:-false}" + CMD="$CMD --is-s3 ${IS_S3:-false}" + CMD="$CMD --is-msk ${IS_MSK:-false}" + CMD="$CMD --is-rds ${IS_RDS:-false}" + echo "Executing: $CMD" eval $CMD exit $? diff --git a/tekton/src/tasks/gitops/gitops-iac-manage-pr.yml.j2 b/tekton/src/tasks/gitops/gitops-iac-manage-pr.yml.j2 index bab2d20faae..5d9642f1df4 100644 --- a/tekton/src/tasks/gitops/gitops-iac-manage-pr.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-iac-manage-pr.yml.j2 @@ -25,6 +25,12 @@ spec: - name: is_s3 type: string default: 'false' + - name: is_msk + type: string + default: 'false' + - name: is_rds + type: string + default: 'false' stepTemplate: env: @@ -46,6 +52,10 @@ spec: value: $(params.is_efs) - name: IS_S3 value: $(params.is_s3) + - name: IS_MSK + value: $(params.is_msk) + - name: IS_RDS + value: $(params.is_rds) envFrom: - configMapRef: name: environment-properties @@ -63,10 +73,6 @@ spec: CMD="mas gitops-iac-manage-pr -a $ACCOUNT -c $CLUSTER_NAME -m $MAS_INSTANCE_ID --dir /workspace/gitops-iac --github-push --github-host $GITHUB_HOST --github-org $GITHUB_ORG --github-repo $GITHUB_REPO --git-branch $GIT_BRANCH" - # IS_EFS and IS_S3 are required, default to false if not set - CMD="$CMD --is_efs ${IS_EFS:-false}" - CMD="$CMD --is_s3 ${IS_S3:-false}" - echo "Executing: $CMD" eval $CMD exit $? diff --git a/tekton/src/tasks/gitops/gitops-iac-provision-efs.yml.j2 b/tekton/src/tasks/gitops/gitops-iac-provision-efs.yml.j2 index cd9ec48e5a4..dee07486703 100644 --- a/tekton/src/tasks/gitops/gitops-iac-provision-efs.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-iac-provision-efs.yml.j2 @@ -157,26 +157,6 @@ spec: CMD="mas gitops-iac-provision-efs -a $ACCOUNT -c $CLUSTER_NAME -m $MAS_INSTANCE_ID --dir /workspace/gitops-iac --github-push --github-host $GITHUB_HOST --github-org $GITHUB_ORG --github-repo $GITHUB_REPO --git-branch $GIT_BRANCH --region-name $REGION_NAME" - [ -n "$EFS_SOURCE" ] && CMD="$CMD --efs-source $EFS_SOURCE" - [ -n "$EFS_MANAGE_DB2_PERFORMANCE_MODE" ] && CMD="$CMD --efs_manage_db2_performance_mode $EFS_MANAGE_DB2_PERFORMANCE_MODE" - [ -n "$EFS_MANAGE_DB2_MOUNT_COUNT" ] && CMD="$CMD --efs_manage_db2_mount_count $EFS_MANAGE_DB2_MOUNT_COUNT" - [ -n "$EFS_MANAGE_DB2_THROUGHPUT_MODE" ] && CMD="$CMD --efs_manage_db2_throughput_mode $EFS_MANAGE_DB2_THROUGHPUT_MODE" - [ -n "$EFS_MANAGE_MAIN_PERFORMANCE_MODE" ] && CMD="$CMD --efs_manage_main_performance_mode $EFS_MANAGE_MAIN_PERFORMANCE_MODE" - [ -n "$EFS_MANAGE_MAIN_MOUNT_COUNT" ] && CMD="$CMD --efs_manage_main_mount_count $EFS_MANAGE_MAIN_MOUNT_COUNT" - [ -n "$EFS_MANAGE_MAIN_THROUGHPUT_MODE" ] && CMD="$CMD --efs_manage_main_throughput_mode $EFS_MANAGE_MAIN_THROUGHPUT_MODE" - [ -n "$EFS_IOT_DB2_PERFORMANCE_MODE" ] && CMD="$CMD --efs_iot_db2_performance_mode $EFS_IOT_DB2_PERFORMANCE_MODE" - [ -n "$EFS_IOT_DB2_MOUNT_COUNT" ] && CMD="$CMD --efs_iot_db2_mount_count $EFS_IOT_DB2_MOUNT_COUNT" - [ -n "$EFS_IOT_DB2_THROUGHPUT_MODE" ] && CMD="$CMD --efs_iot_db2_throughput_mode $EFS_IOT_DB2_THROUGHPUT_MODE" - [ -n "$EFS_FACILITIES_DB2_PERFORMANCE_MODE" ] && CMD="$CMD --efs_facilities_db2_performance_mode $EFS_FACILITIES_DB2_PERFORMANCE_MODE" - [ -n "$EFS_FACILITIES_DB2_MOUNT_COUNT" ] && CMD="$CMD --efs_facilities_db2_mount_count $EFS_FACILITIES_DB2_MOUNT_COUNT" - [ -n "$EFS_FACILITIES_DB2_THROUGHPUT_MODE" ] && CMD="$CMD --efs_facilities_db2_throughput_mode $EFS_FACILITIES_DB2_THROUGHPUT_MODE" - [ -n "$EFS_FACILITIES_MAIN_PERFORMANCE_MODE" ] && CMD="$CMD --efs_facilities_main_performance_mode $EFS_FACILITIES_MAIN_PERFORMANCE_MODE" - [ -n "$EFS_FACILITIES_MAIN_MOUNT_COUNT" ] && CMD="$CMD --efs_facilities_main_mount_count $EFS_FACILITIES_MAIN_MOUNT_COUNT" - [ -n "$EFS_FACILITIES_MAIN_THROUGHPUT_MODE" ] && CMD="$CMD --efs_facilities_main_throughput_mode $EFS_FACILITIES_MAIN_THROUGHPUT_MODE" - [ -n "$EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE" ] && CMD="$CMD --efs_visualinspection_main_performance_mode $EFS_VISUALINSPECTION_MAIN_PERFORMANCE_MODE" - [ -n "$EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT" ] && CMD="$CMD --efs_visualinspection_main_mount_count $EFS_VISUALINSPECTION_MAIN_MOUNT_COUNT" - [ -n "$EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE" ] && CMD="$CMD --efs_visualinspection_main_throughput_mode $EFS_VISUALINSPECTION_MAIN_THROUGHPUT_MODE" - echo "Executing: $CMD" eval $CMD exit $? diff --git a/tekton/src/tasks/gitops/gitops-iac-provision-msk.yml.j2 b/tekton/src/tasks/gitops/gitops-iac-provision-msk.yml.j2 new file mode 100644 index 00000000000..cad6c0692bc --- /dev/null +++ b/tekton/src/tasks/gitops/gitops-iac-provision-msk.yml.j2 @@ -0,0 +1,109 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: gitops-iac-provision-msk +spec: + params: + - name: cluster_name + type: string + - name: account + type: string + - name: cluster_url + type: string + default: "" + - name: region_name + type: string + - name: git_branch + type: string + - name: github_org + type: string + - name: github_repo + type: string + - name: github_host + type: string + - name: mas_instance_id + type: string + - name: msk_source + type: string + + # iac-msk iot params + - name: msk_kafka_version + type: string + - name: msk_instance_type + type: string + - name: msk_cluster_username + type: string + - name: msk_broker_volume_size + type: string + - name: msk_number_of_broker_nodes + type: string + - name: msk_cluster_prefix + type: string + + stepTemplate: + env: + - name: CLUSTER_NAME + value: $(params.cluster_name) + - name: ACCOUNT + value: $(params.account) + - name: CLUSTER_URL + value: $(params.cluster_url) + - name: REGION_NAME + value: $(params.region_name) + - name: GIT_BRANCH + value: $(params.git_branch) + - name: GITHUB_ORG + value: $(params.github_org) + - name: GITHUB_HOST + value: $(params.github_host) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: MAS_INSTANCE_ID + value: $(params.mas_instance_id) + - name: MSK_SOURCE + value: $(params.msk_source) + + # iac-msk params + - name: MSK_KAFKA_VERSION + value: $(params.msk_kafka_version) + - name: MSK_INSTANCE_TYPE + value: $(params.msk_instance_type) + - name: MSK_CLUSTER_USERNAME + value: $(params.msk_cluster_username) + - name: MSK_BROKER_VOLUME_SIZE + value: $(params.msk_broker_volume_size) + - name: MSK_NUMBER_OF_BROKER_NODES + value: $(params.msk_number_of_broker_nodes) + - name: MSK_CLUSTER_PREFIX + value: $(params.msk_cluster_prefix) + + envFrom: + - configMapRef: + name: environment-properties + optional: true + - secretRef: + name: secure-properties + + steps: + - name: provision-msk + args: + - |- + git config --global user.name "MAS Automation" + git config --global user.email "you@example.com" + git config --global user.password $GITHUB_PAT + + CMD="mas gitops-iac-provision-msk -a $ACCOUNT -c $CLUSTER_NAME -m $MAS_INSTANCE_ID --dir /workspace/gitops-iac --github-push --github-host $GITHUB_HOST --github-org $GITHUB_ORG --github-repo $GITHUB_REPO --git-branch $GIT_BRANCH --region-name $REGION_NAME" + + echo "Executing: $CMD" + eval $CMD + exit $? + command: + - /bin/sh + - -c + imagePullPolicy: IfNotPresent + image: quay.io/ibmmas/cli:latest + + workspaces: + - name: configs + mountPath: /workspace/gitops-iac \ No newline at end of file diff --git a/tekton/src/tasks/gitops/gitops-iac-provision-rdsdb2.yml.j2 b/tekton/src/tasks/gitops/gitops-iac-provision-rdsdb2.yml.j2 new file mode 100644 index 00000000000..0b85ea65be2 --- /dev/null +++ b/tekton/src/tasks/gitops/gitops-iac-provision-rdsdb2.yml.j2 @@ -0,0 +1,193 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: gitops-iac-provision-rdsdb2 +spec: + params: + - name: cluster_name + type: string + - name: account + type: string + - name: cluster_url + type: string + default: "" + - name: region_name + type: string + - name: git_branch + type: string + - name: github_org + type: string + - name: github_repo + type: string + - name: github_host + type: string + - name: mas_instance_id + type: string + - name: rds_source + type: string + default: "" + - name: rds_s3_source + type: string + default: "" + - name: rds_iam_source + type: string + default: "" + - name: rds_s3accesspoint_source + type: string + default: "" + - name: rds_manage_db2_instance_class + type: string + default: "" + - name: rds_manage_db2_storage_type + type: string + default: "" + - name: rds_manage_allocated_storage + type: string + default: "" + - name: rds_manage_jdbc_connection_url_additional_params + type: string + default: "" + - name: rds_manage_replica_db + type: string + default: "" + - name: rds_db2_config_manage_yaml + type: string + default: "" + + - name: rds_iot_db2_instance_class + type: string + default: "" + - name: rds_iot_db2_storage_type + type: string + default: "" + - name: rds_iot_allocated_storage + type: string + default: "" + - name: rds_iot_jdbc_connection_url_additional_params + type: string + default: "" + - name: rds_iot_replica_db + type: string + default: "" + - name: rds_db2_config_iot_yaml + type: string + default: '' + + + - name: rds_facilities_db2_instance_class + type: string + default: "" + - name: rds_facilities_db2_storage_type + type: string + default: "" + - name: rds_facilities_allocated_storage + type: string + default: "" + - name: rds_facilities_jdbc_connection_url_additional_params + type: string + default: "" + - name: rds_facilities_replica_db + type: string + default: "" + - name: rds_db2_config_facilities_yaml + type: string + default: '' + + stepTemplate: + env: + - name: CLUSTER_NAME + value: $(params.cluster_name) + - name: ACCOUNT + value: $(params.account) + - name: CLUSTER_URL + value: $(params.cluster_url) + - name: REGION_NAME + value: $(params.region_name) + - name: GIT_BRANCH + value: $(params.git_branch) + - name: GITHUB_ORG + value: $(params.github_org) + - name: GITHUB_HOST + value: $(params.github_host) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: MAS_INSTANCE_ID + value: $(params.mas_instance_id) + - name: RDS_SOURCE + value: $(params.rds_source) + - name: RDS_S3_SOURCE + value: $(params.rds_s3_source) + - name: RDS_IAM_SOURCE + value: $(params.rds_iam_source) + - name: RDS_S3ACCESSPOINT_SOURCE + value: $(params.rds_s3accesspoint_source) + - name: RDS_MANAGE_DB2_INSTANCE_CLASS + value: $(params.rds_manage_db2_instance_class) + - name: RDS_MANAGE_DB2_STORAGE_TYPE + value: $(params.rds_manage_db2_storage_type) + - name: RDS_MANAGE_ALLOCATED_STORAGE + value: $(params.rds_manage_allocated_storage) + - name: RDS_MANAGE_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.rds_manage_jdbc_connection_url_additional_params) + - name: RDS_MANAGE_REPLICA_DB + value: $(params.rds_manage_replica_db) + - name: RDS_DB2_CONFIG_MANAGE_YAML + value: $(params.rds_db2_config_manage_yaml) + + - name: RDS_IOT_DB2_INSTANCE_CLASS + value: $(params.rds_iot_db2_instance_class) + - name: RDS_IOT_DB2_STORAGE_TYPE + value: $(params.rds_iot_db2_storage_type) + - name: RDS_IOT_ALLOCATED_STORAGE + value: $(params.rds_iot_allocated_storage) + - name: RDS_IOT_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.rds_iot_jdbc_connection_url_additional_params) + - name: RDS_IOT_REPLICA_DB + value: $(params.rds_iot_replica_db) + - name: RDS_DB2_CONFIG_IOT_YAML + value: $(params.rds_db2_config_iot_yaml) + + - name: RDS_FACILITIES_DB2_INSTANCE_CLASS + value: $(params.rds_facilities_db2_instance_class) + - name: RDS_FACILITIES_DB2_STORAGE_TYPE + value: $(params.rds_facilities_db2_storage_type) + - name: RDS_FACILITIES_ALLOCATED_STORAGE + value: $(params.rds_facilities_allocated_storage) + - name: RDS_FACILITIES_JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.rds_facilities_jdbc_connection_url_additional_params) + - name: RDS_FACILITIES_REPLICA_DB + value: $(params.rds_facilities_replica_db) + - name: RDS_DB2_CONFIG_FACILITIES_YAML + value: $(params.rds_db2_config_facilities_yaml) + envFrom: + - configMapRef: + name: environment-properties + optional: true + - secretRef: + name: secure-properties + + steps: + - name: provision-rdsdb2 + args: + - |- + git config --global user.name "MAS Automation" + git config --global user.email "you@example.com" + git config --global user.password $GITHUB_PAT + + CMD="mas gitops-iac-provision-rdsdb2 -a $ACCOUNT -c $CLUSTER_NAME -m $MAS_INSTANCE_ID --dir /workspace/gitops-iac --github-push --github-host $GITHUB_HOST --github-org $GITHUB_ORG --github-repo $GITHUB_REPO --git-branch $GIT_BRANCH --region-name $REGION_NAME" + + echo "Executing: $CMD" + eval $CMD + exit $? + command: + - /bin/sh + - -c + imagePullPolicy: IfNotPresent + image: quay.io/ibmmas/cli:latest + + workspaces: + - name: configs + mountPath: /workspace/gitops-iac + - name: shared-gitops-configs + mountPath: /workspace/shared-gitops-configs \ No newline at end of file diff --git a/tekton/src/tasks/gitops/gitops-iac-provision-s3.yml.j2 b/tekton/src/tasks/gitops/gitops-iac-provision-s3.yml.j2 index 6116d1d79d3..9f64c5e1f4a 100644 --- a/tekton/src/tasks/gitops/gitops-iac-provision-s3.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-iac-provision-s3.yml.j2 @@ -87,12 +87,6 @@ spec: CMD="mas gitops-iac-provision-s3 -a $ACCOUNT -c $CLUSTER_NAME -m $MAS_INSTANCE_ID --dir /workspace/gitops-iac --github-push --github-host $GITHUB_HOST --github-org $GITHUB_ORG --github-repo $GITHUB_REPO --git-branch $GIT_BRANCH --region-name $REGION_NAME" - [ -n "$S3_SOURCE" ] && CMD="$CMD --s3_source $S3_SOURCE" - [ -n "$S3_SOURCE_IAMPOLICY" ] && CMD="$CMD --s3_source_iampolicy $S3_SOURCE_IAMPOLICY" - [ -n "$S3_SOURCE_S3ACCESSPOINT" ] && CMD="$CMD --s3_source_s3accesspoint $S3_SOURCE_S3ACCESSPOINT" - [ -n "$S3_MANAGE" ] && CMD="$CMD --s3_manage $S3_MANAGE" - [ -n "$S3_MVI" ] && CMD="$CMD --s3_mvi $S3_MVI" - echo "Executing: $CMD" eval $CMD exit $? diff --git a/tekton/src/tasks/gitops/gitops-mas-fvt-preparer.yml.j2 b/tekton/src/tasks/gitops/gitops-mas-fvt-preparer.yml.j2 index 68130e1798c..b0fa4378fda 100644 --- a/tekton/src/tasks/gitops/gitops-mas-fvt-preparer.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-mas-fvt-preparer.yml.j2 @@ -338,7 +338,7 @@ spec: - |- set -o pipefail - trap '[[ $? -eq 1 ]] && mas must-gather --directory /workspace/mustgather --mas-instance-ids ${MAS_INSTANCE_ID} --extra-namespaces selenium,mas-${MAS_INSTANCE_ID}-syncres' ERR EXIT + trap '[[ $? -eq 1 ]] && mas must-gather --directory /workspace/mustgather --mas-instance-ids ${MAS_INSTANCE_ID} --extra-namespaces selenium,mas-${MAS_INSTANCE_ID}-syncres,mas-${MAS_INSTANCE_ID}-postsyncjobs' ERR EXIT get_trailing_number() { @@ -507,7 +507,7 @@ spec: fi if [[ "$LAUNCHFVT_MANAGE" == "true" ]]; then MASAPP_APP="manage.${CLUSTER_NAME}.${MAS_INSTANCE_ID}" - check_argo_app_healthy "${MAS_WORKSPACE_ID}.${MASAPP_APP}" 840 + check_argo_app_healthy "${MAS_WORKSPACE_ID}.${MASAPP_APP}" 1260 fi if [[ "$LAUNCHFVT_MOBILE" == "true" ]]; then MASAPP_APP="manage.${CLUSTER_NAME}.${MAS_INSTANCE_ID}" diff --git a/tekton/src/tasks/gitops/gitops-rds-db2-database.yml.j2 b/tekton/src/tasks/gitops/gitops-rds-db2-database.yml.j2 new file mode 100644 index 00000000000..95cab0423c5 --- /dev/null +++ b/tekton/src/tasks/gitops/gitops-rds-db2-database.yml.j2 @@ -0,0 +1,118 @@ +--- +apiVersion: tekton.dev/v1beta1 +kind: Task +metadata: + name: gitops-rds-db2-database +spec: + params: + - name: cluster_name + type: string + - name: cluster_url + type: string + default: "" + - name: account + type: string + - name: secrets_path + type: string + - name: git_branch + type: string + - name: github_org + type: string + - name: github_repo + type: string + - name: github_host + type: string + - name: avp_aws_secret_region + type: string + + - name: db2_instance_registry_yaml + type: string + - name: db2_instance_dbm_config_yaml + type: string + - name: db2_addons_audit_config_yaml + type: string + - name: db2_database_db_config_yaml + type: string + + - name: mas_instance_id + type: string + - name: mas_app_id + type: string + - name: jdbc_connection_url_additional_params + type: string + default: "" + - name: replica_db + type: string + default: "false" + stepTemplate: + name: gitops-rds-db2-database + env: + - name: CLUSTER_NAME + value: $(params.cluster_name) + - name: CLUSTER_URL + value: $(params.cluster_url) + - name: ACCOUNT + value: $(params.account) + - name: SECRET_PATH + value: $(params.secrets_path) + - name: GIT_BRANCH + value: $(params.git_branch) + - name: GITHUB_ORG + value: $(params.github_org) + - name: GITHUB_HOST + value: $(params.github_host) + - name: GITHUB_REPO + value: $(params.github_repo) + - name: SM_AWS_REGION + value: $(params.avp_aws_secret_region) + + - name: DB2_INSTANCE_REGISTRY_YAML + value: $(params.db2_instance_registry_yaml) + - name: DB2_INSTANCE_DBM_CONFIG_YAML + value: $(params.db2_instance_dbm_config_yaml) + - name: DB2_ADDONS_AUDIT_CONFIG_YAML + value: $(params.db2_addons_audit_config_yaml) + - name: DB2_DATABASE_DB_CONFIG_YAML + value: $(params.db2_database_db_config_yaml) + + - name: MAS_INSTANCE_ID + value: $(params.mas_instance_id) + - name: MAS_APP_ID + value: $(params.mas_app_id) + - name: JDBC_CONNECTION_URL_ADDITIONAL_PARAMS + value: $(params.jdbc_connection_url_additional_params) + - name: REPLICA_DB + value: $(params.replica_db) + envFrom: + - configMapRef: + name: environment-properties + optional: true + - secretRef: + name: secure-properties + steps: + - args: + - |- + git config --global user.name "MAS Automation" + git config --global user.email "you@example.com" + git config --global user.password $GITHUB_PAT + + mkdir -p /tmp/init-rds-db2-database-$MAS_APP_ID + mas gitops-rds-db2-database -a $ACCOUNT -c $CLUSTER_NAME \ + --dir /tmp/init-rds-db2-database-$MAS_APP_ID \ + --secrets-path $SECRET_PATH \ + --github-push \ + --github-host $GITHUB_HOST \ + --github-org $GITHUB_ORG \ + --github-repo $GITHUB_REPO \ + --git-branch $GIT_BRANCH + + exit $? + command: + - /bin/sh + - -c + name: gitops-rds-db2-database + imagePullPolicy: Always + image: quay.io/ibmmas/cli:latest + workspaces: + - name: configs + - name: shared-gitops-configs diff --git a/tekton/src/tasks/gitops/gitops-suite.yml.j2 b/tekton/src/tasks/gitops/gitops-suite.yml.j2 index b51030861b9..3f2c20e2eea 100644 --- a/tekton/src/tasks/gitops/gitops-suite.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-suite.yml.j2 @@ -139,9 +139,15 @@ spec: - name: additional_vpn type: string default: "" + - name: additional_resources_instances + type: string + default: "" - name: extensions type: string default: "false" + - name: application_configuration + type: string + default: "true" - name: sls_service type: string default: "" @@ -252,10 +258,14 @@ spec: value: $(params.enhanced_dr) - name: ADDITIONAL_VPN value: $(params.additional_vpn) + - name: ADDITIONAL_RESOURCES_INSTANCES + value: $(params.additional_resources_instances) - name: IS_NON_SHARED_CLUSTER value: $(params.is_non_shared_cluster) - name: EXTENSIONS value: $(params.extensions) + - name: APPLICATION_CONFIGURATION + value: $(params.application_configuration) - name: STANDALONE_SLS_SERVICE value: $(params.sls_service) diff --git a/tekton/src/tasks/suite-install.yml.j2 b/tekton/src/tasks/suite-install.yml.j2 index cc700cd8f79..376c373a9e9 100644 --- a/tekton/src/tasks/suite-install.yml.j2 +++ b/tekton/src/tasks/suite-install.yml.j2 @@ -47,6 +47,14 @@ spec: type: string description: Optional string parameter, either path or subdomain, defines the network routing mode used for the suite. default: "" + - name: mas_ingress_controller_name + type: string + description: Name of the IngressController to use for path-based routing + default: "" + - name: mas_configure_ingress + type: string + description: Set to 'true' to automatically configure IngressController for path-based routing + default: "False" - name: mas_trust_default_cas type: string description: Optional boolean parameter that when set to False, disables the normal trust of well known public certificate authorities @@ -156,6 +164,10 @@ spec: value: $(params.mas_cluster_issuer) - name: MAS_ROUTING_MODE value: $(params.mas_routing_mode) + - name: MAS_INGRESS_CONTROLLER_NAME + value: $(params.mas_ingress_controller_name) + - name: MAS_CONFIGURE_INGRESS + value: $(params.mas_configure_ingress) - name: MAS_MANUAL_CERT_MGMT value: $(params.mas_manual_cert_mgmt) - name: MAS_TRUST_DEFAULT_CAS From fca0236db1346b3798cf6674e2dcd1a29f24c105 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Tue, 10 Feb 2026 12:41:51 +0530 Subject: [PATCH 11/35] modified condition to invoke gitops-efs-csi-driver task in mas-cluster pipeline --- tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index 3e61fa941e9..3787d6c2fd0 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -427,8 +427,8 @@ spec: kind: Task name: gitops-efs-csi-driver when: - - input: "$(params.hypervisor)" - operator: in + - input: "$(params.role_arn)" + operator: notin values: ["rosa"] workspaces: - name: configs @@ -437,7 +437,7 @@ spec: - name: gitops-dro runAfter: - - gitops-efs-csi-driver + - gitops-cluster params: - name: cluster_name value: $(params.cluster_name) From 478117656a14da4d7c84572b37e8a7cff0043e15 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Tue, 10 Feb 2026 12:42:26 +0530 Subject: [PATCH 12/35] changed condition value for gitops-efs-csi-driver task --- tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index 3787d6c2fd0..11db6b1f499 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -429,7 +429,7 @@ spec: when: - input: "$(params.role_arn)" operator: notin - values: ["rosa"] + values: [""] workspaces: - name: configs workspace: configs From c592514e30d17ca63e587d2cefa37aa48dd9bbfe Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Tue, 10 Feb 2026 13:19:31 +0530 Subject: [PATCH 13/35] Modified condition in gitops-mas-cluster pipeline task --- tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index 11db6b1f499..f0f5960174a 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -427,9 +427,9 @@ spec: kind: Task name: gitops-efs-csi-driver when: - - input: "$(params.role_arn)" - operator: notin - values: [""] + - input: "$(params.hypervisor)" + operator: in + values: ["rosa"] workspaces: - name: configs workspace: configs From 87347b4820c6d4d545d043b5068dae32fcfb2e6c Mon Sep 17 00:00:00 2001 From: "sumit.jain6" Date: Wed, 11 Feb 2026 14:21:13 +0530 Subject: [PATCH 14/35] added hypervisor in ibm-mas-cluster-base.yaml.j2 --- image/cli/mascli/functions/gitops_cluster | 4 ++++ .../cluster/phase1/ibm-mas-cluster-base.yaml.j2 | 3 +++ tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 | 2 ++ tekton/src/tasks/gitops/gitops-cluster.yml.j2 | 5 +++++ 4 files changed, 14 insertions(+) diff --git a/image/cli/mascli/functions/gitops_cluster b/image/cli/mascli/functions/gitops_cluster index e7d5510ade3..e131b632010 100644 --- a/image/cli/mascli/functions/gitops_cluster +++ b/image/cli/mascli/functions/gitops_cluster @@ -354,6 +354,9 @@ function gitops_cluster_noninteractive() { --image-repo-mirror-prefix) export IMAGE_REPO_MIRROR_PREFIX=$1 && shift ;; + --hypervisor) + export HYPERVISOR=$1 && shift + ;; # Other Commands -h|--help) @@ -465,6 +468,7 @@ function gitops_cluster() { echo_h2 "Target" " " echo_reset_dim "Account ID ..................... ${COLOR_MAGENTA}${ACCOUNT_ID}" echo_reset_dim "Region ID ...................... ${COLOR_MAGENTA}${REGION_ID}" + echo_reset_dim "HYPERVISOR ..................... ${COLOR_MAGENTA}${HYPERVISOR}" echo_reset_dim "Cluster ID ..................... ${COLOR_MAGENTA}${CLUSTER_ID}" echo_reset_dim "Cluster URL .................... ${COLOR_MAGENTA}${CLUSTER_URL}" echo_reset_dim "Cluster Config Directory ....... ${COLOR_MAGENTA}${GITOPS_CLUSTER_DIR}" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 index 41346ea5e0b..dc1ea077bfa 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 @@ -2,6 +2,9 @@ merge-key: "{{ ACCOUNT_ID }}/{{ CLUSTER_ID }}" account: id: {{ ACCOUNT_ID }} +{% if HYPERVISOR is defined and HYPERVISOR %} + hypervisor: {{ HYPERVISOR }} +{% endif %} region: id: {{ REGION_ID }} diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index f0f5960174a..cfa7fb36f8b 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -391,6 +391,8 @@ spec: value: $(params.instana_agent_operator_env) - name: instana_agent_operator_jks_storage_class value: $(params.instana_agent_operator_jks_storage_class) + - name: hypervisor + value: $(params.hypervisor) taskRef: kind: Task diff --git a/tekton/src/tasks/gitops/gitops-cluster.yml.j2 b/tekton/src/tasks/gitops/gitops-cluster.yml.j2 index bc73cd07850..c3a6cc3fb17 100644 --- a/tekton/src/tasks/gitops/gitops-cluster.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-cluster.yml.j2 @@ -153,6 +153,9 @@ spec: - name: instana_agent_operator_jks_storage_class type: string default: '' + - name: hypervisor + type: string + default: '' stepTemplate: name: gitops-cluster @@ -268,6 +271,8 @@ spec: value: $(params.instana_agent_operator_env) - name: INSTANA_AGENT_OPERATOR_JKS_STORAGE_CLASS value: $(params.instana_agent_operator_jks_storage_class) + - name: HYPERVISOR + type: $(params.hypervisor) envFrom: - configMapRef: From d927fb853d7438e9260d7b0ffbb450b9ea675390 Mon Sep 17 00:00:00 2001 From: "sumit.jain6" Date: Wed, 11 Feb 2026 14:27:10 +0530 Subject: [PATCH 15/35] modified secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 018293f2fca..543485b8328 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$", "lines": null }, - "generated_at": "2026-01-29T07:04:47Z", + "generated_at": "2026-02-11T08:56:10Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -730,7 +730,7 @@ "hashed_secret": "fee2d55ad9a49a95fc89abe8f414dad66704ebfd", "is_secret": false, "is_verified": false, - "line_number": 16, + "line_number": 19, "type": "Secret Keyword", "verified_result": null } From 423cc2073da2e332f78ccd96d73e0b9e01fed880 Mon Sep 17 00:00:00 2001 From: "sumit.jain6" Date: Wed, 11 Feb 2026 14:42:05 +0530 Subject: [PATCH 16/35] modified secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 7ac55473042..d17f971d631 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$", "lines": null }, - "generated_at": "2026-01-29T07:04:47Z", + "generated_at": "2026-02-11T09:11:10Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -252,7 +252,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 494, + "line_number": 498, "type": "Secret Keyword", "verified_result": null } From 6dd9fe9abaa542ea9fa3e4e7dfc87dd71823e737 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Wed, 11 Feb 2026 20:51:37 +0530 Subject: [PATCH 17/35] modified cluster base template & gitops_cluster function --- image/cli/mascli/functions/gitops_cluster | 1 + .../appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/image/cli/mascli/functions/gitops_cluster b/image/cli/mascli/functions/gitops_cluster index e131b632010..7560ceb7494 100644 --- a/image/cli/mascli/functions/gitops_cluster +++ b/image/cli/mascli/functions/gitops_cluster @@ -373,6 +373,7 @@ function gitops_cluster_noninteractive() { [[ -z "$CLUSTER_ID" ]] && gitops_cluster_help "CLUSTER_ID is not set" [[ -z "$REGION_ID" && -z "$SM_AWS_REGION" ]] && gitops_cluster_help "REGION_ID or SM_AWS_REGION is not set" [[ -z "$CLUSTER_URL" ]] && gitops_cluster_help "CLUSTER_URL is not set" + [[ -z "$HYPERVISOR" ]] && gitops_cluster_help "HYPERVISOR is not set" if [[ "$GITHUB_PUSH" == "true" ]]; then [[ -z "$GITHUB_HOST" ]] && gitops_cluster_help "GITHUB_HOST is not set" diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 index dc1ea077bfa..e32cf089775 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/phase1/ibm-mas-cluster-base.yaml.j2 @@ -2,7 +2,7 @@ merge-key: "{{ ACCOUNT_ID }}/{{ CLUSTER_ID }}" account: id: {{ ACCOUNT_ID }} -{% if HYPERVISOR is defined and HYPERVISOR %} +{% if HYPERVISOR is defined and HYPERVISOR !='' %} hypervisor: {{ HYPERVISOR }} {% endif %} From ad7919ed3733a0e6ca41a70ec3064c80352d2570 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Wed, 11 Feb 2026 21:19:57 +0530 Subject: [PATCH 18/35] updated secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index d17f971d631..8be1a7c691b 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$", "lines": null }, - "generated_at": "2026-02-11T09:11:10Z", + "generated_at": "2026-02-11T15:48:11Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -252,7 +252,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 498, + "line_number": 499, "type": "Secret Keyword", "verified_result": null } From 6f808bac4494c028b32350b67b9b05eccf4a4c2a Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Wed, 11 Feb 2026 22:30:35 +0530 Subject: [PATCH 19/35] updated gitops_cluster task & function --- image/cli/mascli/functions/gitops_cluster | 1 + tekton/src/tasks/gitops/gitops-cluster.yml.j2 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/image/cli/mascli/functions/gitops_cluster b/image/cli/mascli/functions/gitops_cluster index 7560ceb7494..1ddac535912 100644 --- a/image/cli/mascli/functions/gitops_cluster +++ b/image/cli/mascli/functions/gitops_cluster @@ -28,6 +28,7 @@ IBM Container Registry Entitlement (Required): Target Cluster (Optional): --cluster-url ${COLOR_YELLOW}CLUSTER_URL${TEXT_RESET} Set to target a remote Kubernetes cluster (defaults to 'https://kubernetes.default.svc') + --hypervisor ${COLOR_YELLOW}HYPERVISOR${TEXT_RESET} Hypervisor type for the cluster (e.g., 'rosa', 'fyre') Operator Catalog (Optional): --catalog-version ${COLOR_YELLOW}MAS_CATALOG_VERSION${TEXT_RESET} Set the version of IBM Maximo Operator Catalog (defaults to 'v8-240130-amd64') diff --git a/tekton/src/tasks/gitops/gitops-cluster.yml.j2 b/tekton/src/tasks/gitops/gitops-cluster.yml.j2 index c3a6cc3fb17..c0c4b38b691 100644 --- a/tekton/src/tasks/gitops/gitops-cluster.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-cluster.yml.j2 @@ -272,7 +272,7 @@ spec: - name: INSTANA_AGENT_OPERATOR_JKS_STORAGE_CLASS value: $(params.instana_agent_operator_jks_storage_class) - name: HYPERVISOR - type: $(params.hypervisor) + value: $(params.hypervisor) envFrom: - configMapRef: From 700814ad4fd5eedb0467f7a94a51b2deb1ddc8a7 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Wed, 11 Feb 2026 22:37:46 +0530 Subject: [PATCH 20/35] merging master into efs-csi-driver-operator (#2059) Co-authored-by: Bhautiksinh Vala <94218990+Bhautik-Vala@users.noreply.github.com> Co-authored-by: David Parker --- docs/catalogs/index.md | 343 +++++++------------- python/src/mas/cli/aiservice/install/app.py | 11 +- 2 files changed, 118 insertions(+), 236 deletions(-) diff --git a/docs/catalogs/index.md b/docs/catalogs/index.md index 63fa0d9d1d2..407b2e8856a 100644 --- a/docs/catalogs/index.md +++ b/docs/catalogs/index.md @@ -10,9 +10,9 @@ The MAS CLI maintains a rolling window of approximately four months worth of sup ### Catalog Directory -Note: The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. In the case of EUS denoted OCP releases, the support dates stated below refer to the EUS1 end dates. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift) +Note: The Red Hat Extended Update Support Add-on Term 1 offering is included with the OCP subscription that comes with a MAS license. In the case of EUS denoted OCP releases, the support dates stated below refer to the EUS1 end dates. For more details on the OCP support lifecycle see: [https://access.redhat.com/support/policy/updates/openshift](https://access.redhat.com/support/policy/updates/openshift). Also note that support for the non-EUS releases expires before the extended support for the previous EUS release, for example extended support for OCP 4.18 expires on Feb 25, 2027, while standard support for OCP 4.17 expires on April 1, 2026. - + 2026 Catalogs 2025 Catalogs 2024 Catalogs @@ -25,146 +25,97 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit - - - - - - + + + + + - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + + - - - - - - - + + -
    CatalogOCP SupportCPD SupportMongoDB Support (CE or EE)Recommended CLISupport NotesCatalogOCPCPDMongoDBCLI
    v9-2612244.16 - 4.19 (TBC)v9-261224
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2611264.16 - 4.19 (TBC)v9-261126
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2610294.16 - 4.19 (TBC)v9-261029
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2609244.16 - 4.19 (TBC)v9-260924
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2608274.16 - 4.19 (TBC)v9-260827
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2607304.16 - 4.19 (TBC)v9-260730
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2606254.16 - 4.19 (TBC)v9-260625
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2605284.16 - 4.19 (TBC)v9-260528
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2604234.16 - 4.19 (TBC)v9-260423
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2603264.16 - 4.19 (TBC)v9-260326
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-2602264.16 - 4.19 (TBC)v9-260226
    amd64 | s390x | ppc64le
    TBD
    TBD TBD7.0 - 8.0 (TBC) N/AOCP 4.19 EOS N/A
    v9-260129amd64s390xppc64le4.16 - 4.19v9-260129
    amd64 | s390x | ppc64le
    4.16 - 4.19
    EOS Feb 25, 2027 ↗
    5.2.0 7.0 - 8.0 latestOCP 4.19 EOS N/A
    @@ -174,179 +125,118 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit - - - - - - + + + + + - - - - - + + - - - - - - + + - - + - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + -
    CatalogOCP SupportCPD SupportMongoDB Support (CE or EE)Recommended CLISupport NotesCatalogOCPCPDMongoDBCLI
    v9-251231amd64s390xppc64le4.16 - 4.19v9-251231
    amd64 | s390x | ppc64le
    4.16 - 4.19
    EOS Feb 25, 2027 ↗
    5.2.0 7.0 - 8.0 latestOCP 4.19 EOS N/A
    v9-251224amd64s390xppc64le4.16 - 4.19v9-251224
    amd64 | s390x | ppc64le
    4.16 - 4.19
    EOS Feb 25, 2027 ↗
    5.2.0 7.0 - 8.0N/AOCP 4.19 EOS N/Alatest
    v9-251127amd64s390xppc64le4.16 - 4.19v9-251127
    amd64 | s390x | ppc64le
    4.16 - 4.19
    EOS Feb 25, 2027 ↗
    5.1.3 7.0 - 8.0 latestOCP 4.19 EOS N/A
    v9-251030amd64s390xppc64le4.14 - 4.19v9-251030
    amd64 | s390x | ppc64le
    4.14 - 4.19
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 15.11.0OCP 4.19 EOS N/A
    v9-251010amd64No s390x catalogppc64le4.14 - 4.18v9-251010
    amd64 | ppc64le
    4.14 - 4.18
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 15.9.0OCP 4.18 EOS February 25, 2027
    v9-250925amd64No s390x catalogppc64le4.14 - 4.18v9-250925
    amd64 | ppc64le
    4.14 - 4.18
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 15.7.0OCP 4.18 EOS February 25, 2027
    v9-250902amd64s390xppc64le4.14 - 4.18v9-250902
    amd64 | s390x | ppc64le
    4.14 - 4.18
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 15.3.0OCP 4.18 EOS February 25, 2027
    v9-250828amd64s390xppc64le4.14 - 4.18v9-250828
    amd64 | s390x | ppc64le
    4.14 - 4.18
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 15.2.0OCP 4.18 EOS February 25, 2027
    v9-250731amd64s390xppc64le4.14 - 4.18v9-250731
    amd64 | s390x | ppc64le
    4.14 - 4.18
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 15.1.0OCP 4.18 EOS February 25, 2027
    v9-250624amd64s390xppc64le4.14 - 4.18v9-250624
    amd64 | s390x | ppc64le
    4.14 - 4.18
    EOS Feb 25, 2027 ↗
    5.1.3 6.0 - 7.0 13.26.0OCP 4.18 EOS February 25, 2027
    v9-250501amd64s390xN/A4.14 - 4.16v9-250501
    amd64 | s390x | N/A
    4.14 - 4.16
    EOS Jun 27, 2026 ↗
    5.0.0 6.0 - 7.0 13.20.0OCP 4.16 EOS June 27, 2026
    v9-250403amd64s390xN/A4.14 - 4.16v9-250403
    amd64 | s390x | N/A
    4.14 - 4.16
    EOS Jun 27, 2026 ↗
    5.0.0 6.0 - 7.0 13.15.0OCP 4.16 EOS June 27, 2026
    v9-250306amd64s390xN/A4.14 - 4.16v9-250306
    amd64 | s390x | N/A
    4.14 - 4.16
    EOS Jun 27, 2026 ↗
    5.0.0 6.0 - 7.0 13.10.0OCP 4.16 EOS June 27, 2026
    v9-250206amd64s390xN/A4.14 - 4.16v9-250206
    amd64 | s390x | N/A
    4.14 - 4.16
    EOS Jun 27, 2026 ↗
    5.0.0 6.0 - 7.0 13.3.0OCP 4.16 EOS June 27, 2026
    v9-250109amd64s390xN/A4.14 - 4.16v9-250109
    amd64 | s390x | N/A
    4.14 - 4.16
    EOS Jun 27, 2026 ↗
    5.0.0 6.0 - 7.0 13.0.0OCP 4.16 EOS June 27, 2026
    @@ -356,109 +246,96 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit Catalog - OCP Support - CPD Support - MongoDB Support (CE or EE) - Recommended CLI - Support Notes + OCP + CPD + MongoDB + CLI - v9-241205-amd64, v9-241205-s390x - 4.14 - 4.16 + v9-241205
    amd64 | s390x + 4.14 - 4.16
    EOS Jun 27, 2026 ↗ 5.0.0 6.0 - 7.0 11.12.0 - OCP 4.16 EOS June 27, 2026 - v9-241107-amd64, v9-241107-s390x - 4.12 - 4.15 + v9-241107
    amd64 | s390x + 4.12 - 4.15
    EOS Aug 27, 2025 ↗ 4.8.0 6.0 - 7.0 11.7.0 - OCP 4.15 EOS August 27, 2025 - v9-241003-amd64 - 4.12 - 4.15 + v9-241003-amd64 + 4.12 - 4.15
    EOS Aug 27, 2025 ↗ 4.8.0 5.0 - 7.0 13.0.0 - OCP 4.15 EOS August 27, 2025 - v9-240827-amd64 - 4.12 - 4.15 + v9-240827-amd64 + 4.12 - 4.15
    EOS Aug 27, 2025 ↗ 4.8.0 5.0 - 7.0 11.11.3 - OCP 4.15 EOS August 27, 2025 - v9-240730-amd64 - 4.12 - 4.15 + v9-240730-amd64 + 4.12 - 4.15
    EOS Aug 27, 2025 ↗ 4.8.0 5.0 - 7.0 11.5.0 - OCP 4.15 EOS August 27, 2025 - v9-240625-amd64 - 4.12 - 4.14 + v9-240625-amd64 + 4.12 - 4.14
    EOS Oct 31, 2025 ↗ 4.8.0 5.0 - 7.0 10.9.2 - OCP 4.14 EOS October 31, 2025 - v8-240528-amd64 - 4.12 - 4.14 + v8-240528-amd64 + 4.12 - 4.14
    EOS Oct 31, 2025 ↗ 4.6.6 5.0 - 7.0 10.8.1 - OCP 4.14 EOS October 31, 2025 - v8-240430-amd64 - 4.12 - 4.14 + v8-240430-amd64 + 4.12 - 4.14
    EOS Oct 31, 2025 ↗ 4.6.6 5.0 - 7.0 9.4.0 - OCP 4.14 EOS October 31, 2025 - v8-240405-amd64 - 4.12 - 4.14 + v8-240405-amd64 + 4.12 - 4.14
    EOS Oct 31, 2025 ↗ 4.6.6 5.0 - 7.0 9.4.0 - OCP 4.14 EOS October 31, 2025 - v8-240326-amd64 - 4.12 - 4.14 + v8-240326-amd64 + 4.12 - 4.14
    EOS Oct 31, 2025 ↗ 4.6.6 5.0 - 7.0 9.4.0 - OCP 4.14 EOS October 31, 2025 - v8-240227-amd64 - 4.12 + v8-240227-amd64 + 4.12
    EOS Jan 17, 2025 ↗ 4.6.6 5.0 - 7.0 8.2.2 - OCP 4.12 EOS January 17, 2025 - v8-240130-amd64 - 4.12 + v8-240130-amd64 + 4.12
    EOS Jan 17, 2025 ↗ 4.6.6 5.0 - 7.0 8.2.2 - OCP 4.12 EOS January 17, 2025 @@ -468,8 +345,8 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit Catalog - OCP Support - Recommended CLI + OCP + CLI Support Notes @@ -578,8 +455,8 @@ Note: The Red Hat Extended Update Support Add-on Term 1 offering is included wit Catalog - OCP Support - Recommended CLI + OCP + CLI Support Notes diff --git a/python/src/mas/cli/aiservice/install/app.py b/python/src/mas/cli/aiservice/install/app.py index 85ae2d3722f..b3960cb76ad 100644 --- a/python/src/mas/cli/aiservice/install/app.py +++ b/python/src/mas/cli/aiservice/install/app.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # ***************************************************************************** -# Copyright (c) 2024, 2025 IBM Corporation and other Contributors. +# Copyright (c) 2024, 2026 IBM Corporation and other Contributors. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 @@ -53,7 +53,7 @@ getDefaultStorageClasses ) from mas.devops.sls import findSLSByNamespace -from mas.devops.data import getCatalog +from mas.devops.data import getCatalog, NoSuchCatalogError from mas.devops.tekton import ( installOpenShiftPipelines, updateTektonDefinitions, @@ -354,7 +354,12 @@ def nonInteractiveMode(self) -> None: self.fatalError(f"Unknown option: {key} {value}") # Load the catalog information - self.chosenCatalog = getCatalog(self.getParam("mas_catalog_version")) + try: + self.chosenCatalog = getCatalog(self.getParam("mas_catalog_version")) + catalogSummary = self.processCatalogChoice() + self.printDescription(catalogSummary) + except NoSuchCatalogError: + pass # License file is only optional for existing SLS instance if self.slsLicenseFileLocal is None: From 3ded91bd3e047f6499e7af7d22675a1f84b717ed Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Wed, 11 Feb 2026 22:44:33 +0530 Subject: [PATCH 21/35] updated .secrets.baseline --- .secrets.baseline | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 8be1a7c691b..65a73821c6d 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$", "lines": null }, - "generated_at": "2026-02-11T15:48:11Z", + "generated_at": "2026-02-11T17:12:41Z", "plugins_used": [ { "name": "AWSKeyDetector" @@ -252,7 +252,7 @@ "hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa", "is_secret": false, "is_verified": false, - "line_number": 499, + "line_number": 500, "type": "Secret Keyword", "verified_result": null } From 5f65d4e2141de6bf6a2724d9ccc70a55cd33b0db Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Wed, 11 Feb 2026 23:04:25 +0530 Subject: [PATCH 22/35] passed hypervisor param into the function --- tekton/src/tasks/gitops/gitops-cluster.yml.j2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tekton/src/tasks/gitops/gitops-cluster.yml.j2 b/tekton/src/tasks/gitops/gitops-cluster.yml.j2 index c0c4b38b691..44af0f8b65b 100644 --- a/tekton/src/tasks/gitops/gitops-cluster.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-cluster.yml.j2 @@ -329,7 +329,8 @@ spec: --github-org $GITHUB_ORG \ --github-repo $GITHUB_REPO \ --git-branch $GIT_BRANCH \ - --secrets-path $SECRET_PATH + --secrets-path $SECRET_PATH \ + --hypervisor $HYPERVISOR exit $? command: From 43ce4a42304b5cf11be6ad1cc2ce800953c7c364 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Fri, 13 Feb 2026 13:09:02 +0530 Subject: [PATCH 23/35] changed docker buildx version due to failing build --- build/bin/.functions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/bin/.functions.sh b/build/bin/.functions.sh index ef732db790c..e890d99987b 100644 --- a/build/bin/.functions.sh +++ b/build/bin/.functions.sh @@ -52,7 +52,7 @@ function echo_highlight() { # - https://stackoverflow.com/questions/65365797/docker-buildx-exec-user-process-caused-exec-format-error function install_buildx() { mkdir -vp ~/.docker/cli-plugins/ - curl --silent -L "https://github.com/docker/buildx/releases/download/v0.11.2/buildx-v0.11.2.linux-amd64" > ~/.docker/cli-plugins/docker-buildx + curl --silent -L "https://github.com/docker/buildx/releases/download/v0.15.1/buildx-v0.15.1.linux-amd64" > ~/.docker/cli-plugins/docker-buildx chmod a+x ~/.docker/cli-plugins/docker-buildx sudo apt-get update From 83a0c6c501c9f9205bcd66a17c7b9a69a0123ce8 Mon Sep 17 00:00:00 2001 From: "sumit.jain6" Date: Fri, 13 Feb 2026 18:14:02 +0530 Subject: [PATCH 24/35] gitops-mas-apps.yml.j2 changes for rds --- tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 index 0938b038d15..117d08ebc31 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-apps.yml.j2 @@ -889,9 +889,6 @@ spec: kind: Task name: gitops-rds-db2-database when: - - input: "$(params.db2_action_iot)" - operator: notin - values: [""] - input: "$(params.jdbc_type_iot)" operator: in values: ["rds-db2"] @@ -1100,9 +1097,6 @@ spec: kind: Task name: gitops-rds-db2-database when: - - input: "$(params.db2_action_manage)" - operator: notin - values: [""] - input: "$(params.jdbc_type_manage)" operator: in values: ["rds-db2"] @@ -1448,9 +1442,6 @@ spec: kind: Task name: gitops-rds-db2-database when: - - input: "$(params.db2_action_facilities)" - operator: notin - values: [""] - input: "$(params.jdbc_type_facilities)" operator: in values: ["rds-db2"] From 9b3fd263cf96bf6bd5733b9841ec26254b5b295e Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Tue, 17 Feb 2026 16:38:19 +0530 Subject: [PATCH 25/35] added subscription_source_namespace in efs-csi-driver template --- .../gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 index cf5d2e81a31..1ed21065939 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 @@ -4,4 +4,5 @@ efs_csi_driver: catalog_source: redhat-operators catalog_source_namespace: openshift-marketplace channel: stable + subscription_source_namespace: openshift-marketplace role_arn: {{ EFS_CSI_DRIVER_ROLE_ARN }} From 82be2a32c3fafc28ff7d25686dcd39977599835e Mon Sep 17 00:00:00 2001 From: amitpandey Date: Tue, 17 Feb 2026 18:16:41 +0530 Subject: [PATCH 26/35] Adding jdbc instance name --- image/cli/mascli/functions/gitops_mas_config | 1 + 1 file changed, 1 insertion(+) diff --git a/image/cli/mascli/functions/gitops_mas_config b/image/cli/mascli/functions/gitops_mas_config index 1eb10687a0f..4ab37333419 100644 --- a/image/cli/mascli/functions/gitops_mas_config +++ b/image/cli/mascli/functions/gitops_mas_config @@ -905,6 +905,7 @@ function gitops_mas_config() { elif [ "${JDBC_TYPE}" == "rds-db2" ]; then export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config export JDBC_CERTIFICATE_CONTENT_B64=$(cat $JDBC_CERTIFICATE_FILE | base64 -w0) + export SECRET_KEY_JDBC_INSTANCE_NAME=${JDBC_INSTANCE_NAME} else # This secret we are creating here export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config From 6281ca3cc4b6fb68c28e5a9c91e7698f02f26420 Mon Sep 17 00:00:00 2001 From: amitpandey Date: Tue, 17 Feb 2026 20:21:07 +0530 Subject: [PATCH 27/35] Fix for jdbc instande name --- image/cli/mascli/functions/gitops_mas_config | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/image/cli/mascli/functions/gitops_mas_config b/image/cli/mascli/functions/gitops_mas_config index 4ab37333419..0337b05527b 100644 --- a/image/cli/mascli/functions/gitops_mas_config +++ b/image/cli/mascli/functions/gitops_mas_config @@ -906,6 +906,8 @@ function gitops_mas_config() { export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config export JDBC_CERTIFICATE_CONTENT_B64=$(cat $JDBC_CERTIFICATE_FILE | base64 -w0) export SECRET_KEY_JDBC_INSTANCE_NAME=${JDBC_INSTANCE_NAME} + export SECRET_KEY_JDBC_CONNECTION_URL=${JDBC_CONFIG_SECRET_ID}#jdbc_connection_url + export SECRET_KEY_JDBC_CERTIFICATE_CONTENT=${JDBC_CONFIG_SECRET_ID}#ca_b64 else # This secret we are creating here export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config @@ -914,10 +916,10 @@ function gitops_mas_config() { sm_update_secret $JDBC_CONFIG_SECRET_ID "{ \"jdbc_connection_url\": \"${JDBC_CONNECTION_URL}\", \"jdbc_instance_name\": \"${JDBC_INSTANCE_NAME}\", \"ca_b64\": \"${JDBC_CERTIFICATE_CONTENT_B64}\" }" "${TAGS}" echo_reset_dim "JDBC_INSTANCE_NAME ........................ ${COLOR_MAGENTA}$JDBC_INSTANCE_NAME" echo_reset_dim "JDBC_CONNECTION_URL ....................... ${COLOR_MAGENTA}${JDBC_CONNECTION_URL}" + export SECRET_KEY_JDBC_CONNECTION_URL=${JDBC_CONFIG_SECRET_ID}#jdbc_connection_url + export SECRET_KEY_JDBC_CERTIFICATE_CONTENT=${JDBC_CONFIG_SECRET_ID}#ca_b64 + export SECRET_KEY_JDBC_INSTANCE_NAME=${JDBC_CONFIG_SECRET_ID}#jdbc_instance_name fi - export SECRET_KEY_JDBC_CONNECTION_URL=${JDBC_CONFIG_SECRET_ID}#jdbc_connection_url - export SECRET_KEY_JDBC_CERTIFICATE_CONTENT=${JDBC_CONFIG_SECRET_ID}#ca_b64 - export SECRET_KEY_JDBC_INSTANCE_NAME=${JDBC_CONFIG_SECRET_ID}#jdbc_instance_name fi # Source: gitops_suite_smtp_config From 1ec290d275972ffc1b673e130c803b4945e54928 Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Tue, 17 Feb 2026 20:39:22 +0530 Subject: [PATCH 28/35] Changed catalog_source_namespace for EFS --- .../gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 index 1ed21065939..89934f1180c 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 @@ -2,7 +2,7 @@ merge-key: "{{ ACCOUNT_ID }}/{{ CLUSTER_ID }}" efs_csi_driver: catalog_source: redhat-operators - catalog_source_namespace: openshift-marketplace + catalog_source_namespace: openshift-cluster-csi-drivers channel: stable subscription_source_namespace: openshift-marketplace role_arn: {{ EFS_CSI_DRIVER_ROLE_ARN }} From f4aa7d60526914f72e5c823e032661f50a378eb8 Mon Sep 17 00:00:00 2001 From: amitpandey Date: Tue, 17 Feb 2026 22:10:39 +0530 Subject: [PATCH 29/35] Fix for jdbc instande name --- .../cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 index 41cfe6da251..524b5261478 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 @@ -8,7 +8,7 @@ mas_config_api_version: "config.mas.ibm.com" use_postdelete_hooks: {{ USE_POSTDELETE_HOOKS }} jdbc_type: {{ JDBC_TYPE }} -jdbc_instance_name: +jdbc_instance_name: {{ SECRET_KEY_JDBC_INSTANCE_NAME }}> jdbc_instance_username: jdbc_instance_password: mas_config_dir: {{ MAS_CONFIG_DIR }} From d595f009da9d7c875cd0e6da51d698d4b515e72b Mon Sep 17 00:00:00 2001 From: amitpandey Date: Wed, 18 Feb 2026 08:20:29 +0530 Subject: [PATCH 30/35] Fix for jdbc instande name --- .../cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 index 524b5261478..c930598f673 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 @@ -8,7 +8,7 @@ mas_config_api_version: "config.mas.ibm.com" use_postdelete_hooks: {{ USE_POSTDELETE_HOOKS }} jdbc_type: {{ JDBC_TYPE }} -jdbc_instance_name: {{ SECRET_KEY_JDBC_INSTANCE_NAME }}> +jdbc_instance_name: {{ SECRET_KEY_JDBC_INSTANCE_NAME }} jdbc_instance_username: jdbc_instance_password: mas_config_dir: {{ MAS_CONFIG_DIR }} From 650cd3d8e633b13857ba7918a2c2ffe207ed2bad Mon Sep 17 00:00:00 2001 From: amitpandey Date: Wed, 18 Feb 2026 09:12:13 +0530 Subject: [PATCH 31/35] Fix for jdbc instande name --- image/cli/mascli/functions/gitops_mas_config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/image/cli/mascli/functions/gitops_mas_config b/image/cli/mascli/functions/gitops_mas_config index 0337b05527b..2476ac7d385 100644 --- a/image/cli/mascli/functions/gitops_mas_config +++ b/image/cli/mascli/functions/gitops_mas_config @@ -67,7 +67,7 @@ JDBC Configuration (required if MAS_CONFIG_TYPE is "jdbc"): --jdbc-type ${COLOR_YELLOW}JDBC_TYPE${TEXT_RESET} Set to 'incluster-db2' when wanting to use the gitops configured, via gitops-db2u-database, db2u cluster (defaults to incluster-db2) --jdbc-instance-name ${COLOR_YELLOW}JDBC_INSTANCE_NAME${TEXT_RESET} The JDBC instance name to use. Required for all JDBC_TYPE's --jdbc-connection-url ${COLOR_YELLOW}JDBC_CONNECTION_URL${TEXT_RESET} The JDBC connection URL. Required when JDBC_TYPE is not incluster-db2 and rds-db2 - --jdbc-certificate-file ${COLOR_YELLOW}JDBC_CERTIFICATE_FILE${TEXT_RESET} Path to file containing CA Certificate for JDBC server. Required when JDBC_TYPE is not incluster-db2 + --jdbc-certificate-file ${COLOR_YELLOW}JDBC_CERTIFICATE_FILE${TEXT_RESET} Path to file containing CA Certificate for JDBC server. Required when JDBC_TYPE is not incluster-db2 and rds-db2 --jdbc-route ${COLOR_YELLOW}JDBC_ROUTE${TEXT_RESET} By default routes are not exposed to public. To expose route, set this to public. SMTP Configuration (required if MAS_CONFIG_TYPE is "smtp"): @@ -903,8 +903,8 @@ function gitops_mas_config() { export SECRET_KEY_DB2_DBNAME=${JDBC_CONFIG_SECRET_ID}#db2_dbname export SECRET_KEY_DB2_NAMESPACE=${JDBC_CONFIG_SECRET_ID}#db2_namespace elif [ "${JDBC_TYPE}" == "rds-db2" ]; then + # For rds-db2, the certificate is already stored in AWS Secrets Manager by gitops_rds_db2_database export JDBC_CONFIG_SECRET_ID=${ACCOUNT_ID}${SECRETS_KEY_SEPERATOR}${CLUSTER_ID}${SECRETS_KEY_SEPERATOR}${MAS_INSTANCE_ID}${SECRETS_KEY_SEPERATOR}jdbc${SECRETS_KEY_SEPERATOR}${JDBC_INSTANCE_NAME}${SECRETS_KEY_SEPERATOR}config - export JDBC_CERTIFICATE_CONTENT_B64=$(cat $JDBC_CERTIFICATE_FILE | base64 -w0) export SECRET_KEY_JDBC_INSTANCE_NAME=${JDBC_INSTANCE_NAME} export SECRET_KEY_JDBC_CONNECTION_URL=${JDBC_CONFIG_SECRET_ID}#jdbc_connection_url export SECRET_KEY_JDBC_CERTIFICATE_CONTENT=${JDBC_CONFIG_SECRET_ID}#ca_b64 From 446f8bc5b02b6dd47c9562acdd06f60a9669130a Mon Sep 17 00:00:00 2001 From: amitpandey Date: Wed, 18 Feb 2026 13:22:43 +0530 Subject: [PATCH 32/35] Fix for jdbc instande name --- .../cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 index c930598f673..c1bc1cf5888 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 @@ -42,4 +42,6 @@ wsapp_suite_jdbccfg_labels: jdbc_ca_pem: crt: | + {% filter indent(width=4) -%} + {%- endfilter %} From 7b1fc53d18f4c2fdc516e79b712d5e69990ecd07 Mon Sep 17 00:00:00 2001 From: amitpandey Date: Wed, 18 Feb 2026 14:20:19 +0530 Subject: [PATCH 33/35] Fix for jdbc instande name --- .../cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 | 2 -- 1 file changed, 2 deletions(-) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 index c1bc1cf5888..c930598f673 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/configs/ibm-mas-jdbc-config.yaml.j2 @@ -42,6 +42,4 @@ wsapp_suite_jdbccfg_labels: jdbc_ca_pem: crt: | - {% filter indent(width=4) -%} - {%- endfilter %} From 562b7bc05b4e54dd39818aeb26c1cd7d7d590015 Mon Sep 17 00:00:00 2001 From: "sumit.jain6" Date: Thu, 19 Feb 2026 12:25:43 +0530 Subject: [PATCH 34/35] rds-db2 connect --- .../appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 index 38c9b8c3e90..6fde824f165 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/instance/ibm-iac-rdsdb2.tf.j2 @@ -10,7 +10,6 @@ locals { mas-saas-license-db2-json-{{RDS_APP}} = jsondecode(data.aws_secretsmanager_secret_version.mas-saas-license-db2-{{RDS_APP}}.secret_string) ibm_customer_id_{{RDS_APP}} = local.mas-saas-license-db2-json-{{RDS_APP}}["ibm_customer_id"] ibm_site_id_{{RDS_APP}} = local.mas-saas-license-db2-json-{{RDS_APP}}["ibm_site_id"] - secret_suffix_{{RDS_APP}} = join("-", ["rds", var.instance_name, "{{RDS_APP}}"]) } module "db2rds-{{RDS_APP}}" { @@ -25,8 +24,8 @@ module "db2rds-{{RDS_APP}}" { username = "db2admin" subnet_grp_id_list = local.cluster.internal_subnet_ids db2_egress_subnet_ids = local.cluster.external_subnet_ids - db2_ingress_subnet_ids = local.cluster.internal_subnet_ids - db2_additional_ingress_cidrs = local.cluster.cidrs.workload_internal + db2_ingress_subnet_ids = local.cluster.external_subnet_ids + db2_additional_ingress_cidrs = local.cluster.cidrs.workload_external db2_additional_egress_cidrs = local.cluster.cidrs.workload_external db2_instance_class = "{{RDS_MANAGE_DB2_INSTANCE_CLASS}}" db2_storage_type = "gp3" @@ -45,7 +44,8 @@ module "db2rds-{{RDS_APP}}" { backup_retention_period = 30 monitoring_interval = 30 db2_preferred_backup_window = "01:00-02:00" - db2_port = "50001" + db2_port = "50000" + db2_ssl_port = "50001" db2_parameters_file_path = "./db2_parameters-{{RDS_APP}}.yaml" major_engine_version = "11.5" s3_bucket_name_for_audit_log = join("-", [var.cluster_name, var.instance_name, "rds", "auditlog", "{{RDS_APP}}"]) From f1a06a16d71fd0e87d0e4f56f66ca647be327dfd Mon Sep 17 00:00:00 2001 From: Darshan Pandya Date: Thu, 19 Feb 2026 16:25:12 +0530 Subject: [PATCH 35/35] Added static params to pipeline task & function --- .../functions/gitops_efs_csi_driver_operator | 32 +++++++++++++++---- .../cluster/efs-csi-driver.yaml.j2 | 8 ++--- .../gitops/gitops-mas-cluster.yml.j2 | 18 ++++++++++- .../tasks/gitops/gitops-efs-csi-driver.yml.j2 | 16 ++++++++++ 4 files changed, 63 insertions(+), 11 deletions(-) diff --git a/image/cli/mascli/functions/gitops_efs_csi_driver_operator b/image/cli/mascli/functions/gitops_efs_csi_driver_operator index 8132caca20d..4a3cc99bf49 100644 --- a/image/cli/mascli/functions/gitops_efs_csi_driver_operator +++ b/image/cli/mascli/functions/gitops_efs_csi_driver_operator @@ -10,10 +10,14 @@ Where ${COLOR_YELLOW}specified${TEXT_RESET} each option may also be defined by s When no options are specified on the command line, interactive-mode will be enabled by default. Basic Configuration: - -d, --dir ${COLOR_YELLOW}GITOPS_WORKING_DIR${TEXT_RESET} Directory for GitOps repository - -a, --account-id ${COLOR_YELLOW}ACCOUNT_ID${TEXT_RESET} Account name that the cluster belongs to - -c, --cluster-id ${COLOR_YELLOW}CLUSTER_ID${TEXT_RESET} Cluster ID - -r, --efs-csi-driver-role-arn ${COLOR_YELLOW}EFS_CSI_DRIVER_ROLE_ARN${TEXT_RESET} ARN of the IAM Role to assign to the EFS CSI driver + -d, --dir ${COLOR_YELLOW}GITOPS_WORKING_DIR${TEXT_RESET} Directory for GitOps repository + -a, --account-id ${COLOR_YELLOW}ACCOUNT_ID${TEXT_RESET} Account name that the cluster belongs to + -c, --cluster-id ${COLOR_YELLOW}CLUSTER_ID${TEXT_RESET} Cluster ID + -r, --efs-csi-driver-role-arn ${COLOR_YELLOW}EFS_CSI_DRIVER_ROLE_ARN${TEXT_RESET} ARN of the IAM Role to assign to the EFS CSI driver + --efs-catalog-source ${COLOR_YELLOW}EFS_CATALOG_SOURCE${TEXT_RESET} EFS catalog source + --efs-catalog-source-namespace ${COLOR_YELLOW}EFS_CATALOG_SOURCE_NAMESPACE${TEXT_RESET} EFS catalog source namespace + --efs-channel ${COLOR_YELLOW}EFS_CHANNEL${TEXT_RESET} EFS channel + --efs-subscription-source-namespace ${COLOR_YELLOW}EFS_SUBSCRIPTION_SOURCE_NAMESPACE${TEXT_RESET} EFS subscription source namespace Automatic GitHub Push (Optional): -P, --github-push ${COLOR_YELLOW}GITHUB_PUSH${TEXT_RESET} Enable automatic push to GitHub @@ -51,7 +55,19 @@ function gitops_efs_csi_driver_operator_noninteractive() { export CLUSTER_ID=$1 && shift ;; -r|--efs-csi-driver-role-arn) - export export EFS_CSI_DRIVER_ROLE_ARN=$1 && shift + export EFS_CSI_DRIVER_ROLE_ARN=$1 && shift + ;; + --efs-catalog-source) + export EFS_CATALOG_SOURCE=$1 && shift + ;; + --efs-catalog-source-namespace) + export EFS_CATALOG_SOURCE_NAMESPACE=$1 && shift + ;; + --efs-channel) + export EFS_CHANNEL=$1 && shift + ;; + --efs-subscription-source-namespace) + export EFS_SUBSCRIPTION_SOURCE_NAMESPACE=$1 && shift ;; @@ -152,7 +168,11 @@ function gitops_efs_csi_driver_operator() { echo "${TEXT_DIM}" echo_h2 "EFS CSI Driver" " " - echo_reset_dim "EFS_CSI_DRIVER_ROLE_ARN .......................... ${COLOR_MAGENTA}${EFS_CSI_DRIVER_ROLE_ARN}" + echo_reset_dim "Role ARN ............................... ${COLOR_MAGENTA}${EFS_CSI_DRIVER_ROLE_ARN}" + echo_reset_dim "Catalog Source ......................... ${COLOR_MAGENTA}${EFS_CATALOG_SOURCE}" + echo_reset_dim "Catalog Source Namespace ............... ${COLOR_MAGENTA}${EFS_CATALOG_SOURCE_NAMESPACE}" + echo_reset_dim "Channel ................................ ${COLOR_MAGENTA}${EFS_CHANNEL}" + echo_reset_dim "Subscription Source Namespace .......... ${COLOR_MAGENTA}${EFS_SUBSCRIPTION_SOURCE_NAMESPACE}" reset_colors diff --git a/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 b/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 index 89934f1180c..8091cd92174 100644 --- a/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 +++ b/image/cli/mascli/templates/gitops/appset-configs/cluster/efs-csi-driver.yaml.j2 @@ -1,8 +1,8 @@ merge-key: "{{ ACCOUNT_ID }}/{{ CLUSTER_ID }}" efs_csi_driver: - catalog_source: redhat-operators - catalog_source_namespace: openshift-cluster-csi-drivers - channel: stable - subscription_source_namespace: openshift-marketplace + catalog_source: {{ EFS_CATALOG_SOURCE }} + catalog_source_namespace: {{ EFS_CATALOG_SOURCE_NAMESPACE }} + channel: {{ EFS_CHANNEL }} + subscription_source_namespace: {{ EFS_SUBSCRIPTION_SOURCE_NAMESPACE }} role_arn: {{ EFS_CSI_DRIVER_ROLE_ARN }} diff --git a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 index cfa7fb36f8b..a0ec7215a4e 100644 --- a/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 +++ b/tekton/src/pipelines/gitops/gitops-mas-cluster.yml.j2 @@ -47,7 +47,15 @@ spec: - name: role_arn type: string - + - name: efs_catalog_source + type: string + - name: efs_catalog_source_namespace + type: string + - name: efs_channel + type: string + - name: efs_subscription_source_namespace + type: string +f - name: dro_namespace type: string default: "ibm-software-central" @@ -425,6 +433,14 @@ spec: value: $(params.role_arn) - name: hypervisor value: $(params.hypervisor) + - name: efs_catalog_source + value: $(params.efs_catalog_source) + - name: efs_catalog_source_namespace + value: $(params.efs_catalog_source_namespace) + - name: efs_channel + value: $(params.efs_channel) + - name: efs_subscription_source_namespace + value: $(params.efs_subscription_source_namespace) taskRef: kind: Task name: gitops-efs-csi-driver diff --git a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 index 5ce01f190df..3c714e43b1e 100644 --- a/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 +++ b/tekton/src/tasks/gitops/gitops-efs-csi-driver.yml.j2 @@ -21,6 +21,14 @@ spec: type: string - name: hypervisor type: string + - name: efs_catalog_source + type: string + - name: efs_catalog_source_namespace + type: string + - name: efs_channel + type: string + - name: efs_subscription_source_namespace + type: string stepTemplate: name: gitops-efs-csi-driver env: @@ -40,6 +48,14 @@ spec: value: $(params.role_arn) - name: HYPERVISOR value: $(params.hypervisor) + - name: EFS_CATALOG_SOURCE + value: $(params.efs_catalog_source) + - name: EFS_CATALOG_SOURCE_NAMESPACE + value: $(params.efs_catalog_source_namespace) + - name: EFS_CHANNEL + value: $(params.efs_channel) + - name: EFS_SUBSCRIPTION_SOURCE_NAMESPACE + value: $(params.efs_subscription_source_namespace) envFrom: - configMapRef: name: environment-properties