Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
"files": "build/bin/config/oscap/ssg-rhel9-ds.xml|^.secrets.baseline$|^docs/catalogs/",
"lines": null
},

"generated_at": "2026-05-01T10:41:14Z",
"generated_at": "2026-05-07T14:37:02Z",
"plugins_used": [
{
"name": "AWSKeyDetector"
Expand Down Expand Up @@ -225,7 +224,7 @@
"hashed_secret": "b2817467154949a61f8e9ad31d1eeaf03221cbfa",
"is_secret": false,
"is_verified": false,
"line_number": 368,
"line_number": 372,
"type": "Secret Keyword",
"verified_result": null
}
Expand Down
68 changes: 42 additions & 26 deletions image/cli/mascli/functions/gitops_aiservice_tenant
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ ibm_aiservice_tenant(required):
--slscfg-url ${COLOR_YELLOW}SLSCFG_URL${TEXT_RESET} URL of the SLS configuration service
--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
--tenant-scheduling-config-file ${COLOR_YELLOW}TENANT_SCHEDULING_CONFIG_FILE${TEXT_RESET} Path to tenant scheduling configuration file (tolerations and nodeSelector)

AiService :
--aiservice-namespace ${COLOR_YELLOW}AISERVICE_NAMESPACE${TEXT_RESET} The namespace where AI Service is deployed
Expand Down Expand Up @@ -256,7 +257,10 @@ function gitops_aiservice_tenant_noninteractive() {
--tenant-entitlement-end-date)
export TENANT_ENTITLEMENT_END_DATE=$1 && shift
;;


--tenant-scheduling-config-yaml)
export TENANT_SCHEDULING_CONFIG_YAML=$1 && shift
;;

# Automatic GitHub Push
-P|--github-push)
Expand Down Expand Up @@ -387,37 +391,42 @@ function gitops_aiservice_tenant() {

# echo all the variables of gitops envs

# -- aiservice
echo_reset_dim "Aiservice namespace ........................... ${COLOR_MAGENTA}${AISERVICE_NAMESPACE}"
echo_reset_dim "Catalog channel ............................... ${COLOR_MAGENTA}${CATALOG_CHANNEL}"
echo_reset_dim "Catalog source ................................ ${COLOR_MAGENTA}${CATALOG_SOURCE}"
echo_reset_dim "AiService provision tenant ................... ${COLOR_MAGENTA}${AISERVICE_PROVISION_TENANT}"
echo_reset_dim "AiService instance ID ......................... ${COLOR_MAGENTA}${AISERVICE_INSTANCE_ID}"
echo_reset_dim "tenant namespace ............................. ${COLOR_MAGENTA}${TENANT_NAMESPACE}"
echo_reset_dim "tenant ID .................................... ${COLOR_MAGENTA}${TENANT_ID}"
echo_reset_dim "cluster domain ............................... ${COLOR_MAGENTA}${CLUSTER_DOMAIN}"
echo_reset_dim "in SaaS environment .......................... ${COLOR_MAGENTA}${IN_SAAS_ENV}"

echo_reset_dim "MAS ICR CP registry .......................... ${COLOR_MAGENTA}${MAS_ICR_CP}"
echo_reset_dim "MAS ICR CPOPEN registry ...................... ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}"
# -- aiservice tenant
echo_reset_dim "Aiservice namespace ............................................ ${COLOR_MAGENTA}${AISERVICE_NAMESPACE}"
echo_reset_dim "Catalog channel ................................................ ${COLOR_MAGENTA}${CATALOG_CHANNEL}"
echo_reset_dim "Catalog source ................................................. ${COLOR_MAGENTA}${CATALOG_SOURCE}"
echo_reset_dim "AiService provision tenant ..................................... ${COLOR_MAGENTA}${AISERVICE_PROVISION_TENANT}"
echo_reset_dim "AiService instance ID .......................................... ${COLOR_MAGENTA}${AISERVICE_INSTANCE_ID}"
echo_reset_dim "tenant namespace ............................................... ${COLOR_MAGENTA}${TENANT_NAMESPACE}"
echo_reset_dim "tenant ID ...................................................... ${COLOR_MAGENTA}${TENANT_ID}"
echo_reset_dim "cluster domain ................................................. ${COLOR_MAGENTA}${CLUSTER_DOMAIN}"
echo_reset_dim "in SaaS environment ............................................ ${COLOR_MAGENTA}${IN_SAAS_ENV}"
if [[ -n "$TENANT_SCHEDULING_CONFIG_YAML" ]]; then
echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}${TENANT_SCHEDULING_CONFIG_YAML}"
else
echo_reset_dim "Scheduling constraints (tolerations/nodeSelector) .............. ${COLOR_MAGENTA}Not Configured"
fi

echo_reset_dim "MAS ICR CP registry ............................................ ${COLOR_MAGENTA}${MAS_ICR_CP}"
echo_reset_dim "MAS ICR CPOPEN registry ........................................ ${COLOR_MAGENTA}${MAS_ICR_CPOPEN}"

# -- 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}"
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}"
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}"
echo_reset_dim "watsonx.ai instance ID ......................... ${COLOR_MAGENTA}${AISERVICE_WATSONX_INSTANCE_ID}"
echo_reset_dim "watsonx.ai version ............................. ${COLOR_MAGENTA}${AISERVICE_WATSONX_VERSION}"
echo_reset_dim "watsonx.ai username ........................... ${COLOR_MAGENTA}${AISERVICE_WATSONX_USERNAME}"
echo_reset_dim "Aiservice operator log level ................... ${COLOR_MAGENTA}${AISERVICE_OPERATOR_LOG_LEVEL}"
echo_reset_dim "Watsonx.ai URL ................................................. ${COLOR_MAGENTA}${AISERVICE_WATSONXAI_URL}"
echo_reset_dim "Watsonx.ai full URL ............................................ ${COLOR_MAGENTA}${AISERVICE_WATSONX_FULL}"
echo_reset_dim "watsonx.ai instance ID ......................................... ${COLOR_MAGENTA}${AISERVICE_WATSONX_INSTANCE_ID}"
echo_reset_dim "watsonx.ai version ............................................. ${COLOR_MAGENTA}${AISERVICE_WATSONX_VERSION}"
echo_reset_dim "watsonx.ai username ............................................ ${COLOR_MAGENTA}${AISERVICE_WATSONX_USERNAME}"
echo_reset_dim "Aiservice operator log level ................................... ${COLOR_MAGENTA}${AISERVICE_OPERATOR_LOG_LEVEL}"
# -- STORAGE
echo_reset_dim "SSL enabled .................................. ${COLOR_MAGENTA}${AISERVICE_STORAGE_SSL}"
echo_reset_dim "Storage provider ............................. ${COLOR_MAGENTA}${AISERVICE_STORAGE_PROVIDER}"
echo_reset_dim "SSL enabled .................................................... ${COLOR_MAGENTA}${AISERVICE_STORAGE_SSL}"
echo_reset_dim "Storage provider ............................................... ${COLOR_MAGENTA}${AISERVICE_STORAGE_PROVIDER}"
AVP_TYPE=aws # Support for IBM will be added later
sm_login

Expand Down Expand Up @@ -476,6 +485,13 @@ function gitops_aiservice_tenant() {
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"

# Load scheduling config file
# ---------------------------------------------------------------------------
if [[ -n "$TENANT_SCHEDULING_CONFIG_YAML" && -s "$TENANT_SCHEDULING_CONFIG_YAML" ]]; then
export TENANT_SCHEDULING_CONFIG=$(yq eval '.' ${TENANT_SCHEDULING_CONFIG_YAML})
echo -e "\n - TENANT_SCHEDULING_CONFIG CONTENT .................. ${TENANT_SCHEDULING_CONFIG}"
fi

# finally push them into the git repo

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,9 @@ ibm_aiservice_tenant:
tenant_entitlement_start_date: "{{ TENANT_ENTITLEMENT_START_DATE }}"
tenant_entitlement_end_date: "{{ TENANT_ENTITLEMENT_END_DATE }}"

aiservice_operator_log_level: "{{ AISERVICE_OPERATOR_LOG_LEVEL }}"
aiservice_operator_log_level: "{{ AISERVICE_OPERATOR_LOG_LEVEL }}"

{% if TENANT_SCHEDULING_CONFIG is defined and TENANT_SCHEDULING_CONFIG != '' %}
tenant_scheduling_config:
{{ TENANT_SCHEDULING_CONFIG | indent(4)}}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,9 @@ spec:
type: string
- name: tenant_entitlement_end_date
type: string
- name: tenant_scheduling_config_yaml
type: string
default: ""

# standalone sls
- name: sls_service
Expand All @@ -98,13 +101,16 @@ spec:

workspaces:
- name: configs
- name: shared-gitops-configs
tasks:
- name: run-gitops-aiservice-tenant
taskRef:
name: gitops-aiservice-tenant
workspaces:
- name: configs
workspace: configs
- name: shared-gitops-configs
workspace: shared-gitops-configs
params:
- name: cluster_name
value: $(params.cluster_name)
Expand Down Expand Up @@ -190,5 +196,7 @@ spec:
value: $(params.tenant_entitlement_start_date)
- name: tenant_entitlement_end_date
value: $(params.tenant_entitlement_end_date)
- name: tenant_scheduling_config_yaml
value: $(params.tenant_scheduling_config_yaml)
- name: sls_service
value: $(params.sls_service)
5 changes: 5 additions & 0 deletions tekton/src/tasks/gitops/gitops-aiservice-tenant.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ spec:
type: string
- name: tenant_entitlement_end_date
type: string
- name: tenant_scheduling_config_yaml
type: string
- name: sls_service
type: string
default: ""
Expand Down Expand Up @@ -173,6 +175,8 @@ spec:
value: $(params.tenant_entitlement_start_date)
- name: TENANT_ENTITLEMENT_END_DATE
value: $(params.tenant_entitlement_end_date)
- name: TENANT_SCHEDULING_CONFIG_YAML
value: $(params.tenant_scheduling_config_yaml)
- name: STANDALONE_SLS_SERVICE
value: $(params.sls_service)
envFrom:
Expand Down Expand Up @@ -216,3 +220,4 @@ spec:
image: quay.io/ibmmas/cli:latest
workspaces:
- name: configs
- name: shared-gitops-configs
Loading