mas-cli 10.4.3__tar.gz → 10.4.5__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.

Potentially problematic release.


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

Files changed (109) hide show
  1. {mas_cli-10.4.3 → mas_cli-10.4.5}/PKG-INFO +1 -1
  2. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/__init__.py +1 -1
  3. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/cli.py +15 -8
  4. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/displayMixins.py +3 -1
  5. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/app.py +1 -1
  6. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/settings/manageSettings.py +4 -1
  7. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/ibm-mas-tekton.yaml +117 -110
  8. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas_cli.egg-info/PKG-INFO +1 -1
  9. {mas_cli-10.4.3 → mas_cli-10.4.5}/MANIFEST.in +0 -0
  10. {mas_cli-10.4.3 → mas_cli-10.4.5}/README.rst +0 -0
  11. {mas_cli-10.4.3 → mas_cli-10.4.5}/pyproject.toml +0 -0
  12. {mas_cli-10.4.3 → mas_cli-10.4.5}/setup.cfg +0 -0
  13. {mas_cli-10.4.3 → mas_cli-10.4.5}/setup.py +0 -0
  14. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/gencfg.py +0 -0
  15. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/__init__.py +0 -0
  16. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/argParser.py +0 -0
  17. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/settings/__init__.py +0 -0
  18. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/settings/additionalConfigs.py +0 -0
  19. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/settings/db2Settings.py +0 -0
  20. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/settings/kafkaSettings.py +0 -0
  21. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/settings/turbonomicSettings.py +0 -0
  22. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/install/summarizer.py +0 -0
  23. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/jdbccfg.yml.j2 +0 -0
  24. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-data-dictionary-assetdatadictionary.yml +0 -0
  25. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-bascfg.yml +0 -0
  26. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-coreidp.yml +0 -0
  27. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-actions.yml +0 -0
  28. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-auth.yml +0 -0
  29. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-datapower.yml +0 -0
  30. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-devops.yml +0 -0
  31. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dm.yml +0 -0
  32. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-dsc.yml +0 -0
  33. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-edgeconfig.yml +0 -0
  34. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-fpl.yml +0 -0
  35. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-guardian.yml +0 -0
  36. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-iot.yml +0 -0
  37. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mbgx.yml +0 -0
  38. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-mfgx.yml +0 -0
  39. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-monitor.yml +0 -0
  40. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-orgmgmt.yml +0 -0
  41. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-provision.yml +0 -0
  42. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-registry.yml +0 -0
  43. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-state.yml +0 -0
  44. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-iot-webui.yml +0 -0
  45. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextaccelerator.yml +0 -0
  46. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-healthextworkspace.yml +0 -0
  47. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-imagestitching.yml +0 -0
  48. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageaccelerators.yml +0 -0
  49. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageapp.yml +0 -0
  50. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-manageworkspace.yml +0 -0
  51. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-manage-slackproxy.yml +0 -0
  52. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-pushnotificationcfg.yml +0 -0
  53. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-scimcfg.yml +0 -0
  54. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-slscfg.yml +0 -0
  55. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-smtpcfg.yml +0 -0
  56. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-suite.yml +0 -0
  57. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-mas-visualinspection.yml +0 -0
  58. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/best-effort/ibm-sls-licenseservice.yml +0 -0
  59. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-data-dictionary-assetdatadictionary.yml +0 -0
  60. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-bascfg.yml +0 -0
  61. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-coreidp.yml +0 -0
  62. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-actions.yml +0 -0
  63. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-auth.yml +0 -0
  64. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-datapower.yml +0 -0
  65. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-devops.yml +0 -0
  66. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dm.yml +0 -0
  67. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-dsc.yml +0 -0
  68. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-edgeconfig.yml +0 -0
  69. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-fpl.yml +0 -0
  70. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-guardian.yml +0 -0
  71. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-iot.yml +0 -0
  72. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mbgx.yml +0 -0
  73. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-mfgx.yml +0 -0
  74. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-monitor.yml +0 -0
  75. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-orgmgmt.yml +0 -0
  76. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-provision.yml +0 -0
  77. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-registry.yml +0 -0
  78. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-state.yml +0 -0
  79. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-iot-webui.yml +0 -0
  80. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextaccelerator.yml +0 -0
  81. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-healthextworkspace.yml +0 -0
  82. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-imagestitching.yml +0 -0
  83. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageaccelerators.yml +0 -0
  84. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageapp.yml +0 -0
  85. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-manageworkspace.yml +0 -0
  86. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-manage-slackproxy.yml +0 -0
  87. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-pushnotificationcfg.yml +0 -0
  88. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-scimcfg.yml +0 -0
  89. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-slscfg.yml +0 -0
  90. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-smtpcfg.yml +0 -0
  91. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-suite.yml +0 -0
  92. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-mas-visualinspection.yml +0 -0
  93. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/templates/pod-templates/guaranteed/ibm-sls-licenseservice.yml +0 -0
  94. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/uninstall/__init__.py +0 -0
  95. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/uninstall/app.py +0 -0
  96. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/uninstall/argParser.py +0 -0
  97. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/update/__init__.py +0 -0
  98. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/update/app.py +0 -0
  99. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/update/argParser.py +0 -0
  100. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/upgrade/__init__.py +0 -0
  101. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/upgrade/app.py +0 -0
  102. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/upgrade/argParser.py +0 -0
  103. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas/cli/validators.py +0 -0
  104. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas-cli +0 -0
  105. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas_cli.egg-info/SOURCES.txt +0 -0
  106. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas_cli.egg-info/dependency_links.txt +0 -0
  107. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas_cli.egg-info/requires.txt +0 -0
  108. {mas_cli-10.4.3 → mas_cli-10.4.5}/src/mas_cli.egg-info/top_level.txt +0 -0
  109. {mas_cli-10.4.3 → mas_cli-10.4.5}/test/test_help.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mas-cli
3
- Version: 10.4.3
3
+ Version: 10.4.5
4
4
  Summary: Python Admin CLI for Maximo Application Suite
5
5
  Home-page: https://github.com/ibm-mas/cli
6
6
  Author: David Parker
@@ -8,4 +8,4 @@
8
8
  #
9
9
  # *****************************************************************************
10
10
 
11
- __version__ = "10.4.3"
11
+ __version__ = "10.4.5"
@@ -13,13 +13,13 @@ import urllib3
13
13
 
14
14
  from argparse import RawTextHelpFormatter
15
15
  from shutil import which
16
- from os import path
16
+ from os import path, environ
17
17
  from sys import exit
18
18
 
19
19
  # Use of the openshift client rather than the kubernetes client allows us access to "apply"
20
- from openshift import dynamic
21
20
  from kubernetes import config
22
- from kubernetes.client import api_client
21
+ from kubernetes.client import api_client, Configuration
22
+ from openshift.dynamic import DynamicClient
23
23
  from openshift.dynamic.exceptions import NotFoundError
24
24
 
25
25
  from prompt_toolkit import prompt, print_formatted_text, HTML
@@ -177,13 +177,19 @@ class BaseApp(PrintMixin, PromptMixin):
177
177
  """
178
178
  logger.debug("Reloading Kubernetes Client Configuration")
179
179
  try:
180
- config.load_kube_config()
181
- self._dynClient = dynamic.DynamicClient(
182
- api_client.ApiClient(configuration=config.load_kube_config())
183
- )
180
+ if "KUBERNETES_SERVICE_HOST" in environ:
181
+ config.load_incluster_config()
182
+ k8s_config = Configuration.get_default_copy()
183
+ self._apiClient = api_client.ApiClient(configuration=k8s_config)
184
+ self._dynClient = DynamicClient(self._apiClient)
185
+ else:
186
+ config.load_kube_config()
187
+ self._apiClient = api_client.ApiClient()
188
+ self._dynClient = DynamicClient(self._apiClient)
184
189
  return self._dynClient
185
190
  except Exception as e:
186
191
  logger.warning(f"Error: Unable to connect to OpenShift Container Platform: {e}")
192
+ logger.exception(e, stack_info=True)
187
193
  return None
188
194
 
189
195
  def connect(self):
@@ -212,7 +218,8 @@ class BaseApp(PrintMixin, PromptMixin):
212
218
  # Prompt for new connection properties
213
219
  server = prompt(HTML('<Yellow>Server URL:</Yellow> '), placeholder="https://...")
214
220
  token = prompt(HTML('<Yellow>Login Token:</Yellow> '), is_password=True, placeholder="sha256~...")
215
- connect(server, token)
221
+ skipVerify = self.yesOrNo('Disable TLS Verify')
222
+ connect(server, token, skipVerify)
216
223
  self.reloadDynamicClient()
217
224
  if self._dynClient is None:
218
225
  print_formatted_text(HTML("<Red>Unable to connect to cluster. See log file for details</Red>"))
@@ -108,7 +108,9 @@ class PromptMixin():
108
108
  # List indices are 0 origin, so we need to subtract 1 from the selection made to arrive at the correct value
109
109
  self.setParam(param, options[selection-1])
110
110
 
111
- def promptForFile(self, message: str, mustExist: bool=True, default: str="") -> None:
111
+ def promptForFile(self, message: str, mustExist: bool=True, default: str="", envVar: str="") -> None:
112
+ if default == "" and envVar != "":
113
+ default = getenv(envVar, "")
112
114
  if mustExist:
113
115
  return prompt(masPromptValue(message), validator=FileExistsValidator(), validate_while_typing=False, default=default)
114
116
  else:
@@ -150,7 +150,7 @@ class InstallApp(BaseApp, InstallSettingsMixin, InstallSummarizerMixin, ConfigGe
150
150
 
151
151
  def configSLS(self) -> None:
152
152
  self.printH1("Configure Product License")
153
- self.slsLicenseFileLocal = self.promptForFile("License file", mustExist=True)
153
+ self.slsLicenseFileLocal = self.promptForFile("License file", mustExist=True, envVar="SLS_LICENSE_FILE_LOCAL")
154
154
  self.promptForString("Contact e-mail address", "uds_contact_email")
155
155
  self.promptForString("Contact first name", "uds_contact_firstname")
156
156
  self.promptForString("Contact last name", "uds_contact_lastname")
@@ -8,6 +8,9 @@
8
8
  #
9
9
  # *****************************************************************************
10
10
 
11
+ import logging
12
+ logger = logging.getLogger(__name__)
13
+
11
14
  class ManageSettingsMixin():
12
15
 
13
16
  def arcgisSettings(self) -> None:
@@ -82,6 +85,7 @@ class ManageSettingsMixin():
82
85
  if self.yesOrNo(" - Tririga"): self.params["mas_appws_components"] += ",tririga=latest"
83
86
  if self.yesOrNo(" - Utilities"): self.params["mas_appws_components"] += ",utilities=latest"
84
87
  if self.yesOrNo(" - Workday Applications"): self.params["mas_appws_components"] += ",workday=latest"
88
+ logger.debug(f"Generated mas_appws_components = {self.params['mas_appws_components']}")
85
89
 
86
90
  if ",icd=" in self.params["mas_appws_components"]:
87
91
  self.printH2("Maximo IT License Terms")
@@ -97,7 +101,6 @@ class ManageSettingsMixin():
97
101
  self.printH2("Maximo Manage Settings - Database")
98
102
  self.printDescription(["Customise the schema, tablespace, indexspace, and encryption settings used by Manage"])
99
103
 
100
- self.params["mas_appws_components"] = "base=latest,health=latest"
101
104
  if self.yesOrNo("Customize database settings"):
102
105
  self.promptForString("Schema", "mas_app_settings_db2_schema", default="maximo")
103
106
  self.promptForString("Tablespace", "mas_app_settings_db2_tablespace", default="MAXDATA")