mas-devops 12.8.4__tar.gz → 12.9.1__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.
Files changed (169) hide show
  1. {mas_devops-12.8.4/src/mas_devops.egg-info → mas_devops-12.9.1}/PKG-INFO +2 -1
  2. {mas_devops-12.8.4 → mas_devops-12.9.1}/setup.py +1 -0
  3. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/__init__.py +1 -1
  4. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260924-amd64.yaml +49 -45
  5. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260924-ppc64le.yaml +18 -20
  6. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260924-s390x.yaml +18 -19
  7. mas_devops-12.9.1/src/mas/devops/github.py +176 -0
  8. {mas_devops-12.8.4 → mas_devops-12.9.1/src/mas_devops.egg-info}/PKG-INFO +2 -1
  9. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas_devops.egg-info/SOURCES.txt +1 -0
  10. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas_devops.egg-info/requires.txt +1 -0
  11. {mas_devops-12.8.4 → mas_devops-12.9.1}/LICENSE +0 -0
  12. {mas_devops-12.8.4 → mas_devops-12.9.1}/MANIFEST.in +0 -0
  13. {mas_devops-12.8.4 → mas_devops-12.9.1}/README.md +0 -0
  14. {mas_devops-12.8.4 → mas_devops-12.9.1}/bin/mas-devops-apply-preinstall-rbac-for-saas +0 -0
  15. {mas_devops-12.8.4 → mas_devops-12.9.1}/bin/mas-devops-create-initial-users-for-saas +0 -0
  16. {mas_devops-12.8.4 → mas_devops-12.9.1}/bin/mas-devops-db2-validate-config +0 -0
  17. {mas_devops-12.8.4 → mas_devops-12.9.1}/bin/mas-devops-notify-slack +0 -0
  18. {mas_devops-12.8.4 → mas_devops-12.9.1}/bin/mas-devops-saas-job-cleaner +0 -0
  19. {mas_devops-12.8.4 → mas_devops-12.9.1}/pyproject.toml +0 -0
  20. {mas_devops-12.8.4 → mas_devops-12.9.1}/setup.cfg +0 -0
  21. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/aiservice.py +0 -0
  22. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/backup.py +0 -0
  23. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/__init__.py +0 -0
  24. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230414-amd64.yaml +0 -0
  25. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230518-amd64.yaml +0 -0
  26. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230526-amd64.yaml +0 -0
  27. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230616-amd64.yaml +0 -0
  28. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230627-amd64.yaml +0 -0
  29. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230721-amd64.yaml +0 -0
  30. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230725-amd64.yaml +0 -0
  31. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230829-amd64.yaml +0 -0
  32. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-230926-amd64.yaml +0 -0
  33. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-231004-amd64.yaml +0 -0
  34. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-231031-amd64.yaml +0 -0
  35. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-231128-amd64.yaml +0 -0
  36. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-231228-amd64.yaml +0 -0
  37. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-240130-amd64.yaml +0 -0
  38. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-240227-amd64.yaml +0 -0
  39. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-240326-amd64.yaml +0 -0
  40. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-240405-amd64.yaml +0 -0
  41. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-240430-amd64.yaml +0 -0
  42. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v8-240528-amd64.yaml +0 -0
  43. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-240625-amd64.yaml +0 -0
  44. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-240730-amd64.yaml +0 -0
  45. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-240827-amd64.yaml +0 -0
  46. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-241003-amd64.yaml +0 -0
  47. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-241107-amd64.yaml +0 -0
  48. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-241107-s390x.yaml +0 -0
  49. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-241205-amd64.yaml +0 -0
  50. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-241205-s390x.yaml +0 -0
  51. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250109-amd64.yaml +0 -0
  52. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250109-s390x.yaml +0 -0
  53. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250206-amd64.yaml +0 -0
  54. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250206-s390x.yaml +0 -0
  55. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250306-amd64.yaml +0 -0
  56. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250306-s390x.yaml +0 -0
  57. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250403-amd64.yaml +0 -0
  58. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250403-s390x.yaml +0 -0
  59. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250501-amd64.yaml +0 -0
  60. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250501-s390x.yaml +0 -0
  61. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250624-amd64.yaml +0 -0
  62. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250624-ppc64le.yaml +0 -0
  63. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250624-s390x.yaml +0 -0
  64. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250731-amd64.yaml +0 -0
  65. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250731-ppc64le.yaml +0 -0
  66. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250731-s390x.yaml +0 -0
  67. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250828-amd64.yaml +0 -0
  68. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250828-ppc64le.yaml +0 -0
  69. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250828-s390x.yaml +0 -0
  70. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250902-amd64.yaml +0 -0
  71. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250902-ppc64le.yaml +0 -0
  72. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250902-s390x.yaml +0 -0
  73. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250925-amd64.yaml +0 -0
  74. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-250925-ppc64le.yaml +0 -0
  75. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251010-amd64.yaml +0 -0
  76. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251010-ppc64le.yaml +0 -0
  77. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251030-amd64.yaml +0 -0
  78. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251030-ppc64le.yaml +0 -0
  79. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251030-s390x.yaml +0 -0
  80. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251127-amd64.yaml +0 -0
  81. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251127-ppc64le.yaml +0 -0
  82. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251127-s390x.yaml +0 -0
  83. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251224-amd64.yaml +0 -0
  84. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251224-ppc64le.yaml +0 -0
  85. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251224-s390x.yaml +0 -0
  86. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251231-amd64.yaml +0 -0
  87. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251231-ppc64le.yaml +0 -0
  88. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-251231-s390x.yaml +0 -0
  89. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260129-amd64.yaml +0 -0
  90. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260129-ppc64le.yaml +0 -0
  91. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260129-s390x.yaml +0 -0
  92. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260216-amd64.yaml +0 -0
  93. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260216-ppc64le.yaml +0 -0
  94. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260216-s390x.yaml +0 -0
  95. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260226-amd64.yaml +0 -0
  96. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260226-ppc64le.yaml +0 -0
  97. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260226-s390x.yaml +0 -0
  98. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260305-amd64.yaml +0 -0
  99. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260305-ppc64le.yaml +0 -0
  100. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260305-s390x.yaml +0 -0
  101. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260313-amd64.yaml +0 -0
  102. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260313-ppc64le.yaml +0 -0
  103. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260313-s390x.yaml +0 -0
  104. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260318-amd64.yaml +0 -0
  105. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260318-ppc64le.yaml +0 -0
  106. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260318-s390x.yaml +0 -0
  107. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260326-amd64.yaml +0 -0
  108. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260326-ppc64le.yaml +0 -0
  109. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260326-s390x.yaml +0 -0
  110. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260430-amd64.yaml +0 -0
  111. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260430-ppc64le.yaml +0 -0
  112. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260430-s390x.yaml +0 -0
  113. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260527-amd64.yaml +0 -0
  114. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260527-ppc64le.yaml +0 -0
  115. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260527-s390x.yaml +0 -0
  116. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260625-amd64.yaml +0 -0
  117. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260625-ppc64le.yaml +0 -0
  118. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260625-s390x.yaml +0 -0
  119. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260730-amd64.yaml +0 -0
  120. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260730-ppc64le.yaml +0 -0
  121. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260730-s390x.yaml +0 -0
  122. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260805-amd64.yaml +0 -0
  123. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260805-ppc64le.yaml +0 -0
  124. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260805-s390x.yaml +0 -0
  125. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260827-amd64.yaml +0 -0
  126. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260827-ppc64le.yaml +0 -0
  127. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260827-s390x.yaml +0 -0
  128. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260902-amd64.yaml +0 -0
  129. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260902-ppc64le.yaml +0 -0
  130. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260902-s390x.yaml +0 -0
  131. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260918-amd64.yaml +0 -0
  132. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260918-ppc64le.yaml +0 -0
  133. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/catalogs/v9-260918-s390x.yaml +0 -0
  134. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/data/ocp.yaml +0 -0
  135. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/db2.py +0 -0
  136. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/mas/__init__.py +0 -0
  137. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/mas/apps.py +0 -0
  138. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/mas/suite.py +0 -0
  139. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/ocp.py +0 -0
  140. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/olm.py +0 -0
  141. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/pre_install.py +0 -0
  142. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/restore.py +0 -0
  143. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/saas/__init__.py +0 -0
  144. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/saas/job_cleaner.py +0 -0
  145. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/slack.py +0 -0
  146. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/sls.py +0 -0
  147. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/tekton.py +0 -0
  148. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/aiservice-pipelines-pvc.yml.j2 +0 -0
  149. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/aiservice-pipelines-rbac.yml.j2 +0 -0
  150. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/ibm-entitlement-dockerconfig.json.j2 +0 -0
  151. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/ibm-entitlement-secret.yml.j2 +0 -0
  152. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/operatorgroup.yml.j2 +0 -0
  153. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipeline-additional-configs.yml.j2 +0 -0
  154. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-aiservice-upgrade.yml.j2 +0 -0
  155. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-backup.yml.j2 +0 -0
  156. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-install.yml.j2 +0 -0
  157. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-restore.yml.j2 +0 -0
  158. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-uninstall.yml.j2 +0 -0
  159. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-update.yml.j2 +0 -0
  160. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelinerun-upgrade.yml.j2 +0 -0
  161. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelines-backup-pvc.yml.j2 +0 -0
  162. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelines-pvc.yml.j2 +0 -0
  163. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelines-rbac-cluster.yml.j2 +0 -0
  164. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/pipelines-rbac.yml.j2 +0 -0
  165. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/templates/subscription.yml.j2 +0 -0
  166. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/users.py +0 -0
  167. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas/devops/utils.py +0 -0
  168. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas_devops.egg-info/dependency_links.txt +0 -0
  169. {mas_devops-12.8.4 → mas_devops-12.9.1}/src/mas_devops.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mas-devops
3
- Version: 12.8.4
3
+ Version: 12.9.1
4
4
  Summary: Python for Maximo Application Suite Dev/Ops
5
5
  Home-page: https://github.com/ibm-mas/python-devops
6
6
  Author: David Parker
@@ -25,6 +25,7 @@ Requires-Dist: semver
25
25
  Requires-Dist: boto3
26
26
  Requires-Dist: slack_sdk
27
27
  Requires-Dist: packaging
28
+ Requires-Dist: cryptography
28
29
  Provides-Extra: dev
29
30
  Requires-Dist: build; extra == "dev"
30
31
  Requires-Dist: flake8; extra == "dev"
@@ -60,6 +60,7 @@ setup(
60
60
  "boto3", # Apache Software License
61
61
  "slack_sdk", # MIT License
62
62
  "packaging", # Apache Software License
63
+ "cryptography", # Apache Software License — used by mas.devops.github for GHE App JWT auth
63
64
  ],
64
65
  extras_require={
65
66
  "dev": [
@@ -8,4 +8,4 @@
8
8
  #
9
9
  # *****************************************************************************
10
10
 
11
- __version__ = "12.8.4"
11
+ __version__ = "12.9.1"
@@ -1,15 +1,13 @@
1
1
  ---
2
- # Case bundle configuration for IBM Maximo Operator Catalog 260918 (AMD64)
2
+ # Case bundle configuration for IBM Maximo Operator Catalog 260924 (AMD64)
3
3
  # -----------------------------------------------------------------------------
4
4
  # In the future this won't be necessary as we'll be able to mirror from the
5
5
  # catalog itself, but not everything in the catalog supports this yet (including MAS)
6
6
  # so we need to use the CASE bundle mirror process still.
7
7
 
8
- catalog_digest: sha256:a8425cf8518292bc9a4153a9be7daf1122cc6113d39d3dc05cfafdf1ffbf9e53
8
+ catalog_digest: sha256:2edcbbe009473698dbcfc595fb959e9a9ff2445f8877b55c3c100411edcd8cd0
9
9
 
10
10
  ocp_compatibility:
11
- - "4.16"
12
- - "4.17"
13
11
  - "4.18"
14
12
  - "4.19"
15
13
  - "4.20"
@@ -18,18 +16,18 @@ ocp_compatibility:
18
16
 
19
17
  # Dependencies - Cloud Pak for Data
20
18
  # -----------------------------------------------------------------------------
21
- cpd_product_version_default: 5.3.1 # cpd 5.3.1
19
+ cpd_product_version_default: 5.3.1 # No Updated
22
20
 
23
21
  # Dependencies
24
22
  # -----------------------------------------------------------------------------
25
- ibm_licensing_version: 4.2.20 # Operator version 4.2.20 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-licensing)
23
+ ibm_licensing_version: 4.2.24 # Operator version 4.2.20 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-licensing)
26
24
  common_svcs_version: 4.17.0 # Operator version 4.17.0 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-cp-common-services)
27
25
  #common_svcs_version_1: 4.11.0 # Additional version 4.11.0
28
26
 
29
27
  cp4d_platform_version: 5.4.0+20260501.120952.925.640.50 # Operator version 5.4.0 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-cp-datacore/)
30
28
  ibm_zen_version: 6.4.0+20260210.170932.92 # For CPD5 ibm-zen has to be explicitily mirrored
31
29
 
32
- # CPD 5.3.1 Helm Component Versions (CASE versions for Helm charts)
30
+ # CPD 5.3.1 Helm Component Versions (CASE versions For Helm charts)
33
31
  wsl_version: 12.1.0 # CPD 5.3.1 Watson Studio CASE version for Helm
34
32
  wsl_runtimes_version: 12.1.0 # CPD 5.3.1 Watson Studio Runtimes CASE version
35
33
  wml_version: 12.1.0 # CPD 5.3.1 Watson Machine Learning CASE version for Helm
@@ -52,7 +50,7 @@ db2u_version: 7.7.1+20260729.095150.20860 # Operator version 120105.0.1 (
52
50
  db2u_extras_version: 1.0.6
53
51
  db2u_filter: db2
54
52
 
55
- db2_channel_default: v120105.0 # Default Channel version for db2u-operator
53
+ db2_channel_default: v120105.0 # No Updated # Default Channel version for db2u-operator
56
54
 
57
55
 
58
56
  # Dependencies - CouchDb
@@ -73,12 +71,12 @@ mongo_extras_version_4: 4.4.21
73
71
  mongo_extras_version_5: 5.0.23
74
72
  mongo_extras_version_6: 6.0.12
75
73
  mongo_extras_version_7: 7.0.23
76
- mongo_extras_version_8: 8.0.30
74
+ mongo_extras_version_8: 8.0.30 # Updated
77
75
 
78
76
 
79
77
  # Dependencies - Amlen
80
78
  # -----------------------------------------------------------------------------
81
- amlen_extras_version: 1.1.5
79
+ amlen_extras_version: 1.1.6 # Update
82
80
 
83
81
 
84
82
  # Dependencies - UDS
@@ -95,19 +93,19 @@ appconnect_version: 6.2.0 # Operator version 6.2.0 # sticking
95
93
  # Dependencies - Suite License Service
96
94
  # -----------------------------------------------------------------------------
97
95
  # https://github.ibm.com/maximoappsuite/ibm-sls/releases
98
- sls_version: 3.13.1
96
+ sls_version: 3.13.2 # Updated
99
97
 
100
98
 
101
99
  # Dependencies - Truststore Manager
102
100
  # -----------------------------------------------------------------------------
103
101
  # https://github.ibm.com/maximoappsuite/ibm-truststore-mgr/releases
104
- tsm_version: 1.7.9
102
+ tsm_version: 1.7.9 # No Updated
105
103
 
106
104
 
107
105
  # Dependencies - Data Dictionary
108
106
  # -----------------------------------------------------------------------------
109
107
  # https://github.ibm.com/maximoappsuite/ibm-data-dictionary/releases
110
- dd_version: 1.1.23
108
+ dd_version: 1.1.23 # No Update
111
109
 
112
110
  # Dependencies - Opendata hub
113
111
  # -----------------------------------------------------------------------------
@@ -116,21 +114,21 @@ odh_version: 2.32.0
116
114
 
117
115
  # Extra Images for Redis (Collaborate)
118
116
  # ------------------------------------------------------------------------------
119
- redis_extras_version: 2.1.40
117
+ redis_extras_version: 2.1.40 # No Update
120
118
 
121
119
 
122
120
  # Maximo Application Suite
123
121
  # -----------------------------------------------------------------------------
124
122
  mas_core_version:
125
- 9.2.x: 9.2.6 # Updated
123
+ 9.2.x: 9.2.7 # Updated
126
124
  9.2.x-feature: 9.2.0 # No Update
127
- 9.1.x: 9.1.25 # Updated
128
- 9.0.x: 9.0.31 # Updated
125
+ 9.1.x: 9.1.26 # Updated
126
+ 9.0.x: 9.0.32 # Updated
129
127
  8.10.x: 8.10.37 # No Update
130
128
  8.11.x: 8.11.34 # No Update
131
129
  mas_assist_version:
132
- 9.1.x: 9.1.14 # No Update
133
- 9.0.x: 9.0.20 # No Update
130
+ 9.1.x: 9.1.15 # Updated
131
+ 9.0.x: 9.0.21 # Updated
134
132
  8.10.x: 8.7.8 # No Update
135
133
  8.11.x: 8.8.7 # No Update
136
134
  mas_hputilities_version:
@@ -139,31 +137,31 @@ mas_hputilities_version:
139
137
  8.10.x: 8.6.7 # No Update
140
138
  8.11.x: "" # Not Supported
141
139
  mas_iot_version:
142
- 9.2.x: 9.2.2 # No Update
140
+ 9.2.x: 9.2.4 # Updated
143
141
  9.2.x-feature: 9.2.0 # No Update
144
- 9.1.x: 9.1.14 # No Update
145
- 9.0.x: 9.0.23 # No Update
142
+ 9.1.x: 9.1.15 # Updated
143
+ 9.0.x: 9.0.24 # Updated
146
144
  8.10.x: 8.7.33 # No Update
147
145
  8.11.x: 8.8.30 # No Update
148
146
  mas_manage_version:
149
- 9.2.x: 9.2.3 # Updated
147
+ 9.2.x: 9.2.4 # Updated
150
148
  9.2.x-feature: 9.2.0 # No Update
151
- 9.1.x: 9.1.24 # Updated
152
- 9.0.x: 9.0.31 # Updated
149
+ 9.1.x: 9.1.25 # Updated
150
+ 9.0.x: 9.0.32 # Updated
153
151
  8.10.x: 8.6.38 # No Update
154
152
  8.11.x: 8.7.32 # No Update
155
153
  mas_monitor_version:
156
- 9.2.x: 9.2.2 # No Update
154
+ 9.2.x: 9.2.4 # Updated
157
155
  9.2.x-feature: 9.2.0 # No Update
158
- 9.1.x: 9.1.14 # No Update
159
- 9.0.x: 9.0.24 # No Update
156
+ 9.1.x: 9.1.15 # Updated
157
+ 9.0.x: 9.0.25 # Updated
160
158
  8.10.x: 8.10.30 # No Update
161
159
  8.11.x: 8.11.28 # No Update
162
160
  mas_optimizer_version:
163
- 9.2.x: 9.2.2 # No Update
161
+ 9.2.x: 9.2.3 # Updated
164
162
  9.2.x-feature: 9.2.0 # No Update
165
- 9.1.x: 9.1.15 # No Update
166
- 9.0.x: 9.0.26 # No Update
163
+ 9.1.x: 9.1.16 # Updated
164
+ 9.0.x: 9.0.27 # Updated
167
165
  8.10.x: 8.4.28 # No Update
168
166
  8.11.x: 8.5.28 # No Update
169
167
  mas_predict_version:
@@ -174,16 +172,16 @@ mas_predict_version:
174
172
  8.10.x: 8.8.15 # No Update
175
173
  8.11.x: 8.9.17 # No Update
176
174
  mas_visualinspection_version:
177
- 9.2.x: 9.2.1 # No Update
175
+ 9.2.x: 9.2.3 # Updated
178
176
  9.2.x-feature: 9.2.0 # No Update
179
- 9.1.x: 9.1.19 # No Update
180
- 9.0.x: 9.0.23 # No Update
177
+ 9.1.x: 9.1.21 # Updated
178
+ 9.0.x: 9.0.24 # Updated
181
179
  8.10.x: 8.8.4 # No Update
182
180
  8.11.x: 8.9.21 # No Update
183
181
  mas_facilities_version:
184
- 9.2.x: 9.2.2 # No Update
182
+ 9.2.x: 9.2.3 # Updated
185
183
  9.2.x-feature: 9.2.0 # No Update
186
- 9.1.x: 9.1.14 # No Update
184
+ 9.1.x: 9.1.15 # Updated
187
185
  9.0.x: "" # Not Supported
188
186
  8.10.x: "" # Not Supported
189
187
  8.11.x: "" # Not Supported
@@ -192,12 +190,12 @@ mas_facilities_version:
192
190
  # Maximo AI Service
193
191
  # ------------------------------------------------------------------------------
194
192
  aiservice_version:
195
- 9.2.x: 9.2.2 # No Update
193
+ 9.2.x: 9.2.3 # Updated
196
194
  9.2.x-feature: 9.2.0 # No Update
197
- 9.1.x: 9.1.18 # No Update
195
+ 9.1.x: 9.1.19 # Updated
198
196
 
199
197
  aiservice_tenant_version:
200
- 9.2.x: 9.2.2 # No Update
198
+ 9.2.x: 9.2.3 # Updated
201
199
  9.2.x-feature: 9.2.0 # No Update
202
200
 
203
201
 
@@ -207,10 +205,16 @@ editorial:
207
205
  whats_new:
208
206
  - title: '**Security updates and bug fixes**'
209
207
  details:
210
- - IBM Maximo Application Suite Core Platform [v9.2.6](https://www.ibm.com/support/pages/node/7288414), [v9.1.25](https://www.ibm.com/support/pages/node/7288415), [v9.0.31](https://www.ibm.com/support/pages/node/7288418)
211
- - IBM Maximo Manage [v9.2.3,v9.1.24,v9.0.31](https://www.ibm.com/support/pages/node/7288419)
212
- - FIPS [fips-140-2-mode-applicable-semeru-fips-140-2-restricted-security-profile-reaches-its-sunset-date-21-september-2026](https://www.ibm.com/support/pages/ibm-semeru-runtime-includes-restricted-security-profiles-used-maximo-application-suite-components-operating-fips-140-2-mode-applicable-semeru-fips-140-2-restricted-security-profile-reaches-its-sunset-date-21-september-2026?view=full)
208
+ - IBM Maximo Application Suite Core Platform [v9.0.32](https://www.ibm.com/support/pages/node/7289766), [v9.1.26](https://www.ibm.com/support/pages/node/7289767) and [v9.2.7](https://www.ibm.com/support/pages/node/7289768)
209
+ - IBM Maximo Manage [v9.0.32](https://www.ibm.com/support/pages/node/7289352),[v9.1.25](https://www.ibm.com/support/pages/node/7289351) and [v9.2.4](https://www.ibm.com/support/pages/node/7289350)
210
+ - IBM Maximo IoT [v9.0.24](https://www.ibm.com/support/pages/node/7288633) ,[v9.1.15](https://www.ibm.com/support/pages/node/7288634) ,[v9.2.4](https://www.ibm.com/support/pages/node/7288635)
211
+ - IBM Maximo Monitor [v9.0.25](https://www.ibm.com/support/pages/node/7288828),[v9.1.15](https://www.ibm.com/support/pages/node/7288834) and [v9.2.4](https://www.ibm.com/support/pages/node/7288901)
212
+ - IBM Maximo Optimizer [v9.0.27](https://www.ibm.com/support/pages/node/7288402),[v9.1.16](https://www.ibm.com/support/pages/node/7288401), [v9.2.3](https://www.ibm.com/support/pages/node/7288400)
213
+ - IBM Maximo Assist/Collaborate [v9.0.21](https://www.ibm.com/support/pages/node/7288906), [v9.1.15](https://www.ibm.com/support/pages/node/7288908)
214
+ - IBM Maximo Visual Inspection [v9.0.24](https://www.ibm.com/support/pages/node/7289755) ,[v9.1.21](https://www.ibm.com/support/pages/node/7289756) , [v9.2.3](https://www.ibm.com/support/pages/node/7289757)
215
+ - IBM Maximo Real Estate and Facilities [v9.1.15](https://www.ibm.com/support/pages/node/7288833) and [v9.2.3](https://www.ibm.com/support/pages/node/7289065)
216
+ - IBM Maximo AI Service [v9.1.19](https://www.ibm.com/support/pages/node/7287754) and [v9.2.3](https://www.ibm.com/support/pages/node/7287755)
217
+ - IBM Suite License Service v3.13.2
218
+ - 'Mongo: 8.0.30'
213
219
  known_issues:
214
- - title: On or after 21 September 2026, on a FIPS-enabled cluster, the maxinst pod (<instance_id>-<workspace_id>-manage-maxinst) fails to start or crashes during the database initialisation/upgrade phase [Workaround](https://www.ibm.com/support/pages/node/7288522)
215
-
216
-
220
+ - title: During an upgrade from MVI 9.0.x to 9.1.x, the vision-auth pod may fail to start due to an SSL hostname verification error when connecting to Valkey. Restart the Valkey and Auth deployments in the MVI namespace to resolve the issue.
@@ -1,15 +1,13 @@
1
1
  ---
2
- # Case bundle configuration for IBM Maximo Operator Catalog 260918 (PPC)
2
+ # Case bundle configuration for IBM Maximo Operator Catalog 260924 (PPC)
3
3
  # -----------------------------------------------------------------------------
4
4
  # In the future this won't be necessary as we'll be able to mirror from the
5
5
  # catalog itself, but not everything in the catalog supports this yet (including MAS)
6
6
  # so we need to use the CASE bundle mirror process still.
7
7
 
8
- catalog_digest: sha256:29f72b736426bb17cf7b442333c2085583124f2c861c06823eb94aef697d9f7b
8
+ catalog_digest: sha256:c6f7dae88058ab2c50a95ab0f42b688cf88dcd7ac2704064d797f4ab77f8ea1d
9
9
 
10
10
  ocp_compatibility:
11
- - "4.16"
12
- - "4.17"
13
11
  - "4.18"
14
12
  - "4.19"
15
13
  - "4.20"
@@ -20,25 +18,25 @@ ocp_compatibility:
20
18
  # -----------------------------------------------------------------------------
21
19
  db2u_version: 7.7.1+20260729.095150.20860 # Operator version 120105.0.1 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-db2uoperator)
22
20
 
23
- db2_channel_default: v120105.0 # Default Channel version for db2u-operator
21
+ db2_channel_default: v120105.0 # No Updated # Default Channel version for db2u-operator
24
22
 
25
23
 
26
24
  # Dependencies - UDS
27
25
  # -----------------------------------------------------------------------------
28
26
  uds_version: 2.0.12 # Operator version 2.0.12 # sticking to 2.0.12 version # Please do Not Change
29
- uds_extras_version: 1.5.0
27
+ uds_extras_version: 1.5.0 # No Update
30
28
 
31
29
 
32
30
  # Dependencies - Suite License Service
33
31
  # -----------------------------------------------------------------------------
34
32
  # https://github.ibm.com/maximoappsuite/ibm-sls/releases
35
- sls_version: 3.13.1
33
+ sls_version: 3.13.2 # Updated
36
34
 
37
35
 
38
36
  # Dependencies - Truststore Manager
39
37
  # -----------------------------------------------------------------------------
40
38
  # https://github.ibm.com/maximoappsuite/ibm-truststore-mgr/releases
41
- tsm_version: 1.7.9
39
+ tsm_version: 1.7.9 # No Updated
42
40
 
43
41
 
44
42
  # Dependencies - MongoDB
@@ -48,22 +46,22 @@ mongo_extras_version_4: 4.4.21
48
46
  mongo_extras_version_5: 5.0.23
49
47
  mongo_extras_version_6: 6.0.12
50
48
  mongo_extras_version_7: 7.0.12
51
- mongo_extras_version_8: 8.0.30
49
+ mongo_extras_version_8: 8.0.30 # Updated
52
50
 
53
51
  # Maximo Application Suite
54
52
  # -----------------------------------------------------------------------------
55
53
  mas_core_version:
56
- 9.2.x: 9.2.6 # Updated
54
+ 9.2.x: 9.2.7 # Updated
57
55
  9.2.x-feature: 9.2.0 # No Update
58
- 9.1.x: 9.1.25 # Updated
59
- 9.0.x: 9.0.31 # Updated
56
+ 9.1.x: 9.1.26 # Updated
57
+ 9.0.x: 9.0.32 # Updated
60
58
  8.10.x: "" # Not Supported
61
59
  8.11.x: "" # Not Supported
62
60
  mas_manage_version:
63
- 9.2.x: 9.2.3 # Updated
61
+ 9.2.x: 9.2.4 # Updated
64
62
  9.2.x-feature: 9.2.0 # No Update
65
- 9.1.x: 9.1.24 # Updated
66
- 9.0.x: 9.0.31 # Updated
63
+ 9.1.x: 9.1.25 # Updated
64
+ 9.0.x: 9.0.32 # Updated
67
65
  8.10.x: "" # Not Supported
68
66
  8.11.x: "" # Not Supported
69
67
 
@@ -74,9 +72,9 @@ editorial:
74
72
  whats_new:
75
73
  - title: '**Security updates and bug fixes**'
76
74
  details:
77
- - IBM Maximo Application Suite Core Platform [v9.2.6](https://www.ibm.com/support/pages/node/7288414), [v9.1.25](https://www.ibm.com/support/pages/node/7288415), [v9.0.31](https://www.ibm.com/support/pages/node/7288418)
78
- - IBM Maximo Manage [v9.2.3,v9.1.24,v9.0.31](https://www.ibm.com/support/pages/node/7288419)
79
- - FIPS [fips-140-2-mode-applicable-semeru-fips-140-2-restricted-security-profile-reaches-its-sunset-date-21-september-2026](https://www.ibm.com/support/pages/ibm-semeru-runtime-includes-restricted-security-profiles-used-maximo-application-suite-components-operating-fips-140-2-mode-applicable-semeru-fips-140-2-restricted-security-profile-reaches-its-sunset-date-21-september-2026?view=full)
75
+ - IBM Maximo Application Suite Core Platform [v9.0.32](https://www.ibm.com/support/pages/node/7289766), [v9.1.26](https://www.ibm.com/support/pages/node/7289767) and [v9.2.7](https://www.ibm.com/support/pages/node/7289768)
76
+ - IBM Maximo Manage [v9.0.32](https://www.ibm.com/support/pages/node/7289352),[v9.1.25](https://www.ibm.com/support/pages/node/7289351) and [v9.2.4](https://www.ibm.com/support/pages/node/7289350)
77
+ - IBM Suite License Service v3.13.2
78
+ - 'Mongo: 8.0.30'
80
79
  known_issues:
81
- - title: On or after 21 September 2026, on a FIPS-enabled cluster, the maxinst pod (<instance_id>-<workspace_id>-manage-maxinst) fails to start or crashes during the database initialisation/upgrade phase [Workaround](https://www.ibm.com/support/pages/node/7288522)
82
-
80
+ - title: During an upgrade from MVI 9.0.x to 9.1.x, the vision-auth pod may fail to start due to an SSL hostname verification error when connecting to Valkey. Restart the Valkey and Auth deployments in the MVI namespace to resolve the issue.
@@ -1,15 +1,13 @@
1
1
  ---
2
- # Case bundle configuration for IBM Maximo Operator Catalog 260918 (Z)
2
+ # Case bundle configuration for IBM Maximo Operator Catalog 260924 (Z)
3
3
  # -----------------------------------------------------------------------------
4
4
  # In the future this won't be necessary as we'll be able to mirror from the
5
5
  # catalog itself, but not everything in the catalog supports this yet (including MAS)
6
6
  # so we need to use the CASE bundle mirror process still.
7
7
 
8
- catalog_digest: sha256:c133ddc1cdf996f535d1f57444ac92198ca2ea7d75a0af56e925a0bec737b1ed
8
+ catalog_digest: sha256:a599cfc5bc10d971642dc0ec2cf7f5dbce9bc3366ba8834729a70479b89e7597
9
9
 
10
10
  ocp_compatibility:
11
- - "4.16"
12
- - "4.17"
13
11
  - "4.18"
14
12
  - "4.19"
15
13
  - "4.20"
@@ -20,25 +18,25 @@ ocp_compatibility:
20
18
  # -----------------------------------------------------------------------------
21
19
  db2u_version: 7.7.1+20260729.095150.20860 # Operator version 120105.0.1 (https://github.com/IBM/cloud-pak/tree/master/repo/case/ibm-db2uoperator)
22
20
 
23
- db2_channel_default: v120105.0 # Default Channel version for db2u-operator
21
+ db2_channel_default: v120105.0 # No Updated # Default Channel version for db2u-operator
24
22
 
25
23
 
26
24
  # Dependencies - UDS
27
25
  # -----------------------------------------------------------------------------
28
26
  uds_version: 2.0.12 # Operator version 2.0.12 # sticking to 2.0.12 version # Please do Not Change
29
- uds_extras_version: 1.5.0
27
+ uds_extras_version: 1.5.0 # No Update
30
28
 
31
29
 
32
30
  # Dependencies - Suite License Service
33
31
  # -----------------------------------------------------------------------------
34
32
  # https://github.ibm.com/maximoappsuite/ibm-sls/releases
35
- sls_version: 3.13.1
33
+ sls_version: 3.13.2 # Updated
36
34
 
37
35
 
38
36
  # Dependencies - Truststore Manager
39
37
  # -----------------------------------------------------------------------------
40
38
  # https://github.ibm.com/maximoappsuite/ibm-truststore-mgr/releases
41
- tsm_version: 1.7.9
39
+ tsm_version: 1.7.9 # No Updated
42
40
 
43
41
 
44
42
  # Dependencies - MongoDB
@@ -48,22 +46,22 @@ mongo_extras_version_4: 4.4.21
48
46
  mongo_extras_version_5: 5.0.23
49
47
  mongo_extras_version_6: 6.0.12
50
48
  mongo_extras_version_7: 7.0.12
51
- mongo_extras_version_8: 8.0.30
49
+ mongo_extras_version_8: 8.0.30 # Updated
52
50
 
53
51
  # Maximo Application Suite
54
52
  # -----------------------------------------------------------------------------
55
53
  mas_core_version:
56
- 9.2.x: 9.2.6 # Updated
54
+ 9.2.x: 9.2.7 # Updated
57
55
  9.2.x-feature: 9.2.0 # No Update
58
- 9.1.x: 9.1.25 # Updated
59
- 9.0.x: 9.0.31 # Updated
56
+ 9.1.x: 9.1.26 # Updated
57
+ 9.0.x: 9.0.32 # Updated
60
58
  8.10.x: "" # Not Supported
61
59
  8.11.x: "" # Not Supported
62
60
  mas_manage_version:
63
- 9.2.x: 9.2.3 # Updated
61
+ 9.2.x: 9.2.4 # Updated
64
62
  9.2.x-feature: 9.2.0 # No Update
65
- 9.1.x: 9.1.24 # Updated
66
- 9.0.x: 9.0.31 # Updated
63
+ 9.1.x: 9.1.25 # Updated
64
+ 9.0.x: 9.0.32 # Updated
67
65
  8.10.x: "" # Not Supported
68
66
  8.11.x: "" # Not Supported
69
67
 
@@ -74,9 +72,10 @@ editorial:
74
72
  whats_new:
75
73
  - title: '**Security updates and bug fixes**'
76
74
  details:
77
- - IBM Maximo Application Suite Core Platform [v9.2.6](https://www.ibm.com/support/pages/node/7288414), [v9.1.25](https://www.ibm.com/support/pages/node/7288415), [v9.0.31](https://www.ibm.com/support/pages/node/7288418)
78
- - IBM Maximo Manage [v9.2.3,v9.1.24,v9.0.31](https://www.ibm.com/support/pages/node/7288419)
79
- - FIPS [fips-140-2-mode-applicable-semeru-fips-140-2-restricted-security-profile-reaches-its-sunset-date-21-september-2026](https://www.ibm.com/support/pages/ibm-semeru-runtime-includes-restricted-security-profiles-used-maximo-application-suite-components-operating-fips-140-2-mode-applicable-semeru-fips-140-2-restricted-security-profile-reaches-its-sunset-date-21-september-2026?view=full)
75
+ - IBM Maximo Application Suite Core Platform [v9.0.32](https://www.ibm.com/support/pages/node/7289766), [v9.1.26](https://www.ibm.com/support/pages/node/7289767) and [v9.2.7](https://www.ibm.com/support/pages/node/7289768)
76
+ - IBM Maximo Manage [v9.0.32](https://www.ibm.com/support/pages/node/7289352),[v9.1.25](https://www.ibm.com/support/pages/node/7289351) and [v9.2.4](https://www.ibm.com/support/pages/node/7289350)
77
+ - IBM Suite License Service v3.13
78
+ - 'Mongo: 8.0.30'
80
79
  known_issues:
81
- - title: On or after 21 September 2026, on a FIPS-enabled cluster, the maxinst pod (<instance_id>-<workspace_id>-manage-maxinst) fails to start or crashes during the database initialisation/upgrade phase [Workaround](https://www.ibm.com/support/pages/node/7288522)
80
+ - title: During an upgrade from MVI 9.0.x to 9.1.x, the vision-auth pod may fail to start due to an SSL hostname verification error when connecting to Valkey. Restart the Valkey and Auth deployments in the MVI namespace to resolve the issue.
82
81
 
@@ -0,0 +1,176 @@
1
+ # *****************************************************************************
2
+ # Copyright (c) 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
+ """GitHub Checks API helpers for FVT result reporting.
12
+
13
+ Provides createCheckRun() and updateCheckRun() to post check run status
14
+ against specific commits on github.ibm.com, using a GitHub App for auth.
15
+
16
+ Authentication is handled automatically. Set GITHUB_APP_PRIVATE_KEY in the
17
+ environment; an installation token is fetched, cached, and refreshed
18
+ transparently.
19
+
20
+ Environment variables:
21
+ GITHUB_APP_PRIVATE_KEY (required) PEM-encoded RSA private key.
22
+ GITHUB_API_BASE (optional) Override API base URL.
23
+ Defaults to https://github.ibm.com/api/v3
24
+ GITHUB_APP_ID (optional) Override app ID. Defaults to 6035.
25
+ GITHUB_APP_INSTALLATION_ID (optional) Skip installation lookup.
26
+ """
27
+
28
+ import base64
29
+ import json
30
+ import logging
31
+ import os
32
+ import time
33
+ import urllib.error
34
+ import urllib.request
35
+ from dataclasses import dataclass, field
36
+ from datetime import datetime, timezone
37
+
38
+ from cryptography.hazmat.primitives import hashes, serialization
39
+ from cryptography.hazmat.primitives.asymmetric import padding
40
+
41
+ logger = logging.getLogger(__name__)
42
+
43
+ _GITHUB_API_BASE = os.environ.get("GITHUB_API_BASE", "https://github.ibm.com/api/v3")
44
+ _GITHUB_APP_ID = os.environ.get("GITHUB_APP_ID", "6035")
45
+
46
+
47
+ # ---------------------------------------------------------------------------
48
+ # Token cache
49
+ # ---------------------------------------------------------------------------
50
+ @dataclass
51
+ class _TokenCache:
52
+ token: str = ""
53
+ expiresAt: float = field(default_factory=float)
54
+
55
+
56
+ _tokenCache: dict[str, _TokenCache] = {}
57
+
58
+
59
+ # ---------------------------------------------------------------------------
60
+ # Internal helpers
61
+ # ---------------------------------------------------------------------------
62
+ def _buildJwt(privateKeyPem: str) -> str:
63
+ """Build a signed RS256 JWT to authenticate as the GitHub App."""
64
+ key = serialization.load_pem_private_key(privateKeyPem.encode(), password=None)
65
+ now = int(time.time())
66
+ header = base64.urlsafe_b64encode(json.dumps({"alg": "RS256", "typ": "JWT"}).encode()).rstrip(b"=")
67
+ payload = base64.urlsafe_b64encode(json.dumps({"iat": now - 60, "exp": now + 540, "iss": _GITHUB_APP_ID}).encode()).rstrip(b"=")
68
+ message = header + b"." + payload
69
+ sig = base64.urlsafe_b64encode(key.sign(message, padding.PKCS1v15(), hashes.SHA256())).rstrip(b"=")
70
+ return (message + b"." + sig).decode()
71
+
72
+
73
+ def _apiRequest(method: str, url: str, token: str, payload: dict | None = None, isJwt: bool = False) -> dict:
74
+ """Send an authenticated request to the GitHub API."""
75
+ data = json.dumps(payload).encode() if payload else None
76
+ authScheme = "Bearer" if isJwt else "token"
77
+ req = urllib.request.Request(
78
+ url,
79
+ data=data,
80
+ method=method,
81
+ headers={
82
+ "Accept": "application/vnd.github+json",
83
+ "Authorization": f"{authScheme} {token}",
84
+ "X-GitHub-Api-Version": "2022-11-28",
85
+ "Content-Type": "application/json",
86
+ },
87
+ )
88
+ try:
89
+ with urllib.request.urlopen(req) as resp:
90
+ return json.loads(resp.read().decode())
91
+ except urllib.error.HTTPError as e:
92
+ raise RuntimeError(f"GHE API {method} {url} → {e.code}: {e.read().decode(errors='replace')}") from e
93
+ except urllib.error.URLError as e:
94
+ raise RuntimeError(f"GHE API request failed: {e.reason}") from e
95
+
96
+
97
+ def _getInstallationToken(org: str) -> str:
98
+ """Return a valid installation token for *org*, refreshing when near expiry."""
99
+ cache = _tokenCache.get(org)
100
+ if cache and cache.token and time.time() < cache.expiresAt - 60:
101
+ return cache.token
102
+
103
+ privateKeyPem = os.environ.get("GITHUB_APP_PRIVATE_KEY")
104
+ if not privateKeyPem:
105
+ raise RuntimeError("GITHUB_APP_PRIVATE_KEY environment variable is not set")
106
+
107
+ jwt = _buildJwt(privateKeyPem)
108
+
109
+ # Resolve installation ID for this org (or use explicit override)
110
+ installationId = os.environ.get("GITHUB_APP_INSTALLATION_ID")
111
+ if not installationId:
112
+ installations = _apiRequest("GET", f"{_GITHUB_API_BASE}/app/installations", jwt, isJwt=True)
113
+ for inst in installations:
114
+ if inst.get("account", {}).get("login", "").lower() == org.lower():
115
+ installationId = str(inst["id"])
116
+ break
117
+ if not installationId:
118
+ raise RuntimeError(f"No GHE App installation found for org '{org}'")
119
+
120
+ body = _apiRequest("POST", f"{_GITHUB_API_BASE}/app/installations/{installationId}/access_tokens", jwt, payload={}, isJwt=True)
121
+ token = body.get("token")
122
+ if not token:
123
+ raise RuntimeError(f"No token in GHE access_tokens response: {body}")
124
+
125
+ _tokenCache[org] = _TokenCache(token=token, expiresAt=time.time() + 3600)
126
+ logger.debug("Fetched GHE installation token for org=%s", org)
127
+ return token
128
+
129
+
130
+ # ---------------------------------------------------------------------------
131
+ # Public API
132
+ # ---------------------------------------------------------------------------
133
+ def createCheckRun(name: str, repoSlug: str, commitSha: str, detailsUrl: str = "") -> int:
134
+ """Create a GitHub Check Run in 'in_progress' state. Returns the check run ID."""
135
+ org = repoSlug.split("/")[0]
136
+ appToken = _getInstallationToken(org)
137
+ isoNow = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
138
+ payload: dict = {"name": name, "head_sha": commitSha, "status": "in_progress", "started_at": isoNow}
139
+ if detailsUrl:
140
+ payload["details_url"] = detailsUrl
141
+ response = _apiRequest("POST", f"{_GITHUB_API_BASE}/repos/{repoSlug}/check-runs", appToken, payload)
142
+ checkRunId = response.get("id")
143
+ if not checkRunId:
144
+ raise RuntimeError(f"Failed to create check run '{name}': {response}")
145
+ logger.debug("Created check run id=%s for %s@%s", checkRunId, repoSlug, commitSha[:8])
146
+ return checkRunId
147
+
148
+
149
+ def updateCheckRun(checkRunId: int, repoSlug: str, conclusion: str, detailsUrl: str = "", outputTitle: str = "", outputSummary: str = "") -> None:
150
+ """Complete an existing GitHub Check Run with the given conclusion."""
151
+ org = repoSlug.split("/")[0]
152
+ appToken = _getInstallationToken(org)
153
+ isoNow = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
154
+ payload: dict = {"status": "completed", "conclusion": conclusion, "completed_at": isoNow}
155
+ if detailsUrl:
156
+ payload["details_url"] = detailsUrl
157
+ if outputTitle and outputSummary:
158
+ payload["output"] = {"title": outputTitle, "summary": outputSummary}
159
+ _apiRequest("PATCH", f"{_GITHUB_API_BASE}/repos/{repoSlug}/check-runs/{checkRunId}", appToken, payload)
160
+ logger.debug("Updated check run id=%s conclusion=%s", checkRunId, conclusion)
161
+
162
+
163
+ def findCheckRun(name: str, repoSlug: str, commitSha: str) -> int | None:
164
+ """Return the ID of the most recent existing check run matching name+commit, or None.
165
+
166
+ Used to upsert — update an existing check run rather than creating a duplicate.
167
+ """
168
+ org = repoSlug.split("/")[0]
169
+ appToken = _getInstallationToken(org)
170
+ url = f"{_GITHUB_API_BASE}/repos/{repoSlug}/commits/{commitSha}/check-runs"
171
+ response = _apiRequest("GET", url, appToken)
172
+ for run in response.get("check_runs", []):
173
+ if run.get("name") == name:
174
+ logger.debug("Found existing check run id=%s name=%s", run["id"], name)
175
+ return run["id"]
176
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mas-devops
3
- Version: 12.8.4
3
+ Version: 12.9.1
4
4
  Summary: Python for Maximo Application Suite Dev/Ops
5
5
  Home-page: https://github.com/ibm-mas/python-devops
6
6
  Author: David Parker
@@ -25,6 +25,7 @@ Requires-Dist: semver
25
25
  Requires-Dist: boto3
26
26
  Requires-Dist: slack_sdk
27
27
  Requires-Dist: packaging
28
+ Requires-Dist: cryptography
28
29
  Provides-Extra: dev
29
30
  Requires-Dist: build; extra == "dev"
30
31
  Requires-Dist: flake8; extra == "dev"
@@ -12,6 +12,7 @@ src/mas/devops/__init__.py
12
12
  src/mas/devops/aiservice.py
13
13
  src/mas/devops/backup.py
14
14
  src/mas/devops/db2.py
15
+ src/mas/devops/github.py
15
16
  src/mas/devops/ocp.py
16
17
  src/mas/devops/olm.py
17
18
  src/mas/devops/pre_install.py