mas-cli 15.1.10__py3-none-any.whl → 15.1.12__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 +1 -1
- mas/cli/aiservice/install/app.py +91 -89
- mas/cli/aiservice/install/argBuilder.py +21 -39
- mas/cli/aiservice/install/argParser.py +39 -90
- mas/cli/aiservice/install/params.py +11 -20
- mas/cli/aiservice/install/summarizer.py +10 -15
- mas/cli/cli.py +1 -1
- mas/cli/templates/ibm-mas-tekton.yaml +237 -774
- {mas_cli-15.1.10.dist-info → mas_cli-15.1.12.dist-info}/METADATA +1 -1
- {mas_cli-15.1.10.dist-info → mas_cli-15.1.12.dist-info}/RECORD +13 -13
- {mas_cli-15.1.10.data → mas_cli-15.1.12.data}/scripts/mas-cli +0 -0
- {mas_cli-15.1.10.dist-info → mas_cli-15.1.12.dist-info}/WHEEL +0 -0
- {mas_cli-15.1.10.dist-info → mas_cli-15.1.12.dist-info}/top_level.txt +0 -0
mas/cli/__init__.py
CHANGED
mas/cli/aiservice/install/app.py
CHANGED
|
@@ -204,18 +204,19 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
|
|
|
204
204
|
|
|
205
205
|
elif key == "install_minio_aiservice":
|
|
206
206
|
incompatibleWithMinioInstall = [
|
|
207
|
-
"
|
|
208
|
-
"
|
|
209
|
-
"
|
|
210
|
-
"
|
|
211
|
-
"
|
|
212
|
-
"
|
|
213
|
-
"
|
|
214
|
-
"
|
|
215
|
-
"
|
|
216
|
-
"
|
|
217
|
-
"
|
|
218
|
-
"
|
|
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("
|
|
234
|
+
# self.setParam("aiservice_s3_provider", "minio")
|
|
234
235
|
|
|
235
|
-
self.setParam("
|
|
236
|
-
self.setParam("
|
|
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("
|
|
241
|
-
self.setParam("
|
|
242
|
-
self.setParam("
|
|
243
|
-
self.setParam("aiservice_s3_endpoint_url", "http://minio-service.minio.svc.cluster.local:9000")
|
|
244
|
-
self.setParam("
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
self.setParam("
|
|
248
|
-
self.setParam("
|
|
249
|
-
self.setParam("
|
|
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,21 @@ 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
|
-
|
|
548
|
-
|
|
549
|
-
self.setParam("
|
|
550
|
-
self.promptForString("Storage access key", "
|
|
551
|
-
self.promptForString("Storage secret key", "
|
|
552
|
-
self.promptForString("Storage host", "
|
|
553
|
-
self.promptForString("Storage port", "
|
|
554
|
-
self.promptForString("Storage ssl", "
|
|
555
|
-
self.promptForString("Storage region", "
|
|
556
|
-
self.promptForString("Storage
|
|
557
|
-
self.promptForString("Storage tenants bucket", "
|
|
558
|
-
self.promptForString("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 tenants bucket", "aiservice_s3_tenants_bucket")
|
|
560
|
+
self.promptForString("Storage templates bucket", "aiservice_s3_templates_bucket")
|
|
559
561
|
|
|
560
562
|
# S3 parameters are now auto-derived from storage configuration
|
|
561
|
-
self._deriveS3ParametersFromStorage()
|
|
563
|
+
# self._deriveS3ParametersFromStorage()
|
|
562
564
|
|
|
563
565
|
def aiServiceTenantSettings(self) -> None:
|
|
564
566
|
self.printH1("AI Service Tenant Settings")
|
|
@@ -566,65 +568,65 @@ class AiServiceInstallApp(BaseApp, aiServiceInstallArgBuilderMixin, aiServiceIns
|
|
|
566
568
|
self.promptForString("Tenant start date", "tenant_entitlement_start_date")
|
|
567
569
|
self.promptForString("Tenant end date", "tenant_entitlement_end_date")
|
|
568
570
|
|
|
569
|
-
def _deriveS3ParametersFromStorage(self) -> None:
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
571
|
+
# def _deriveS3ParametersFromStorage(self) -> None:
|
|
572
|
+
# """
|
|
573
|
+
# Auto-derive S3 and tenant S3 parameters from the aiservice_s3_* parameters.
|
|
574
|
+
# This reuses the values provided for kmodel object storage to avoid redundant prompts.
|
|
575
|
+
# """
|
|
576
|
+
# storage_provider = self.getParam("aiservice_s3_provider")
|
|
577
|
+
# storage_host = self.getParam("aiservice_s3_host")
|
|
578
|
+
# storage_port = self.getParam("aiservice_s3_port")
|
|
579
|
+
# storage_ssl = self.getParam("aiservice_s3_ssl")
|
|
580
|
+
# storage_region = self.getParam("aiservice_s3_region")
|
|
581
|
+
# storage_bucket_prefix = self.getParam("aiservice_s3_bucket_prefix")
|
|
582
|
+
# storage_accesskey = self.getParam("aiservice_s3_accesskey")
|
|
583
|
+
# storage_secretkey = self.getParam("aiservice_s3_secretkey")
|
|
584
|
+
|
|
585
|
+
# # Build endpoint URL from storage configuration
|
|
586
|
+
# protocol = "https" if storage_ssl == "true" else "http"
|
|
587
|
+
|
|
588
|
+
# if storage_provider == "minio":
|
|
589
|
+
# endpoint_url = f"{protocol}://{storage_host}:{storage_port}"
|
|
590
|
+
# elif storage_provider == "aws":
|
|
591
|
+
# # For AWS S3, construct proper endpoint
|
|
592
|
+
# if storage_region and storage_region != "none":
|
|
593
|
+
# endpoint_url = f"{protocol}://s3.{storage_region}.amazonaws.com"
|
|
594
|
+
# else:
|
|
595
|
+
# endpoint_url = f"{protocol}://s3.amazonaws.com"
|
|
596
|
+
# else:
|
|
597
|
+
# # For other providers, construct basic endpoint
|
|
598
|
+
# endpoint_url = f"{protocol}://{storage_host}:{storage_port}" if storage_port else f"{protocol}://{storage_host}"
|
|
599
|
+
|
|
600
|
+
# # Set S3 parameters (reusing storage configuration)
|
|
601
|
+
# if endpoint_url:
|
|
602
|
+
# self.setParam("aiservice_s3_endpoint_url", endpoint_url)
|
|
603
|
+
# self.setParam("aiservice_s3_region", storage_region if storage_region else "none")
|
|
604
|
+
|
|
605
|
+
# # Set tenant S3 parameters (reusing same storage configuration)
|
|
606
|
+
# self.setParam("aiservice_tenant_s3_bucket_prefix", "tenant") # Default tenant prefix
|
|
607
|
+
# self.setParam("aiservice_tenant_s3_access_key", storage_accesskey)
|
|
608
|
+
# self.setParam("aiservice_tenant_s3_secret_key", storage_secretkey)
|
|
609
|
+
# if endpoint_url:
|
|
610
|
+
# self.setParam("aiservice_tenant_s3_endpoint_url", endpoint_url)
|
|
611
|
+
# self.setParam("aiservice_tenant_s3_region", storage_region if storage_region else "none")
|
|
610
612
|
|
|
611
613
|
def _setMinioStorageDefaults(self) -> None:
|
|
612
614
|
"""
|
|
613
615
|
Set MinIO storage defaults when MinIO is being installed in-cluster.
|
|
614
616
|
This mirrors the logic from non-interactive mode.
|
|
615
617
|
"""
|
|
616
|
-
self.setParam("
|
|
617
|
-
self.setParam("
|
|
618
|
-
self.setParam("
|
|
619
|
-
self.setParam("
|
|
620
|
-
self.setParam("
|
|
621
|
-
self.setParam("
|
|
622
|
-
self.setParam("
|
|
618
|
+
# self.setParam("aiservice_s3_provider", "minio")
|
|
619
|
+
self.setParam("aiservice_s3_accesskey", self.getParam("minio_root_user"))
|
|
620
|
+
self.setParam("aiservice_s3_secretkey", self.getParam("minio_root_password"))
|
|
621
|
+
self.setParam("aiservice_s3_host", "minio-service.minio.svc.cluster.local")
|
|
622
|
+
self.setParam("aiservice_s3_port", "9000")
|
|
623
|
+
self.setParam("aiservice_s3_ssl", "false")
|
|
624
|
+
self.setParam("aiservice_s3_region", "none")
|
|
625
|
+
self.setParam("aiservice_s3_bucket_prefix", "aiservice")
|
|
623
626
|
|
|
624
627
|
# Set default bucket names
|
|
625
|
-
self.setParam("
|
|
626
|
-
self.setParam("
|
|
627
|
-
self.setParam("aiservice_storage_templates_bucket", "km-templates")
|
|
628
|
+
self.setParam("aiservice_s3_tenants_bucket", "km-tenants")
|
|
629
|
+
self.setParam("aiservice_s3_templates_bucket", "km-templates")
|
|
628
630
|
|
|
629
631
|
def aiServiceIntegrations(self) -> None:
|
|
630
632
|
self.printH1("WatsonX Integration")
|
|
@@ -103,28 +103,28 @@ 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
|
-
#
|
|
106
|
+
# AI Service Advanced Settings
|
|
107
107
|
# -----------------------------------------------------------------------------
|
|
108
|
-
if self.getParam('
|
|
109
|
-
|
|
110
|
-
if self.getParam('
|
|
111
|
-
command += f" --s3-accesskey \"{self.getParam('
|
|
112
|
-
if self.getParam('
|
|
113
|
-
command += f" --s3-secretkey \"{self.getParam('
|
|
114
|
-
if self.getParam('
|
|
115
|
-
command += f" --s3-host \"{self.getParam('
|
|
116
|
-
if self.getParam('
|
|
117
|
-
command += f" --s3-port \"{self.getParam('
|
|
118
|
-
if self.getParam('
|
|
119
|
-
command += f" --s3-ssl \"{self.getParam('
|
|
120
|
-
if self.getParam('
|
|
121
|
-
command += f" --s3-region \"{self.getParam('
|
|
122
|
-
if self.getParam('
|
|
123
|
-
command += f" --s3-
|
|
124
|
-
if self.getParam('
|
|
125
|
-
command += f" --s3-tenants-bucket \"{self.getParam('
|
|
126
|
-
if self.getParam('
|
|
127
|
-
command += f" --s3-templates-bucket \"{self.getParam('
|
|
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_tenants_bucket') != "":
|
|
125
|
+
command += f" --s3-tenants-bucket \"{self.getParam('aiservice_s3_tenants_bucket')}\"{newline}"
|
|
126
|
+
if self.getParam('aiservice_s3_templates_bucket') != "":
|
|
127
|
+
command += f" --s3-templates-bucket \"{self.getParam('aiservice_s3_templates_bucket')}\"{newline}"
|
|
128
128
|
|
|
129
129
|
if self.getParam('aiservice_watsonxai_apikey') != "":
|
|
130
130
|
command += f" --watsonxai-apikey \"{self.getParam('aiservice_watsonxai_apikey')}\"{newline}"
|
|
@@ -147,24 +147,6 @@ class aiServiceInstallArgBuilderMixin():
|
|
|
147
147
|
if self.getParam('tenant_entitlement_end_date') != "":
|
|
148
148
|
command += f" --tenant-entitlement-end-date \"{self.getParam('tenant_entitlement_end_date')}\"{newline}"
|
|
149
149
|
|
|
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
150
|
if self.getParam('rsl_url') != "":
|
|
169
151
|
command += f" --rsl-url \"{self.getParam('rsl_url')}\"{newline}"
|
|
170
152
|
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
|
|
171
|
+
help="Subscription channel for Maximo AI Service"
|
|
172
172
|
)
|
|
173
173
|
|
|
174
|
-
# AI
|
|
174
|
+
# AI Service
|
|
175
175
|
# -----------------------------------------------------------------------------
|
|
176
|
-
|
|
176
|
+
aiServiceArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Service")
|
|
177
177
|
|
|
178
|
+
# S3 - General
|
|
179
|
+
# -----------------------------------------------------------------------------
|
|
180
|
+
s3ArgGroup = aiServiceinstallArgParser.add_argument_group("S3 Storage")
|
|
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,66 @@ 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="
|
|
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="
|
|
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="
|
|
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="
|
|
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="
|
|
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="
|
|
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-
|
|
294
|
-
dest="
|
|
252
|
+
"--s3-bucket-prefix",
|
|
253
|
+
dest="aiservice_s3_bucket_prefix",
|
|
295
254
|
required=False,
|
|
296
|
-
help="
|
|
255
|
+
help="Bucket prefix configured with S3 storage service"
|
|
297
256
|
)
|
|
298
257
|
|
|
299
|
-
# S3 -
|
|
258
|
+
# S3 - Bucket Naming
|
|
300
259
|
# -----------------------------------------------------------------------------
|
|
301
260
|
s3ArgGroup.add_argument(
|
|
302
|
-
"--s3-
|
|
303
|
-
dest="
|
|
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",
|
|
310
|
-
required=False,
|
|
311
|
-
help="secret key for s3 ( tenant level )"
|
|
312
|
-
)
|
|
313
|
-
s3ArgGroup.add_argument(
|
|
314
|
-
"--s3-tenant-region",
|
|
315
|
-
dest="aiservice_tenant_s3_region",
|
|
261
|
+
"--s3-tenants-bucket",
|
|
262
|
+
dest="aiservice_s3_tenants_bucket",
|
|
316
263
|
required=False,
|
|
317
|
-
|
|
264
|
+
default="km-tenants",
|
|
265
|
+
help="Name of the S3 bucket for tenants storage"
|
|
318
266
|
)
|
|
319
267
|
s3ArgGroup.add_argument(
|
|
320
|
-
"--s3-
|
|
321
|
-
dest="
|
|
268
|
+
"--s3-templates-bucket",
|
|
269
|
+
dest="aiservice_s3_templates_bucket",
|
|
322
270
|
required=False,
|
|
323
|
-
|
|
271
|
+
default="km-templates",
|
|
272
|
+
help="Name of the S3 bucket for templates storage"
|
|
324
273
|
)
|
|
325
274
|
|
|
326
275
|
# Watsonx
|
|
@@ -355,49 +304,49 @@ watsonxArgGroup.add_argument(
|
|
|
355
304
|
|
|
356
305
|
# AI Service
|
|
357
306
|
# -----------------------------------------------------------------------------
|
|
358
|
-
|
|
307
|
+
aiServiceArgGroup.add_argument(
|
|
359
308
|
"--tenant-entitlement-type",
|
|
360
309
|
dest="tenant_entitlement_type",
|
|
361
310
|
required=False,
|
|
362
311
|
help="Type of aibroker tenant"
|
|
363
312
|
)
|
|
364
|
-
|
|
313
|
+
aiServiceArgGroup.add_argument(
|
|
365
314
|
"--tenant-entitlement-start-date",
|
|
366
315
|
dest="tenant_entitlement_start_date",
|
|
367
316
|
required=False,
|
|
368
317
|
help="Start date for Aibroker tenant"
|
|
369
318
|
)
|
|
370
|
-
|
|
319
|
+
aiServiceArgGroup.add_argument(
|
|
371
320
|
"--tenant-entitlement-end-date",
|
|
372
321
|
dest="tenant_entitlement_end_date",
|
|
373
322
|
required=False,
|
|
374
323
|
help="End date for Aibroker tenant"
|
|
375
324
|
)
|
|
376
|
-
|
|
325
|
+
aiServiceArgGroup.add_argument(
|
|
377
326
|
"--rsl-url",
|
|
378
327
|
dest="rsl_url",
|
|
379
328
|
required=False,
|
|
380
329
|
help="rsl url"
|
|
381
330
|
)
|
|
382
|
-
|
|
331
|
+
aiServiceArgGroup.add_argument(
|
|
383
332
|
"--rsl-org-id",
|
|
384
333
|
dest="rsl_org_id",
|
|
385
334
|
required=False,
|
|
386
335
|
help="org id for rsl"
|
|
387
336
|
)
|
|
388
|
-
|
|
337
|
+
aiServiceArgGroup.add_argument(
|
|
389
338
|
"--rsl-token",
|
|
390
339
|
dest="rsl_token",
|
|
391
340
|
required=False,
|
|
392
341
|
help="token for rsl"
|
|
393
342
|
)
|
|
394
|
-
|
|
343
|
+
aiServiceArgGroup.add_argument(
|
|
395
344
|
"--rsl-ca-crt",
|
|
396
345
|
dest="rsl_ca_crt",
|
|
397
346
|
required=False,
|
|
398
347
|
help="CA certificate for RSL API (PEM format, optional, only if using self-signed certs)"
|
|
399
348
|
)
|
|
400
|
-
|
|
349
|
+
aiServiceArgGroup.add_argument(
|
|
401
350
|
"--environment-type",
|
|
402
351
|
dest="environment_type",
|
|
403
352
|
required=False,
|
|
@@ -57,17 +57,17 @@ optionalParams = [
|
|
|
57
57
|
# Dev Mode
|
|
58
58
|
"artifactory_username",
|
|
59
59
|
"artifactory_token",
|
|
60
|
-
#
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
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_tenants_bucket",
|
|
70
|
+
"aiservice_s3_templates_bucket",
|
|
71
71
|
|
|
72
72
|
"aiservice_watsonxai_apikey",
|
|
73
73
|
"aiservice_watsonxai_url",
|
|
@@ -83,15 +83,6 @@ optionalParams = [
|
|
|
83
83
|
"tenant_entitlement_start_date",
|
|
84
84
|
"tenant_entitlement_end_date",
|
|
85
85
|
|
|
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
86
|
"rsl_url",
|
|
96
87
|
"rsl_org_id",
|
|
97
88
|
"rsl_token",
|
|
@@ -48,24 +48,19 @@ class aiServiceInstallSummarizerMixin():
|
|
|
48
48
|
self.printParamSummary("Environment type", "environment_type")
|
|
49
49
|
|
|
50
50
|
self.printH2("S3 Configuration")
|
|
51
|
-
self.printParamSummary("Storage provider", "
|
|
52
|
-
if self.getParam("
|
|
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", "
|
|
56
|
-
self.printParamSummary("Storage host", "
|
|
57
|
-
self.printParamSummary("Storage port", "
|
|
58
|
-
self.printParamSummary("Storage ssl", "
|
|
59
|
-
self.printParamSummary("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("
|
|
66
|
-
self.printParamSummary("
|
|
67
|
-
|
|
68
|
-
self.printParamSummary("S3 endpoint url (tenant level)", "aiservice_tenant_s3_endpoint_url")
|
|
61
|
+
self.printParamSummary("Storage tenants bucket", "aiservice_s3_tenants_bucket")
|
|
62
|
+
self.printParamSummary("Storage templates bucket", "aiservice_s3_templates_bucket")
|
|
63
|
+
print()
|
|
69
64
|
|
|
70
65
|
self.printH2("IBM WatsonX")
|
|
71
66
|
self.printParamSummary("Watsonxai machine learning url", "aiservice_watsonxai_url")
|
mas/cli/cli.py
CHANGED
|
@@ -117,7 +117,7 @@ class BaseApp(PrintMixin, PromptMixin):
|
|
|
117
117
|
logging.getLogger('asyncio').setLevel(logging.INFO)
|
|
118
118
|
|
|
119
119
|
# Supports extended semver, unlike mas.cli.__version__
|
|
120
|
-
self.version = "15.1.
|
|
120
|
+
self.version = "15.1.12"
|
|
121
121
|
self.h1count = 0
|
|
122
122
|
self.h2count = 0
|
|
123
123
|
|