From 4aa87d7d22dfd534393fc83c09438177e952ca75 Mon Sep 17 00:00:00 2001 From: Adit Yarra Date: Wed, 5 Aug 2026 15:14:25 +0530 Subject: [PATCH 1/6] initial commit --- instance-applications/100-ibm-sls/README.md | 4 ++++ .../100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml | 4 ++++ .../ibm-mas-instance-root/templates/100-ibm-sls-app.yaml | 3 +++ .../ibm-mas-sls-root/templates/100-ibm-sls-app.yaml | 3 +++ .../100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml | 4 ++++ 5 files changed, 18 insertions(+) diff --git a/instance-applications/100-ibm-sls/README.md b/instance-applications/100-ibm-sls/README.md index 78ae3fbec..f0845de86 100644 --- a/instance-applications/100-ibm-sls/README.md +++ b/instance-applications/100-ibm-sls/README.md @@ -69,6 +69,10 @@ ibm_sls: - alias: string crt: string (multiline) + # Pod Templates (optional) + sls_pod_templates: + key: value + # Certificate Authority (optional) internal_certificate_authority: string ``` diff --git a/instance-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml b/instance-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml index b5b8b3aa8..2277794be 100644 --- a/instance-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml +++ b/instance-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml @@ -17,6 +17,10 @@ spec: {{ .Values.mongo_spec | toYaml | indent 4 }} license: accept: true +{{- if not (empty .Values.sls_pod_templates) }} + podTemplates: +{{ .Values.sls_pod_templates | toYaml | indent 4 }} +{{- end }} settings: auth: enforce: true diff --git a/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml b/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml index e1d364f59..e3ce37274 100644 --- a/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml +++ b/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml @@ -80,6 +80,9 @@ spec: devops_build_number: "{{ .Values.devops.build_number }}" gitops_version: "{{ .Values.source.revision }}" cli_image_repo: {{ .Values.cli_image_repo }} + {{- if .Values.ibm_sls.sls_pod_templates }} + sls_pod_templates: {{ .Values.ibm_sls.sls_pod_templates | toYaml | nindent 14 }} + {{- end }} {{- if .Values.ibm_sls.internal_certificate_authority }} internal_certificate_authority: "{{ .Values.ibm_sls.internal_certificate_authority }}" {{- end }} diff --git a/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml b/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml index 71c353c2b..d852e67c4 100644 --- a/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml +++ b/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml @@ -78,6 +78,9 @@ spec: devops_mongo_uri: "{{ .Values.devops.mongo_uri }}" devops_build_number: "{{ .Values.devops.build_number }}" gitops_version: "{{ .Values.source.revision }}" + {{- if .Values.ibm_sls_standalone.sls_pod_templates }} + sls_pod_templates: {{ .Values.ibm_sls_standalone.sls_pod_templates | toYaml | nindent 14 }} + {{- end }} {{- if .Values.ibm_sls_standalone.internal_certificate_authority }} internal_certificate_authority: "{{ .Values.ibm_sls_standalone.internal_certificate_authority }}" {{- end }} diff --git a/sls-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml b/sls-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml index 276cbc3f1..3914dc7d8 100644 --- a/sls-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml +++ b/sls-applications/100-ibm-sls/templates/06-ibm-sls_LicenseService.yaml @@ -18,6 +18,10 @@ spec: {{ .Values.mongo_spec | toYaml | indent 4 }} license: accept: true +{{- if not (empty .Values.sls_pod_templates) }} + podTemplates: +{{ .Values.sls_pod_templates | toYaml | indent 4 }} +{{- end }} settings: auth: enforce: true From 0bf0bdb33f16b5dde4a975bef04b5e51f1bec09b Mon Sep 17 00:00:00 2001 From: Adit Yarra Date: Thu, 6 Aug 2026 16:06:36 +0530 Subject: [PATCH 2/6] added podtemplates to licenseService CR --- instance-applications/100-ibm-sls/values.yaml | 1 + sls-applications/100-ibm-sls/values.yaml | 1 + 2 files changed, 2 insertions(+) diff --git a/instance-applications/100-ibm-sls/values.yaml b/instance-applications/100-ibm-sls/values.yaml index b6d010fe5..e6da8e1fd 100644 --- a/instance-applications/100-ibm-sls/values.yaml +++ b/instance-applications/100-ibm-sls/values.yaml @@ -6,3 +6,4 @@ sls_mongo_secret_name: xxx mongo_spec: {} sls_entitlement_file: xxx sls_channel: 3.x +sls_pod_templates: {} diff --git a/sls-applications/100-ibm-sls/values.yaml b/sls-applications/100-ibm-sls/values.yaml index 8e62fce05..9045aac84 100644 --- a/sls-applications/100-ibm-sls/values.yaml +++ b/sls-applications/100-ibm-sls/values.yaml @@ -6,3 +6,4 @@ sls_mongo_secret_name: sls-mongo-credentials mongo_spec: {} sls_entitlement_file: xxx sls_channel: 3.x +sls_pod_templates: {} From 7dd764abd92a309145f7eb29f35401bbdaa14f66 Mon Sep 17 00:00:00 2001 From: Adit Yarra Date: Tue, 11 Aug 2026 18:27:39 +0530 Subject: [PATCH 3/6] add sls_pod_templates support to standard and centralized SLS pipelines --- instance-applications/100-ibm-sls/README.md | 32 +++++++- sls-applications/100-ibm-sls/README.md | 91 ++++++++++++++++++++- 2 files changed, 121 insertions(+), 2 deletions(-) diff --git a/instance-applications/100-ibm-sls/README.md b/instance-applications/100-ibm-sls/README.md index f0845de86..eea413856 100644 --- a/instance-applications/100-ibm-sls/README.md +++ b/instance-applications/100-ibm-sls/README.md @@ -1,10 +1,12 @@ IBM Suite License Service =============================================================================== + +## Overview + Installs the `ibm-sls` operator and creates an instance of the `LicenseService`. - Contains a job that runs last (`07-postsync-update-sm_Job.yaml`). This registers the `${ACCOUNT_ID}/${CLUSTER_ID}/${INSTANCE_ID}/sls` secret in the **Secrets Vault** used to share some information that is generated at runtime with other ArgoCD Applications. ## Resources Created @@ -106,3 +108,31 @@ sm: # Secrets Manager configuration ``` For complete documentation of all base instance values including optional fields like `custom_labels`, `argocluster_instance`, `application_admin_service_account`, `mas_wipe_mongo_data`, `allow_list`, `additional_vpn`, `application_configuration`, `use_postdelete_hooks`, `additional_resources`, `extensions`, `enhanced_dr`, and `cli_image_repo`, see the [Instance Base Values Reference](../../docs/reference/instance-base-values.md). + +## Examples + +Standard SLS deployment using IBM Customer Number (ICN): +```yaml +ibm_sls: + sls_channel: "3.x" + sls_entitlement_file: "" + ibm_entitlement_key: "" + sls_install_plan: Automatic + sls_mongo_secret_name: sls-mongo-credentials + sls_mongo_username: "" + sls_mongo_password: "" + icr_cp_open: "icr.io/cpopen" + run_sync_hooks: true + mongo_spec: + authMechanism: DEFAULT + configDb: admin + secretName: sls-mongo-credentials + retryWrites: false + nodes: + hosts: + - host: mongo.example.com + port: 27017 + sls_pod_templates: + nodeSelector: + kubernetes.io/os: linux +``` diff --git a/sls-applications/100-ibm-sls/README.md b/sls-applications/100-ibm-sls/README.md index 9db482584..653b6e6e0 100644 --- a/sls-applications/100-ibm-sls/README.md +++ b/sls-applications/100-ibm-sls/README.md @@ -1,5 +1,8 @@ IBM Suite License Service =============================================================================== + +## Overview + Installs the `ibm-sls` operator and creates an instance of the `LicenseService`. Contains a job that runs last (`07-postsync-update-sm_Job.yaml`). This registers the `${ACCOUNT_ID}/${ICN}/${SAAS_SUB_ID}/sls` secret in the **Secrets Vault** used to share some information that is generated at runtime with other ArgoCD Applications. @@ -16,4 +19,90 @@ Contains a job that runs last (`07-postsync-update-sm_Job.yaml`). This registers | `NetworkPolicy` | `postsync-ibm-sls-update-sm-np` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | | `ServiceAccount` | `postsync-ibm-sls-update-sm-sa` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | | `Role` | `postsync-ibm-sls-update-sm-r` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | -| `RoleBinding` | `postsync-ibm-sls-update-sm-rb` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | \ No newline at end of file +| `RoleBinding` | `postsync-ibm-sls-update-sm-rb` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | + +## Configuration + +This chart accepts the following configuration values in the ArgoCD Application values: + +```yaml +ibm_sls_standalone: + # Identity (required) + ibm_customer_number: string + subscription_id: string + + # SLS Domain (required) + sls_domain: string + + # Licensing (required) + sls_channel: string + sls_entitlement_file: string (secret reference) + ibm_entitlement_key: string (secret reference) + + # MongoDB Configuration (required) + sls_mongo_secret_name: string + sls_mongo_username: string (secret reference) + sls_mongo_password: string (secret reference) + mongo_spec: + authMechanism: string + configDb: string + secretName: string + retryWrites: boolean (optional) + nodes: + hosts: + - host: string + port: number + certificates: + - alias: string + crt: string (multiline) + + # Operator Configuration + icr_cp_open: string + sls_install_plan: string + run_sync_hooks: boolean + + # DNS Configuration (optional) + dns_provider: string + cis_domain: string + cis_crn: string + + # Pod Templates (optional) + sls_pod_templates: + key: value + + # Certificate Authority (optional) + internal_certificate_authority: string +``` + +**Note**: Values marked with "(secret reference)" should use the format `` to reference secrets stored in the Secrets Vault. + +## Examples + +Centralized SLS deployment with ICN: +```yaml +ibm_sls_standalone: + ibm_customer_number: "1234567" + subscription_id: "sub-001" + sls_domain: "sls.example.com" + sls_channel: "3.x" + sls_entitlement_file: "" + ibm_entitlement_key: "" + sls_install_plan: Automatic + sls_mongo_secret_name: sls-mongo-credentials + sls_mongo_username: "" + sls_mongo_password: "" + icr_cp_open: "icr.io/cpopen" + run_sync_hooks: true + mongo_spec: + authMechanism: DEFAULT + configDb: admin + secretName: sls-mongo-credentials + retryWrites: false + nodes: + hosts: + - host: mongo.example.com + port: 27017 + sls_pod_templates: + nodeSelector: + kubernetes.io/os: linux +``` From 6d7a32f61313958a0a2da444e466258729bf4163 Mon Sep 17 00:00:00 2001 From: Adit Yarra Date: Fri, 14 Aug 2026 11:58:14 +0530 Subject: [PATCH 4/6] revrted changes --- instance-applications/100-ibm-sls/README.md | 28 ------- sls-applications/100-ibm-sls/README.md | 88 +-------------------- 2 files changed, 1 insertion(+), 115 deletions(-) diff --git a/instance-applications/100-ibm-sls/README.md b/instance-applications/100-ibm-sls/README.md index eea413856..8653c49e0 100644 --- a/instance-applications/100-ibm-sls/README.md +++ b/instance-applications/100-ibm-sls/README.md @@ -108,31 +108,3 @@ sm: # Secrets Manager configuration ``` For complete documentation of all base instance values including optional fields like `custom_labels`, `argocluster_instance`, `application_admin_service_account`, `mas_wipe_mongo_data`, `allow_list`, `additional_vpn`, `application_configuration`, `use_postdelete_hooks`, `additional_resources`, `extensions`, `enhanced_dr`, and `cli_image_repo`, see the [Instance Base Values Reference](../../docs/reference/instance-base-values.md). - -## Examples - -Standard SLS deployment using IBM Customer Number (ICN): -```yaml -ibm_sls: - sls_channel: "3.x" - sls_entitlement_file: "" - ibm_entitlement_key: "" - sls_install_plan: Automatic - sls_mongo_secret_name: sls-mongo-credentials - sls_mongo_username: "" - sls_mongo_password: "" - icr_cp_open: "icr.io/cpopen" - run_sync_hooks: true - mongo_spec: - authMechanism: DEFAULT - configDb: admin - secretName: sls-mongo-credentials - retryWrites: false - nodes: - hosts: - - host: mongo.example.com - port: 27017 - sls_pod_templates: - nodeSelector: - kubernetes.io/os: linux -``` diff --git a/sls-applications/100-ibm-sls/README.md b/sls-applications/100-ibm-sls/README.md index 653b6e6e0..bec850ba4 100644 --- a/sls-applications/100-ibm-sls/README.md +++ b/sls-applications/100-ibm-sls/README.md @@ -19,90 +19,4 @@ Contains a job that runs last (`07-postsync-update-sm_Job.yaml`). This registers | `NetworkPolicy` | `postsync-ibm-sls-update-sm-np` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | | `ServiceAccount` | `postsync-ibm-sls-update-sm-sa` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | | `Role` | `postsync-ibm-sls-update-sm-r` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | -| `RoleBinding` | `postsync-ibm-sls-update-sm-rb` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | - -## Configuration - -This chart accepts the following configuration values in the ArgoCD Application values: - -```yaml -ibm_sls_standalone: - # Identity (required) - ibm_customer_number: string - subscription_id: string - - # SLS Domain (required) - sls_domain: string - - # Licensing (required) - sls_channel: string - sls_entitlement_file: string (secret reference) - ibm_entitlement_key: string (secret reference) - - # MongoDB Configuration (required) - sls_mongo_secret_name: string - sls_mongo_username: string (secret reference) - sls_mongo_password: string (secret reference) - mongo_spec: - authMechanism: string - configDb: string - secretName: string - retryWrites: boolean (optional) - nodes: - hosts: - - host: string - port: number - certificates: - - alias: string - crt: string (multiline) - - # Operator Configuration - icr_cp_open: string - sls_install_plan: string - run_sync_hooks: boolean - - # DNS Configuration (optional) - dns_provider: string - cis_domain: string - cis_crn: string - - # Pod Templates (optional) - sls_pod_templates: - key: value - - # Certificate Authority (optional) - internal_certificate_authority: string -``` - -**Note**: Values marked with "(secret reference)" should use the format `` to reference secrets stored in the Secrets Vault. - -## Examples - -Centralized SLS deployment with ICN: -```yaml -ibm_sls_standalone: - ibm_customer_number: "1234567" - subscription_id: "sub-001" - sls_domain: "sls.example.com" - sls_channel: "3.x" - sls_entitlement_file: "" - ibm_entitlement_key: "" - sls_install_plan: Automatic - sls_mongo_secret_name: sls-mongo-credentials - sls_mongo_username: "" - sls_mongo_password: "" - icr_cp_open: "icr.io/cpopen" - run_sync_hooks: true - mongo_spec: - authMechanism: DEFAULT - configDb: admin - secretName: sls-mongo-credentials - retryWrites: false - nodes: - hosts: - - host: mongo.example.com - port: 27017 - sls_pod_templates: - nodeSelector: - kubernetes.io/os: linux -``` +| `RoleBinding` | `postsync-ibm-sls-update-sm-rb` | `mas---sls` | When `run_sync_hooks` and `application_admin_role` are true | `application_admin_role` | \ No newline at end of file From 4f5bfe93166e667a6104485f7a1cb1afdd6a607f Mon Sep 17 00:00:00 2001 From: Adit Yarra Date: Mon, 17 Aug 2026 12:16:23 +0530 Subject: [PATCH 5/6] redordered sls_pod_templates --- .../ibm-mas-instance-root/templates/100-ibm-sls-app.yaml | 6 +++--- .../ibm-mas-sls-root/templates/100-ibm-sls-app.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml b/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml index e3ce37274..36227a586 100644 --- a/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml +++ b/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml @@ -72,6 +72,9 @@ spec: {{- if .Values.custom_labels }} custom_labels: {{ .Values.custom_labels | toYaml | nindent 14 }} {{- end }} + {{- if .Values.ibm_sls.sls_pod_templates }} + sls_pod_templates: {{ .Values.ibm_sls.sls_pod_templates | toYaml | nindent 14 }} + {{- end }} junitreporter: reporter_name: "ibm-sls-{{ .Values.instance.id }}" cluster_id: "{{ .Values.cluster.id }}" @@ -80,9 +83,6 @@ spec: devops_build_number: "{{ .Values.devops.build_number }}" gitops_version: "{{ .Values.source.revision }}" cli_image_repo: {{ .Values.cli_image_repo }} - {{- if .Values.ibm_sls.sls_pod_templates }} - sls_pod_templates: {{ .Values.ibm_sls.sls_pod_templates | toYaml | nindent 14 }} - {{- end }} {{- if .Values.ibm_sls.internal_certificate_authority }} internal_certificate_authority: "{{ .Values.ibm_sls.internal_certificate_authority }}" {{- end }} diff --git a/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml b/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml index d852e67c4..0c355f9be 100644 --- a/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml +++ b/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml @@ -70,6 +70,9 @@ spec: {{- if .Values.custom_labels }} custom_labels: {{ .Values.custom_labels | toYaml | nindent 14 }} {{- end }} + {{- if .Values.ibm_sls_standalone.sls_pod_templates }} + sls_pod_templates: {{ .Values.ibm_sls_standalone.sls_pod_templates | toYaml | nindent 14 }} + {{- end }} junitreporter: reporter_name: "ibm-sls-{{ .Values.ibm_sls_standalone.ibm_customer_number | lower }}-{{ .Values.ibm_sls_standalone.subscription_id}}" cluster_id: "{{ .Values.cluster.id }}" @@ -78,9 +81,6 @@ spec: devops_mongo_uri: "{{ .Values.devops.mongo_uri }}" devops_build_number: "{{ .Values.devops.build_number }}" gitops_version: "{{ .Values.source.revision }}" - {{- if .Values.ibm_sls_standalone.sls_pod_templates }} - sls_pod_templates: {{ .Values.ibm_sls_standalone.sls_pod_templates | toYaml | nindent 14 }} - {{- end }} {{- if .Values.ibm_sls_standalone.internal_certificate_authority }} internal_certificate_authority: "{{ .Values.ibm_sls_standalone.internal_certificate_authority }}" {{- end }} From 8db247f532dff69e2bf0d9df7d27d3f7473c872e Mon Sep 17 00:00:00 2001 From: Adit Yarra Date: Tue, 18 Aug 2026 13:18:01 +0530 Subject: [PATCH 6/6] indentation error, switched from nindent to indent --- .../ibm-mas-instance-root/templates/100-ibm-sls-app.yaml | 3 ++- .../ibm-mas-sls-root/templates/100-ibm-sls-app.yaml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml b/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml index 36227a586..8b462269a 100644 --- a/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml +++ b/root-applications/ibm-mas-instance-root/templates/100-ibm-sls-app.yaml @@ -73,7 +73,8 @@ spec: custom_labels: {{ .Values.custom_labels | toYaml | nindent 14 }} {{- end }} {{- if .Values.ibm_sls.sls_pod_templates }} - sls_pod_templates: {{ .Values.ibm_sls.sls_pod_templates | toYaml | nindent 14 }} + sls_pod_templates: +{{ .Values.ibm_sls.sls_pod_templates | toYaml | indent 14 }} {{- end }} junitreporter: reporter_name: "ibm-sls-{{ .Values.instance.id }}" diff --git a/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml b/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml index 0c355f9be..adda0eeec 100644 --- a/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml +++ b/root-applications/ibm-mas-sls-root/templates/100-ibm-sls-app.yaml @@ -71,7 +71,8 @@ spec: custom_labels: {{ .Values.custom_labels | toYaml | nindent 14 }} {{- end }} {{- if .Values.ibm_sls_standalone.sls_pod_templates }} - sls_pod_templates: {{ .Values.ibm_sls_standalone.sls_pod_templates | toYaml | nindent 14 }} + sls_pod_templates: +{{ .Values.ibm_sls_standalone.sls_pod_templates | toYaml | indent 14 }} {{- end }} junitreporter: reporter_name: "ibm-sls-{{ .Values.ibm_sls_standalone.ibm_customer_number | lower }}-{{ .Values.ibm_sls_standalone.subscription_id}}"