karafka-web 0.11.5 → 0.11.6

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 (517) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/Gemfile +9 -10
  4. data/Gemfile.lint +14 -0
  5. data/Gemfile.lint.lock +123 -0
  6. data/Gemfile.lock +15 -16
  7. data/README.md +15 -15
  8. data/Rakefile +2 -2
  9. data/bin/balance_specs +120 -0
  10. data/bin/check_coverage +31 -0
  11. data/bin/collect_timings +83 -0
  12. data/bin/rspecs +10 -0
  13. data/bin/rspecs_parallel +111 -0
  14. data/docker-compose.yml +1 -1
  15. data/karafka-web.gemspec +35 -35
  16. data/lib/karafka/web/cli/base.rb +2 -2
  17. data/lib/karafka/web/cli/help.rb +2 -2
  18. data/lib/karafka/web/cli/install.rb +3 -3
  19. data/lib/karafka/web/cli/migrate.rb +3 -3
  20. data/lib/karafka/web/cli/reset.rb +3 -3
  21. data/lib/karafka/web/cli/uninstall.rb +1 -1
  22. data/lib/karafka/web/config.rb +40 -32
  23. data/lib/karafka/web/contracts/base.rb +2 -2
  24. data/lib/karafka/web/deserializer.rb +5 -5
  25. data/lib/karafka/web/installer.rb +14 -14
  26. data/lib/karafka/web/management/actions/base.rb +5 -5
  27. data/lib/karafka/web/management/actions/clean_boot_file.rb +3 -3
  28. data/lib/karafka/web/management/actions/create_initial_states.rb +8 -8
  29. data/lib/karafka/web/management/actions/enable.rb +3 -3
  30. data/lib/karafka/web/management/actions/extend_boot_file.rb +3 -3
  31. data/lib/karafka/web/management/migrations/base.rb +3 -3
  32. data/lib/karafka/web/management/migrations/consumers_metrics/0_set_initial.rb +1 -1
  33. data/lib/karafka/web/management/migrations/consumers_metrics/1699543515_fill_missing_received_and_sent_bytes.rb +1 -1
  34. data/lib/karafka/web/management/migrations/consumers_metrics/1700234522_introduce_waiting.rb +1 -1
  35. data/lib/karafka/web/management/migrations/consumers_metrics/1700234522_remove_processing.rb +1 -1
  36. data/lib/karafka/web/management/migrations/consumers_metrics/1704722380_split_listeners_into_active_and_paused.rb +7 -7
  37. data/lib/karafka/web/management/migrations/consumers_metrics/1706607960_introduce_lag_total.rb +1 -1
  38. data/lib/karafka/web/management/migrations/consumers_metrics/1706611396_rename_lag_total_to_lag_hybrid.rb +1 -1
  39. data/lib/karafka/web/management/migrations/consumers_metrics/1716218393_populate_jobs_metrics.rb +1 -1
  40. data/lib/karafka/web/management/migrations/consumers_reports/1761645571_rename_process_name_to_id.rb +1 -1
  41. data/lib/karafka/web/management/migrations/consumers_reports/1765657887_add_group_instance_id_to_subscription_groups.rb +42 -0
  42. data/lib/karafka/web/management/migrations/consumers_states/0_set_initial.rb +2 -2
  43. data/lib/karafka/web/management/migrations/consumers_states/1699543515_fill_missing_received_and_sent_bytes.rb +1 -1
  44. data/lib/karafka/web/management/migrations/consumers_states/1700234522_introduce_waiting.rb +1 -1
  45. data/lib/karafka/web/management/migrations/consumers_states/1700234522_remove_processing.rb +1 -1
  46. data/lib/karafka/web/management/migrations/consumers_states/1704722380_split_listeners_into_active_and_paused.rb +7 -7
  47. data/lib/karafka/web/management/migrations/consumers_states/1706607960_introduce_lag_total.rb +1 -1
  48. data/lib/karafka/web/management/migrations/consumers_states/1706611396_rename_lag_total_to_lag_hybrid.rb +1 -1
  49. data/lib/karafka/web/management/migrations/consumers_states/1716218393_add_jobs_counter.rb +1 -1
  50. data/lib/karafka/web/management/migrator.rb +2 -2
  51. data/lib/karafka/web/pro/commanding/commands/base.rb +20 -4
  52. data/lib/karafka/web/pro/commanding/commands/consumers/quiet.rb +22 -5
  53. data/lib/karafka/web/pro/commanding/commands/consumers/stop.rb +22 -5
  54. data/lib/karafka/web/pro/commanding/commands/consumers/trace.rb +21 -4
  55. data/lib/karafka/web/pro/commanding/commands/partitions/pause.rb +20 -3
  56. data/lib/karafka/web/pro/commanding/commands/partitions/resume.rb +20 -3
  57. data/lib/karafka/web/pro/commanding/commands/partitions/seek.rb +20 -3
  58. data/lib/karafka/web/pro/commanding/commands/topics/pause.rb +48 -0
  59. data/lib/karafka/web/pro/commanding/commands/topics/resume.rb +49 -0
  60. data/lib/karafka/web/pro/commanding/config.rb +23 -5
  61. data/lib/karafka/web/pro/commanding/contracts/config.rb +21 -4
  62. data/lib/karafka/web/pro/commanding/dispatcher.rb +61 -26
  63. data/lib/karafka/web/pro/commanding/handlers/partitions/commands/base.rb +20 -3
  64. data/lib/karafka/web/pro/commanding/handlers/partitions/commands/pause.rb +21 -4
  65. data/lib/karafka/web/pro/commanding/handlers/partitions/commands/resume.rb +20 -3
  66. data/lib/karafka/web/pro/commanding/handlers/partitions/commands/seek.rb +24 -7
  67. data/lib/karafka/web/pro/commanding/handlers/partitions/executor.rb +36 -12
  68. data/lib/karafka/web/pro/commanding/handlers/partitions/listener.rb +47 -8
  69. data/lib/karafka/web/pro/commanding/handlers/partitions/tracker.rb +62 -13
  70. data/lib/karafka/web/pro/commanding/handlers/topics/commands/base.rb +109 -0
  71. data/lib/karafka/web/pro/commanding/handlers/topics/commands/pause.rb +76 -0
  72. data/lib/karafka/web/pro/commanding/handlers/topics/commands/resume.rb +56 -0
  73. data/lib/karafka/web/pro/commanding/handlers/topics/executor.rb +75 -0
  74. data/lib/karafka/web/pro/commanding/handlers/topics/listener.rb +82 -0
  75. data/lib/karafka/web/pro/commanding/handlers/topics/tracker.rb +81 -0
  76. data/lib/karafka/web/pro/commanding/listener.rb +23 -6
  77. data/lib/karafka/web/pro/commanding/manager.rb +44 -23
  78. data/lib/karafka/web/pro/commanding/matcher.rb +46 -18
  79. data/lib/karafka/web/pro/commanding/matchers/base.rb +87 -0
  80. data/lib/karafka/web/pro/commanding/matchers/consumer_group_id.rb +58 -0
  81. data/lib/karafka/web/pro/commanding/matchers/message_type.rb +49 -0
  82. data/lib/karafka/web/pro/commanding/matchers/partition_id.rb +61 -0
  83. data/lib/karafka/web/pro/commanding/matchers/process_id.rb +58 -0
  84. data/lib/karafka/web/pro/commanding/matchers/schema_version.rb +44 -0
  85. data/lib/karafka/web/pro/commanding/matchers/topic.rb +58 -0
  86. data/lib/karafka/web/pro/commanding/request.rb +19 -2
  87. data/lib/karafka/web/pro/commanding.rb +19 -2
  88. data/lib/karafka/web/pro/loader.rb +20 -3
  89. data/lib/karafka/web/pro/ui/app.rb +25 -8
  90. data/lib/karafka/web/pro/ui/controllers/base_controller.rb +19 -2
  91. data/lib/karafka/web/pro/ui/controllers/cluster_controller.rb +19 -2
  92. data/lib/karafka/web/pro/ui/controllers/consumers/base_controller.rb +19 -2
  93. data/lib/karafka/web/pro/ui/controllers/consumers/commanding_controller.rb +37 -15
  94. data/lib/karafka/web/pro/ui/controllers/consumers/commands_controller.rb +23 -6
  95. data/lib/karafka/web/pro/ui/controllers/consumers/consumers_controller.rb +19 -2
  96. data/lib/karafka/web/pro/ui/controllers/consumers/controls_controller.rb +19 -2
  97. data/lib/karafka/web/pro/ui/controllers/consumers/jobs_controller.rb +19 -2
  98. data/lib/karafka/web/pro/ui/controllers/consumers/partitions/base_controller.rb +43 -42
  99. data/lib/karafka/web/pro/ui/controllers/consumers/partitions/offsets_controller.rb +36 -17
  100. data/lib/karafka/web/pro/ui/controllers/consumers/partitions/pauses_controller.rb +59 -33
  101. data/lib/karafka/web/pro/ui/controllers/consumers/topics/pauses_controller.rb +164 -0
  102. data/lib/karafka/web/pro/ui/controllers/dashboard_controller.rb +19 -2
  103. data/lib/karafka/web/pro/ui/controllers/dlq_controller.rb +26 -9
  104. data/lib/karafka/web/pro/ui/controllers/errors_controller.rb +25 -9
  105. data/lib/karafka/web/pro/ui/controllers/explorer/base_controller.rb +19 -2
  106. data/lib/karafka/web/pro/ui/controllers/explorer/explorer_controller.rb +22 -5
  107. data/lib/karafka/web/pro/ui/controllers/explorer/messages_controller.rb +26 -9
  108. data/lib/karafka/web/pro/ui/controllers/explorer/search_controller.rb +23 -6
  109. data/lib/karafka/web/pro/ui/controllers/health_controller.rb +19 -2
  110. data/lib/karafka/web/pro/ui/controllers/jobs_controller.rb +19 -2
  111. data/lib/karafka/web/pro/ui/controllers/recurring_tasks_controller.rb +22 -5
  112. data/lib/karafka/web/pro/ui/controllers/routing_controller.rb +19 -2
  113. data/lib/karafka/web/pro/ui/controllers/scheduled_messages/base_controller.rb +19 -2
  114. data/lib/karafka/web/pro/ui/controllers/scheduled_messages/explorer_controller.rb +25 -8
  115. data/lib/karafka/web/pro/ui/controllers/scheduled_messages/messages_controller.rb +21 -4
  116. data/lib/karafka/web/pro/ui/controllers/scheduled_messages/schedules_controller.rb +26 -9
  117. data/lib/karafka/web/pro/ui/controllers/status_controller.rb +19 -2
  118. data/lib/karafka/web/pro/ui/controllers/support_controller.rb +19 -2
  119. data/lib/karafka/web/pro/ui/controllers/topics/base_controller.rb +19 -2
  120. data/lib/karafka/web/pro/ui/controllers/topics/configs_controller.rb +20 -3
  121. data/lib/karafka/web/pro/ui/controllers/topics/distributions_controller.rb +20 -3
  122. data/lib/karafka/web/pro/ui/controllers/topics/offsets_controller.rb +19 -2
  123. data/lib/karafka/web/pro/ui/controllers/topics/replications_controller.rb +41 -2
  124. data/lib/karafka/web/pro/ui/controllers/topics/topics_controller.rb +24 -7
  125. data/lib/karafka/web/pro/ui/controllers/ux_controller.rb +19 -2
  126. data/lib/karafka/web/pro/ui/lib/branding/config.rb +19 -2
  127. data/lib/karafka/web/pro/ui/lib/branding/contracts/config.rb +21 -4
  128. data/lib/karafka/web/pro/ui/lib/branding.rb +19 -2
  129. data/lib/karafka/web/pro/ui/lib/features.rb +19 -2
  130. data/lib/karafka/web/pro/ui/lib/patterns_detector.rb +19 -2
  131. data/lib/karafka/web/pro/ui/lib/policies/config.rb +19 -2
  132. data/lib/karafka/web/pro/ui/lib/policies/contracts/config.rb +21 -4
  133. data/lib/karafka/web/pro/ui/lib/policies/messages.rb +20 -3
  134. data/lib/karafka/web/pro/ui/lib/policies/requests.rb +19 -2
  135. data/lib/karafka/web/pro/ui/lib/policies.rb +19 -2
  136. data/lib/karafka/web/pro/ui/lib/safe_runner.rb +20 -3
  137. data/lib/karafka/web/pro/ui/lib/search/config.rb +19 -2
  138. data/lib/karafka/web/pro/ui/lib/search/contracts/config.rb +21 -4
  139. data/lib/karafka/web/pro/ui/lib/search/contracts/form.rb +24 -6
  140. data/lib/karafka/web/pro/ui/lib/search/matchers/base.rb +21 -4
  141. data/lib/karafka/web/pro/ui/lib/search/matchers/raw_header_includes.rb +19 -2
  142. data/lib/karafka/web/pro/ui/lib/search/matchers/raw_key_includes.rb +19 -2
  143. data/lib/karafka/web/pro/ui/lib/search/matchers/raw_payload_includes.rb +20 -3
  144. data/lib/karafka/web/pro/ui/lib/search/normalizer.rb +26 -9
  145. data/lib/karafka/web/pro/ui/lib/search/runner.rb +33 -16
  146. data/lib/karafka/web/pro/ui/lib/search.rb +19 -2
  147. data/lib/karafka/web/pro/ui/routes/base.rb +19 -2
  148. data/lib/karafka/web/pro/ui/routes/cluster.rb +21 -4
  149. data/lib/karafka/web/pro/ui/routes/consumers.rb +83 -49
  150. data/lib/karafka/web/pro/ui/routes/dashboard.rb +20 -3
  151. data/lib/karafka/web/pro/ui/routes/dlq.rb +20 -3
  152. data/lib/karafka/web/pro/ui/routes/errors.rb +21 -4
  153. data/lib/karafka/web/pro/ui/routes/explorer.rb +33 -16
  154. data/lib/karafka/web/pro/ui/routes/health.rb +26 -9
  155. data/lib/karafka/web/pro/ui/routes/jobs.rb +23 -6
  156. data/lib/karafka/web/pro/ui/routes/recurring_tasks.rb +29 -12
  157. data/lib/karafka/web/pro/ui/routes/routing.rb +20 -3
  158. data/lib/karafka/web/pro/ui/routes/scheduled_messages.rb +28 -11
  159. data/lib/karafka/web/pro/ui/routes/status.rb +20 -3
  160. data/lib/karafka/web/pro/ui/routes/support.rb +20 -3
  161. data/lib/karafka/web/pro/ui/routes/topics.rb +29 -12
  162. data/lib/karafka/web/pro/ui/routes/ux.rb +20 -3
  163. data/lib/karafka/web/pro/ui/views/cluster/_breadcrumbs.erb +13 -2
  164. data/lib/karafka/web/pro/ui/views/cluster/_broker.erb +13 -2
  165. data/lib/karafka/web/pro/ui/views/cluster/_config.erb +14 -3
  166. data/lib/karafka/web/pro/ui/views/cluster/_tabs.erb +13 -2
  167. data/lib/karafka/web/pro/ui/views/cluster/index.erb +13 -2
  168. data/lib/karafka/web/pro/ui/views/cluster/show.erb +13 -2
  169. data/lib/karafka/web/pro/ui/views/consumers/commands/_backtrace.erb +13 -2
  170. data/lib/karafka/web/pro/ui/views/consumers/commands/_breadcrumbs.erb +13 -2
  171. data/lib/karafka/web/pro/ui/views/consumers/commands/_command.erb +24 -66
  172. data/lib/karafka/web/pro/ui/views/consumers/commands/_command_details.erb +13 -2
  173. data/lib/karafka/web/pro/ui/views/consumers/commands/_empty.erb +13 -2
  174. data/lib/karafka/web/pro/ui/views/consumers/commands/_incompatible_command.erb +19 -0
  175. data/lib/karafka/web/pro/ui/views/consumers/commands/_incompatible_schema.erb +13 -2
  176. data/lib/karafka/web/pro/ui/views/consumers/commands/_table.erb +15 -4
  177. data/lib/karafka/web/pro/ui/views/consumers/commands/details/_acceptance.erb +19 -0
  178. data/lib/karafka/web/pro/ui/views/consumers/commands/details/_request.erb +19 -0
  179. data/lib/karafka/web/pro/ui/views/consumers/commands/details/_result.erb +27 -0
  180. data/lib/karafka/web/pro/ui/views/consumers/commands/index.erb +13 -2
  181. data/lib/karafka/web/pro/ui/views/consumers/commands/metadata/_request.erb +52 -0
  182. data/lib/karafka/web/pro/ui/views/consumers/commands/metadata/_response.erb +46 -0
  183. data/lib/karafka/web/pro/ui/views/consumers/commands/rows/_command_name_badge.erb +40 -0
  184. data/lib/karafka/web/pro/ui/views/consumers/commands/rows/_request.erb +47 -0
  185. data/lib/karafka/web/pro/ui/views/consumers/commands/rows/_response.erb +46 -0
  186. data/lib/karafka/web/pro/ui/views/consumers/commands/show.erb +14 -15
  187. data/lib/karafka/web/pro/ui/views/consumers/consumers/_breadcrumbs.erb +13 -2
  188. data/lib/karafka/web/pro/ui/views/consumers/consumers/_consumer.erb +13 -2
  189. data/lib/karafka/web/pro/ui/views/consumers/consumers/_consumer_performance.erb +13 -2
  190. data/lib/karafka/web/pro/ui/views/consumers/consumers/_tabs.erb +13 -2
  191. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_commands.erb +13 -2
  192. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_consumer_group.erb +13 -2
  193. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_metrics.erb +13 -2
  194. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_no_subscriptions.erb +13 -2
  195. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_partition.erb +15 -5
  196. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_partition_edit_options.erb +16 -5
  197. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_stopped.erb +13 -2
  198. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_subscription_group.erb +31 -7
  199. data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_tabs.erb +13 -2
  200. data/lib/karafka/web/pro/ui/views/consumers/consumers/details.erb +13 -2
  201. data/lib/karafka/web/pro/ui/views/consumers/consumers/index.erb +13 -2
  202. data/lib/karafka/web/pro/ui/views/consumers/consumers/performance.erb +13 -2
  203. data/lib/karafka/web/pro/ui/views/consumers/consumers/subscriptions.erb +13 -2
  204. data/lib/karafka/web/pro/ui/views/consumers/controls/_breadcrumbs.erb +13 -2
  205. data/lib/karafka/web/pro/ui/views/consumers/controls/_controls.erb +14 -3
  206. data/lib/karafka/web/pro/ui/views/consumers/controls/index.erb +35 -7
  207. data/lib/karafka/web/pro/ui/views/consumers/jobs/_breadcrumbs.erb +13 -2
  208. data/lib/karafka/web/pro/ui/views/consumers/jobs/_job.erb +14 -3
  209. data/lib/karafka/web/pro/ui/views/consumers/jobs/_no_jobs.erb +13 -2
  210. data/lib/karafka/web/pro/ui/views/consumers/jobs/pending.erb +13 -2
  211. data/lib/karafka/web/pro/ui/views/consumers/jobs/running.erb +13 -2
  212. data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_basics.erb +20 -13
  213. data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_breadcrumbs.erb +37 -46
  214. data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_form.erb +25 -14
  215. data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_not_running_error.erb +13 -2
  216. data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_running_warning.erb +13 -2
  217. data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/edit.erb +17 -6
  218. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_active_not_editable.erb +13 -2
  219. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_adjusting_warning.erb +14 -3
  220. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_breadcrumbs.erb +40 -48
  221. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_edit_form.erb +18 -8
  222. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_lrj_not_manageable.erb +13 -2
  223. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_new_form.erb +22 -11
  224. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_not_running.erb +13 -2
  225. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_partition_info.erb +57 -0
  226. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/edit.erb +16 -5
  227. data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/new.erb +16 -5
  228. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_adjusting_warning.erb +38 -0
  229. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_breadcrumbs.erb +46 -0
  230. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_edit_form.erb +66 -0
  231. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_lrj_not_manageable.erb +30 -0
  232. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_new_form.erb +86 -0
  233. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_not_running.erb +27 -0
  234. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_topic_info.erb +72 -0
  235. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/edit.erb +29 -0
  236. data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/new.erb +29 -0
  237. data/lib/karafka/web/pro/ui/views/dashboard/index.erb +13 -2
  238. data/lib/karafka/web/pro/ui/views/dlq/_breadcrumbs.erb +13 -2
  239. data/lib/karafka/web/pro/ui/views/dlq/_no_topics.erb +13 -2
  240. data/lib/karafka/web/pro/ui/views/dlq/_topic.erb +13 -2
  241. data/lib/karafka/web/pro/ui/views/dlq/index.erb +13 -2
  242. data/lib/karafka/web/pro/ui/views/errors/_breadcrumbs.erb +13 -2
  243. data/lib/karafka/web/pro/ui/views/errors/_error.erb +14 -3
  244. data/lib/karafka/web/pro/ui/views/errors/_partition_option.erb +18 -5
  245. data/lib/karafka/web/pro/ui/views/errors/_selector.erb +14 -3
  246. data/lib/karafka/web/pro/ui/views/errors/_table.erb +14 -3
  247. data/lib/karafka/web/pro/ui/views/errors/index.erb +39 -26
  248. data/lib/karafka/web/pro/ui/views/errors/partition.erb +50 -37
  249. data/lib/karafka/web/pro/ui/views/errors/show.erb +14 -3
  250. data/lib/karafka/web/pro/ui/views/explorer/explorer/_breadcrumbs.erb +13 -2
  251. data/lib/karafka/web/pro/ui/views/explorer/explorer/_failed_deserialization.erb +13 -2
  252. data/lib/karafka/web/pro/ui/views/explorer/explorer/_filtered.erb +13 -2
  253. data/lib/karafka/web/pro/ui/views/explorer/explorer/_message.erb +14 -3
  254. data/lib/karafka/web/pro/ui/views/explorer/explorer/_no_topics.erb +13 -2
  255. data/lib/karafka/web/pro/ui/views/explorer/explorer/_partition_option.erb +18 -5
  256. data/lib/karafka/web/pro/ui/views/explorer/explorer/_selector.erb +14 -3
  257. data/lib/karafka/web/pro/ui/views/explorer/explorer/_topic.erb +13 -2
  258. data/lib/karafka/web/pro/ui/views/explorer/explorer/index.erb +13 -2
  259. data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_metadata.erb +13 -2
  260. data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_payload.erb +13 -2
  261. data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_resources_utilization.erb +13 -2
  262. data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_too_big_to_be_displayed.erb +15 -4
  263. data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_detail.erb +13 -2
  264. data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_headers.erb +13 -2
  265. data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_key.erb +13 -2
  266. data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_cleaned.erb +13 -2
  267. data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_empty.erb +13 -2
  268. data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_messages.erb +14 -3
  269. data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_time_selector.erb +14 -3
  270. data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_timestamp_selector.erb +15 -3
  271. data/lib/karafka/web/pro/ui/views/explorer/explorer/partition.erb +52 -39
  272. data/lib/karafka/web/pro/ui/views/explorer/explorer/show.erb +13 -2
  273. data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_actions.erb +39 -26
  274. data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_empty.erb +13 -2
  275. data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_limited.erb +13 -2
  276. data/lib/karafka/web/pro/ui/views/explorer/explorer/topic.erb +13 -2
  277. data/lib/karafka/web/pro/ui/views/explorer/messages/_breadcrumbs.erb +13 -2
  278. data/lib/karafka/web/pro/ui/views/explorer/messages/forward.erb +28 -16
  279. data/lib/karafka/web/pro/ui/views/explorer/search/_breadcrumbs.erb +13 -2
  280. data/lib/karafka/web/pro/ui/views/explorer/search/_fix_errors.erb +13 -2
  281. data/lib/karafka/web/pro/ui/views/explorer/search/_metadata.erb +13 -2
  282. data/lib/karafka/web/pro/ui/views/explorer/search/_no_results.erb +13 -2
  283. data/lib/karafka/web/pro/ui/views/explorer/search/_no_search_criteria.erb +13 -2
  284. data/lib/karafka/web/pro/ui/views/explorer/search/_search_criteria.erb +14 -3
  285. data/lib/karafka/web/pro/ui/views/explorer/search/_search_modal.erb +27 -15
  286. data/lib/karafka/web/pro/ui/views/explorer/search/_timeout.erb +13 -2
  287. data/lib/karafka/web/pro/ui/views/explorer/search/index.erb +13 -2
  288. data/lib/karafka/web/pro/ui/views/health/_breadcrumbs.erb +13 -2
  289. data/lib/karafka/web/pro/ui/views/health/_no_data.erb +13 -2
  290. data/lib/karafka/web/pro/ui/views/health/_no_partition_data.erb +13 -2
  291. data/lib/karafka/web/pro/ui/views/health/_partition.erb +22 -6
  292. data/lib/karafka/web/pro/ui/views/health/_partition_lags.erb +13 -2
  293. data/lib/karafka/web/pro/ui/views/health/_partition_offset.erb +13 -2
  294. data/lib/karafka/web/pro/ui/views/health/_partition_times.erb +13 -2
  295. data/lib/karafka/web/pro/ui/views/health/_partitions_with_fallback.erb +15 -2
  296. data/lib/karafka/web/pro/ui/views/health/_table_metadata.erb +13 -2
  297. data/lib/karafka/web/pro/ui/views/health/_tabs.erb +13 -2
  298. data/lib/karafka/web/pro/ui/views/health/_topic_edit_options.erb +64 -0
  299. data/lib/karafka/web/pro/ui/views/health/changes.erb +14 -2
  300. data/lib/karafka/web/pro/ui/views/health/cluster_lags.erb +13 -2
  301. data/lib/karafka/web/pro/ui/views/health/lags.erb +14 -2
  302. data/lib/karafka/web/pro/ui/views/health/offsets.erb +14 -2
  303. data/lib/karafka/web/pro/ui/views/health/overview.erb +29 -5
  304. data/lib/karafka/web/pro/ui/views/jobs/_job.erb +14 -3
  305. data/lib/karafka/web/pro/ui/views/jobs/_no_jobs.erb +13 -2
  306. data/lib/karafka/web/pro/ui/views/jobs/pending.erb +13 -2
  307. data/lib/karafka/web/pro/ui/views/jobs/running.erb +13 -2
  308. data/lib/karafka/web/pro/ui/views/recurring_tasks/_actions.erb +13 -2
  309. data/lib/karafka/web/pro/ui/views/recurring_tasks/_batch_actions.erb +13 -2
  310. data/lib/karafka/web/pro/ui/views/recurring_tasks/_breadcrumbs.erb +13 -2
  311. data/lib/karafka/web/pro/ui/views/recurring_tasks/_log.erb +13 -2
  312. data/lib/karafka/web/pro/ui/views/recurring_tasks/_not_active.erb +13 -2
  313. data/lib/karafka/web/pro/ui/views/recurring_tasks/_tabs.erb +13 -2
  314. data/lib/karafka/web/pro/ui/views/recurring_tasks/_task.erb +14 -3
  315. data/lib/karafka/web/pro/ui/views/recurring_tasks/logs.erb +13 -2
  316. data/lib/karafka/web/pro/ui/views/recurring_tasks/schedule.erb +14 -3
  317. data/lib/karafka/web/pro/ui/views/routing/_consumer_group.erb +14 -3
  318. data/lib/karafka/web/pro/ui/views/routing/_detail.erb +13 -2
  319. data/lib/karafka/web/pro/ui/views/routing/_topic.erb +14 -3
  320. data/lib/karafka/web/pro/ui/views/routing/index.erb +13 -2
  321. data/lib/karafka/web/pro/ui/views/routing/show.erb +13 -2
  322. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_breadcrumbs.erb +13 -2
  323. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_key.erb +13 -2
  324. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_message.erb +13 -2
  325. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_messages.erb +14 -3
  326. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_cancel.erb +14 -3
  327. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_compacted.erb +13 -2
  328. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_schedule.erb +14 -3
  329. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_tombstone.erb +14 -3
  330. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_unknown.erb +14 -3
  331. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/partition.erb +52 -39
  332. data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/topic.erb +13 -2
  333. data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/_breadcrumbs.erb +13 -2
  334. data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/_no_groups.erb +13 -2
  335. data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/index.erb +13 -2
  336. data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/show.erb +14 -3
  337. data/lib/karafka/web/pro/ui/views/shared/_navigation.erb +14 -3
  338. data/lib/karafka/web/pro/ui/views/shared/_rdkafka_form_error_alert_box.erb +13 -2
  339. data/lib/karafka/web/pro/ui/views/shared/branding/_label.erb +13 -2
  340. data/lib/karafka/web/pro/ui/views/shared/branding/_notice.erb +13 -2
  341. data/lib/karafka/web/pro/ui/views/topics/configs/_breadcrumbs.erb +13 -2
  342. data/lib/karafka/web/pro/ui/views/topics/configs/_config.erb +14 -3
  343. data/lib/karafka/web/pro/ui/views/topics/configs/_delete_button.erb +13 -2
  344. data/lib/karafka/web/pro/ui/views/topics/configs/_edit_form.erb +17 -6
  345. data/lib/karafka/web/pro/ui/views/topics/configs/_edit_plan.erb +13 -2
  346. data/lib/karafka/web/pro/ui/views/topics/configs/_edit_warning.erb +13 -2
  347. data/lib/karafka/web/pro/ui/views/topics/configs/edit.erb +21 -10
  348. data/lib/karafka/web/pro/ui/views/topics/configs/index.erb +14 -3
  349. data/lib/karafka/web/pro/ui/views/topics/distributions/_add_partitions_button.erb +13 -2
  350. data/lib/karafka/web/pro/ui/views/topics/distributions/_badges.erb +13 -2
  351. data/lib/karafka/web/pro/ui/views/topics/distributions/_breadcrumbs.erb +13 -2
  352. data/lib/karafka/web/pro/ui/views/topics/distributions/_chart.erb +13 -2
  353. data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_form.erb +18 -6
  354. data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_hints.erb +13 -2
  355. data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_warnings.erb +13 -2
  356. data/lib/karafka/web/pro/ui/views/topics/distributions/_empty_partitions.erb +13 -2
  357. data/lib/karafka/web/pro/ui/views/topics/distributions/_limited.erb +13 -2
  358. data/lib/karafka/web/pro/ui/views/topics/distributions/_partition.erb +13 -2
  359. data/lib/karafka/web/pro/ui/views/topics/distributions/edit.erb +13 -2
  360. data/lib/karafka/web/pro/ui/views/topics/distributions/show.erb +13 -2
  361. data/lib/karafka/web/pro/ui/views/topics/offsets/_breadcrumbs.erb +13 -2
  362. data/lib/karafka/web/pro/ui/views/topics/offsets/_partition.erb +13 -2
  363. data/lib/karafka/web/pro/ui/views/topics/offsets/show.erb +13 -2
  364. data/lib/karafka/web/pro/ui/views/topics/replications/_breadcrumbs.erb +13 -2
  365. data/lib/karafka/web/pro/ui/views/topics/replications/_metric_box.erb +20 -0
  366. data/lib/karafka/web/pro/ui/views/topics/replications/_partition.erb +13 -2
  367. data/lib/karafka/web/pro/ui/views/topics/replications/_replication_info.erb +65 -0
  368. data/lib/karafka/web/pro/ui/views/topics/replications/_resilience_success.erb +24 -0
  369. data/lib/karafka/web/pro/ui/views/topics/replications/_warning_low_durability.erb +67 -0
  370. data/lib/karafka/web/pro/ui/views/topics/replications/_warning_no_redundancy.erb +66 -0
  371. data/lib/karafka/web/pro/ui/views/topics/replications/_warning_zero_fault_tolerance.erb +67 -0
  372. data/lib/karafka/web/pro/ui/views/topics/replications/show.erb +15 -2
  373. data/lib/karafka/web/pro/ui/views/topics/topics/_breadcrumbs.erb +13 -2
  374. data/lib/karafka/web/pro/ui/views/topics/topics/_create_button.erb +13 -2
  375. data/lib/karafka/web/pro/ui/views/topics/topics/_create_hints.erb +13 -2
  376. data/lib/karafka/web/pro/ui/views/topics/topics/_delete_form.erb +13 -2
  377. data/lib/karafka/web/pro/ui/views/topics/topics/_delete_hints.erb +13 -2
  378. data/lib/karafka/web/pro/ui/views/topics/topics/_delete_warning.erb +13 -2
  379. data/lib/karafka/web/pro/ui/views/topics/topics/_new_form.erb +25 -11
  380. data/lib/karafka/web/pro/ui/views/topics/topics/_tabs.erb +13 -2
  381. data/lib/karafka/web/pro/ui/views/topics/topics/_topic.erb +13 -2
  382. data/lib/karafka/web/pro/ui/views/topics/topics/edit.erb +13 -2
  383. data/lib/karafka/web/pro/ui/views/topics/topics/index.erb +13 -2
  384. data/lib/karafka/web/pro/ui/views/topics/topics/new.erb +13 -2
  385. data/lib/karafka/web/processing/consumer.rb +1 -1
  386. data/lib/karafka/web/processing/consumers/aggregators/metrics.rb +11 -11
  387. data/lib/karafka/web/processing/consumers/aggregators/state.rb +4 -3
  388. data/lib/karafka/web/processing/consumers/reports_migrator.rb +2 -2
  389. data/lib/karafka/web/processing/consumers/schema_manager.rb +1 -1
  390. data/lib/karafka/web/processing/publisher.rb +2 -2
  391. data/lib/karafka/web/producer.rb +61 -0
  392. data/lib/karafka/web/tracking/consumers/contracts/report.rb +2 -2
  393. data/lib/karafka/web/tracking/consumers/contracts/subscription_group.rb +1 -0
  394. data/lib/karafka/web/tracking/consumers/listeners/booting.rb +1 -1
  395. data/lib/karafka/web/tracking/consumers/listeners/connections.rb +7 -2
  396. data/lib/karafka/web/tracking/consumers/listeners/errors.rb +10 -10
  397. data/lib/karafka/web/tracking/consumers/listeners/pausing.rb +1 -1
  398. data/lib/karafka/web/tracking/consumers/listeners/processing.rb +25 -25
  399. data/lib/karafka/web/tracking/consumers/listeners/statistics.rb +35 -35
  400. data/lib/karafka/web/tracking/consumers/reporter.rb +2 -2
  401. data/lib/karafka/web/tracking/consumers/sampler/enrichers/consumer_groups.rb +1 -0
  402. data/lib/karafka/web/tracking/consumers/sampler/metrics/base.rb +2 -1
  403. data/lib/karafka/web/tracking/consumers/sampler/metrics/container.rb +15 -15
  404. data/lib/karafka/web/tracking/consumers/sampler/metrics/network.rb +6 -6
  405. data/lib/karafka/web/tracking/consumers/sampler/metrics/os.rb +41 -37
  406. data/lib/karafka/web/tracking/consumers/sampler.rb +7 -7
  407. data/lib/karafka/web/tracking/helpers/error_info.rb +10 -10
  408. data/lib/karafka/web/tracking/helpers/sysconf.rb +2 -2
  409. data/lib/karafka/web/tracking/helpers/ttls/array.rb +1 -1
  410. data/lib/karafka/web/tracking/helpers/ttls/hash.rb +1 -1
  411. data/lib/karafka/web/tracking/helpers/ttls/stats.rb +4 -4
  412. data/lib/karafka/web/tracking/producers/listeners/booting.rb +1 -1
  413. data/lib/karafka/web/tracking/producers/listeners/errors.rb +2 -2
  414. data/lib/karafka/web/tracking/producers/reporter.rb +2 -2
  415. data/lib/karafka/web/tracking/producers/sampler.rb +1 -1
  416. data/lib/karafka/web/tracking/ui/errors.rb +4 -4
  417. data/lib/karafka/web/ui/app.rb +2 -2
  418. data/lib/karafka/web/ui/base.rb +30 -30
  419. data/lib/karafka/web/ui/controllers/base_controller.rb +24 -24
  420. data/lib/karafka/web/ui/controllers/cluster_controller.rb +3 -3
  421. data/lib/karafka/web/ui/controllers/requests/params.rb +6 -6
  422. data/lib/karafka/web/ui/helpers/application_helper.rb +59 -59
  423. data/lib/karafka/web/ui/helpers/paths_helper.rb +15 -7
  424. data/lib/karafka/web/ui/helpers/tailwind_helper.rb +6 -6
  425. data/lib/karafka/web/ui/helpers/time_helper.rb +1 -1
  426. data/lib/karafka/web/ui/helpers/topics_helper.rb +4 -4
  427. data/lib/karafka/web/ui/lib/admin.rb +2 -2
  428. data/lib/karafka/web/ui/lib/paginations/base.rb +7 -7
  429. data/lib/karafka/web/ui/lib/paginations/offset_based.rb +2 -2
  430. data/lib/karafka/web/ui/lib/paginations/page_based.rb +1 -1
  431. data/lib/karafka/web/ui/lib/paginations/paginators/arrays.rb +3 -3
  432. data/lib/karafka/web/ui/lib/paginations/watermark_offsets_based.rb +1 -1
  433. data/lib/karafka/web/ui/lib/sorter.rb +2 -2
  434. data/lib/karafka/web/ui/models/counters.rb +1 -1
  435. data/lib/karafka/web/ui/models/health.rb +1 -0
  436. data/lib/karafka/web/ui/models/jobs.rb +2 -2
  437. data/lib/karafka/web/ui/models/message.rb +9 -9
  438. data/lib/karafka/web/ui/models/metrics/charts/aggregated.rb +3 -3
  439. data/lib/karafka/web/ui/models/metrics/charts/topics.rb +3 -3
  440. data/lib/karafka/web/ui/models/metrics/topics.rb +8 -8
  441. data/lib/karafka/web/ui/models/processes.rb +3 -3
  442. data/lib/karafka/web/ui/models/recurring_tasks/schedule.rb +2 -2
  443. data/lib/karafka/web/ui/models/status/checks/base.rb +127 -0
  444. data/lib/karafka/web/ui/models/status/checks/commands_topic_presence.rb +52 -0
  445. data/lib/karafka/web/ui/models/status/checks/connection.rb +68 -0
  446. data/lib/karafka/web/ui/models/status/checks/consumers_reports.rb +34 -0
  447. data/lib/karafka/web/ui/models/status/checks/consumers_reports_schema_state.rb +32 -0
  448. data/lib/karafka/web/ui/models/status/checks/consumers_schemas.rb +44 -0
  449. data/lib/karafka/web/ui/models/status/checks/enabled.rb +39 -0
  450. data/lib/karafka/web/ui/models/status/checks/initial_consumers_metrics.rb +48 -0
  451. data/lib/karafka/web/ui/models/status/checks/initial_consumers_state.rb +48 -0
  452. data/lib/karafka/web/ui/models/status/checks/live_reporting.rb +31 -0
  453. data/lib/karafka/web/ui/models/status/checks/materializing_lag.rb +49 -0
  454. data/lib/karafka/web/ui/models/status/checks/partitions.rb +45 -0
  455. data/lib/karafka/web/ui/models/status/checks/pro_subscription.rb +29 -0
  456. data/lib/karafka/web/ui/models/status/checks/replication.rb +51 -0
  457. data/lib/karafka/web/ui/models/status/checks/routing_topics_presence.rb +53 -0
  458. data/lib/karafka/web/ui/models/status/checks/state_calculation.rb +39 -0
  459. data/lib/karafka/web/ui/models/status/checks/topics.rb +44 -0
  460. data/lib/karafka/web/ui/models/status/context.rb +142 -0
  461. data/lib/karafka/web/ui/models/status/step.rb +64 -0
  462. data/lib/karafka/web/ui/models/status.rb +70 -356
  463. data/lib/karafka/web/ui/models/topic.rb +2 -2
  464. data/lib/karafka/web/ui/public/javascripts/application.min.js +1 -1
  465. data/lib/karafka/web/ui/public/javascripts/application.min.js.br +0 -0
  466. data/lib/karafka/web/ui/public/javascripts/application.min.js.gz +0 -0
  467. data/lib/karafka/web/ui/public/javascripts/components/live_poll.js +2 -2
  468. data/lib/karafka/web/ui/public/stylesheets/application.min.css +4660 -2524
  469. data/lib/karafka/web/ui/public/stylesheets/application.min.css.br +0 -0
  470. data/lib/karafka/web/ui/public/stylesheets/application.min.css.gz +0 -0
  471. data/lib/karafka/web/ui/public/stylesheets/libs/tailwind.css +62 -3
  472. data/lib/karafka/web/ui/routes/assets.rb +7 -7
  473. data/lib/karafka/web/ui/routes/cluster.rb +4 -4
  474. data/lib/karafka/web/ui/routes/consumers.rb +2 -2
  475. data/lib/karafka/web/ui/routes/dashboard.rb +1 -1
  476. data/lib/karafka/web/ui/routes/errors.rb +2 -2
  477. data/lib/karafka/web/ui/routes/jobs.rb +4 -4
  478. data/lib/karafka/web/ui/routes/routing.rb +1 -1
  479. data/lib/karafka/web/ui/routes/status.rb +1 -1
  480. data/lib/karafka/web/ui/routes/support.rb +1 -1
  481. data/lib/karafka/web/ui/routes/ux.rb +1 -1
  482. data/lib/karafka/web/ui/views/cluster/_partition.erb +1 -0
  483. data/lib/karafka/web/ui/views/dashboard/_counters.erb +16 -16
  484. data/lib/karafka/web/ui/views/errors/_detail.erb +2 -3
  485. data/lib/karafka/web/ui/views/errors/_error.erb +1 -1
  486. data/lib/karafka/web/ui/views/errors/index.erb +1 -1
  487. data/lib/karafka/web/ui/views/errors/show.erb +1 -1
  488. data/lib/karafka/web/ui/views/jobs/_job.erb +1 -1
  489. data/lib/karafka/web/ui/views/layout.erb +1 -1
  490. data/lib/karafka/web/ui/views/routing/_consumer_group.erb +1 -1
  491. data/lib/karafka/web/ui/views/routing/_topic.erb +1 -1
  492. data/lib/karafka/web/ui/views/shared/_header.erb +5 -5
  493. data/lib/karafka/web/ui/views/shared/_navigation.erb +1 -1
  494. data/lib/karafka/web/ui/views/shared/alerts/_error.erb +2 -2
  495. data/lib/karafka/web/ui/views/shared/alerts/_info.erb +1 -1
  496. data/lib/karafka/web/ui/views/shared/alerts/_primary.erb +1 -1
  497. data/lib/karafka/web/ui/views/shared/alerts/_secondary.erb +1 -1
  498. data/lib/karafka/web/ui/views/shared/alerts/_success.erb +1 -1
  499. data/lib/karafka/web/ui/views/shared/alerts/_warning.erb +2 -2
  500. data/lib/karafka/web/ui/views/shared/exceptions/not_allowed.erb +3 -3
  501. data/lib/karafka/web/ui/views/shared/exceptions/not_found.erb +4 -4
  502. data/lib/karafka/web/ui/views/shared/exceptions/pro_only.erb +4 -4
  503. data/lib/karafka/web/ui/views/shared/exceptions/unhandled_error.erb +4 -4
  504. data/lib/karafka/web/ui/views/status/show.erb +15 -0
  505. data/lib/karafka/web/ui/views/status/warnings/_commands_topic_presence.erb +14 -0
  506. data/lib/karafka/web/ui/views/ux/_code.erb +0 -1
  507. data/lib/karafka/web/ui/views/ux/_data_table.erb +79 -0
  508. data/lib/karafka/web/ui/views/ux/_headers.erb +1 -1
  509. data/lib/karafka/web/ui/views/ux/_pagination.erb +1 -1
  510. data/lib/karafka/web/version.rb +1 -1
  511. data/lib/karafka/web.rb +17 -17
  512. data/package-lock.json +480 -92
  513. data/package.json +3 -1
  514. data/renovate.json +12 -11
  515. data/tailwind.config.js +4 -7
  516. metadata +72 -3
  517. data/lib/karafka/web/pro/ui/views/consumers/commands/_metadata.erb +0 -44
@@ -1,5 +1,16 @@
1
- <%# This code is part of Karafka Pro, a commercial component not licensed under LGPL. %>
2
- <%# See LICENSE for details. %>
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
3
14
 
4
15
  <% alert_box_error 'This Operation Cannot Be Performed' do %>
5
16
  <p>
@@ -0,0 +1,57 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <div class="card-detail-container mt-4">
16
+ <div class="card-detail">
17
+ <div class="card-detail-body">
18
+ Consumer Group
19
+ <%== badge_primary @consumer_group_id %>
20
+ </div>
21
+ </div>
22
+
23
+ <div class="card-detail">
24
+ <div class="card-detail-body">
25
+ Topic
26
+ <%== badge_info @topic %>
27
+ </div>
28
+ </div>
29
+
30
+ <div class="card-detail">
31
+ <div class="card-detail-body">
32
+ Partition
33
+ <%== badge_info @partition_id %>
34
+ </div>
35
+ </div>
36
+
37
+ <div class="card-detail">
38
+ <div class="card-detail-body">
39
+ Poll State
40
+ <%== poll_state_with_change_time_label(@partition_stats.poll_state, @partition_stats.poll_state_ch) %>
41
+ </div>
42
+ </div>
43
+
44
+ <div class="card-detail">
45
+ <div class="card-detail-body">
46
+ Committed Offset
47
+ <%== badge_secondary(normalized_metric(@partition_stats.committed_offset)) %>
48
+ </div>
49
+ </div>
50
+
51
+ <div class="card-detail">
52
+ <div class="card-detail-body">
53
+ Lag
54
+ <%== badge_secondary(normalized_metric(@partition_stats.lag_hybrid)) %>
55
+ </div>
56
+ </div>
57
+ </div>
@@ -1,21 +1,32 @@
1
- <%# This code is part of Karafka Pro, a commercial component not licensed under LGPL. %>
2
- <%# See LICENSE for details. %>
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
3
14
 
4
15
  <%
5
16
  tpi = topics_partition_identifier(@topic, @partition_id)
6
17
 
7
- view_title "#{@process.id} - Pause Adjustment - #{@subscription_group_id} - #{tpi}"
18
+ view_title "Partition Resume - #{@consumer_group_id} - #{tpi}"
8
19
  %>
9
20
 
10
21
  <% if @topic_lrj %>
11
22
  <%== partial 'consumers/partitions/pauses/lrj_not_manageable' %>
12
23
  <% else %>
13
- <% if @process.status == 'running' %>
24
+ <% if @any_process_running %>
14
25
  <% if @partition_stats.poll_state == 'active' %>
15
26
  <%== partial 'consumers/partitions/pauses/active_not_editable' %>
16
27
  <% else %>
17
28
  <%== partial 'consumers/partitions/pauses/adjusting_warning' %>
18
- <%== partial 'consumers/partitions/offsets/basics' %>
29
+ <%== partial 'consumers/partitions/pauses/partition_info' %>
19
30
  <%== partial 'consumers/partitions/pauses/edit_form' %>
20
31
  <% end %>
21
32
  <% else %>
@@ -1,18 +1,29 @@
1
- <%# This code is part of Karafka Pro, a commercial component not licensed under LGPL. %>
2
- <%# See LICENSE for details. %>
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
3
14
 
4
15
  <%
5
16
  tpi = topics_partition_identifier(@topic, @partition_id)
6
17
 
7
- view_title "#{@process.id} - Pause Adjustment - #{@subscription_group_id} - #{tpi}"
18
+ view_title "Partition Pause - #{@consumer_group_id} - #{tpi}"
8
19
  %>
9
20
 
10
21
  <% if @topic_lrj %>
11
22
  <%== partial 'consumers/partitions/pauses/lrj_not_manageable' %>
12
23
  <% else %>
13
- <% if @process.status == 'running' %>
24
+ <% if @any_process_running %>
14
25
  <%== partial 'consumers/partitions/pauses/adjusting_warning' %>
15
- <%== partial 'consumers/partitions/offsets/basics' %>
26
+ <%== partial 'consumers/partitions/pauses/partition_info' %>
16
27
  <%== partial 'consumers/partitions/pauses/new_form' %>
17
28
  <% else %>
18
29
  <%== partial 'consumers/partitions/pauses/not_running' %>
@@ -0,0 +1,38 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <% alert_box_warning('Topic-Level Operation Across All Processes') do %>
16
+ <p>
17
+ You are about to adjust pause settings for <strong>all partitions</strong> of this topic across <strong>all consumer processes</strong> in the '<%= @consumer_group_id %>' consumer group. This operation:
18
+ </p>
19
+
20
+ <ul class="list-disc ml-6 mt-2 mb-2">
21
+ <li>Affects all assigned partitions of this topic across all running consumer processes</li>
22
+ <li>Takes effect during the next poll operation on each process</li>
23
+ <li>May affect message processing on multiple consumer instances</li>
24
+ <li>Cannot be undone - you will need to resume partitions manually</li>
25
+ </ul>
26
+
27
+ <hr>
28
+
29
+ <p class="mt-2">
30
+ During long pauses, lag reporting on this topic may stop as librdkafka freezes the last known high watermark.
31
+ </p>
32
+
33
+ <p class="mt-2">
34
+ Real-time, state-independent lag metrics can always be checked in the
35
+ <a href="<%= root_path('health', 'cluster_lags') %>">Cluster Lags</a> tab
36
+ of the <a href="<%= root_path('health') %>">Health</a> section.
37
+ </p>
38
+ <% end %>
@@ -0,0 +1,46 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <li>
16
+ <a href="<%= root_path('health', 'overview') %>">
17
+ Health
18
+ </a>
19
+ </li>
20
+
21
+ <li>
22
+ <a href="<%= root_path('health', 'overview') %>">
23
+ Overview
24
+ </a>
25
+ </li>
26
+
27
+ <li>
28
+ <a href="<%= root_path('health', 'overview') %>">
29
+ <%= @consumer_group_id %>
30
+ </a>
31
+ </li>
32
+
33
+ <li>
34
+ <a href="<%= root_path('health', 'overview') %>">
35
+ <%= @topic %>
36
+ </a>
37
+ </li>
38
+
39
+ <li>
40
+ <%
41
+ action = current_path.include?('/new') ? 'Pause' : 'Resume'
42
+ %>
43
+ <a href="<%= current_path %>">
44
+ <%= action %>
45
+ </a>
46
+ </li>
@@ -0,0 +1,66 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <%
16
+ resume_path = consumers_path(
17
+ 'topics',
18
+ @consumer_group_id,
19
+ @topic,
20
+ 'pause'
21
+ )
22
+ %>
23
+
24
+ <div class="card bg-base-100 mt-4">
25
+ <div class="card-body">
26
+ <form
27
+ class="space-y-4 w-full"
28
+ method="post"
29
+ action="<%= resume_path %>"
30
+ >
31
+ <%== csrf_tag(resume_path, 'DELETE') %>
32
+ <input type="hidden" name="_method" value="delete">
33
+
34
+ <div class="flex items-center w-full">
35
+ <label class="w-1/4 text-base-content/70">Reset Counter:</label>
36
+
37
+ <div class="w-3/4">
38
+ <label class="flex items-center gap-4 cursor-pointer">
39
+ <input type="hidden" name="reset_attempts" value="off">
40
+ <input type="checkbox" name="reset_attempts" class="checkbox checkbox-warning">
41
+ <div class="space-y-1">
42
+ <div class="flex items-center gap-2">
43
+ Reset the processing attempts counter when resuming
44
+ </div>
45
+
46
+ <div class="text-sm text-base-content/70">
47
+ Resets retries counter for features like DLQ dispatching. Does not affect message offset position.
48
+ </div>
49
+ </div>
50
+ </label>
51
+ </div>
52
+ </div>
53
+
54
+ <div class="fieldset text-center mt-6">
55
+ <div class="flex gap-4 justify-end">
56
+ <a href="<%= root_path('health', 'overview') %>" class="btn btn-ghost">Cancel</a>
57
+
58
+ <button type="submit" class="btn btn-success gap-2 btn-lockable">
59
+ <%== icon(:play) %>
60
+ Resume All Paused Partitions
61
+ </button>
62
+ </div>
63
+ </div>
64
+ </form>
65
+ </div>
66
+ </div>
@@ -0,0 +1,30 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <% alert_box_error 'Cannot Manage Long-Running Job Partitions Pausing' do %>
16
+ <p>
17
+ Manual pause/resume operations are not supported for topics configured with Long-Running Job (LRJ) processing.
18
+ </p>
19
+ <p class="mt-2">
20
+ LRJ topics require specialized pause handling that is managed automatically by Karafka to ensure proper job completion and acknowledgment.
21
+ </p>
22
+ <% end %>
23
+
24
+ <div class="fieldset text-center mt-6">
25
+ <div class="flex justify-end">
26
+ <a href="<%= root_path('health', 'overview') %>" class="btn btn-ghost">
27
+ Cancel
28
+ </a>
29
+ </div>
30
+ </div>
@@ -0,0 +1,86 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <%
16
+ pause_path = consumers_path(
17
+ 'topics',
18
+ @consumer_group_id,
19
+ @topic,
20
+ 'pause'
21
+ )
22
+ %>
23
+
24
+ <div class="card bg-base-100 mt-4">
25
+ <div class="card-body">
26
+ <form class="space-y-4 w-full" method="post" action="<%= pause_path %>">
27
+ <%== csrf_tag(pause_path) %>
28
+
29
+ <div class="flex items-center w-full mb-8">
30
+ <label class="w-1/4 text-base-content/70">Pause Duration:</label>
31
+ <div class="w-3/4">
32
+ <input
33
+ type="number"
34
+ min="0"
35
+ max="31536000"
36
+ name="duration"
37
+ class="block input input-bordered w-full"
38
+ placeholder="Enter pause duration in seconds (0 for indefinite)"
39
+ required
40
+ autocomplete="on"
41
+ >
42
+
43
+ <div class="text-sm text-base-content/70 mt-1">
44
+ Set to 0 for indefinite pause or specify time in seconds
45
+ </div>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="flex items-center w-full">
50
+ <label class="w-1/4 text-base-content/70">Safety Check:</label>
51
+ <div class="w-3/4">
52
+ <label class="flex items-center gap-4 cursor-pointer">
53
+ <input type="hidden" name="prevent_override" value="off">
54
+
55
+ <input
56
+ type="checkbox"
57
+ name="prevent_override"
58
+ class="checkbox checkbox-warning"
59
+ checked
60
+ >
61
+
62
+ <div class="space-y-1">
63
+ <div class="flex items-center gap-2">
64
+ Only pause partitions that are not already paused
65
+ </div>
66
+ <div class="text-sm text-base-content/70">
67
+ Prevents accidental override of existing pause settings on individual partitions
68
+ </div>
69
+ </div>
70
+ </label>
71
+ </div>
72
+ </div>
73
+
74
+ <div class="fieldset text-center mt-6">
75
+ <div class="flex gap-4 justify-end">
76
+ <a href="<%= root_path('health', 'overview') %>" class="btn btn-ghost">Cancel</a>
77
+
78
+ <button type="submit" class="btn btn-warning gap-2 btn-lockable">
79
+ <%== icon(:pause) %>
80
+ Pause All Active Partitions
81
+ </button>
82
+ </div>
83
+ </div>
84
+ </form>
85
+ </div>
86
+ </div>
@@ -0,0 +1,27 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <% alert_box_error 'This Operation Cannot Be Performed' do %>
16
+ <p>
17
+ Topic pauses can only be managed using Web UI when at least one consumer process is in a running state.
18
+ </p>
19
+ <% end %>
20
+
21
+ <div class="fieldset text-center mt-6">
22
+ <div class="flex justify-end">
23
+ <a href="<%= root_path('health', 'overview') %>" class="btn btn-ghost">
24
+ Cancel
25
+ </a>
26
+ </div>
27
+ </div>
@@ -0,0 +1,72 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <%
16
+ partitions = @topic_stats[:partitions]
17
+ total_partitions = @topic_stats[:partitions_count]
18
+ assigned_partitions = partitions.size
19
+
20
+ active_count = partitions.values.count { |p| p.poll_state == 'active' }
21
+ paused_count = partitions.values.count { |p| p.poll_state != 'active' }
22
+
23
+ # Get unique process count
24
+ process_count = partitions.values.map { |p| p[:process].id }.uniq.size
25
+ %>
26
+
27
+ <div class="card-detail-container mt-4">
28
+ <div class="card-detail">
29
+ <div class="card-detail-body">
30
+ Consumer Group
31
+ <%== badge_primary @consumer_group_id %>
32
+ </div>
33
+ </div>
34
+
35
+ <div class="card-detail">
36
+ <div class="card-detail-body">
37
+ Topic
38
+ <%== badge_info @topic %>
39
+ </div>
40
+ </div>
41
+
42
+ <div class="card-detail">
43
+ <div class="card-detail-body">
44
+ Total Partitions
45
+ <%== badge_secondary total_partitions %>
46
+ </div>
47
+ </div>
48
+
49
+ <div class="card-detail">
50
+ <div class="card-detail-body">
51
+ Assigned Partitions
52
+ <%== badge_secondary assigned_partitions %>
53
+ </div>
54
+ </div>
55
+
56
+ <div class="card-detail">
57
+ <div class="card-detail-body">
58
+ Active Processes
59
+ <%== badge_secondary process_count %>
60
+ </div>
61
+ </div>
62
+
63
+ <div class="card-detail">
64
+ <div class="card-detail-body">
65
+ Partition States
66
+ <div class="flex gap-2">
67
+ <span class="badge badge-success badge-sm"><%= active_count %> active</span>
68
+ <span class="badge badge-warning badge-sm"><%= paused_count %> paused</span>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </div>
@@ -0,0 +1,29 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <%
16
+ view_title "Topic Resume - #{@consumer_group_id} - #{@topic}"
17
+ %>
18
+
19
+ <% if @topic_lrj %>
20
+ <%== partial 'consumers/topics/pauses/lrj_not_manageable' %>
21
+ <% else %>
22
+ <% if @any_process_running %>
23
+ <%== partial 'consumers/topics/pauses/adjusting_warning' %>
24
+ <%== partial 'consumers/topics/pauses/topic_info' %>
25
+ <%== partial 'consumers/topics/pauses/edit_form' %>
26
+ <% else %>
27
+ <%== partial 'consumers/topics/pauses/not_running' %>
28
+ <% end %>
29
+ <% end %>
@@ -0,0 +1,29 @@
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
14
+
15
+ <%
16
+ view_title "Topic Pause - #{@consumer_group_id} - #{@topic}"
17
+ %>
18
+
19
+ <% if @topic_lrj %>
20
+ <%== partial 'consumers/topics/pauses/lrj_not_manageable' %>
21
+ <% else %>
22
+ <% if @any_process_running %>
23
+ <%== partial 'consumers/topics/pauses/adjusting_warning' %>
24
+ <%== partial 'consumers/topics/pauses/topic_info' %>
25
+ <%== partial 'consumers/topics/pauses/new_form' %>
26
+ <% else %>
27
+ <%== partial 'consumers/topics/pauses/not_running' %>
28
+ <% end %>
29
+ <% end %>
@@ -1,5 +1,16 @@
1
- <%# This code is part of Karafka Pro, a commercial component not licensed under LGPL. %>
2
- <%# See LICENSE for details. %>
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
3
14
 
4
15
  <% view_title 'Dashboard' %>
5
16
 
@@ -1,5 +1,16 @@
1
- <%# This code is part of Karafka Pro, a commercial component not licensed under LGPL. %>
2
- <%# See LICENSE for details. %>
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
3
14
 
4
15
  <li>
5
16
  <a href="<%= root_path('dlq') %>">
@@ -1,4 +1,15 @@
1
- <%# This code is part of Karafka Pro, a commercial component not licensed under LGPL. %>
2
- <%# See LICENSE for details. %>
1
+ <%# Karafka Pro - Source Available Commercial Software %>
2
+ <%# Copyright (c) 2017-present Maciej Mensfeld. All rights reserved. %>
3
+ <%# This software is NOT open source. It is source-available commercial software %>
4
+ <%# requiring a paid license for use. It is NOT covered by LGPL. %>
5
+ <%# PROHIBITED: Use without a valid commercial license %>
6
+ <%# PROHIBITED: Redistribution, modification, or derivative works without authorization %>
7
+ <%# PROHIBITED: Use as training data for AI/ML models or inclusion in datasets %>
8
+ <%# PROHIBITED: Scraping, crawling, or automated collection for any purpose %>
9
+ <%# PERMITTED: Reading, referencing, and linking for personal or commercial use %>
10
+ <%# PERMITTED: Runtime retrieval by AI assistants, coding agents, and RAG systems %>
11
+ <%# PERMITTED: for the purpose of providing contextual help to Karafka users %>
12
+ <%# License: https://karafka.io/docs/Pro-License-Comm/ %>
13
+ <%# Contact: contact@karafka.io %>
3
14
 
4
15
  <%== alert_info('No Dead Letter Queue topics exist in Kafka.') %>