mrok 0.8.3__tar.gz → 0.8.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.
Files changed (216) hide show
  1. {mrok-0.8.3 → mrok-0.8.5}/.github/workflows/release.yml +1 -1
  2. {mrok-0.8.3 → mrok-0.8.5}/PKG-INFO +5 -1
  3. {mrok-0.8.3 → mrok-0.8.5}/README.md +4 -0
  4. mrok-0.8.5/assets/logo.svg +81 -0
  5. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/templates/configmap.yaml +1 -1
  6. mrok-0.8.5/errors/error_template.html +196 -0
  7. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/master.py +4 -2
  8. {mrok-0.8.3 → mrok-0.8.5}/pyproject.toml +1 -1
  9. mrok-0.8.3/errors/error_template.html +0 -19069
  10. {mrok-0.8.3 → mrok-0.8.5}/.dockerignore +0 -0
  11. {mrok-0.8.3 → mrok-0.8.5}/.github/actions/setup-python-env/action.yml +0 -0
  12. {mrok-0.8.3 → mrok-0.8.5}/.github/workflows/assets/turing_team_pr_bot.png +0 -0
  13. {mrok-0.8.3 → mrok-0.8.5}/.github/workflows/notify-pr-closed.yaml +0 -0
  14. {mrok-0.8.3 → mrok-0.8.5}/.github/workflows/notify-pr-reviewed.yml +0 -0
  15. {mrok-0.8.3 → mrok-0.8.5}/.github/workflows/pr-build-merge.yaml +0 -0
  16. {mrok-0.8.3 → mrok-0.8.5}/.gitignore +0 -0
  17. {mrok-0.8.3 → mrok-0.8.5}/.pre-commit-config.yaml +0 -0
  18. {mrok-0.8.3 → mrok-0.8.5}/.python-version +0 -0
  19. {mrok-0.8.3 → mrok-0.8.5}/LICENSE.txt +0 -0
  20. {mrok-0.8.3 → mrok-0.8.5}/charts/README.md +0 -0
  21. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/Chart.yaml +0 -0
  22. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/templates/_helpers.tpl +0 -0
  23. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/templates/configmap.yaml +0 -0
  24. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/templates/deployment.yaml +0 -0
  25. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/templates/secret.yaml +0 -0
  26. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/templates/service.yaml +0 -0
  27. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-controller/values.yaml +0 -0
  28. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/Chart.yaml +0 -0
  29. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/templates/_helpers.tpl +0 -0
  30. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/templates/deployment.yaml +0 -0
  31. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/templates/secret.yaml +0 -0
  32. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/templates/service.yaml +0 -0
  33. {mrok-0.8.3 → mrok-0.8.5}/charts/mrok-frontend/values.yaml +0 -0
  34. {mrok-0.8.3 → mrok-0.8.5}/compose.yml +0 -0
  35. {mrok-0.8.3 → mrok-0.8.5}/dev.Dockerfile +0 -0
  36. {mrok-0.8.3 → mrok-0.8.5}/entrypoint.sh +0 -0
  37. {mrok-0.8.3 → mrok-0.8.5}/errors/error_template.json +0 -0
  38. {mrok-0.8.3 → mrok-0.8.5}/mrok/__init__.py +0 -0
  39. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/__init__.py +0 -0
  40. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/devtools/__init__.py +0 -0
  41. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/devtools/inspector/__init__.py +0 -0
  42. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/devtools/inspector/__main__.py +0 -0
  43. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/devtools/inspector/app.py +0 -0
  44. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/devtools/inspector/server.py +0 -0
  45. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/devtools/inspector/utils.py +0 -0
  46. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/sidecar/__init__.py +0 -0
  47. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/sidecar/app.py +0 -0
  48. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/sidecar/main.py +0 -0
  49. {mrok-0.8.3 → mrok-0.8.5}/mrok/agent/ziticorn.py +0 -0
  50. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/__init__.py +0 -0
  51. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/__init__.py +0 -0
  52. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/__init__.py +0 -0
  53. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/bootstrap.py +0 -0
  54. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/list/__init__.py +0 -0
  55. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/list/extensions.py +0 -0
  56. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/list/instances.py +0 -0
  57. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/register/__init__.py +0 -0
  58. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/register/extensions.py +0 -0
  59. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/register/instances.py +0 -0
  60. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/unregister/__init__.py +0 -0
  61. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/unregister/extensions.py +0 -0
  62. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/unregister/instances.py +0 -0
  63. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/admin/utils.py +0 -0
  64. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/__init__.py +0 -0
  65. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/dev/__init__.py +0 -0
  66. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/dev/console.py +0 -0
  67. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/dev/web.py +0 -0
  68. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/run/__init__.py +0 -0
  69. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/run/asgi.py +0 -0
  70. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/agent/run/sidecar.py +0 -0
  71. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/controller/__init__.py +0 -0
  72. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/controller/openapi.py +0 -0
  73. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/controller/run.py +0 -0
  74. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/frontend/__init__.py +0 -0
  75. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/commands/frontend/run.py +0 -0
  76. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/main.py +0 -0
  77. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/rich.py +0 -0
  78. {mrok-0.8.3 → mrok-0.8.5}/mrok/cli/utils.py +0 -0
  79. {mrok-0.8.3 → mrok-0.8.5}/mrok/conf.py +0 -0
  80. {mrok-0.8.3 → mrok-0.8.5}/mrok/constants.py +0 -0
  81. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/__init__.py +0 -0
  82. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/app.py +0 -0
  83. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/auth/__init__.py +0 -0
  84. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/auth/backends.py +0 -0
  85. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/auth/base.py +0 -0
  86. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/auth/manager.py +0 -0
  87. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/auth/registry.py +0 -0
  88. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/dependencies/__init__.py +0 -0
  89. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/dependencies/conf.py +0 -0
  90. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/dependencies/ziti.py +0 -0
  91. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/openapi/__init__.py +0 -0
  92. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/openapi/examples.py +0 -0
  93. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/openapi/utils.py +0 -0
  94. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/pagination.py +0 -0
  95. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/routes/__init__.py +0 -0
  96. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/routes/extensions.py +0 -0
  97. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/routes/instances.py +0 -0
  98. {mrok-0.8.3 → mrok-0.8.5}/mrok/controller/schemas.py +0 -0
  99. {mrok-0.8.3 → mrok-0.8.5}/mrok/errors.py +0 -0
  100. {mrok-0.8.3 → mrok-0.8.5}/mrok/frontend/__init__.py +0 -0
  101. {mrok-0.8.3 → mrok-0.8.5}/mrok/frontend/app.py +0 -0
  102. {mrok-0.8.3 → mrok-0.8.5}/mrok/frontend/main.py +0 -0
  103. {mrok-0.8.3 → mrok-0.8.5}/mrok/frontend/middleware.py +0 -0
  104. {mrok-0.8.3 → mrok-0.8.5}/mrok/frontend/utils.py +0 -0
  105. {mrok-0.8.3 → mrok-0.8.5}/mrok/logging.py +0 -0
  106. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/__init__.py +0 -0
  107. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/app.py +0 -0
  108. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/asgi.py +0 -0
  109. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/backend.py +0 -0
  110. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/event_publisher.py +0 -0
  111. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/exceptions.py +0 -0
  112. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/metrics.py +0 -0
  113. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/middleware.py +0 -0
  114. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/models.py +0 -0
  115. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/stream.py +0 -0
  116. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/worker.py +0 -0
  117. {mrok-0.8.3 → mrok-0.8.5}/mrok/proxy/ziticorn.py +0 -0
  118. {mrok-0.8.3 → mrok-0.8.5}/mrok/types/__init__.py +0 -0
  119. {mrok-0.8.3 → mrok-0.8.5}/mrok/types/proxy.py +0 -0
  120. {mrok-0.8.3 → mrok-0.8.5}/mrok/types/ziti.py +0 -0
  121. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/__init__.py +0 -0
  122. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/api.py +0 -0
  123. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/bootstrap.py +0 -0
  124. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/constants.py +0 -0
  125. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/errors.py +0 -0
  126. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/identities.py +0 -0
  127. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/pki.py +0 -0
  128. {mrok-0.8.3 → mrok-0.8.5}/mrok/ziti/services.py +0 -0
  129. {mrok-0.8.3 → mrok-0.8.5}/prod.Dockerfile +0 -0
  130. {mrok-0.8.3 → mrok-0.8.5}/scripts/ziti.sh +0 -0
  131. {mrok-0.8.3 → mrok-0.8.5}/settings.yaml +0 -0
  132. {mrok-0.8.3 → mrok-0.8.5}/sonar-project.properties +0 -0
  133. {mrok-0.8.3 → mrok-0.8.5}/tests/__init__.py +0 -0
  134. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/__init__.py +0 -0
  135. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/__init__.py +0 -0
  136. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__init__.py +0 -0
  137. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_delete_headers.svg +0 -0
  138. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_get_headers.svg +0 -0
  139. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_get_payload.svg +0 -0
  140. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_get_preview.svg +0 -0
  141. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_get_preview_binary.svg +0 -0
  142. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_get_raw_response.svg +0 -0
  143. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_get_raw_response_binary.svg +0 -0
  144. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_hide_metrics.svg +0 -0
  145. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_non_200_headers[400].svg +0 -0
  146. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_non_200_headers[500].svg +0 -0
  147. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_post_headers.svg +0 -0
  148. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_post_json_body.svg +0 -0
  149. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_post_preview_body_truncated.svg +0 -0
  150. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_post_preview_multipart.svg +0 -0
  151. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_terminal_too_small[0-1].svg +0 -0
  152. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_terminal_too_small[1-0].svg +0 -0
  153. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_terminal_too_small[1-1].svg +0 -0
  154. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_terminal_too_small_dismiss.svg +0 -0
  155. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/__snapshots__/test_app/test_app_terminal_too_small_resize_auto_dismiss.svg +0 -0
  156. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/test_app.py +0 -0
  157. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/test_server.py +0 -0
  158. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/devtools/inspector/test_utils.py +0 -0
  159. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/__init__.py +0 -0
  160. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/__snapshots__/test_inspector/test_inspector_app.svg +0 -0
  161. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/__snapshots__/test_inspector/test_inspector_app_empty_card.svg +0 -0
  162. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/__snapshots__/test_inspector/test_inspector_app_filed_store_connection.svg +0 -0
  163. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/__snapshots__/test_inspector/test_inspector_app_open_card.svg +0 -0
  164. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/test_app.py +0 -0
  165. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/sidecar/test_main.py +0 -0
  166. {mrok-0.8.3 → mrok-0.8.5}/tests/agent/test_ziticorn.py +0 -0
  167. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/__init__.py +0 -0
  168. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/admin/__init__.py +0 -0
  169. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/admin/test_bootstrap.py +0 -0
  170. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/admin/test_list.py +0 -0
  171. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/admin/test_register.py +0 -0
  172. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/admin/test_unregister.py +0 -0
  173. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/admin/test_utils.py +0 -0
  174. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/agent/__init__.py +0 -0
  175. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/agent/test_dev.py +0 -0
  176. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/agent/test_run.py +0 -0
  177. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/controller/__init__.py +0 -0
  178. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/controller/test_openapi.py +0 -0
  179. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/controller/test_run.py +0 -0
  180. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/frontend/__init__.py +0 -0
  181. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/frontend/test_run.py +0 -0
  182. {mrok-0.8.3 → mrok-0.8.5}/tests/cli/test_main.py +0 -0
  183. {mrok-0.8.3 → mrok-0.8.5}/tests/conftest.py +0 -0
  184. {mrok-0.8.3 → mrok-0.8.5}/tests/controller/__init__.py +0 -0
  185. {mrok-0.8.3 → mrok-0.8.5}/tests/controller/test_auth.py +0 -0
  186. {mrok-0.8.3 → mrok-0.8.5}/tests/controller/test_extensions.py +0 -0
  187. {mrok-0.8.3 → mrok-0.8.5}/tests/controller/test_instances.py +0 -0
  188. {mrok-0.8.3 → mrok-0.8.5}/tests/controller/test_openapi.py +0 -0
  189. {mrok-0.8.3 → mrok-0.8.5}/tests/frontend/__init__.py +0 -0
  190. {mrok-0.8.3 → mrok-0.8.5}/tests/frontend/test_app.py +0 -0
  191. {mrok-0.8.3 → mrok-0.8.5}/tests/frontend/test_main.py +0 -0
  192. {mrok-0.8.3 → mrok-0.8.5}/tests/frontend/test_middleware.py +0 -0
  193. {mrok-0.8.3 → mrok-0.8.5}/tests/frontend/test_utils.py +0 -0
  194. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/__init__.py +0 -0
  195. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_app.py +0 -0
  196. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_asgi.py +0 -0
  197. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_backend.py +0 -0
  198. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_config.py +0 -0
  199. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_event_publisher.py +0 -0
  200. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_lifespan.py +0 -0
  201. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_master.py +0 -0
  202. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_metrics.py +0 -0
  203. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_middleware.py +0 -0
  204. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_models.py +0 -0
  205. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_protocol.py +0 -0
  206. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_server.py +0 -0
  207. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_stream.py +0 -0
  208. {mrok-0.8.3 → mrok-0.8.5}/tests/proxy/test_worker.py +0 -0
  209. {mrok-0.8.3 → mrok-0.8.5}/tests/types.py +0 -0
  210. {mrok-0.8.3 → mrok-0.8.5}/tests/ziti/__init__.py +0 -0
  211. {mrok-0.8.3 → mrok-0.8.5}/tests/ziti/test_api.py +0 -0
  212. {mrok-0.8.3 → mrok-0.8.5}/tests/ziti/test_bootstrap.py +0 -0
  213. {mrok-0.8.3 → mrok-0.8.5}/tests/ziti/test_identities.py +0 -0
  214. {mrok-0.8.3 → mrok-0.8.5}/tests/ziti/test_pki.py +0 -0
  215. {mrok-0.8.3 → mrok-0.8.5}/tests/ziti/test_services.py +0 -0
  216. {mrok-0.8.3 → mrok-0.8.5}/uv.lock +0 -0
@@ -88,7 +88,7 @@ jobs:
88
88
  helm package charts/mrok-frontend
89
89
 
90
90
  - name: Helm registry login
91
- run:
91
+ run: |
92
92
  echo ${{ secrets.REGISTRY_PASSWORD }} | helm registry login ${{ vars.REGISTRY_LOGIN_SERVER }} \
93
93
  --username ${{ vars.REGISTRY_USERNAME }} \
94
94
  --password-stdin
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mrok
3
- Version: 0.8.3
3
+ Version: 0.8.5
4
4
  Summary: MPT Extensions OpenZiti Orchestrator
5
5
  Author: SoftwareOne AG
6
6
  License: Apache License
@@ -233,6 +233,10 @@ Description-Content-Type: text/markdown
233
233
 
234
234
  # mrok
235
235
 
236
+ ![mrok logo](assets/logo.svg)
237
+
238
+
239
+
236
240
  **mrok** provides the communication channel that allows the Marketplace Platform Extensions to securely expose their web applications to the platform without requiring inbound connectivity.
237
241
  It uses the [OpenZiti](https://openziti.io) zero-trust network overlay to create encrypted tunnels initiated from the Extension side, enabling operation even behind corporate firewalls.
238
242
 
@@ -2,6 +2,10 @@
2
2
 
3
3
  # mrok
4
4
 
5
+ ![mrok logo](assets/logo.svg)
6
+
7
+
8
+
5
9
  **mrok** provides the communication channel that allows the Marketplace Platform Extensions to securely expose their web applications to the platform without requiring inbound connectivity.
6
10
  It uses the [OpenZiti](https://openziti.io) zero-trust network overlay to create encrypted tunnels initiated from the Extension side, enabling operation even behind corporate firewalls.
7
11
 
@@ -0,0 +1,81 @@
1
+ <svg width="600" height="600" xmlns="http://www.w3.org/2000/svg">
2
+
3
+ <defs>
4
+ <linearGradient id="textGradient" x1="0%" y1="0%" x2="100%" y2="100%">
5
+ <stop offset="0%" style="stop-color:#00C9CD;stop-opacity:1" />
6
+ <stop offset="100%" style="stop-color:#392D9C;stop-opacity:1" />
7
+ </linearGradient>
8
+ </defs>
9
+ <rect width="600" height="600" fill="none"/>
10
+ <g id="triangles">
11
+ <polygon points="194.8537775761733,79.869838329592 238.19660112501052,88.19660112501055 300.0,50.0" fill="none" stroke="#1463a3" stroke-width="1.5"/>
12
+ <polygon points="405.1462224238267,79.869838329592 300.0,50.0 361.80339887498945,88.19660112501055" fill="none" stroke="#163076" stroke-width="1.5"/>
13
+ <polygon points="405.1462224238267,420.13016167040803 361.80339887498945,411.80339887498945 300.0,450.0" fill="none" stroke="#1f1564" stroke-width="1.5"/>
14
+ <polygon points="194.8537775761733,420.13016167040803 300.0,450.0 238.19660112501052,411.80339887498945" fill="none" stroke="#321eb3" stroke-width="1.5"/>
15
+ <polygon points="194.8537775761733,79.869838329592 138.19660112501055,150.0 238.19660112501052,88.19660112501055" fill="none" stroke="#1787d2" stroke-width="1.5"/>
16
+ <polygon points="405.1462224238267,79.869838329592 361.80339887498945,88.19660112501055 461.80339887498945,150.0" fill="none" stroke="#1b2679" stroke-width="1.5"/>
17
+ <polygon points="405.1462224238267,420.13016167040803 461.80339887498945,350.0 361.80339887498945,411.80339887498945" fill="none" stroke="#1f1561" stroke-width="1.5"/>
18
+ <polygon points="194.8537775761733,420.13016167040803 238.19660112501052,411.80339887498945 138.19660112501055,350.0" fill="none" stroke="#3a38ea" stroke-width="1.5"/>
19
+ <polygon points="129.869838329592,250.0 138.19660112501055,150.0 100.0,250.0" fill="none" stroke="#207ee3" stroke-width="1.5"/>
20
+ <polygon points="129.869838329592,250.0 100.0,250.0 138.19660112501055,350.0" fill="none" stroke="#2b65eb" stroke-width="1.5"/>
21
+ <polygon points="470.13016167040803,250.0 461.80339887498945,350.0 500.0,250.0" fill="none" stroke="#1f1566" stroke-width="1.5"/>
22
+ <polygon points="470.13016167040803,250.0 500.0,250.0 461.80339887498945,150.0" fill="none" stroke="#211572" stroke-width="1.5"/>
23
+ <polygon points="238.19660112501052,88.19660112501055 361.80339887498945,88.19660112501055 300.0,50.0" fill="none" stroke="#194e9c" stroke-width="1.5"/>
24
+ <polygon points="361.80339887498945,411.80339887498945 238.19660112501052,411.80339887498945 300.0,450.0" fill="none" stroke="#2c1c97" stroke-width="1.5"/>
25
+ <polygon points="138.19660112501055,150.0 200.0,188.19660112501052 238.19660112501052,88.19660112501055" fill="none" stroke="#1f80e3" stroke-width="1.5"/>
26
+ <polygon points="461.80339887498945,350.0 400.0,311.80339887498945 361.80339887498945,411.80339887498945" fill="none" stroke="#1f1566" stroke-width="1.5"/>
27
+ <polygon points="361.80339887498945,88.19660112501055 400.0,188.19660112501052 461.80339887498945,150.0" fill="none" stroke="#1d227b" stroke-width="1.5"/>
28
+ <polygon points="238.19660112501052,411.80339887498945 200.0,311.80339887498945 138.19660112501055,350.0" fill="none" stroke="#3a44f6" stroke-width="1.5"/>
29
+ <polygon points="129.869838329592,250.0 200.0,188.19660112501052 138.19660112501055,150.0" fill="none" stroke="#227ae4" stroke-width="1.5"/>
30
+ <polygon points="470.13016167040803,250.0 461.80339887498945,150.0 400.0,188.19660112501052" fill="none" stroke="#23157f" stroke-width="1.5"/>
31
+ <polygon points="470.13016167040803,250.0 400.0,311.80339887498945 461.80339887498945,350.0" fill="none" stroke="#201569" stroke-width="1.5"/>
32
+ <polygon points="129.869838329592,250.0 138.19660112501055,350.0 200.0,311.80339887498945" fill="none" stroke="#3159ef" stroke-width="1.5"/>
33
+ <polygon points="300.0,144.8537775761733 361.80339887498945,88.19660112501055 238.19660112501052,88.19660112501055" fill="none" stroke="#2252be" stroke-width="1.5"/>
34
+ <polygon points="300.0,355.1462224238267 238.19660112501052,411.80339887498945 361.80339887498945,411.80339887498945" fill="none" stroke="#3622b9" stroke-width="1.5"/>
35
+ <polygon points="129.869838329592,250.0 200.0,311.80339887498945 200.0,188.19660112501052" fill="none" stroke="#2d61ec" stroke-width="1.5"/>
36
+ <polygon points="470.13016167040803,250.0 400.0,188.19660112501052 400.0,311.80339887498945" fill="none" stroke="#27188c" stroke-width="1.5"/>
37
+ <polygon points="300.0,144.8537775761733 238.19660112501052,88.19660112501055 200.0,188.19660112501052" fill="none" stroke="#276fe8" stroke-width="1.5"/>
38
+ <polygon points="300.0,144.8537775761733 400.0,188.19660112501052 361.80339887498945,88.19660112501055" fill="none" stroke="#2539ad" stroke-width="1.5"/>
39
+ <polygon points="300.0,355.1462224238267 361.80339887498945,411.80339887498945 400.0,311.80339887498945" fill="none" stroke="#2f1ea0" stroke-width="1.5"/>
40
+ <polygon points="300.0,355.1462224238267 200.0,311.80339887498945 238.19660112501052,411.80339887498945" fill="none" stroke="#4135fb" stroke-width="1.5"/>
41
+ <polygon points="200.0,188.19660112501052 200.0,311.80339887498945 300.0,250.0" fill="none" stroke="#3353f1" stroke-width="1.5"/>
42
+ <polygon points="400.0,311.80339887498945 400.0,188.19660112501052 300.0,250.0" fill="none" stroke="#3525c6" stroke-width="1.5"/>
43
+ <polygon points="300.0,144.8537775761733 200.0,188.19660112501052 300.0,250.0" fill="none" stroke="#3159ef" stroke-width="1.5"/>
44
+ <polygon points="300.0,355.1462224238267 300.0,250.0 200.0,311.80339887498945" fill="none" stroke="#3c3ef7" stroke-width="1.5"/>
45
+ <polygon points="300.0,355.1462224238267 400.0,311.80339887498945 300.0,250.0" fill="none" stroke="#3d24de" stroke-width="1.5"/>
46
+ <polygon points="300.0,144.8537775761733 300.0,250.0 400.0,188.19660112501052" fill="none" stroke="#313fd4" stroke-width="1.5"/>
47
+ </g>
48
+ <g id="vertices">
49
+ <circle cx="194.8537775761733" cy="79.869838329592" r="2.938570867803424" fill="white" stroke="#1071a7" stroke-width="2.571249509327996"/>
50
+ <circle cx="405.1462224238267" cy="79.869838329592" r="1.6243563596974375" fill="white" stroke="#192978" stroke-width="1.421311814735258"/>
51
+ <circle cx="194.8537775761733" cy="420.13016167040803" r="4.2118183197627825" fill="white" stroke="#3325c0" stroke-width="3.6853410297924345"/>
52
+ <circle cx="405.1462224238267" cy="420.13016167040803" r="2.7494738070206797" fill="white" stroke="#1e165d" stroke-width="2.405789581143095"/>
53
+ <circle cx="300.0" cy="355.1462224238267" r="5.842882472397164" fill="white" stroke="#4126ea" stroke-width="5.112522163347519"/>
54
+ <circle cx="300.0" cy="144.8537775761733" r="4.894689275080458" fill="white" stroke="#2b55db" stroke-width="4.2828531156954"/>
55
+ <circle cx="470.13016167040803" cy="250.0" r="3.11028448693516" fill="white" stroke="#21156f" stroke-width="2.7214989260682647"/>
56
+ <circle cx="129.869838329592" cy="250.0" r="5.701822161553585" fill="white" stroke="#2672e7" stroke-width="4.989094391359386"/>
57
+ <circle cx="138.19660112501055" cy="150.0" r="4.485874298487253" fill="white" stroke="#1891dd" stroke-width="3.925140011176346"/>
58
+ <circle cx="200.0" cy="188.19660112501052" r="5.792148253042448" fill="white" stroke="#276ee8" stroke-width="5.068129721412142"/>
59
+ <circle cx="238.19660112501052" cy="88.19660112501055" r="4.060835037850731" fill="white" stroke="#1b77cb" stroke-width="3.55323065811939"/>
60
+ <circle cx="361.80339887498945" cy="88.19660112501055" r="3.189455603752164" fill="white" stroke="#1c368d" stroke-width="2.7907736532831433"/>
61
+ <circle cx="300.0" cy="50.0" r="2.164249465078397" fill="white" stroke="#113d72" stroke-width="1.8937182819435974"/>
62
+ <circle cx="100.0" cy="250.0" r="4.242613095673757" fill="white" stroke="#217ae3" stroke-width="3.7122864587145377"/>
63
+ <circle cx="400.0" cy="188.19660112501052" r="4.172787949145094" fill="white" stroke="#2826a2" stroke-width="3.651189455501957"/>
64
+ <circle cx="461.80339887498945" cy="150.0" r="2.258288291898441" fill="white" stroke="#21197e" stroke-width="1.9760022554111356"/>
65
+ <circle cx="200.0" cy="311.80339887498945" r="6.4" fill="white" stroke="#364cf3" stroke-width="5.6000000000000005"/>
66
+ <circle cx="300.0" cy="250.0" r="5.875677429564709" fill="white" stroke="#3a43f4" stroke-width="5.14121775086912"/>
67
+ <circle cx="138.19660112501055" cy="350.0" r="5.343157745918143" fill="white" stroke="#3452f1" stroke-width="4.675263027678375"/>
68
+ <circle cx="461.80339887498945" cy="350.0" r="2.94337959399346" fill="white" stroke="#1e155f" stroke-width="2.5754571447442776"/>
69
+ <circle cx="400.0" cy="311.80339887498945" r="4.6758299654632705" fill="white" stroke="#2b1b93" stroke-width="4.091351219780361"/>
70
+ <circle cx="361.80339887498945" cy="411.80339887498945" r="4.427799875736913" fill="white" stroke="#251978" stroke-width="3.8743248912697985"/>
71
+ <circle cx="238.19660112501052" cy="411.80339887498945" r="5.422373811768422" fill="white" stroke="#3f25e5" stroke-width="4.744577085297369"/>
72
+ <circle cx="300.0" cy="450.0" r="3.566648007778525" fill="white" stroke="#201568" stroke-width="3.1208170068062095"/>
73
+ <circle cx="500.0" cy="250.0" r="1.6" fill="white" stroke="#201568" stroke-width="1.4000000000000001"/>
74
+ </g>
75
+ <text x="300.0" y="550"
76
+ font-family="Arial, sans-serif"
77
+ font-size="80"
78
+ font-weight="bold"
79
+ fill="url(#textGradient)"
80
+ text-anchor="middle">mrok</text>
81
+ </svg>
@@ -8,6 +8,6 @@ metadata:
8
8
  annotations:
9
9
  "helm.sh/hook": pre-install,pre-upgrade
10
10
  data:
11
- MROK_FRONTEND__DOMAIN: {{ .Values.proxyDomain | quote }}
11
+ MROK_FRONTEND__DOMAIN: {{ .Values.frontendDomain | quote }}
12
12
  MROK_LOGGING__DEBUG: {{ .Values.loggingDebug | quote }}
13
13
  MROK_LOGGING__RICH: {{ .Values.loggingRich | quote }}
@@ -0,0 +1,196 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>{{ status }} – {{ status_title | default("Something went wrong") }}</title>
6
+
7
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
8
+
9
+ <style>
10
+ :root {
11
+ --bg: #0b0f1a;
12
+ --fg: #e6e9f0;
13
+ --muted: #9aa3b2;
14
+ }
15
+
16
+ * {
17
+ box-sizing: border-box;
18
+ }
19
+
20
+ body {
21
+ margin: 0;
22
+ min-height: 100vh;
23
+ background: radial-gradient(
24
+ circle at top,
25
+ rgba(0, 201, 205, 0.12),
26
+ var(--bg) 55%
27
+ );
28
+ color: var(--fg);
29
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
30
+ Roboto, Inter, Helvetica, Arial, sans-serif;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center;
34
+ }
35
+
36
+ .container {
37
+ text-align: center;
38
+ padding: 3rem 2rem;
39
+ max-width: 720px;
40
+ width: 100%;
41
+ }
42
+
43
+ .logo {
44
+ width: 600px;
45
+ height: 600px;
46
+ margin: 0 auto 2rem auto;
47
+ display: block;
48
+ }
49
+
50
+ .status {
51
+ font-size: 4.5rem;
52
+ font-weight: 700;
53
+ letter-spacing: -0.05em;
54
+ margin: 0;
55
+ line-height: 1;
56
+ background: linear-gradient(
57
+ 90deg,
58
+ #00C9CD,
59
+ #1E84E2,
60
+ #472AFF
61
+ );
62
+ -webkit-background-clip: text;
63
+ -webkit-text-fill-color: transparent;
64
+ background-clip: text;
65
+ }
66
+
67
+ .title {
68
+ font-size: 1.5rem;
69
+ font-weight: 600;
70
+ margin: 1rem 0 0.75rem 0;
71
+ }
72
+
73
+ .message {
74
+ font-size: 1rem;
75
+ color: var(--muted);
76
+ line-height: 1.6;
77
+ margin: 0 auto;
78
+ max-width: 560px;
79
+ }
80
+
81
+ footer {
82
+ margin-top: 3rem;
83
+ font-size: 0.85rem;
84
+ color: var(--muted);
85
+ opacity: 0.8;
86
+ }
87
+
88
+ footer span {
89
+ opacity: 0.6;
90
+ }
91
+
92
+ footer a {
93
+ color: var(--fg);
94
+ }
95
+ </style>
96
+ </head>
97
+
98
+ <body>
99
+ <main class="container">
100
+ <svg width="600" height="600" xmlns="http://www.w3.org/2000/svg" class="logo">
101
+ <defs>
102
+ <linearGradient id="textGradient" x1="0%" y1="0%" x2="100%" y2="100%">
103
+ <stop offset="0%" style="stop-color:#00C9CD;stop-opacity:1" />
104
+ <stop offset="100%" style="stop-color:#392D9C;stop-opacity:1" />
105
+ </linearGradient>
106
+ </defs>
107
+ <rect width="600" height="600" fill="none"/>
108
+ <g id="triangles">
109
+ <polygon points="194.8537775761733,79.869838329592 238.19660112501052,88.19660112501055 300.0,50.0" fill="none" stroke="#1463a3" stroke-width="1.5"/>
110
+ <polygon points="405.1462224238267,79.869838329592 300.0,50.0 361.80339887498945,88.19660112501055" fill="none" stroke="#163076" stroke-width="1.5"/>
111
+ <polygon points="405.1462224238267,420.13016167040803 361.80339887498945,411.80339887498945 300.0,450.0" fill="none" stroke="#1f1564" stroke-width="1.5"/>
112
+ <polygon points="194.8537775761733,420.13016167040803 300.0,450.0 238.19660112501052,411.80339887498945" fill="none" stroke="#321eb3" stroke-width="1.5"/>
113
+ <polygon points="194.8537775761733,79.869838329592 138.19660112501055,150.0 238.19660112501052,88.19660112501055" fill="none" stroke="#1787d2" stroke-width="1.5"/>
114
+ <polygon points="405.1462224238267,79.869838329592 361.80339887498945,88.19660112501055 461.80339887498945,150.0" fill="none" stroke="#1b2679" stroke-width="1.5"/>
115
+ <polygon points="405.1462224238267,420.13016167040803 461.80339887498945,350.0 361.80339887498945,411.80339887498945" fill="none" stroke="#1f1561" stroke-width="1.5"/>
116
+ <polygon points="194.8537775761733,420.13016167040803 238.19660112501052,411.80339887498945 138.19660112501055,350.0" fill="none" stroke="#3a38ea" stroke-width="1.5"/>
117
+ <polygon points="129.869838329592,250.0 138.19660112501055,150.0 100.0,250.0" fill="none" stroke="#207ee3" stroke-width="1.5"/>
118
+ <polygon points="129.869838329592,250.0 100.0,250.0 138.19660112501055,350.0" fill="none" stroke="#2b65eb" stroke-width="1.5"/>
119
+ <polygon points="470.13016167040803,250.0 461.80339887498945,350.0 500.0,250.0" fill="none" stroke="#1f1566" stroke-width="1.5"/>
120
+ <polygon points="470.13016167040803,250.0 500.0,250.0 461.80339887498945,150.0" fill="none" stroke="#211572" stroke-width="1.5"/>
121
+ <polygon points="238.19660112501052,88.19660112501055 361.80339887498945,88.19660112501055 300.0,50.0" fill="none" stroke="#194e9c" stroke-width="1.5"/>
122
+ <polygon points="361.80339887498945,411.80339887498945 238.19660112501052,411.80339887498945 300.0,450.0" fill="none" stroke="#2c1c97" stroke-width="1.5"/>
123
+ <polygon points="138.19660112501055,150.0 200.0,188.19660112501052 238.19660112501052,88.19660112501055" fill="none" stroke="#1f80e3" stroke-width="1.5"/>
124
+ <polygon points="461.80339887498945,350.0 400.0,311.80339887498945 361.80339887498945,411.80339887498945" fill="none" stroke="#1f1566" stroke-width="1.5"/>
125
+ <polygon points="361.80339887498945,88.19660112501055 400.0,188.19660112501052 461.80339887498945,150.0" fill="none" stroke="#1d227b" stroke-width="1.5"/>
126
+ <polygon points="238.19660112501052,411.80339887498945 200.0,311.80339887498945 138.19660112501055,350.0" fill="none" stroke="#3a44f6" stroke-width="1.5"/>
127
+ <polygon points="129.869838329592,250.0 200.0,188.19660112501052 138.19660112501055,150.0" fill="none" stroke="#227ae4" stroke-width="1.5"/>
128
+ <polygon points="470.13016167040803,250.0 461.80339887498945,150.0 400.0,188.19660112501052" fill="none" stroke="#23157f" stroke-width="1.5"/>
129
+ <polygon points="470.13016167040803,250.0 400.0,311.80339887498945 461.80339887498945,350.0" fill="none" stroke="#201569" stroke-width="1.5"/>
130
+ <polygon points="129.869838329592,250.0 138.19660112501055,350.0 200.0,311.80339887498945" fill="none" stroke="#3159ef" stroke-width="1.5"/>
131
+ <polygon points="300.0,144.8537775761733 361.80339887498945,88.19660112501055 238.19660112501052,88.19660112501055" fill="none" stroke="#2252be" stroke-width="1.5"/>
132
+ <polygon points="300.0,355.1462224238267 238.19660112501052,411.80339887498945 361.80339887498945,411.80339887498945" fill="none" stroke="#3622b9" stroke-width="1.5"/>
133
+ <polygon points="129.869838329592,250.0 200.0,311.80339887498945 200.0,188.19660112501052" fill="none" stroke="#2d61ec" stroke-width="1.5"/>
134
+ <polygon points="470.13016167040803,250.0 400.0,188.19660112501052 400.0,311.80339887498945" fill="none" stroke="#27188c" stroke-width="1.5"/>
135
+ <polygon points="300.0,144.8537775761733 238.19660112501052,88.19660112501055 200.0,188.19660112501052" fill="none" stroke="#276fe8" stroke-width="1.5"/>
136
+ <polygon points="300.0,144.8537775761733 400.0,188.19660112501052 361.80339887498945,88.19660112501055" fill="none" stroke="#2539ad" stroke-width="1.5"/>
137
+ <polygon points="300.0,355.1462224238267 361.80339887498945,411.80339887498945 400.0,311.80339887498945" fill="none" stroke="#2f1ea0" stroke-width="1.5"/>
138
+ <polygon points="300.0,355.1462224238267 200.0,311.80339887498945 238.19660112501052,411.80339887498945" fill="none" stroke="#4135fb" stroke-width="1.5"/>
139
+ <polygon points="200.0,188.19660112501052 200.0,311.80339887498945 300.0,250.0" fill="none" stroke="#3353f1" stroke-width="1.5"/>
140
+ <polygon points="400.0,311.80339887498945 400.0,188.19660112501052 300.0,250.0" fill="none" stroke="#3525c6" stroke-width="1.5"/>
141
+ <polygon points="300.0,144.8537775761733 200.0,188.19660112501052 300.0,250.0" fill="none" stroke="#3159ef" stroke-width="1.5"/>
142
+ <polygon points="300.0,355.1462224238267 300.0,250.0 200.0,311.80339887498945" fill="none" stroke="#3c3ef7" stroke-width="1.5"/>
143
+ <polygon points="300.0,355.1462224238267 400.0,311.80339887498945 300.0,250.0" fill="none" stroke="#3d24de" stroke-width="1.5"/>
144
+ <polygon points="300.0,144.8537775761733 300.0,250.0 400.0,188.19660112501052" fill="none" stroke="#313fd4" stroke-width="1.5"/>
145
+ </g>
146
+ <g id="vertices">
147
+ <circle cx="194.8537775761733" cy="79.869838329592" r="2.938570867803424" fill="white" stroke="#1071a7" stroke-width="2.571249509327996"/>
148
+ <circle cx="405.1462224238267" cy="79.869838329592" r="1.6243563596974375" fill="white" stroke="#192978" stroke-width="1.421311814735258"/>
149
+ <circle cx="194.8537775761733" cy="420.13016167040803" r="4.2118183197627825" fill="white" stroke="#3325c0" stroke-width="3.6853410297924345"/>
150
+ <circle cx="405.1462224238267" cy="420.13016167040803" r="2.7494738070206797" fill="white" stroke="#1e165d" stroke-width="2.405789581143095"/>
151
+ <circle cx="300.0" cy="355.1462224238267" r="5.842882472397164" fill="white" stroke="#4126ea" stroke-width="5.112522163347519"/>
152
+ <circle cx="300.0" cy="144.8537775761733" r="4.894689275080458" fill="white" stroke="#2b55db" stroke-width="4.2828531156954"/>
153
+ <circle cx="470.13016167040803" cy="250.0" r="3.11028448693516" fill="white" stroke="#21156f" stroke-width="2.7214989260682647"/>
154
+ <circle cx="129.869838329592" cy="250.0" r="5.701822161553585" fill="white" stroke="#2672e7" stroke-width="4.989094391359386"/>
155
+ <circle cx="138.19660112501055" cy="150.0" r="4.485874298487253" fill="white" stroke="#1891dd" stroke-width="3.925140011176346"/>
156
+ <circle cx="200.0" cy="188.19660112501052" r="5.792148253042448" fill="white" stroke="#276ee8" stroke-width="5.068129721412142"/>
157
+ <circle cx="238.19660112501052" cy="88.19660112501055" r="4.060835037850731" fill="white" stroke="#1b77cb" stroke-width="3.55323065811939"/>
158
+ <circle cx="361.80339887498945" cy="88.19660112501055" r="3.189455603752164" fill="white" stroke="#1c368d" stroke-width="2.7907736532831433"/>
159
+ <circle cx="300.0" cy="50.0" r="2.164249465078397" fill="white" stroke="#113d72" stroke-width="1.8937182819435974"/>
160
+ <circle cx="100.0" cy="250.0" r="4.242613095673757" fill="white" stroke="#217ae3" stroke-width="3.7122864587145377"/>
161
+ <circle cx="400.0" cy="188.19660112501052" r="4.172787949145094" fill="white" stroke="#2826a2" stroke-width="3.651189455501957"/>
162
+ <circle cx="461.80339887498945" cy="150.0" r="2.258288291898441" fill="white" stroke="#21197e" stroke-width="1.9760022554111356"/>
163
+ <circle cx="200.0" cy="311.80339887498945" r="6.4" fill="white" stroke="#364cf3" stroke-width="5.6000000000000005"/>
164
+ <circle cx="300.0" cy="250.0" r="5.875677429564709" fill="white" stroke="#3a43f4" stroke-width="5.14121775086912"/>
165
+ <circle cx="138.19660112501055" cy="350.0" r="5.343157745918143" fill="white" stroke="#3452f1" stroke-width="4.675263027678375"/>
166
+ <circle cx="461.80339887498945" cy="350.0" r="2.94337959399346" fill="white" stroke="#1e155f" stroke-width="2.5754571447442776"/>
167
+ <circle cx="400.0" cy="311.80339887498945" r="4.6758299654632705" fill="white" stroke="#2b1b93" stroke-width="4.091351219780361"/>
168
+ <circle cx="361.80339887498945" cy="411.80339887498945" r="4.427799875736913" fill="white" stroke="#251978" stroke-width="3.8743248912697985"/>
169
+ <circle cx="238.19660112501052" cy="411.80339887498945" r="5.422373811768422" fill="white" stroke="#3f25e5" stroke-width="4.744577085297369"/>
170
+ <circle cx="300.0" cy="450.0" r="3.566648007778525" fill="white" stroke="#201568" stroke-width="3.1208170068062095"/>
171
+ <circle cx="500.0" cy="250.0" r="1.6" fill="white" stroke="#201568" stroke-width="1.4000000000000001"/>
172
+ </g>
173
+ <text x="300.0" y="550"
174
+ font-family="Arial, sans-serif"
175
+ font-size="80"
176
+ font-weight="bold"
177
+ fill="url(#textGradient)"
178
+ text-anchor="middle">mrok</text>
179
+ </svg>
180
+
181
+ <h1 class="status">{{ status }}</h1>
182
+
183
+ <div class="title">
184
+ {{ status_title | default("Something went wrong") }}
185
+ </div>
186
+
187
+ <p class="message">
188
+ {{ body | default("An unexpected error occurred while processing your request.") }}
189
+ </p>
190
+
191
+ <footer>
192
+ <span>mrok</span> © 2026 SofwareOne AG. Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank" rel="noopener">Apache License 2.0</a>.
193
+ </footer>
194
+ </main>
195
+ </body>
196
+ </html>
@@ -158,6 +158,7 @@ class MasterBase(ABC):
158
158
  self.start_events_router()
159
159
  self.start_workers()
160
160
  self.monitor_thread.start()
161
+ self.pause_event.set()
161
162
 
162
163
  def stop_events_router(self):
163
164
  self.zmq_pubsub_router_process.stop(sigint_timeout=5, sigkill_timeout=1)
@@ -169,16 +170,17 @@ class MasterBase(ABC):
169
170
  self.worker_processes.clear()
170
171
 
171
172
  def stop(self):
173
+ self.pause_event.clear()
172
174
  if self.monitor_thread.is_alive(): # pragma: no branch
173
175
  self.monitor_thread.join(timeout=MONITOR_THREAD_JOIN_TIMEOUT)
174
176
  self.stop_workers()
175
177
  self.stop_events_router()
176
178
 
177
179
  def restart(self):
178
- self.pause_event.set()
180
+ self.pause_event.clear()
179
181
  self.stop_workers()
180
182
  self.start_workers()
181
- self.pause_event.clear()
183
+ self.pause_event.set()
182
184
 
183
185
  def monitor_workers(self):
184
186
  while not self.stop_event.is_set():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mrok"
3
- version = "0.8.3"
3
+ version = "0.8.5"
4
4
  description = "MPT Extensions OpenZiti Orchestrator"
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  authors = [