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 +1 -1
- mas/cli/aiservice/install/app.py +93 -89
- mas/cli/aiservice/install/argBuilder.py +23 -39
- mas/cli/aiservice/install/argParser.py +43 -87
- mas/cli/aiservice/install/params.py +12 -20
- mas/cli/aiservice/install/summarizer.py +11 -15
- mas/cli/cli.py +1 -1
- mas/cli/install/app.py +2 -2
- mas/cli/templates/ibm-mas-tekton.yaml +243 -775
- {mas_cli-15.1.9.dist-info → mas_cli-15.1.11.dist-info}/METADATA +2 -2
- {mas_cli-15.1.9.dist-info → mas_cli-15.1.11.dist-info}/RECORD +14 -14
- {mas_cli-15.1.9.data → mas_cli-15.1.11.data}/scripts/mas-cli +0 -0
- {mas_cli-15.1.9.dist-info → mas_cli-15.1.11.dist-info}/WHEEL +0 -0
- {mas_cli-15.1.9.dist-info → mas_cli-15.1.11.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,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
|
-
|
|
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
|
|
558
|
-
self.promptForString("Storage
|
|
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
|
-
|
|
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
|
-
|
|
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("
|
|
617
|
-
self.setParam("
|
|
618
|
-
self.setParam("
|
|
619
|
-
self.setParam("
|
|
620
|
-
self.setParam("
|
|
621
|
-
self.setParam("
|
|
622
|
-
self.setParam("
|
|
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("
|
|
626
|
-
self.setParam("
|
|
627
|
-
self.setParam("
|
|
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
|
-
#
|
|
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-
|
|
126
|
-
if self.getParam('
|
|
127
|
-
command += f" --s3-
|
|
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
|
|
171
|
+
help="Subscription channel for Maximo AI Service"
|
|
172
172
|
)
|
|
173
173
|
|
|
174
|
-
# AI
|
|
174
|
+
# AI Service
|
|
175
|
+
# -----------------------------------------------------------------------------
|
|
176
|
+
aiServiceArgGroup = aiServiceinstallArgParser.add_argument_group("Maximo AI Service")
|
|
177
|
+
|
|
178
|
+
# S3 - General
|
|
175
179
|
# -----------------------------------------------------------------------------
|
|
176
|
-
|
|
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="
|
|
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",
|
|
261
|
+
"--s3-pipelines-bucket",
|
|
262
|
+
dest="aiservice_s3_pipelines_bucket",
|
|
310
263
|
required=False,
|
|
311
|
-
|
|
264
|
+
default="km-pipelines",
|
|
265
|
+
help="Name of the S3 bucket for pipelines storage"
|
|
312
266
|
)
|
|
313
267
|
s3ArgGroup.add_argument(
|
|
314
|
-
"--s3-
|
|
315
|
-
dest="
|
|
268
|
+
"--s3-tenants-bucket",
|
|
269
|
+
dest="aiservice_s3_tenants_bucket",
|
|
316
270
|
required=False,
|
|
317
|
-
|
|
271
|
+
default="km-tenants",
|
|
272
|
+
help="Name of the S3 bucket for tenants storage"
|
|
318
273
|
)
|
|
319
274
|
s3ArgGroup.add_argument(
|
|
320
|
-
"--s3-
|
|
321
|
-
dest="
|
|
275
|
+
"--s3-templates-bucket",
|
|
276
|
+
dest="aiservice_s3_templates_bucket",
|
|
322
277
|
required=False,
|
|
323
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
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_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", "
|
|
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
|
-
self.printParamSummary("
|
|
68
|
-
|
|
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")
|