From d3d66ea070345a047ba7da974bf61d1b8fbb5d4e Mon Sep 17 00:00:00 2001 From: Josef Harte Date: Tue, 4 Aug 2026 08:25:17 +0100 Subject: [PATCH 1/6] tenant operator custom config --- .../templates/06-aiservice-tenant-operator-subscription.yaml | 4 ++++ instance-applications/115-ibm-aiservice-tenant/values.yaml | 1 + .../templates/100-ibm-aiservice-tenant-app.yaml | 3 ++- root-applications/ibm-aiservice-tenant-root/values.yaml | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml b/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml index 21ecff3e7..a3f3dcb11 100644 --- a/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml +++ b/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml @@ -27,4 +27,8 @@ spec: name: ibm-aiservice-tenant source: "{{ .Values.catalog_source }}" sourceNamespace: openshift-marketplace + {{- if .Values.tenant_operator_config }} + config: + {{ .Values.tenant_operator_config | indent 4 }} + {{- end }} {{- end }} diff --git a/instance-applications/115-ibm-aiservice-tenant/values.yaml b/instance-applications/115-ibm-aiservice-tenant/values.yaml index aa9262860..69f93d4cb 100644 --- a/instance-applications/115-ibm-aiservice-tenant/values.yaml +++ b/instance-applications/115-ibm-aiservice-tenant/values.yaml @@ -1,5 +1,6 @@ catalog_channel: "9.2.x-dev" catalog_source: ibm-operator-catalog +tenant_operator_config: {} # FVT Environment Configuration ibm_aiservice_tenant: diff --git a/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml b/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml index c25232626..3e222dff6 100644 --- a/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml +++ b/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml @@ -44,7 +44,8 @@ spec: value: | catalog_source: "{{ .Values.ibm_aiservice_tenant.catalog_source }}" catalog_channel: "{{ .Values.ibm_aiservice_tenant.catalog_channel }}" - aiservice_tenant_install_plan_approval: "{{ .Values.ibm_aiservice_tenant.aiservice_tenant_install_plan_approval }}" + aiservice_tenant_install_plan_approval: "{{ .Values.ibm_aiservice_tenant.aiservice_tenant_install_plan_approval }}" + tenant_operator_config: "{{ .Values.ibm_aiservice_tenant.tenant_operator_config }}" tenant_id: "{{ .Values.ibm_aiservice_tenant.tenant_id }}" aiservice_instance_id: "{{ .Values.ibm_aiservice_tenant.aiservice_instance_id }}" diff --git a/root-applications/ibm-aiservice-tenant-root/values.yaml b/root-applications/ibm-aiservice-tenant-root/values.yaml index 9c43a5711..632645e63 100644 --- a/root-applications/ibm-aiservice-tenant-root/values.yaml +++ b/root-applications/ibm-aiservice-tenant-root/values.yaml @@ -251,6 +251,7 @@ ibm_aiservice: ibm_aiservice_tenant: catalog_channel: "" catalog_source: "ibm-operator-catalog" + tenant_operator_config: {} mas_instance_id: "MAS_INSTANCE_ID" aiservice_namespace: 'mas-{{ mas_instance_id }}-aiservice' From e1e7be8d8dca5ae1e749e5fbf923e8b390266db8 Mon Sep 17 00:00:00 2001 From: Josef Harte Date: Tue, 4 Aug 2026 08:41:40 +0100 Subject: [PATCH 2/6] fix type --- .../templates/06-aiservice-tenant-operator-subscription.yaml | 2 +- .../templates/100-ibm-aiservice-tenant-app.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml b/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml index a3f3dcb11..c1e974813 100644 --- a/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml +++ b/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml @@ -29,6 +29,6 @@ spec: sourceNamespace: openshift-marketplace {{- if .Values.tenant_operator_config }} config: - {{ .Values.tenant_operator_config | indent 4 }} + {{ .Values.tenant_operator_config | toYaml | indent 4 }} {{- end }} {{- end }} diff --git a/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml b/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml index 3e222dff6..bc0536772 100644 --- a/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml +++ b/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml @@ -45,7 +45,7 @@ spec: catalog_source: "{{ .Values.ibm_aiservice_tenant.catalog_source }}" catalog_channel: "{{ .Values.ibm_aiservice_tenant.catalog_channel }}" aiservice_tenant_install_plan_approval: "{{ .Values.ibm_aiservice_tenant.aiservice_tenant_install_plan_approval }}" - tenant_operator_config: "{{ .Values.ibm_aiservice_tenant.tenant_operator_config }}" + tenant_operator_config: {{ .Values.ibm_aiservice_tenant.tenant_operator_config }} tenant_id: "{{ .Values.ibm_aiservice_tenant.tenant_id }}" aiservice_instance_id: "{{ .Values.ibm_aiservice_tenant.aiservice_instance_id }}" From c2aa715572103f09bde1b31ed79bcedb65f48e4b Mon Sep 17 00:00:00 2001 From: Josef Harte Date: Tue, 4 Aug 2026 09:01:29 +0100 Subject: [PATCH 3/6] fix indentation --- .../templates/06-aiservice-tenant-operator-subscription.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml b/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml index c1e974813..821b3b295 100644 --- a/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml +++ b/instance-applications/115-ibm-aiservice-tenant/templates/06-aiservice-tenant-operator-subscription.yaml @@ -28,7 +28,6 @@ spec: source: "{{ .Values.catalog_source }}" sourceNamespace: openshift-marketplace {{- if .Values.tenant_operator_config }} - config: - {{ .Values.tenant_operator_config | toYaml | indent 4 }} + config: {{ .Values.tenant_operator_config | toYaml | nindent 4 }} {{- end }} {{- end }} From 595e7a33995e7deb09cf8339428194ba66060f52 Mon Sep 17 00:00:00 2001 From: Josef Harte Date: Tue, 4 Aug 2026 09:09:50 +0100 Subject: [PATCH 4/6] fix param input --- .../templates/100-ibm-aiservice-tenant-app.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml b/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml index bc0536772..7d959e8df 100644 --- a/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml +++ b/root-applications/ibm-aiservice-tenant-root/templates/100-ibm-aiservice-tenant-app.yaml @@ -45,7 +45,9 @@ spec: catalog_source: "{{ .Values.ibm_aiservice_tenant.catalog_source }}" catalog_channel: "{{ .Values.ibm_aiservice_tenant.catalog_channel }}" aiservice_tenant_install_plan_approval: "{{ .Values.ibm_aiservice_tenant.aiservice_tenant_install_plan_approval }}" - tenant_operator_config: {{ .Values.ibm_aiservice_tenant.tenant_operator_config }} + {{- if .Values.ibm_aiservice_tenant.tenant_operator_config }} + tenant_operator_config: {{ .Values.ibm_aiservice_tenant.tenant_operator_config | toYaml | nindent 14 }} + {{- end }} tenant_id: "{{ .Values.ibm_aiservice_tenant.tenant_id }}" aiservice_instance_id: "{{ .Values.ibm_aiservice_tenant.aiservice_instance_id }}" From 022e4926a13e41edfceb50684324c3f88ba77b68 Mon Sep 17 00:00:00 2001 From: Josef Harte Date: Tue, 4 Aug 2026 09:30:07 +0100 Subject: [PATCH 5/6] update docs --- .../115-ibm-aiservice-tenant/README.md | 33 +++++++++++++++++++ .../ibm-aiservice-tenant-root/README.md | 3 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/instance-applications/115-ibm-aiservice-tenant/README.md b/instance-applications/115-ibm-aiservice-tenant/README.md index 03fd98748..ea9f3c18d 100644 --- a/instance-applications/115-ibm-aiservice-tenant/README.md +++ b/instance-applications/115-ibm-aiservice-tenant/README.md @@ -81,6 +81,18 @@ ibm_aiservice_tenant: tenant_entitlement_end_date: string aiservice_operator_log_level: string + + # Operator Resource Configuration (optional, requires catalog_channel 9.2.x+) + # Sets resource requests/limits on the tenant operator container via the + # Subscription spec.config field. Accepts any valid SubscriptionConfig object. + tenant_operator_config: + resources: + requests: + cpu: string + memory: string + limits: + cpu: string + memory: string ``` **Note**: Values marked with "(secret reference)" should use the format `` to reference secrets stored in the Secrets Vault. @@ -194,6 +206,27 @@ ibm_aiservice_tenant: value: inference ``` +### Tenant with Custom Operator Resource Limits (9.2.x+) + +Use `tenant_operator_config` to set resource requests and limits on the tenant operator pod. This maps directly to the [`spec.config`](https://olm.operatorframework.io/docs/concepts/crds/subscription/) field of the OLM `Subscription` resource. + +```yaml +ibm_aiservice_tenant: + # Specify all parameters as per above example + + # Operator Resource Configuration + tenant_operator_config: + resources: + requests: + cpu: 100m + memory: 128Mi + limits: + cpu: 500m + memory: 512Mi +``` + +Any valid [`SubscriptionConfig`](https://pkg.go.dev/github.com/operator-framework/api/pkg/operators/v1alpha1#SubscriptionConfig) field is accepted (e.g. `env`, `volumes`, `tolerations`, `nodeSelector`). + ## Prerequisites diff --git a/root-applications/ibm-aiservice-tenant-root/README.md b/root-applications/ibm-aiservice-tenant-root/README.md index fbcec42d9..9242ac9da 100644 --- a/root-applications/ibm-aiservice-tenant-root/README.md +++ b/root-applications/ibm-aiservice-tenant-root/README.md @@ -168,6 +168,7 @@ The following parameters are passed from the parent AI Service Instance Root App | `avp.values_varname` | Vault values variable name | `HELM_VALUES` | | `auto_delete` | Enable auto-pruning | `false` | | `cluster.url` | Kubernetes API URL | `https://kubernetes.default.svc` | +| `ibm_aiservice_tenant.tenant_operator_config` | OLM `SubscriptionConfig` object applied to the tenant operator `Subscription` `spec.config` field. Use to set resource requests/limits, env vars, tolerations, etc. on the operator pod. Optional; omit to use operator defaults. | `{}` | ## ArgoCD Applications @@ -200,7 +201,7 @@ config-repo/ │ └── aiservice-tenant-params.yaml # Required ``` -See the [AI Service Tenant Chart](../../instance-applications/115-ibm-aiservice-tenant/README.md) for detailed tenant configuration examples. +See the [AI Service Tenant Chart](../../instance-applications/115-ibm-aiservice-tenant/README.md) for detailed tenant configuration examples, including `tenant_operator_config` usage. ## Prerequisites From e576d3a453ec18db3124caadb79a64cfcc0fd61b Mon Sep 17 00:00:00 2001 From: Josef Harte Date: Tue, 4 Aug 2026 10:01:31 +0100 Subject: [PATCH 6/6] update docs link --- instance-applications/115-ibm-aiservice-tenant/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instance-applications/115-ibm-aiservice-tenant/README.md b/instance-applications/115-ibm-aiservice-tenant/README.md index ea9f3c18d..aea4ec447 100644 --- a/instance-applications/115-ibm-aiservice-tenant/README.md +++ b/instance-applications/115-ibm-aiservice-tenant/README.md @@ -208,7 +208,7 @@ ibm_aiservice_tenant: ### Tenant with Custom Operator Resource Limits (9.2.x+) -Use `tenant_operator_config` to set resource requests and limits on the tenant operator pod. This maps directly to the [`spec.config`](https://olm.operatorframework.io/docs/concepts/crds/subscription/) field of the OLM `Subscription` resource. +Use `tenant_operator_config` to set resource requests and limits on the tenant operator pod. This maps directly to the [`spec.config`](https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/subscription-config.md) field of the OLM `Subscription` resource. ```yaml ibm_aiservice_tenant: