Installing AI Service by using the CLI in interactive mode
You can install AI Service by using the Maximo® Application Suite CLI in interactive mode.
Before you begin
If you are using AI Service 9.1 with the July 2026 patch applied,
you can use Oracle as the database. If you are using Oracle as your database, before you install AI Service, complete the following steps to update the
AIServiceApp custom resource definition (CRD) with JDBC connection details.
- In the Red Hat® OpenShift® web console, go to Administration > CustomResourceDefinitions and click AIServiceApp.
- On the YAML tab, add the following section.
spec: settings: jdbc: url: "jdbc:oracle:thin:@//{oracledb.example.com}:{port}/{service_name}" secretName: aiservice-jdbccfg ca: "{certificate}"For the url parameter, specify a JDBC connection string. For the secretName parameter, specify the name of a Kubernetes secret that contains username and password keys. For the ca parameter, specify the base64-encoded CA certificate of the database server. Replace the oracledb.example.com variable with your Oracle database host. Replace the service_name variable with your Oracle service name.
About this task
The following procedure is an example of installing AI Service as a standalone deployment. Installing in interactive mode alongside other products, such as Maximo Application Suite and Maximo Manage, follows a similar process.
Procedure
- Copy the Maximo Application Suite CLI license to a local folder, for
example,
/home/user/git/devops-configs.For more information about obtaining the license, see Setting up IBM Maximo Application Suite.
-
Open a command line and run the following command.
docker run -v /home/{user}/git/devops-configs:/tmp -ti --rm --pull always quay.io/ibmmas/cli:master - Ensure that the installation process is successful. The following text is an example of
the installation process. Provide values during the installation process and follow the prompts.
{command list} [ibmmas/cli:{version}]mascli$ mas aiservice-install IBM Maximo Application Suite Admin CLI v{version} Powered by https://github.com/ibm-mas/ansible-devops/ and https://tekton.dev/ AI Broker 9.0 Deprecation Notice Maximo AI Broker (introduced with MAS 9.0) has been replaced with Maximo AI Service as of Aug 1 2025 To continue using the features that were enabled by the AI broker after that time, you must deploy and use Maximo AI Service 9.1: - Maximo AI Service 9.1 is compatible with both Maximo Application Suite 9.0 and 9.1 releases - If Maximo AI Service is deployed with Maximo Application Suite 9.0, you can use only the AI features that were included in Maximo Application Suite 9.0 Note: Maximo AI Service 9.1 includes a limited-use license to watsonx.ai and incurs an additional AppPoint cost 1) Set Target OpenShift Cluster Server URL: {url} Login Token: {token} Disable TLS Verify? [y/n] y 2) Choose Install Mode 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 - Enable IPv6 SingleStack networking for services - Customize Scheduling configuration for AI workloads(Training pipeline & Inference services) for AI Service tenant Show advanced installation options? [y/n] n 3) IBM Maximo Operator Catalog Selection Select catalog source {catalog_version} 4) Configure Storage Class Usage Maximo Application Suite and it's dependencies require storage classes that support ReadWriteOnce (RWO) and ReadWriteMany (RWX) access modes: - ReadWriteOnce volumes can be mounted as read-write by multiple pods on a single node. - ReadWriteMany volumes can be mounted as read-write by multiple pods across many nodes. Storage provider auto-detected: NFS Client - Storage class (ReadWriteOnce): nfs-client - Storage class (ReadWriteMany): nfs-client Use the auto-detected storage classes? [y/n] y 5) Configure AppPoint Licensing By default the AI Service instance will be configured to use a cluster-shared License, this provides a shared pool of AppPoints available to all MAS & AI Service instances on the cluster. License file {license_file_directory} Contact e-mail address {email} Contact first name {name} Contact last name {name} 6) Configure IBM Container Registry IBM entitlement key {entitlement_key} Artifactory username {email} Artifactory token {value} 7) Configure AI Service Instance Instance ID restrictions: - Must be 3-12 characters long - Must only use lowercase letters, numbers, and hypen (-) symbol - Must start with a lowercase letter - Must end with a lowercase letter or a number Instance ID {instance_ID} 8) Configure Operational Mode Maximo Application Suite can be installed in a non-production mode for internal development and testing, this setting cannot be changed after installation: - All applications, add-ons, and solutions have 0 (zero) installation AppPoints in non-production installations. - These specifications are also visible in the metrics that are shared with IBM and in the product UI. 1. Production 2. Non-Production Operational Mode 1 Custom channel for AI Service {version} 9) AI Service Settings 9.1) Storage Configuration AI Service requires object storage for pipelines, tenants, and templates. You can either install MinIO in-cluster or connect to external storage. Install Minio? [y/n] y minio root username {username} minio root password {password} 10) AI Service Tenant Settings AI Service will reserve AppPoints for a fixed period of time based on the values you enter: Entitlement end date (YYYY-MM-DD) {date} 11) WatsonX Integration This CLI section configures the integration between the AI Service and IBM watsonx.ai. AI Service uses watsonx for model deployment and inferencing. The WatsonX API key must be a **platform API key** associated with a user that has at least: - **Editor permission** for the project - **Viewer permission** for the space You can generate this key by following IBM's documentation: https://www.ibm.com/docs/en/watsonx/w-and-w/2.2.0?topic=tutorials-generating-api-keys#api-keys__platform__title__1 The endpoint URL is your WatsonX Machine Learning service URL. It can be found in the watsonx.ai documentation: https://cloud.ibm.com/apidocs/watsonx-ai-cp/watsonx-ai-cp-2.2.0#endpoint-url The project ID refers to your specific watsonx.ai project where your ML models and assets are stored. Optional identifiers: - DeploymentId: ID of the model deployment in a **dedicated watsonx runtime** (e.g., granite-3-2-8b-instruct deployed in your dedicated runtime). - SpaceId: ID of the **watsonx deployment space** where deployments are managed. Provide these only if you already have them; otherwise AI Service can proceed with defaults/workflows that do not require pre-existing deployment/space identifiers. Watsonxai api key {key} Watsonxai machine learning url {url} Watsonxai project id {project_ID} Does the Watsonxai AI use a self-signed certificate? [y/n] n Watsonxai Deployment ID (optional) Watsonxai Space ID (optional) 12) RSL Integration RSL (Reliable Strategy Library) connects to strategic asset management via STRATEGIZEAPI. Note: Future versions will auto-configure these from MAS Manage. Does the RSL API use a self-signed certificate?? [y/n] n 13) Configure MongoDb The installer can setup mongoce in your OpenShift cluster (available only for amd64) or you may choose to configure MAS to use an existing mongodb Create MongoDb cluster using MongoDb Community Edition Operator? [y/n] y 14) Database Configuration By default, DB2 will be installed in-cluster (suitable for development and testing). Alternatively, you can connect to an external database (Oracle, SQL Server, or DB2). Do you want to use an external database? [y/n] y 14.1) External Database Configuration Provide connection details for your external database. JDBC URL Examples: Oracle: jdbc:oracle:thin:@//hostname:1521/servicename SQL Server: jdbc:sqlserver://hostname:1433;databaseName=aiservice DB2: jdbc:db2://hostname:50000/database Database JDBC URL {jdbc_url} Database Username {username} Database Password {password} Does the database use SSL/TLS with a self-signed certificate? [y/n] n 15) Non-Interactive Install Command Save and re-use the following script to re-run this install without needing to answer the interactive prompts again export IBM_ENTITLEMENT_KEY={entitlement_key} mas aiservice-install --mas-catalog-version {catalog_version} --ibm-entitlement-key $IBM_ENTITLEMENT_KEY \ --aiservice-instance-id "{instance_ID}" \ --storage-class-rwo "{storage_class}" --storage-class-rwx "{storage_class}" \ --storage-pipeline "{storage_class}" --storage-accessmode "{access_mode}" \ --license-file "{license_file_directory}" \ --contact-email "{email}" --contact-firstname "{name}" --contact-lastname "{name}" \ --mongodb-namespace "{namespace}" \ --aiservice-channel "{version}" \ --s3-accesskey "{access_key}" \ --s3-secretkey "{secret_key}" \ --s3-host "{hostname}" \ --s3-port "{port}" \ --s3-ssl "{value}" \ --s3-region "{region}" \ --s3-bucket-prefix "{bucket_prefix}" \ --s3-tenants-bucket "{bucket_name}" \ --s3-templates-bucket "{bucket_name}" \ --watsonxai-apikey "{key}" \ --watsonxai-url "{url}" \ --watsonxai-project-id "{project_ID}" \ --minio-root-user "{username}" \ --minio-root-password "{password}" \ --tenant-entitlement-type "{entitlement_type}" \ --tenant-entitlement-start-date "{date}" \ --tenant-entitlement-end-date "{date}" \ --aiservice-db-jdbc-url "{jdbc_url}" \ --aiservice-db-username "{username}" \ --aiservice-db-password "{password}" \ --accept-license --no-confirm 16) Review Settings Connected to: - https://console-openshift-console.apps.{value} 16.1) Pipeline Configuration Service Account ......................... Default Image Pull Policy ....................... Default Skip Pre-Install Healthcheck ............ No 16.2) OpenShift Container Platform Worker Node Architecture ................ {value} Storage Class Provider .................. {storage_provider} ReadWriteOnce Storage Class ............. {storage_class} ReadWriteMany Storage Class ............. {storage_class} Certificate Manager ..................... {certificate_manager} Cluster Ingress Certificate Secret ...... Default 16.3) Maximo Operator Catalog Catalog Version ......................... {catalog_version} 16.4) IBM Container Registry IBM Entitled Registry ................... {value} IBM Open Registry ....................... {value} 16.5) AI Service Release ................................. {version} Instance ID ............................. {instance_ID} Environment Type ........................ production Configure AI Service to run in IPv6 mode Default 16.6) AI Service Tenant Configuration Entitlement Type ........................ {entitlement_type} Start Date .............................. {date} End Date ................................ {date} 16.7) S3 Configuration Minio Root Username ..................... {username} Host .................................... {hostname} Port .................................... {port} SSL Enabled ............................. {value} Region .................................. {region} Bucket Prefix ........................... {bucket_prefix} Templates Bucket Name ................... {bucket_name} Tenants Bucket Name ..................... {bucket_name} 16.8) IBM WatsonX URL ..................................... {url} Project ID .............................. {project_ID} 16.9) IBM Data Reporter Operator (DRO) Configuration Contact e-mail .......................... {email} First name .............................. {name} Last name ............................... {name} Install Namespace ....................... Default 16.10) IBM Suite License Service Namespace ............................... Default Subscription Channel .................... {channel} IBM Open Registry ....................... {value} License File ............................ {license_file_directory} 16.11) MongoDb Type .................................... MongoCE Operator Install Namespace ....................... {namespace} 16.12) Database Configuration Database Type ........................... External Database (Oracle) JDBC URL ................................ {jdbc_url} Username ................................ {username} 16.13) Slack Integration Slack Channel ........................... Not Configured Please carefully review your choices above, correcting mistakes now is much easier than after the install has begun Proceed with these settings? [y/n] y 17) Launch Install ✅️ OpenShift Pipelines Operator is installed and ready to use ✅️ Namespace is ready ✅️ MAS CLI image deployment test completed ✅️ Latest Tekton definitions are installed ✅️ PipelineRun for ais install submitted View progress: {url}