mas-cli 15.1.9__py3-none-any.whl → 15.1.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mas-cli might be problematic. Click here for more details.

mas/cli/__init__.py CHANGED
@@ -8,4 +8,4 @@
8
8
  #
9
9
  # *****************************************************************************
10
10
 
11
- __version__ = "15.1.9" # Python module compatible semver
11
+ __version__ = "15.1.11" # Python module compatible semver
@@ -204,18 +204,19 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
204
204
 
205
205
  elif key == "install_minio_aiservice":
206
206
  incompatibleWithMinioInstall = [
207
- "aiservice_storage_provider",
208
- "aiservice_storage_accesskey",
209
- "aiservice_storage_secretkey",
210
- "aiservice_storage_host",
211
- "aiservice_storage_port",
212
- "aiservice_storage_ssl",
213
- "aiservice_s3_endpoint_url",
214
- "aiservice_storage_region",
215
- "aiservice_tenant_s3_access_key",
216
- "aiservice_tenant_s3_secret_key",
217
- "aiservice_tenant_s3_endpoint_url",
218
- "aiservice_tenant_s3_region"
207
+ # "aiservice_s3_provider",
208
+ "aiservice_s3_accesskey",
209
+ "aiservice_s3_secretkey",
210
+ "aiservice_s3_host",
211
+ "aiservice_s3_port",
212
+ "aiservice_s3_ssl",
213
+ "aiservice_s3_bucket_prefix",
214
+ # "aiservice_s3_endpoint_url",
215
+ "aiservice_s3_region",
216
+ # "aiservice_tenant_s3_access_key",
217
+ # "aiservice_tenant_s3_secret_key",
218
+ # "aiservice_tenant_s3_endpoint_url",
219
+ # "aiservice_tenant_s3_region"
219
220
  ]
220
221
  if value is None:
221
222
  for uKey in incompatibleWithMinioInstall:
@@ -230,23 +231,24 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
230
231
  if vars(self.args)[rKey] is None:
231
232
  self.fatalError(f"Missing required parameter for --install-minio: {rKey}")
232
233
 
233
- self.setParam("aiservice_storage_provider", "minio")
234
+ # self.setParam("aiservice_s3_provider", "minio")
234
235
 
235
- self.setParam("aiservice_storage_accesskey", self.args.minio_root_user)
236
- self.setParam("aiservice_storage_secretkey", self.args.minio_root_password)
236
+ self.setParam("aiservice_s3_accesskey", self.args.minio_root_user)
237
+ self.setParam("aiservice_s3_secretkey", self.args.minio_root_password)
237
238
 
238
239
  # TODO: Duplication -- we already have the URL, why do we need all the individual parts,
239
240
  # especially when we don't need them for the tenant?
240
- self.setParam("aiservice_storage_host", "minio-service.minio.svc.cluster.local")
241
- self.setParam("aiservice_storage_port", "9000")
242
- self.setParam("aiservice_storage_ssl", "false")
243
- self.setParam("aiservice_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
244
- self.setParam("aiservice_storage_region", "none")
245
-
246
- self.setParam("aiservice_tenant_s3_access_key", self.args.minio_root_user)
247
- self.setParam("aiservice_tenant_s3_secret_key", self.args.minio_root_password)
248
- self.setParam("aiservice_tenant_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
249
- self.setParam("aiservice_tenant_s3_region", "none")
241
+ self.setParam("aiservice_s3_host", "minio-service.minio.svc.cluster.local")
242
+ self.setParam("aiservice_s3_port", "9000")
243
+ self.setParam("aiservice_s3_ssl", "false")
244
+ # self.setParam("aiservice_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
245
+ self.setParam("aiservice_s3_region", "none")
246
+ self.setParam("aiservice_s3_bucket_prefix", "aiservice")
247
+
248
+ # self.setParam("aiservice_tenant_s3_access_key", self.args.minio_root_user)
249
+ # self.setParam("aiservice_tenant_s3_secret_key", self.args.minio_root_password)
250
+ # self.setParam("aiservice_tenant_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
251
+ # self.setParam("aiservice_tenant_s3_region", "none")
250
252
  else:
251
253
  self.fatalError(f"Unsupported value for --install-minio: {value}")
252
254
 
@@ -544,21 +546,22 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
544
546
  else:
545
547
  # Ask for external storage configuration
546
548
  self.printDescription(["Configure your external object storage (S3-compatible) connection details:"])
547
- s3Completer = WordCompleter(["aws", "minio"])
548
- s3Provider = self.promptForString("Storage provider", completer=s3Completer)
549
- self.setParam("aiservice_storage_provider", s3Provider)
550
- self.promptForString("Storage access key", "aiservice_storage_accesskey")
551
- self.promptForString("Storage secret key", "aiservice_storage_secretkey", isPassword=True)
552
- self.promptForString("Storage host", "aiservice_storage_host")
553
- self.promptForString("Storage port", "aiservice_storage_port")
554
- self.promptForString("Storage ssl", "aiservice_storage_ssl")
555
- self.promptForString("Storage region", "aiservice_storage_region")
556
- self.promptForString("Storage pipelines bucket", "aiservice_storage_pipelines_bucket")
557
- self.promptForString("Storage tenants bucket", "aiservice_storage_tenants_bucket")
558
- self.promptForString("Storage templates bucket", "aiservice_storage_templates_bucket")
549
+ # s3_completer = WordCompleter(["aws", "minio"])
550
+ # s3_provider = self.promptForString("Storage provider", completer=s3_completer)
551
+ # self.setParam("aiservice_s3_provider", s3_provider)
552
+ self.promptForString("Storage access key", "aiservice_s3_accesskey")
553
+ self.promptForString("Storage secret key", "aiservice_s3_secretkey", isPassword=True)
554
+ self.promptForString("Storage host", "aiservice_s3_host")
555
+ self.promptForString("Storage port", "aiservice_s3_port")
556
+ self.promptForString("Storage ssl", "aiservice_s3_ssl")
557
+ self.promptForString("Storage region", "aiservice_s3_region")
558
+ self.promptForString("Storage bucket prefix", "aiservice_s3_bucket_prefix")
559
+ self.promptForString("Storage pipelines bucket", "aiservice_s3_pipelines_bucket")
560
+ self.promptForString("Storage tenants bucket", "aiservice_s3_tenants_bucket")
561
+ self.promptForString("Storage templates bucket", "aiservice_s3_templates_bucket")
559
562
 
560
563
  # S3 parameters are now auto-derived from storage configuration
561
- self._deriveS3ParametersFromStorage()
564
+ # self._deriveS3ParametersFromStorage()
562
565
 
563
566
  def aiServiceTenantSettings(self) -> None:
564
567
  self.printH1("AI Service Tenant Settings")
@@ -566,65 +569,66 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
566
569
  self.promptForString("Tenant start date", "tenant_entitlement_start_date")
567
570
  self.promptForString("Tenant end date", "tenant_entitlement_end_date")
568
571
 
569
- def _deriveS3ParametersFromStorage(self) -> None:
570
- """
571
- Auto-derive S3 and tenant S3 parameters from the aiservice_storage_* parameters.
572
- This reuses the values provided for kmodel object storage to avoid redundant prompts.
573
- """
574
- storage_provider = self.getParam("aiservice_storage_provider")
575
- storage_host = self.getParam("aiservice_storage_host")
576
- storage_port = self.getParam("aiservice_storage_port")
577
- storage_ssl = self.getParam("aiservice_storage_ssl")
578
- storage_region = self.getParam("aiservice_storage_region")
579
- storage_accesskey = self.getParam("aiservice_storage_accesskey")
580
- storage_secretkey = self.getParam("aiservice_storage_secretkey")
581
-
582
- # Build endpoint URL from storage configuration
583
- protocol = "https" if storage_ssl == "true" else "http"
584
-
585
- if storage_provider == "minio":
586
- endpoint_url = f"{protocol}://{storage_host}:{storage_port}"
587
- elif storage_provider == "s3":
588
- # For AWS S3, construct proper endpoint
589
- if storage_region and storage_region != "none":
590
- endpoint_url = f"{protocol}://s3.{storage_region}.amazonaws.com"
591
- else:
592
- endpoint_url = f"{protocol}://s3.amazonaws.com"
593
- else:
594
- # For other providers, construct basic endpoint
595
- endpoint_url = f"{protocol}://{storage_host}:{storage_port}" if storage_port else f"{protocol}://{storage_host}"
596
-
597
- # Set S3 parameters (reusing storage configuration)
598
- self.setParam("aiservice_s3_bucket_prefix", "aiservice") # Default prefix
599
- if endpoint_url:
600
- self.setParam("aiservice_s3_endpoint_url", endpoint_url)
601
- self.setParam("aiservice_s3_region", storage_region if storage_region else "none")
602
-
603
- # Set tenant S3 parameters (reusing same storage configuration)
604
- self.setParam("aiservice_tenant_s3_bucket_prefix", "tenant") # Default tenant prefix
605
- self.setParam("aiservice_tenant_s3_access_key", storage_accesskey)
606
- self.setParam("aiservice_tenant_s3_secret_key", storage_secretkey)
607
- if endpoint_url:
608
- self.setParam("aiservice_tenant_s3_endpoint_url", endpoint_url)
609
- self.setParam("aiservice_tenant_s3_region", storage_region if storage_region else "none")
572
+ # def _deriveS3ParametersFromStorage(self) -> None:
573
+ # """
574
+ # Auto-derive S3 and tenant S3 parameters from the aiservice_s3_* parameters.
575
+ # This reuses the values provided for kmodel object storage to avoid redundant prompts.
576
+ # """
577
+ # storage_provider = self.getParam("aiservice_s3_provider")
578
+ # storage_host = self.getParam("aiservice_s3_host")
579
+ # storage_port = self.getParam("aiservice_s3_port")
580
+ # storage_ssl = self.getParam("aiservice_s3_ssl")
581
+ # storage_region = self.getParam("aiservice_s3_region")
582
+ # storage_bucket_prefix = self.getParam("aiservice_s3_bucket_prefix")
583
+ # storage_accesskey = self.getParam("aiservice_s3_accesskey")
584
+ # storage_secretkey = self.getParam("aiservice_s3_secretkey")
585
+
586
+ # # Build endpoint URL from storage configuration
587
+ # protocol = "https" if storage_ssl == "true" else "http"
588
+
589
+ # if storage_provider == "minio":
590
+ # endpoint_url = f"{protocol}://{storage_host}:{storage_port}"
591
+ # elif storage_provider == "aws":
592
+ # # For AWS S3, construct proper endpoint
593
+ # if storage_region and storage_region != "none":
594
+ # endpoint_url = f"{protocol}://s3.{storage_region}.amazonaws.com"
595
+ # else:
596
+ # endpoint_url = f"{protocol}://s3.amazonaws.com"
597
+ # else:
598
+ # # For other providers, construct basic endpoint
599
+ # endpoint_url = f"{protocol}://{storage_host}:{storage_port}" if storage_port else f"{protocol}://{storage_host}"
600
+
601
+ # # Set S3 parameters (reusing storage configuration)
602
+ # if endpoint_url:
603
+ # self.setParam("aiservice_s3_endpoint_url", endpoint_url)
604
+ # self.setParam("aiservice_s3_region", storage_region if storage_region else "none")
605
+
606
+ # # Set tenant S3 parameters (reusing same storage configuration)
607
+ # self.setParam("aiservice_tenant_s3_bucket_prefix", "tenant") # Default tenant prefix
608
+ # self.setParam("aiservice_tenant_s3_access_key", storage_accesskey)
609
+ # self.setParam("aiservice_tenant_s3_secret_key", storage_secretkey)
610
+ # if endpoint_url:
611
+ # self.setParam("aiservice_tenant_s3_endpoint_url", endpoint_url)
612
+ # self.setParam("aiservice_tenant_s3_region", storage_region if storage_region else "none")
610
613
 
611
614
  def _setMinioStorageDefaults(self) -> None:
612
615
  """
613
616
  Set MinIO storage defaults when MinIO is being installed in-cluster.
614
617
  This mirrors the logic from non-interactive mode.
615
618
  """
616
- self.setParam("aiservice_storage_provider", "minio")
617
- self.setParam("aiservice_storage_accesskey", self.getParam("minio_root_user"))
618
- self.setParam("aiservice_storage_secretkey", self.getParam("minio_root_password"))
619
- self.setParam("aiservice_storage_host", "minio-service.minio.svc.cluster.local")
620
- self.setParam("aiservice_storage_port", "9000")
621
- self.setParam("aiservice_storage_ssl", "false")
622
- self.setParam("aiservice_storage_region", "none")
619
+ # self.setParam("aiservice_s3_provider", "minio")
620
+ self.setParam("aiservice_s3_accesskey", self.getParam("minio_root_user"))
621
+ self.setParam("aiservice_s3_secretkey", self.getParam("minio_root_password"))
622
+ self.setParam("aiservice_s3_host", "minio-service.minio.svc.cluster.local")
623
+ self.setParam("aiservice_s3_port", "9000")
624
+ self.setParam("aiservice_s3_ssl", "false")
625
+ self.setParam("aiservice_s3_region", "none")
626
+ self.setParam("aiservice_s3_bucket_prefix", "aiservice")
623
627
 
624
628
  # Set default bucket names
625
- self.setParam("aiservice_storage_pipelines_bucket", "km-pipelines")
626
- self.setParam("aiservice_storage_tenants_bucket", "km-tenants")
627
- self.setParam("aiservice_storage_templates_bucket", "km-templates")
629
+ self.setParam("aiservice_s3_pipelines_bucket", "km-pipelines")
630
+ self.setParam("aiservice_s3_tenants_bucket", "km-tenants")
631
+ self.setParam("aiservice_s3_templates_bucket", "km-templates")
628
632
 
629
633
  def aiServiceIntegrations(self) -> None:
630
634
  self.printH1("WatsonX Integration")
@@ -103,28 +103,30 @@ class aiServiceInstallArgBuilderMixin():
103
103
  if self.getParam('service_account_name') != "":
104
104
  command += f" --service-account {self.getParam('service_account_name')}{newline}"
105
105
 
106
- # Aibroker Advanced Settings
106
+ # AI Service Advanced Settings
107
107
  # -----------------------------------------------------------------------------
108
- if self.getParam('aiservice_storage_provider') != "":
109
- command += f" --s3-provider \"{self.getParam('aiservice_storage_provider')}\"{newline}"
110
- if self.getParam('aiservice_storage_accesskey') != "":
111
- command += f" --s3-accesskey \"{self.getParam('aiservice_storage_accesskey')}\"{newline}"
112
- if self.getParam('aiservice_storage_secretkey') != "":
113
- command += f" --s3-secretkey \"{self.getParam('aiservice_storage_secretkey')}\"{newline}"
114
- if self.getParam('aiservice_storage_host') != "":
115
- command += f" --s3-host \"{self.getParam('aiservice_storage_host')}\"{newline}"
116
- if self.getParam('aiservice_storage_port') != "":
117
- command += f" --s3-port \"{self.getParam('aiservice_storage_port')}\"{newline}"
118
- if self.getParam('aiservice_storage_ssl') != "":
119
- command += f" --s3-ssl \"{self.getParam('aiservice_storage_ssl')}\"{newline}"
120
- if self.getParam('aiservice_storage_region') != "":
121
- command += f" --s3-region \"{self.getParam('aiservice_storage_region')}\"{newline}"
122
- if self.getParam('aiservice_storage_pipelines_bucket') != "":
123
- command += f" --s3-pipelines-bucket \"{self.getParam('aiservice_storage_pipelines_bucket')}\"{newline}"
124
- if self.getParam('aiservice_storage_tenants_bucket') != "":
125
- command += f" --s3-tenants-bucket \"{self.getParam('aiservice_storage_tenants_bucket')}\"{newline}"
126
- if self.getParam('aiservice_storage_templates_bucket') != "":
127
- command += f" --s3-templates-bucket \"{self.getParam('aiservice_storage_templates_bucket')}\"{newline}"
108
+ # if self.getParam('aiservice_s3_provider') != "":
109
+ # command += f" --s3-provider \"{self.getParam('aiservice_s3_provider')}\"{newline}"
110
+ if self.getParam('aiservice_s3_accesskey') != "":
111
+ command += f" --s3-accesskey \"{self.getParam('aiservice_s3_accesskey')}\"{newline}"
112
+ if self.getParam('aiservice_s3_secretkey') != "":
113
+ command += f" --s3-secretkey \"{self.getParam('aiservice_s3_secretkey')}\"{newline}"
114
+ if self.getParam('aiservice_s3_host') != "":
115
+ command += f" --s3-host \"{self.getParam('aiservice_s3_host')}\"{newline}"
116
+ if self.getParam('aiservice_s3_port') != "":
117
+ command += f" --s3-port \"{self.getParam('aiservice_s3_port')}\"{newline}"
118
+ if self.getParam('aiservice_s3_ssl') != "":
119
+ command += f" --s3-ssl \"{self.getParam('aiservice_s3_ssl')}\"{newline}"
120
+ if self.getParam('aiservice_s3_region') != "":
121
+ command += f" --s3-region \"{self.getParam('aiservice_s3_region')}\"{newline}"
122
+ if self.getParam('aiservice_s3_bucket_prefix') != "":
123
+ command += f" --s3-bucket-prefix \"{self.getParam('aiservice_s3_bucket_prefix')}\"{newline}"
124
+ if self.getParam('aiservice_s3_pipelines_bucket') != "":
125
+ command += f" --s3-pipelines-bucket \"{self.getParam('aiservice_s3_pipelines_bucket')}\"{newline}"
126
+ if self.getParam('aiservice_s3_tenants_bucket') != "":
127
+ command += f" --s3-tenants-bucket \"{self.getParam('aiservice_s3_tenants_bucket')}\"{newline}"
128
+ if self.getParam('aiservice_s3_templates_bucket') != "":
129
+ command += f" --s3-templates-bucket \"{self.getParam('aiservice_s3_templates_bucket')}\"{newline}"
128
130
 
129
131
  if self.getParam('aiservice_watsonxai_apikey') != "":
130
132
  command += f" --watsonxai-apikey \"{self.getParam('aiservice_watsonxai_apikey')}\"{newline}"
@@ -147,24 +149,6 @@ class aiServiceInstallArgBuilderMixin():
147
149
  if self.getParam('tenant_entitlement_end_date') != "":
148
150
  command += f" --tenant-entitlement-end-date \"{self.getParam('tenant_entitlement_end_date')}\"{newline}"
149
151
 
150
- if self.getParam('aiservice_s3_bucket_prefix') != "":
151
- command += f" --s3-bucket-prefix \"{self.getParam('aiservice_s3_bucket_prefix')}\"{newline}"
152
- if self.getParam('aiservice_s3_endpoint_url') != "":
153
- command += f" --s3-endpoint-url \"{self.getParam('aiservice_s3_endpoint_url')}\"{newline}"
154
- if self.getParam('aiservice_s3_region') != "":
155
- command += f" --s3-region \"{self.getParam('aiservice_s3_region')}\"{newline}"
156
-
157
- if self.getParam('aiservice_tenant_s3_bucket_prefix') != "":
158
- command += f" --s3-bucket-prefix-tenant \"{self.getParam('aiservice_tenant_s3_bucket_prefix')}\"{newline}"
159
- if self.getParam('aiservice_tenant_s3_region') != "":
160
- command += f" --s3-tenant-region \"{self.getParam('aiservice_tenant_s3_region')}\"{newline}"
161
- if self.getParam('aiservice_tenant_s3_endpoint_url') != "":
162
- command += f" --s3-tenant-endpoint-url \"{self.getParam('aiservice_tenant_s3_endpoint_url')}\"{newline}"
163
- if self.getParam('aiservice_tenant_s3_access_key') != "":
164
- command += f" --s3-tenant-access-key \"{self.getParam('aiservice_tenant_s3_access_key')}\"{newline}"
165
- if self.getParam('aiservice_tenant_s3_secret_key') != "":
166
- command += f" --s3-tenant-secret-key \"{self.getParam('aiservice_tenant_s3_secret_key')}\"{newline}"
167
-
168
152
  if self.getParam('rsl_url') != "":
169
153
  command += f" --rsl-url \"{self.getParam('rsl_url')}\"{newline}"
170
154
  if self.getParam('rsl_org_id') != "":
@@ -168,17 +168,26 @@ masAppsArgGroup = aiServiceinstallArgParser.add_argument_group("MAS Applications
168
168
  masAppsArgGroup.add_argument(
169
169
  "--aiservice-channel",
170
170
  required=False,
171
- help="Subscription channel for Maximo Ai Broker"
171
+ help="Subscription channel for Maximo AI Service"
172
172
  )
173
173
 
174
- # AI Broker
174
+ # AI Service
175
+ # -----------------------------------------------------------------------------
176
+ aiServiceArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Service")
177
+
178
+ # S3 - General
175
179
  # -----------------------------------------------------------------------------
176
- aibrokerArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Broker")
180
+ s3ArgGroup = aiServiceinstallArgParser.add_argument_group("S3 Storage")
177
181
 
182
+ # s3ArgGroup.add_argument(
183
+ # "--s3-provider",
184
+ # dest="aiservice_s3_provider",
185
+ # required=False,
186
+ # help="S3 storage provider type (e.g., minio, aws)"
187
+ # )
178
188
 
179
189
  # S3 - Minio
180
190
  # -----------------------------------------------------------------------------
181
- s3ArgGroup = aiServiceinstallArgParser.add_argument_group("S3 Storage")
182
191
  s3ArgGroup.add_argument(
183
192
  "--install-minio",
184
193
  dest="install_minio_aiservice",
@@ -201,126 +210,73 @@ s3ArgGroup.add_argument(
201
210
  help="Password for minio root user"
202
211
  )
203
212
 
204
- # S3 - General
205
- # -----------------------------------------------------------------------------
206
- s3ArgGroup.add_argument(
207
- "--s3-provider",
208
- dest="aiservice_storage_provider",
209
- required=False,
210
- help="S3 storage provider type (e.g., minio, aws)"
211
- )
212
-
213
- # S3 - Bucket Naming
214
- # -----------------------------------------------------------------------------
215
- s3ArgGroup.add_argument(
216
- "--s3-pipelines-bucket",
217
- dest="aiservice_storage_pipelines_bucket",
218
- required=False,
219
- default="km-pipelines",
220
- help="Name of the S3 bucket for pipelines storage"
221
- )
222
- s3ArgGroup.add_argument(
223
- "--s3-tenants-bucket",
224
- dest="aiservice_storage_tenants_bucket",
225
- required=False,
226
- default="km-tenants",
227
- help="Name of the S3 bucket for tenants storage"
228
- )
229
- s3ArgGroup.add_argument(
230
- "--s3-templates-bucket",
231
- dest="aiservice_storage_templates_bucket",
232
- required=False,
233
- default="km-templates",
234
- help="Name of the S3 bucket for templates storage"
235
- )
236
-
237
- # S3 - Bucket Prefixes
238
- # -----------------------------------------------------------------------------
239
- s3ArgGroup.add_argument(
240
- "--s3-bucket-prefix",
241
- dest="aiservice_s3_bucket_prefix",
242
- required=False,
243
- default="s3",
244
- help="s3 bucket prefix"
245
- )
246
- s3ArgGroup.add_argument(
247
- "--s3-bucket-prefix-tenant",
248
- dest="aiservice_tenant_s3_bucket_prefix",
249
- required=False,
250
- default="s3",
251
- help="s3 bucket prefix ( tenant level )"
252
- )
253
-
254
213
  # S3 - External Connection
255
214
  # -----------------------------------------------------------------------------
256
215
  s3ArgGroup.add_argument(
257
216
  "--s3-host",
258
- dest="aiservice_storage_host",
217
+ dest="aiservice_s3_host",
259
218
  required=False,
260
219
  help="Hostname or IP address of the S3 storage service"
261
220
  )
262
221
  s3ArgGroup.add_argument(
263
222
  "--s3-port",
264
- dest="aiservice_storage_port",
223
+ dest="aiservice_s3_port",
265
224
  required=False,
266
225
  help="Port number for the S3 storage service"
267
226
  )
268
227
  s3ArgGroup.add_argument(
269
228
  "--s3-ssl",
270
- dest="aiservice_storage_ssl",
229
+ dest="aiservice_s3_ssl",
271
230
  required=False,
272
231
  help="Enable or disable SSL for S3 connection (true/false)"
273
232
  )
274
233
  s3ArgGroup.add_argument(
275
234
  "--s3-accesskey",
276
- dest="aiservice_storage_accesskey",
235
+ dest="aiservice_s3_accesskey",
277
236
  required=False,
278
237
  help="Access key for authenticating with the S3 storage service"
279
238
  )
280
239
  s3ArgGroup.add_argument(
281
240
  "--s3-secretkey",
282
- dest="aiservice_storage_secretkey",
241
+ dest="aiservice_s3_secretkey",
283
242
  required=False,
284
243
  help="Secret key for authenticating with the S3 storage service"
285
244
  )
286
245
  s3ArgGroup.add_argument(
287
246
  "--s3-region",
288
- dest="aiservice_storage_region",
247
+ dest="aiservice_s3_region",
289
248
  required=False,
290
249
  help="Region for the S3 storage service"
291
250
  )
292
251
  s3ArgGroup.add_argument(
293
- "--s3-endpoint-url",
294
- dest="aiservice_s3_endpoint_url",
252
+ "--s3-bucket-prefix",
253
+ dest="aiservice_s3_bucket_prefix",
295
254
  required=False,
296
- help="endpoint url for s3"
255
+ help="Bucket prefix configured with S3 storage service"
297
256
  )
298
257
 
299
- # S3 - External Access Credentials (Tenant)
258
+ # S3 - Bucket Naming
300
259
  # -----------------------------------------------------------------------------
301
260
  s3ArgGroup.add_argument(
302
- "--s3-tenant-access-key",
303
- dest="aiservice_tenant_s3_access_key",
304
- required=False,
305
- help="access key for s3 ( tenant level )"
306
- )
307
- s3ArgGroup.add_argument(
308
- "--s3-tenant-secret-key",
309
- dest="aiservice_tenant_s3_secret_key",
261
+ "--s3-pipelines-bucket",
262
+ dest="aiservice_s3_pipelines_bucket",
310
263
  required=False,
311
- help="secret key for s3 ( tenant level )"
264
+ default="km-pipelines",
265
+ help="Name of the S3 bucket for pipelines storage"
312
266
  )
313
267
  s3ArgGroup.add_argument(
314
- "--s3-tenant-region",
315
- dest="aiservice_tenant_s3_region",
268
+ "--s3-tenants-bucket",
269
+ dest="aiservice_s3_tenants_bucket",
316
270
  required=False,
317
- help="s3 region ( tenant level )"
271
+ default="km-tenants",
272
+ help="Name of the S3 bucket for tenants storage"
318
273
  )
319
274
  s3ArgGroup.add_argument(
320
- "--s3-tenant-endpoint-url",
321
- dest="aiservice_tenant_s3_endpoint_url",
275
+ "--s3-templates-bucket",
276
+ dest="aiservice_s3_templates_bucket",
322
277
  required=False,
323
- help="endpoint url for s3 ( tenant level )"
278
+ default="km-templates",
279
+ help="Name of the S3 bucket for templates storage"
324
280
  )
325
281
 
326
282
  # Watsonx
@@ -355,49 +311,49 @@ watsonxArgGroup.add_argument(
355
311
 
356
312
  # AI Service
357
313
  # -----------------------------------------------------------------------------
358
- aibrokerArgGroup.add_argument(
314
+ aiServiceArgGroup.add_argument(
359
315
  "--tenant-entitlement-type",
360
316
  dest="tenant_entitlement_type",
361
317
  required=False,
362
318
  help="Type of aibroker tenant"
363
319
  )
364
- aibrokerArgGroup.add_argument(
320
+ aiServiceArgGroup.add_argument(
365
321
  "--tenant-entitlement-start-date",
366
322
  dest="tenant_entitlement_start_date",
367
323
  required=False,
368
324
  help="Start date for Aibroker tenant"
369
325
  )
370
- aibrokerArgGroup.add_argument(
326
+ aiServiceArgGroup.add_argument(
371
327
  "--tenant-entitlement-end-date",
372
328
  dest="tenant_entitlement_end_date",
373
329
  required=False,
374
330
  help="End date for Aibroker tenant"
375
331
  )
376
- aibrokerArgGroup.add_argument(
332
+ aiServiceArgGroup.add_argument(
377
333
  "--rsl-url",
378
334
  dest="rsl_url",
379
335
  required=False,
380
336
  help="rsl url"
381
337
  )
382
- aibrokerArgGroup.add_argument(
338
+ aiServiceArgGroup.add_argument(
383
339
  "--rsl-org-id",
384
340
  dest="rsl_org_id",
385
341
  required=False,
386
342
  help="org id for rsl"
387
343
  )
388
- aibrokerArgGroup.add_argument(
344
+ aiServiceArgGroup.add_argument(
389
345
  "--rsl-token",
390
346
  dest="rsl_token",
391
347
  required=False,
392
348
  help="token for rsl"
393
349
  )
394
- aibrokerArgGroup.add_argument(
350
+ aiServiceArgGroup.add_argument(
395
351
  "--rsl-ca-crt",
396
352
  dest="rsl_ca_crt",
397
353
  required=False,
398
354
  help="CA certificate for RSL API (PEM format, optional, only if using self-signed certs)"
399
355
  )
400
- aibrokerArgGroup.add_argument(
356
+ aiServiceArgGroup.add_argument(
401
357
  "--environment-type",
402
358
  dest="environment_type",
403
359
  required=False,
@@ -57,17 +57,18 @@ optionalParams = [
57
57
  # Dev Mode
58
58
  "artifactory_username",
59
59
  "artifactory_token",
60
- # Aibroker
61
- "aiservice_storage_provider",
62
- "aiservice_storage_accesskey",
63
- "aiservice_storage_secretkey",
64
- "aiservice_storage_host",
65
- "aiservice_storage_port",
66
- "aiservice_storage_ssl",
67
- "aiservice_storage_region",
68
- "aiservice_storage_pipelines_bucket",
69
- "aiservice_storage_tenants_bucket",
70
- "aiservice_storage_templates_bucket",
60
+ # AI Service
61
+ # "aiservice_s3_provider",
62
+ "aiservice_s3_accesskey",
63
+ "aiservice_s3_secretkey",
64
+ "aiservice_s3_host",
65
+ "aiservice_s3_port",
66
+ "aiservice_s3_ssl",
67
+ "aiservice_s3_region",
68
+ "aiservice_s3_bucket_prefix",
69
+ "aiservice_s3_pipelines_bucket",
70
+ "aiservice_s3_tenants_bucket",
71
+ "aiservice_s3_templates_bucket",
71
72
 
72
73
  "aiservice_watsonxai_apikey",
73
74
  "aiservice_watsonxai_url",
@@ -83,15 +84,6 @@ optionalParams = [
83
84
  "tenant_entitlement_start_date",
84
85
  "tenant_entitlement_end_date",
85
86
 
86
- "aiservice_s3_bucket_prefix",
87
- "aiservice_s3_region",
88
- "aiservice_s3_endpoint_url",
89
- "aiservice_tenant_s3_bucket_prefix",
90
- "aiservice_tenant_s3_region",
91
- "aiservice_tenant_s3_endpoint_url",
92
- "aiservice_tenant_s3_access_key",
93
- "aiservice_tenant_s3_secret_key",
94
-
95
87
  "rsl_url",
96
88
  "rsl_org_id",
97
89
  "rsl_token",
@@ -48,24 +48,20 @@ class aiServiceInstallSummarizerMixin():
48
48
  self.printParamSummary("Environment type", "environment_type")
49
49
 
50
50
  self.printH2("S3 Configuration")
51
- self.printParamSummary("Storage provider", "aiservice_storage_provider")
52
- if self.getParam("aiservice_storage_provider") == "minio":
51
+ # self.printParamSummary("Storage provider", "aiservice_s3_provider")
52
+ if self.getParam("minio_root_user") is not None and self.getParam("minio_root_user") != "":
53
53
  self.printParamSummary("minio root username", "minio_root_user")
54
54
  print()
55
- self.printParamSummary("Storage access key", "aiservice_storage_accesskey")
56
- self.printParamSummary("Storage host", "aiservice_storage_host")
57
- self.printParamSummary("Storage port", "aiservice_storage_port")
58
- self.printParamSummary("Storage ssl", "aiservice_storage_ssl")
59
- self.printParamSummary("Storage region", "aiservice_storage_region")
60
- self.printParamSummary("Storage pipelines bucket", "aiservice_storage_pipelines_bucket")
61
- self.printParamSummary("Storage tenants bucket", "aiservice_storage_tenants_bucket")
62
- self.printParamSummary("Storage templates bucket", "aiservice_storage_templates_bucket")
63
- print()
55
+ self.printParamSummary("Storage access key", "aiservice_s3_accesskey")
56
+ self.printParamSummary("Storage host", "aiservice_s3_host")
57
+ self.printParamSummary("Storage port", "aiservice_s3_port")
58
+ self.printParamSummary("Storage ssl", "aiservice_s3_ssl")
59
+ self.printParamSummary("Storage region", "aiservice_s3_region")
64
60
  self.printParamSummary("S3 bucket prefix", "aiservice_s3_bucket_prefix")
65
- self.printParamSummary("S3 endpoint url", "aiservice_s3_endpoint_url")
66
- self.printParamSummary("S3 bucket prefix (tenant level)", "aiservice_tenant_s3_bucket_prefix")
67
- self.printParamSummary("S3 region (tenant level)", "aiservice_tenant_s3_region")
68
- self.printParamSummary("S3 endpoint url (tenant level)", "aiservice_tenant_s3_endpoint_url")
61
+ self.printParamSummary("Storage pipelines bucket", "aiservice_s3_pipelines_bucket")
62
+ self.printParamSummary("Storage tenants bucket", "aiservice_s3_tenants_bucket")
63
+ self.printParamSummary("Storage templates bucket", "aiservice_s3_templates_bucket")
64
+ print()
69
65
 
70
66
  self.printH2("IBM WatsonX")
71
67
  self.printParamSummary("Watsonxai machine learning url", "aiservice_watsonxai_url")