From dbc53a73375ff2ede3d73e7d8b162794357e68c8 Mon Sep 17 00:00:00 2001 From: Bhautik Vala Date: Mon, 14 Jul 2025 11:25:40 +0530 Subject: [PATCH 1/2] [patch] add custom domain related params in Aiservice --- image/cli/install/mas_devops.tar.gz | Bin 0 -> 54041 bytes python/src/mas/cli/aiservice/install/app.py | 3 +++ .../src/mas/cli/aiservice/install/argParser.py | 14 ++++++++++++++ python/src/mas/cli/aiservice/install/params.py | 2 ++ .../src/mas/cli/aiservice/install/summarizer.py | 3 +++ tekton/src/params/install-aiservice.yml.j2 | 8 ++++++++ tekton/src/tasks/aiservice/aiservice.yml.j2 | 14 ++++++++++++++ 7 files changed, 44 insertions(+) create mode 100644 image/cli/install/mas_devops.tar.gz diff --git a/image/cli/install/mas_devops.tar.gz b/image/cli/install/mas_devops.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..dde5a2bf9607cfc35f2f66bb496c74db5e371f6c GIT binary patch literal 54041 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 literal 0 HcmV?d00001 diff --git a/python/src/mas/cli/aiservice/install/app.py b/python/src/mas/cli/aiservice/install/app.py index 4fb9b68ac76..771a688fca3 100644 --- a/python/src/mas/cli/aiservice/install/app.py +++ b/python/src/mas/cli/aiservice/install/app.py @@ -573,6 +573,9 @@ def aibrokerSettings(self) -> None: self.promptForString("DB2 JDBC URL", "mas_aibroker_db2_jdbc_url") self.promptForString("DB2 SSL enabled (yes/no)", "mas_aibroker_db2_ssl_enabled") self.promptForString("DB2 CA certificate", "mas_aibroker_db2_ca_cert") + self.yesOrNo("Want to use Externa Route", "mas_aibroker_is_external_route") + if self.getParam("mas_aibroker_is_external_route") == "true": + self.promptForString("Provide External Route", "mas_aibroker_cluster_domain") # self.promptForString("Environment type", "environment_type") # These are all candidates to centralise in a new mixin used by both install and aiservice-install diff --git a/python/src/mas/cli/aiservice/install/argParser.py b/python/src/mas/cli/aiservice/install/argParser.py index f01f9a76bbf..9e22444b4cf 100644 --- a/python/src/mas/cli/aiservice/install/argParser.py +++ b/python/src/mas/cli/aiservice/install/argParser.py @@ -527,6 +527,20 @@ def isValidFile(parser, arg) -> str: default="non-production", help="Environment type (default: non-production)" ) + +aibrokerArgGroup.add_argument( + "--mas-aibroker-cluster-domain", + dest="mas_aibroker_cluster_domain", + required=False, + help="External Domain" +) +aibrokerArgGroup.add_argument( + "--mas-aibroker-is-external-route", + dest="mas_aibroker_is_external_route", + required=False, + help="Flag for either using external route or not" +) + # IBM Db2 Universal Operator # ----------------------------------------------------------------------------- db2ArgGroup = aiServiceinstallArgParser.add_argument_group("IBM Db2 Universal Operator") diff --git a/python/src/mas/cli/aiservice/install/params.py b/python/src/mas/cli/aiservice/install/params.py index 93b463d141b..96d525bfdf9 100644 --- a/python/src/mas/cli/aiservice/install/params.py +++ b/python/src/mas/cli/aiservice/install/params.py @@ -117,4 +117,6 @@ "mas_aibroker_sls_url", "mas_aibroker_sls_ca_cert", "environment_type", + "mas_aibroker_is_external_route", + "mas_aibroker_cluster_domain", ] diff --git a/python/src/mas/cli/aiservice/install/summarizer.py b/python/src/mas/cli/aiservice/install/summarizer.py index fa88d89f992..e35ca256d58 100644 --- a/python/src/mas/cli/aiservice/install/summarizer.py +++ b/python/src/mas/cli/aiservice/install/summarizer.py @@ -108,6 +108,9 @@ def aibrokerSummary(self) -> None: self.printParamSummary(" + DB2 JDBC URL", "mas_aibroker_db2_jdbc_url") self.printParamSummary(" + DB2 SSL enabled", "mas_aibroker_db2_ssl_enabled") self.printParamSummary(" + Environment type", "environment_type") + self.printParamSummary(" + Is External Route?", "mas_aibroker_is_external_route") + if self.getParam("mas_aibroker_cluster_domain") != "": + self.printParamSummary(" + External Domain", "mas_aibroker_cluster_domain") else: self.printSummary("AI Broker", "Do Not Install") diff --git a/tekton/src/params/install-aiservice.yml.j2 b/tekton/src/params/install-aiservice.yml.j2 index b8fd7d42c3c..16e74ab826a 100644 --- a/tekton/src/params/install-aiservice.yml.j2 +++ b/tekton/src/params/install-aiservice.yml.j2 @@ -273,3 +273,11 @@ type: string description: Environment type default: "" +- name: mas_aibroker_is_external_route + type: string + description: Flag for either using external route or not + default: "false" +- name: mas_aibroker_cluster_domain + type: string + description: External domain + default: "" diff --git a/tekton/src/tasks/aiservice/aiservice.yml.j2 b/tekton/src/tasks/aiservice/aiservice.yml.j2 index 3fd20e45327..e0c4bfc7ddc 100644 --- a/tekton/src/tasks/aiservice/aiservice.yml.j2 +++ b/tekton/src/tasks/aiservice/aiservice.yml.j2 @@ -208,6 +208,14 @@ spec: type: string description: Environment type default: "" + - name: mas_aibroker_is_external_route + type: string + description: Flag for either using external route or not + default: "false" + - name: mas_aibroker_cluster_domain + type: string + description: External domain + default: "" stepTemplate: env: @@ -345,6 +353,12 @@ spec: - name: ENVIRONMENT_TYPE value: $(params.environment_type) + # Custom domain + - name: MAS_AIBROKER_IS_EXTERNAL_ROUTE + value: $(params.mas_aibroker_is_external_route) + - name: MAS_AIBROKER_CLUSTER_DOMAIN + value: $(params.mas_aibroker_cluster_domain) + steps: - name: aibroker command: From 36bfb8b7221c9d92ad7a6839f8b99cc737a24647 Mon Sep 17 00:00:00 2001 From: Bhautik Vala Date: Wed, 16 Jul 2025 16:11:46 +0530 Subject: [PATCH 2/2] [patch] add params in argbuilder --- python/src/mas/cli/aiservice/install/argBuilder.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/python/src/mas/cli/aiservice/install/argBuilder.py b/python/src/mas/cli/aiservice/install/argBuilder.py index 58be166cf5f..ca506e1a9c9 100644 --- a/python/src/mas/cli/aiservice/install/argBuilder.py +++ b/python/src/mas/cli/aiservice/install/argBuilder.py @@ -241,6 +241,10 @@ def buildCommand(self) -> str: command += f" --rsl-org-id \"{self.getParam('rsl_org_id')}\"{newline}" if self.getParam('rsl_token') != "": command += f" --rsl-token \"{self.getParam('rsl_token')}\"{newline}" + if self.getParam('mas_aibroker_is_external_route') == 'true': + command += f" --mas-aibroker-is-external-route \"{self.getParam('mas_aibroker_is_external_route')}\"{newline}" + if self.getParam('mas_aibroker_cluster_domain') != "": + command += f" --mas-aibroker-cluster-domain \"{self.getParam('mas_aibroker_cluster_domain')}\"{newline}" command += " --accept-license --no-confirm" return command