mas-cli 19.6.0__tar.gz → 19.7.0__tar.gz
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.
- {mas_cli-19.6.0 → mas_cli-19.7.0}/PKG-INFO +1 -1
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/__init__.py +1 -1
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/cli.py +3 -1
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/app.py +18 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/argBuilder.py +5 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/argParser.py +12 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/settings/__init__.py +2 -1
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/settings/manageSettings.py +4 -0
- mas_cli-19.7.0/src/mas/cli/install/settings/redisSettings.py +70 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/summarizer.py +8 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/ibm-mas-tekton.yaml +529 -221
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/update/app.py +42 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas_cli.egg-info/PKG-INFO +1 -1
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas_cli.egg-info/SOURCES.txt +1 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/MANIFEST.in +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/README.rst +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/pyproject.toml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/setup.cfg +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/setup.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/install/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/install/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/install/argBuilder.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/install/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/install/params.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/install/summarizer.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/upgrade/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/upgrade/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/aiservice/upgrade/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/backup/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/backup/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/backup/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/displayMixins.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/gencfg.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/catalogs.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/params.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/settings/additionalConfigs.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/settings/db2Settings.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/settings/kafkaSettings.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/install/settings/mongodbSettings.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/mirror/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/mirror/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/mirror/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/mirror/config.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/restore/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/restore/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/restore/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/facilities-configs.yml.j2 +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/jdbccfg.yml.j2 +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/templates/suite_mongocfg.yml.j2 +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/uninstall/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/uninstall/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/uninstall/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/update/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/update/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/upgrade/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/upgrade/app.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/upgrade/argParser.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/upgrade/settings/__init__.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas/cli/validators.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas-cli +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas_cli.egg-info/dependency_links.txt +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas_cli.egg-info/requires.txt +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/src/mas_cli.egg-info/top_level.txt +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/test/test_baseapp.py +0 -0
- {mas_cli-19.6.0 → mas_cli-19.7.0}/test/test_help.py +0 -0
|
@@ -120,7 +120,7 @@ class BaseApp(PrintMixin, PromptMixin):
|
|
|
120
120
|
logging.getLogger('asyncio').setLevel(logging.INFO)
|
|
121
121
|
|
|
122
122
|
# Supports extended semver, unlike mas.cli.__version__
|
|
123
|
-
self.version: str = "19.
|
|
123
|
+
self.version: str = "19.7.0"
|
|
124
124
|
self.h1count: int = 0
|
|
125
125
|
self.h2count: int = 0
|
|
126
126
|
|
|
@@ -153,6 +153,8 @@ class BaseApp(PrintMixin, PromptMixin):
|
|
|
153
153
|
"manage": ["9.2.x-feature", "9.1.x"],
|
|
154
154
|
"optimizer": ["9.2.x-feature", "9.1.x"],
|
|
155
155
|
"visualinspection": ["9.2.x-feature", "9.1.x"],
|
|
156
|
+
"iot": ["9.2.x-feature", "9.1.x"],
|
|
157
|
+
"monitor": ["9.2.x-feature", "9.1.x"],
|
|
156
158
|
},
|
|
157
159
|
"9.1.x": {
|
|
158
160
|
"facilities": ["9.1.x"],
|
|
@@ -846,7 +846,11 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
846
846
|
if self.isSNO():
|
|
847
847
|
self.setParam("mongodb_replicas", "1")
|
|
848
848
|
self.setParam("mongodb_cpu_requests", "500m")
|
|
849
|
+
self.setParam("redis_replicas", "1")
|
|
849
850
|
self.setParam("mas_app_settings_aio_flag", "false")
|
|
851
|
+
else:
|
|
852
|
+
# Multi-node cluster: use 3 replicas for Redis HA
|
|
853
|
+
self.setParam("redis_replicas", "3")
|
|
850
854
|
|
|
851
855
|
@logMethodCall
|
|
852
856
|
def configDNSAndCerts(self):
|
|
@@ -1718,6 +1722,12 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
1718
1722
|
if value is not None and value != "":
|
|
1719
1723
|
self.setParam(key, value)
|
|
1720
1724
|
self.setParam("sls_mongodb_cfg_file", f"/workspace/configs/mongo-{value}.yml")
|
|
1725
|
+
# Redis
|
|
1726
|
+
elif key == "redis_namespace":
|
|
1727
|
+
if value is not None and value != "":
|
|
1728
|
+
self.setParam(key, value)
|
|
1729
|
+
self.setParam("redis_action", "install")
|
|
1730
|
+
self.setParam("redis_cfg_file", f"/workspace/configs/redis-{value}.yml")
|
|
1721
1731
|
|
|
1722
1732
|
# SLS
|
|
1723
1733
|
elif key == "license_file":
|
|
@@ -1870,6 +1880,14 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
|
|
|
1870
1880
|
if ((self.getParam("mas_app_channel_predict") is not None and self.getParam("mas_app_channel_predict") != "") and 'health' not in self.getParam("mas_appws_components")):
|
|
1871
1881
|
self.fatalError("--manage-components must include 'health' component when installing Predict")
|
|
1872
1882
|
|
|
1883
|
+
# Configure Redis if Collaborate addon is enabled
|
|
1884
|
+
if self.installManage and "collaborate=" in self.getParam("mas_appws_components"):
|
|
1885
|
+
logger.debug("Collaborate addon detected in mas_appws_components, configuring Redis")
|
|
1886
|
+
self.setParam("redis_action", "install")
|
|
1887
|
+
if self.getParam("redis_namespace") == "":
|
|
1888
|
+
self.setParam("redis_namespace", "redis")
|
|
1889
|
+
self.setParam("redis_cfg_file", f"/workspace/configs/redis-{self.getParam('redis_namespace')}.yml")
|
|
1890
|
+
|
|
1873
1891
|
# Validate ArcGIS installation requirements in non-interactive mode
|
|
1874
1892
|
if self.installArcgis:
|
|
1875
1893
|
hasSpatial = self.installManage and "spatial=" in self.getParam("mas_appws_components")
|
|
@@ -180,6 +180,11 @@ class installArgBuilderMixin():
|
|
|
180
180
|
if self.getParam('mongodb_namespace') != "":
|
|
181
181
|
command += f" --mongodb-namespace \"{self.getParam('mongodb_namespace')}\"{newline}"
|
|
182
182
|
|
|
183
|
+
# Redis Configuration
|
|
184
|
+
# -----------------------------------------------------------------------------
|
|
185
|
+
if self.getParam('redis_namespace') != "":
|
|
186
|
+
command += f" --redis-namespace \"{self.getParam('redis_namespace')}\"{newline}"
|
|
187
|
+
|
|
183
188
|
# OCP Configuration
|
|
184
189
|
# -----------------------------------------------------------------------------
|
|
185
190
|
if self.getParam('ocp_ingress_tls_secret_name') != "":
|
|
@@ -423,6 +423,18 @@ mongoArgGroup.add_argument(
|
|
|
423
423
|
help="Namespace for MongoDB Community Operator"
|
|
424
424
|
)
|
|
425
425
|
|
|
426
|
+
# Redis Configuration
|
|
427
|
+
# -----------------------------------------------------------------------------
|
|
428
|
+
redisArgGroup = installArgParser.add_argument_group(
|
|
429
|
+
"Redis",
|
|
430
|
+
"Configure the namespace for Redis deployment (required for Collaborate addon)."
|
|
431
|
+
)
|
|
432
|
+
redisArgGroup.add_argument(
|
|
433
|
+
"--redis-namespace",
|
|
434
|
+
required=False,
|
|
435
|
+
help="Namespace for Redis deployment (default: redis)"
|
|
436
|
+
)
|
|
437
|
+
|
|
426
438
|
# OCP Configuration
|
|
427
439
|
# -----------------------------------------------------------------------------
|
|
428
440
|
ocpArgGroup = installArgParser.add_argument_group(
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
|
|
11
11
|
from .db2Settings import Db2SettingsMixin
|
|
12
12
|
from .mongodbSettings import MongoDbSettingsMixin
|
|
13
|
+
from .redisSettings import RedisSettingsMixin
|
|
13
14
|
from .kafkaSettings import KafkaSettingsMixin
|
|
14
15
|
from .manageSettings import ManageSettingsMixin
|
|
15
16
|
from .additionalConfigs import AdditionalConfigsMixin
|
|
16
17
|
|
|
17
18
|
|
|
18
|
-
class InstallSettingsMixin(Db2SettingsMixin, MongoDbSettingsMixin, KafkaSettingsMixin, ManageSettingsMixin, AdditionalConfigsMixin):
|
|
19
|
+
class InstallSettingsMixin(Db2SettingsMixin, MongoDbSettingsMixin, RedisSettingsMixin, KafkaSettingsMixin, ManageSettingsMixin, AdditionalConfigsMixin):
|
|
19
20
|
"""
|
|
20
21
|
This class collects all the Mixins providing interactive prompts for mas-install
|
|
21
22
|
"""
|
|
@@ -176,6 +176,10 @@ class ManageSettingsMixin():
|
|
|
176
176
|
self.params["mas_appws_components"] += ",aip=latest"
|
|
177
177
|
if self.yesOrNo(" - Vegetation Management"):
|
|
178
178
|
self.params["mas_appws_components"] += ",vegm=latest"
|
|
179
|
+
if self.yesOrNo(" - Collaborate"):
|
|
180
|
+
self.params["mas_appws_components"] += ",collaborate=latest"
|
|
181
|
+
# Configure Redis for Collaborate addon
|
|
182
|
+
self.configRedis()
|
|
179
183
|
logger.debug(f"Generated mas_appws_components = {self.params['mas_appws_components']}")
|
|
180
184
|
|
|
181
185
|
if ",icd=" in self.params["mas_appws_components"]:
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# *****************************************************************************
|
|
2
|
+
# Copyright (c) 2024, 2026 IBM Corporation and other Contributors.
|
|
3
|
+
#
|
|
4
|
+
# All rights reserved. This program and the accompanying materials
|
|
5
|
+
# are made available under the terms of the Eclipse Public License v1.0
|
|
6
|
+
# which accompanies this distribution, and is available at
|
|
7
|
+
# http://www.eclipse.org/legal/epl-v10.html
|
|
8
|
+
#
|
|
9
|
+
# *****************************************************************************
|
|
10
|
+
|
|
11
|
+
from typing import TYPE_CHECKING, Dict, List
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
if TYPE_CHECKING:
|
|
15
|
+
from prompt_toolkit.completion import WordCompleter
|
|
16
|
+
from prompt_toolkit.validation import Validator
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class RedisSettingsMixin():
|
|
20
|
+
if TYPE_CHECKING:
|
|
21
|
+
# Attributes from BaseApp and other mixins
|
|
22
|
+
params: Dict[str, str]
|
|
23
|
+
showAdvancedOptions: bool
|
|
24
|
+
|
|
25
|
+
# Methods from BaseApp
|
|
26
|
+
def setParam(self, param: str, value: str) -> None:
|
|
27
|
+
...
|
|
28
|
+
|
|
29
|
+
def getParam(self, param: str) -> str:
|
|
30
|
+
...
|
|
31
|
+
|
|
32
|
+
# Methods from PrintMixin
|
|
33
|
+
def printH1(self, message: str) -> None:
|
|
34
|
+
...
|
|
35
|
+
|
|
36
|
+
def printDescription(self, content: List[str]) -> None:
|
|
37
|
+
...
|
|
38
|
+
|
|
39
|
+
# Methods from PromptMixin
|
|
40
|
+
def promptForString(
|
|
41
|
+
self,
|
|
42
|
+
message: str,
|
|
43
|
+
param: str | None = None,
|
|
44
|
+
default: str = "",
|
|
45
|
+
isPassword: bool = False,
|
|
46
|
+
validator: Validator | None = None,
|
|
47
|
+
completer: WordCompleter | None = None
|
|
48
|
+
) -> str:
|
|
49
|
+
...
|
|
50
|
+
|
|
51
|
+
def configRedis(self) -> None:
|
|
52
|
+
"""
|
|
53
|
+
Configure Redis for Collaborate addon.
|
|
54
|
+
Redis will be deployed automatically when Collaborate is enabled.
|
|
55
|
+
"""
|
|
56
|
+
self.printH1("Configure Redis for Collaborate")
|
|
57
|
+
self.printDescription([
|
|
58
|
+
"Redis is required for the Collaborate addon to support caching.",
|
|
59
|
+
"The installer will automatically deploy Redis with high availability (Sentinel + HAProxy)."
|
|
60
|
+
])
|
|
61
|
+
|
|
62
|
+
if self.showAdvancedOptions:
|
|
63
|
+
self.promptForString("Redis namespace", "redis_namespace", default="redis")
|
|
64
|
+
else:
|
|
65
|
+
# Use default namespace
|
|
66
|
+
self.setParam("redis_namespace", "redis")
|
|
67
|
+
|
|
68
|
+
# Always install Redis when Collaborate is enabled
|
|
69
|
+
self.setParam("redis_action", "install")
|
|
70
|
+
self.setParam("redis_cfg_file", f"/workspace/configs/redis-{self.getParam('redis_namespace')}.yml")
|
|
@@ -198,6 +198,7 @@ class InstallSummarizerMixin():
|
|
|
198
198
|
self.printSummary(" + Workday Applications", "Enabled" if "workday=" in self.getParam("mas_appws_components") else "Disabled")
|
|
199
199
|
self.printSummary(" + AIP", "Enabled" if "aip=" in self.getParam("mas_appws_components") else "Disabled")
|
|
200
200
|
self.printSummary(" + Vegetation Management", "Enabled" if "vegm=" in self.getParam("mas_appws_components") else "Disabled")
|
|
201
|
+
self.printSummary(" + Collaborate", "Enabled" if "collaborate=" in self.getParam("mas_appws_components") else "Disabled")
|
|
201
202
|
|
|
202
203
|
self.printParamSummary("+ Upgrade Type", "mas_appws_upgrade_type")
|
|
203
204
|
|
|
@@ -375,6 +376,12 @@ class InstallSummarizerMixin():
|
|
|
375
376
|
else:
|
|
376
377
|
self.fatalError(f"Unexpected value for mongodb_action parameter: {self.getParam('mongodb_action')}")
|
|
377
378
|
|
|
379
|
+
def redisSummary(self) -> None:
|
|
380
|
+
if self.getParam("redis_action") == "install":
|
|
381
|
+
self.printH2("Redis")
|
|
382
|
+
self.printSummary("Type", "Redis with Sentinel HA")
|
|
383
|
+
self.printParamSummary("Install Namespace", "redis_namespace")
|
|
384
|
+
|
|
378
385
|
def kafkaSummary(self) -> None:
|
|
379
386
|
if self.getParam("kafka_action_system") != "":
|
|
380
387
|
self.printH2("Kafka")
|
|
@@ -445,6 +452,7 @@ class InstallSummarizerMixin():
|
|
|
445
452
|
|
|
446
453
|
# Application Dependencies
|
|
447
454
|
self.mongoSummary()
|
|
455
|
+
self.redisSummary()
|
|
448
456
|
self.db2Summary()
|
|
449
457
|
self.cosSummary()
|
|
450
458
|
self.kafkaSummary()
|