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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/Gemfile +9 -10
- data/Gemfile.lint +14 -0
- data/Gemfile.lint.lock +123 -0
- data/Gemfile.lock +15 -16
- data/README.md +15 -15
- data/Rakefile +2 -2
- data/bin/balance_specs +120 -0
- data/bin/check_coverage +31 -0
- data/bin/collect_timings +83 -0
- data/bin/rspecs +10 -0
- data/bin/rspecs_parallel +111 -0
- data/docker-compose.yml +1 -1
- data/karafka-web.gemspec +35 -35
- data/lib/karafka/web/cli/base.rb +2 -2
- data/lib/karafka/web/cli/help.rb +2 -2
- data/lib/karafka/web/cli/install.rb +3 -3
- data/lib/karafka/web/cli/migrate.rb +3 -3
- data/lib/karafka/web/cli/reset.rb +3 -3
- data/lib/karafka/web/cli/uninstall.rb +1 -1
- data/lib/karafka/web/config.rb +40 -32
- data/lib/karafka/web/contracts/base.rb +2 -2
- data/lib/karafka/web/deserializer.rb +5 -5
- data/lib/karafka/web/installer.rb +14 -14
- data/lib/karafka/web/management/actions/base.rb +5 -5
- data/lib/karafka/web/management/actions/clean_boot_file.rb +3 -3
- data/lib/karafka/web/management/actions/create_initial_states.rb +8 -8
- data/lib/karafka/web/management/actions/enable.rb +3 -3
- data/lib/karafka/web/management/actions/extend_boot_file.rb +3 -3
- data/lib/karafka/web/management/migrations/base.rb +3 -3
- data/lib/karafka/web/management/migrations/consumers_metrics/0_set_initial.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_metrics/1699543515_fill_missing_received_and_sent_bytes.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_metrics/1700234522_introduce_waiting.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_metrics/1700234522_remove_processing.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_metrics/1704722380_split_listeners_into_active_and_paused.rb +7 -7
- data/lib/karafka/web/management/migrations/consumers_metrics/1706607960_introduce_lag_total.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_metrics/1706611396_rename_lag_total_to_lag_hybrid.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_metrics/1716218393_populate_jobs_metrics.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_reports/1761645571_rename_process_name_to_id.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_reports/1765657887_add_group_instance_id_to_subscription_groups.rb +42 -0
- data/lib/karafka/web/management/migrations/consumers_states/0_set_initial.rb +2 -2
- data/lib/karafka/web/management/migrations/consumers_states/1699543515_fill_missing_received_and_sent_bytes.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_states/1700234522_introduce_waiting.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_states/1700234522_remove_processing.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_states/1704722380_split_listeners_into_active_and_paused.rb +7 -7
- data/lib/karafka/web/management/migrations/consumers_states/1706607960_introduce_lag_total.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_states/1706611396_rename_lag_total_to_lag_hybrid.rb +1 -1
- data/lib/karafka/web/management/migrations/consumers_states/1716218393_add_jobs_counter.rb +1 -1
- data/lib/karafka/web/management/migrator.rb +2 -2
- data/lib/karafka/web/pro/commanding/commands/base.rb +20 -4
- data/lib/karafka/web/pro/commanding/commands/consumers/quiet.rb +22 -5
- data/lib/karafka/web/pro/commanding/commands/consumers/stop.rb +22 -5
- data/lib/karafka/web/pro/commanding/commands/consumers/trace.rb +21 -4
- data/lib/karafka/web/pro/commanding/commands/partitions/pause.rb +20 -3
- data/lib/karafka/web/pro/commanding/commands/partitions/resume.rb +20 -3
- data/lib/karafka/web/pro/commanding/commands/partitions/seek.rb +20 -3
- data/lib/karafka/web/pro/commanding/commands/topics/pause.rb +48 -0
- data/lib/karafka/web/pro/commanding/commands/topics/resume.rb +49 -0
- data/lib/karafka/web/pro/commanding/config.rb +23 -5
- data/lib/karafka/web/pro/commanding/contracts/config.rb +21 -4
- data/lib/karafka/web/pro/commanding/dispatcher.rb +61 -26
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/base.rb +20 -3
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/pause.rb +21 -4
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/resume.rb +20 -3
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/seek.rb +24 -7
- data/lib/karafka/web/pro/commanding/handlers/partitions/executor.rb +36 -12
- data/lib/karafka/web/pro/commanding/handlers/partitions/listener.rb +47 -8
- data/lib/karafka/web/pro/commanding/handlers/partitions/tracker.rb +62 -13
- data/lib/karafka/web/pro/commanding/handlers/topics/commands/base.rb +109 -0
- data/lib/karafka/web/pro/commanding/handlers/topics/commands/pause.rb +76 -0
- data/lib/karafka/web/pro/commanding/handlers/topics/commands/resume.rb +56 -0
- data/lib/karafka/web/pro/commanding/handlers/topics/executor.rb +75 -0
- data/lib/karafka/web/pro/commanding/handlers/topics/listener.rb +82 -0
- data/lib/karafka/web/pro/commanding/handlers/topics/tracker.rb +81 -0
- data/lib/karafka/web/pro/commanding/listener.rb +23 -6
- data/lib/karafka/web/pro/commanding/manager.rb +44 -23
- data/lib/karafka/web/pro/commanding/matcher.rb +46 -18
- data/lib/karafka/web/pro/commanding/matchers/base.rb +87 -0
- data/lib/karafka/web/pro/commanding/matchers/consumer_group_id.rb +58 -0
- data/lib/karafka/web/pro/commanding/matchers/message_type.rb +49 -0
- data/lib/karafka/web/pro/commanding/matchers/partition_id.rb +61 -0
- data/lib/karafka/web/pro/commanding/matchers/process_id.rb +58 -0
- data/lib/karafka/web/pro/commanding/matchers/schema_version.rb +44 -0
- data/lib/karafka/web/pro/commanding/matchers/topic.rb +58 -0
- data/lib/karafka/web/pro/commanding/request.rb +19 -2
- data/lib/karafka/web/pro/commanding.rb +19 -2
- data/lib/karafka/web/pro/loader.rb +20 -3
- data/lib/karafka/web/pro/ui/app.rb +25 -8
- data/lib/karafka/web/pro/ui/controllers/base_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/cluster_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/consumers/base_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/consumers/commanding_controller.rb +37 -15
- data/lib/karafka/web/pro/ui/controllers/consumers/commands_controller.rb +23 -6
- data/lib/karafka/web/pro/ui/controllers/consumers/consumers_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/consumers/controls_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/consumers/jobs_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/consumers/partitions/base_controller.rb +43 -42
- data/lib/karafka/web/pro/ui/controllers/consumers/partitions/offsets_controller.rb +36 -17
- data/lib/karafka/web/pro/ui/controllers/consumers/partitions/pauses_controller.rb +59 -33
- data/lib/karafka/web/pro/ui/controllers/consumers/topics/pauses_controller.rb +164 -0
- data/lib/karafka/web/pro/ui/controllers/dashboard_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/dlq_controller.rb +26 -9
- data/lib/karafka/web/pro/ui/controllers/errors_controller.rb +25 -9
- data/lib/karafka/web/pro/ui/controllers/explorer/base_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/explorer/explorer_controller.rb +22 -5
- data/lib/karafka/web/pro/ui/controllers/explorer/messages_controller.rb +26 -9
- data/lib/karafka/web/pro/ui/controllers/explorer/search_controller.rb +23 -6
- data/lib/karafka/web/pro/ui/controllers/health_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/jobs_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/recurring_tasks_controller.rb +22 -5
- data/lib/karafka/web/pro/ui/controllers/routing_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/base_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/explorer_controller.rb +25 -8
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/messages_controller.rb +21 -4
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/schedules_controller.rb +26 -9
- data/lib/karafka/web/pro/ui/controllers/status_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/support_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/topics/base_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/topics/configs_controller.rb +20 -3
- data/lib/karafka/web/pro/ui/controllers/topics/distributions_controller.rb +20 -3
- data/lib/karafka/web/pro/ui/controllers/topics/offsets_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/controllers/topics/replications_controller.rb +41 -2
- data/lib/karafka/web/pro/ui/controllers/topics/topics_controller.rb +24 -7
- data/lib/karafka/web/pro/ui/controllers/ux_controller.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/branding/config.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/branding/contracts/config.rb +21 -4
- data/lib/karafka/web/pro/ui/lib/branding.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/features.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/patterns_detector.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/policies/config.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/policies/contracts/config.rb +21 -4
- data/lib/karafka/web/pro/ui/lib/policies/messages.rb +20 -3
- data/lib/karafka/web/pro/ui/lib/policies/requests.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/policies.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/safe_runner.rb +20 -3
- data/lib/karafka/web/pro/ui/lib/search/config.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/search/contracts/config.rb +21 -4
- data/lib/karafka/web/pro/ui/lib/search/contracts/form.rb +24 -6
- data/lib/karafka/web/pro/ui/lib/search/matchers/base.rb +21 -4
- data/lib/karafka/web/pro/ui/lib/search/matchers/raw_header_includes.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/search/matchers/raw_key_includes.rb +19 -2
- data/lib/karafka/web/pro/ui/lib/search/matchers/raw_payload_includes.rb +20 -3
- data/lib/karafka/web/pro/ui/lib/search/normalizer.rb +26 -9
- data/lib/karafka/web/pro/ui/lib/search/runner.rb +33 -16
- data/lib/karafka/web/pro/ui/lib/search.rb +19 -2
- data/lib/karafka/web/pro/ui/routes/base.rb +19 -2
- data/lib/karafka/web/pro/ui/routes/cluster.rb +21 -4
- data/lib/karafka/web/pro/ui/routes/consumers.rb +83 -49
- data/lib/karafka/web/pro/ui/routes/dashboard.rb +20 -3
- data/lib/karafka/web/pro/ui/routes/dlq.rb +20 -3
- data/lib/karafka/web/pro/ui/routes/errors.rb +21 -4
- data/lib/karafka/web/pro/ui/routes/explorer.rb +33 -16
- data/lib/karafka/web/pro/ui/routes/health.rb +26 -9
- data/lib/karafka/web/pro/ui/routes/jobs.rb +23 -6
- data/lib/karafka/web/pro/ui/routes/recurring_tasks.rb +29 -12
- data/lib/karafka/web/pro/ui/routes/routing.rb +20 -3
- data/lib/karafka/web/pro/ui/routes/scheduled_messages.rb +28 -11
- data/lib/karafka/web/pro/ui/routes/status.rb +20 -3
- data/lib/karafka/web/pro/ui/routes/support.rb +20 -3
- data/lib/karafka/web/pro/ui/routes/topics.rb +29 -12
- data/lib/karafka/web/pro/ui/routes/ux.rb +20 -3
- data/lib/karafka/web/pro/ui/views/cluster/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/cluster/_broker.erb +13 -2
- data/lib/karafka/web/pro/ui/views/cluster/_config.erb +14 -3
- data/lib/karafka/web/pro/ui/views/cluster/_tabs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/cluster/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/cluster/show.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/_backtrace.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/_command.erb +24 -66
- data/lib/karafka/web/pro/ui/views/consumers/commands/_command_details.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/_empty.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/_incompatible_command.erb +19 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/_incompatible_schema.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/_table.erb +15 -4
- data/lib/karafka/web/pro/ui/views/consumers/commands/details/_acceptance.erb +19 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/details/_request.erb +19 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/details/_result.erb +27 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/commands/metadata/_request.erb +52 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/metadata/_response.erb +46 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/rows/_command_name_badge.erb +40 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/rows/_request.erb +47 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/rows/_response.erb +46 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/show.erb +14 -15
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_consumer.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_consumer_performance.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_tabs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_commands.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_consumer_group.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_metrics.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_no_subscriptions.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_partition.erb +15 -5
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_partition_edit_options.erb +16 -5
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_stopped.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_subscription_group.erb +31 -7
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_tabs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/details.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/performance.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/consumers/subscriptions.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/controls/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/controls/_controls.erb +14 -3
- data/lib/karafka/web/pro/ui/views/consumers/controls/index.erb +35 -7
- data/lib/karafka/web/pro/ui/views/consumers/jobs/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/jobs/_job.erb +14 -3
- data/lib/karafka/web/pro/ui/views/consumers/jobs/_no_jobs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/jobs/pending.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/jobs/running.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_basics.erb +20 -13
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_breadcrumbs.erb +37 -46
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_form.erb +25 -14
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_not_running_error.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_running_warning.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/edit.erb +17 -6
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_active_not_editable.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_adjusting_warning.erb +14 -3
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_breadcrumbs.erb +40 -48
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_edit_form.erb +18 -8
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_lrj_not_manageable.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_new_form.erb +22 -11
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_not_running.erb +13 -2
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_partition_info.erb +57 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/edit.erb +16 -5
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/new.erb +16 -5
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_adjusting_warning.erb +38 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_breadcrumbs.erb +46 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_edit_form.erb +66 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_lrj_not_manageable.erb +30 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_new_form.erb +86 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_not_running.erb +27 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/_topic_info.erb +72 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/edit.erb +29 -0
- data/lib/karafka/web/pro/ui/views/consumers/topics/pauses/new.erb +29 -0
- data/lib/karafka/web/pro/ui/views/dashboard/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/dlq/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/dlq/_no_topics.erb +13 -2
- data/lib/karafka/web/pro/ui/views/dlq/_topic.erb +13 -2
- data/lib/karafka/web/pro/ui/views/dlq/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/errors/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/errors/_error.erb +14 -3
- data/lib/karafka/web/pro/ui/views/errors/_partition_option.erb +18 -5
- data/lib/karafka/web/pro/ui/views/errors/_selector.erb +14 -3
- data/lib/karafka/web/pro/ui/views/errors/_table.erb +14 -3
- data/lib/karafka/web/pro/ui/views/errors/index.erb +39 -26
- data/lib/karafka/web/pro/ui/views/errors/partition.erb +50 -37
- data/lib/karafka/web/pro/ui/views/errors/show.erb +14 -3
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_failed_deserialization.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_filtered.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_message.erb +14 -3
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_no_topics.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_partition_option.erb +18 -5
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_selector.erb +14 -3
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_topic.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_metadata.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_payload.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_resources_utilization.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/message/_too_big_to_be_displayed.erb +15 -4
- data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_detail.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_headers.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_key.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_cleaned.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_empty.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_messages.erb +14 -3
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_time_selector.erb +14 -3
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_timestamp_selector.erb +15 -3
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition.erb +52 -39
- data/lib/karafka/web/pro/ui/views/explorer/explorer/show.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_actions.erb +39 -26
- data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_empty.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_limited.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/topic.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/messages/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/messages/forward.erb +28 -16
- data/lib/karafka/web/pro/ui/views/explorer/search/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/_fix_errors.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/_metadata.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/_no_results.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/_no_search_criteria.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/_search_criteria.erb +14 -3
- data/lib/karafka/web/pro/ui/views/explorer/search/_search_modal.erb +27 -15
- data/lib/karafka/web/pro/ui/views/explorer/search/_timeout.erb +13 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_no_data.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_no_partition_data.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_partition.erb +22 -6
- data/lib/karafka/web/pro/ui/views/health/_partition_lags.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_partition_offset.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_partition_times.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_partitions_with_fallback.erb +15 -2
- data/lib/karafka/web/pro/ui/views/health/_table_metadata.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_tabs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/_topic_edit_options.erb +64 -0
- data/lib/karafka/web/pro/ui/views/health/changes.erb +14 -2
- data/lib/karafka/web/pro/ui/views/health/cluster_lags.erb +13 -2
- data/lib/karafka/web/pro/ui/views/health/lags.erb +14 -2
- data/lib/karafka/web/pro/ui/views/health/offsets.erb +14 -2
- data/lib/karafka/web/pro/ui/views/health/overview.erb +29 -5
- data/lib/karafka/web/pro/ui/views/jobs/_job.erb +14 -3
- data/lib/karafka/web/pro/ui/views/jobs/_no_jobs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/jobs/pending.erb +13 -2
- data/lib/karafka/web/pro/ui/views/jobs/running.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_actions.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_batch_actions.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_log.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_not_active.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_tabs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_task.erb +14 -3
- data/lib/karafka/web/pro/ui/views/recurring_tasks/logs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/recurring_tasks/schedule.erb +14 -3
- data/lib/karafka/web/pro/ui/views/routing/_consumer_group.erb +14 -3
- data/lib/karafka/web/pro/ui/views/routing/_detail.erb +13 -2
- data/lib/karafka/web/pro/ui/views/routing/_topic.erb +14 -3
- data/lib/karafka/web/pro/ui/views/routing/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/routing/show.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_key.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_message.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_messages.erb +14 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_cancel.erb +14 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_compacted.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_schedule.erb +14 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_tombstone.erb +14 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/message/_unknown.erb +14 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/partition.erb +52 -39
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/topic.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/_no_groups.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/show.erb +14 -3
- data/lib/karafka/web/pro/ui/views/shared/_navigation.erb +14 -3
- data/lib/karafka/web/pro/ui/views/shared/_rdkafka_form_error_alert_box.erb +13 -2
- data/lib/karafka/web/pro/ui/views/shared/branding/_label.erb +13 -2
- data/lib/karafka/web/pro/ui/views/shared/branding/_notice.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/configs/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/configs/_config.erb +14 -3
- data/lib/karafka/web/pro/ui/views/topics/configs/_delete_button.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/configs/_edit_form.erb +17 -6
- data/lib/karafka/web/pro/ui/views/topics/configs/_edit_plan.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/configs/_edit_warning.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/configs/edit.erb +21 -10
- data/lib/karafka/web/pro/ui/views/topics/configs/index.erb +14 -3
- data/lib/karafka/web/pro/ui/views/topics/distributions/_add_partitions_button.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_badges.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_chart.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_form.erb +18 -6
- data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_hints.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_warnings.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_empty_partitions.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_limited.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/_partition.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/edit.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/distributions/show.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/offsets/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/offsets/_partition.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/offsets/show.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/replications/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/replications/_metric_box.erb +20 -0
- data/lib/karafka/web/pro/ui/views/topics/replications/_partition.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/replications/_replication_info.erb +65 -0
- data/lib/karafka/web/pro/ui/views/topics/replications/_resilience_success.erb +24 -0
- data/lib/karafka/web/pro/ui/views/topics/replications/_warning_low_durability.erb +67 -0
- data/lib/karafka/web/pro/ui/views/topics/replications/_warning_no_redundancy.erb +66 -0
- data/lib/karafka/web/pro/ui/views/topics/replications/_warning_zero_fault_tolerance.erb +67 -0
- data/lib/karafka/web/pro/ui/views/topics/replications/show.erb +15 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_breadcrumbs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_create_button.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_create_hints.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_delete_form.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_delete_hints.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_delete_warning.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_new_form.erb +25 -11
- data/lib/karafka/web/pro/ui/views/topics/topics/_tabs.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/_topic.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/edit.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/index.erb +13 -2
- data/lib/karafka/web/pro/ui/views/topics/topics/new.erb +13 -2
- data/lib/karafka/web/processing/consumer.rb +1 -1
- data/lib/karafka/web/processing/consumers/aggregators/metrics.rb +11 -11
- data/lib/karafka/web/processing/consumers/aggregators/state.rb +4 -3
- data/lib/karafka/web/processing/consumers/reports_migrator.rb +2 -2
- data/lib/karafka/web/processing/consumers/schema_manager.rb +1 -1
- data/lib/karafka/web/processing/publisher.rb +2 -2
- data/lib/karafka/web/producer.rb +61 -0
- data/lib/karafka/web/tracking/consumers/contracts/report.rb +2 -2
- data/lib/karafka/web/tracking/consumers/contracts/subscription_group.rb +1 -0
- data/lib/karafka/web/tracking/consumers/listeners/booting.rb +1 -1
- data/lib/karafka/web/tracking/consumers/listeners/connections.rb +7 -2
- data/lib/karafka/web/tracking/consumers/listeners/errors.rb +10 -10
- data/lib/karafka/web/tracking/consumers/listeners/pausing.rb +1 -1
- data/lib/karafka/web/tracking/consumers/listeners/processing.rb +25 -25
- data/lib/karafka/web/tracking/consumers/listeners/statistics.rb +35 -35
- data/lib/karafka/web/tracking/consumers/reporter.rb +2 -2
- data/lib/karafka/web/tracking/consumers/sampler/enrichers/consumer_groups.rb +1 -0
- data/lib/karafka/web/tracking/consumers/sampler/metrics/base.rb +2 -1
- data/lib/karafka/web/tracking/consumers/sampler/metrics/container.rb +15 -15
- data/lib/karafka/web/tracking/consumers/sampler/metrics/network.rb +6 -6
- data/lib/karafka/web/tracking/consumers/sampler/metrics/os.rb +41 -37
- data/lib/karafka/web/tracking/consumers/sampler.rb +7 -7
- data/lib/karafka/web/tracking/helpers/error_info.rb +10 -10
- data/lib/karafka/web/tracking/helpers/sysconf.rb +2 -2
- data/lib/karafka/web/tracking/helpers/ttls/array.rb +1 -1
- data/lib/karafka/web/tracking/helpers/ttls/hash.rb +1 -1
- data/lib/karafka/web/tracking/helpers/ttls/stats.rb +4 -4
- data/lib/karafka/web/tracking/producers/listeners/booting.rb +1 -1
- data/lib/karafka/web/tracking/producers/listeners/errors.rb +2 -2
- data/lib/karafka/web/tracking/producers/reporter.rb +2 -2
- data/lib/karafka/web/tracking/producers/sampler.rb +1 -1
- data/lib/karafka/web/tracking/ui/errors.rb +4 -4
- data/lib/karafka/web/ui/app.rb +2 -2
- data/lib/karafka/web/ui/base.rb +30 -30
- data/lib/karafka/web/ui/controllers/base_controller.rb +24 -24
- data/lib/karafka/web/ui/controllers/cluster_controller.rb +3 -3
- data/lib/karafka/web/ui/controllers/requests/params.rb +6 -6
- data/lib/karafka/web/ui/helpers/application_helper.rb +59 -59
- data/lib/karafka/web/ui/helpers/paths_helper.rb +15 -7
- data/lib/karafka/web/ui/helpers/tailwind_helper.rb +6 -6
- data/lib/karafka/web/ui/helpers/time_helper.rb +1 -1
- data/lib/karafka/web/ui/helpers/topics_helper.rb +4 -4
- data/lib/karafka/web/ui/lib/admin.rb +2 -2
- data/lib/karafka/web/ui/lib/paginations/base.rb +7 -7
- data/lib/karafka/web/ui/lib/paginations/offset_based.rb +2 -2
- data/lib/karafka/web/ui/lib/paginations/page_based.rb +1 -1
- data/lib/karafka/web/ui/lib/paginations/paginators/arrays.rb +3 -3
- data/lib/karafka/web/ui/lib/paginations/watermark_offsets_based.rb +1 -1
- data/lib/karafka/web/ui/lib/sorter.rb +2 -2
- data/lib/karafka/web/ui/models/counters.rb +1 -1
- data/lib/karafka/web/ui/models/health.rb +1 -0
- data/lib/karafka/web/ui/models/jobs.rb +2 -2
- data/lib/karafka/web/ui/models/message.rb +9 -9
- data/lib/karafka/web/ui/models/metrics/charts/aggregated.rb +3 -3
- data/lib/karafka/web/ui/models/metrics/charts/topics.rb +3 -3
- data/lib/karafka/web/ui/models/metrics/topics.rb +8 -8
- data/lib/karafka/web/ui/models/processes.rb +3 -3
- data/lib/karafka/web/ui/models/recurring_tasks/schedule.rb +2 -2
- data/lib/karafka/web/ui/models/status/checks/base.rb +127 -0
- data/lib/karafka/web/ui/models/status/checks/commands_topic_presence.rb +52 -0
- data/lib/karafka/web/ui/models/status/checks/connection.rb +68 -0
- data/lib/karafka/web/ui/models/status/checks/consumers_reports.rb +34 -0
- data/lib/karafka/web/ui/models/status/checks/consumers_reports_schema_state.rb +32 -0
- data/lib/karafka/web/ui/models/status/checks/consumers_schemas.rb +44 -0
- data/lib/karafka/web/ui/models/status/checks/enabled.rb +39 -0
- data/lib/karafka/web/ui/models/status/checks/initial_consumers_metrics.rb +48 -0
- data/lib/karafka/web/ui/models/status/checks/initial_consumers_state.rb +48 -0
- data/lib/karafka/web/ui/models/status/checks/live_reporting.rb +31 -0
- data/lib/karafka/web/ui/models/status/checks/materializing_lag.rb +49 -0
- data/lib/karafka/web/ui/models/status/checks/partitions.rb +45 -0
- data/lib/karafka/web/ui/models/status/checks/pro_subscription.rb +29 -0
- data/lib/karafka/web/ui/models/status/checks/replication.rb +51 -0
- data/lib/karafka/web/ui/models/status/checks/routing_topics_presence.rb +53 -0
- data/lib/karafka/web/ui/models/status/checks/state_calculation.rb +39 -0
- data/lib/karafka/web/ui/models/status/checks/topics.rb +44 -0
- data/lib/karafka/web/ui/models/status/context.rb +142 -0
- data/lib/karafka/web/ui/models/status/step.rb +64 -0
- data/lib/karafka/web/ui/models/status.rb +70 -356
- data/lib/karafka/web/ui/models/topic.rb +2 -2
- data/lib/karafka/web/ui/public/javascripts/application.min.js +1 -1
- data/lib/karafka/web/ui/public/javascripts/application.min.js.br +0 -0
- data/lib/karafka/web/ui/public/javascripts/application.min.js.gz +0 -0
- data/lib/karafka/web/ui/public/javascripts/components/live_poll.js +2 -2
- data/lib/karafka/web/ui/public/stylesheets/application.min.css +4660 -2524
- data/lib/karafka/web/ui/public/stylesheets/application.min.css.br +0 -0
- data/lib/karafka/web/ui/public/stylesheets/application.min.css.gz +0 -0
- data/lib/karafka/web/ui/public/stylesheets/libs/tailwind.css +62 -3
- data/lib/karafka/web/ui/routes/assets.rb +7 -7
- data/lib/karafka/web/ui/routes/cluster.rb +4 -4
- data/lib/karafka/web/ui/routes/consumers.rb +2 -2
- data/lib/karafka/web/ui/routes/dashboard.rb +1 -1
- data/lib/karafka/web/ui/routes/errors.rb +2 -2
- data/lib/karafka/web/ui/routes/jobs.rb +4 -4
- data/lib/karafka/web/ui/routes/routing.rb +1 -1
- data/lib/karafka/web/ui/routes/status.rb +1 -1
- data/lib/karafka/web/ui/routes/support.rb +1 -1
- data/lib/karafka/web/ui/routes/ux.rb +1 -1
- data/lib/karafka/web/ui/views/cluster/_partition.erb +1 -0
- data/lib/karafka/web/ui/views/dashboard/_counters.erb +16 -16
- data/lib/karafka/web/ui/views/errors/_detail.erb +2 -3
- data/lib/karafka/web/ui/views/errors/_error.erb +1 -1
- data/lib/karafka/web/ui/views/errors/index.erb +1 -1
- data/lib/karafka/web/ui/views/errors/show.erb +1 -1
- data/lib/karafka/web/ui/views/jobs/_job.erb +1 -1
- data/lib/karafka/web/ui/views/layout.erb +1 -1
- data/lib/karafka/web/ui/views/routing/_consumer_group.erb +1 -1
- data/lib/karafka/web/ui/views/routing/_topic.erb +1 -1
- data/lib/karafka/web/ui/views/shared/_header.erb +5 -5
- data/lib/karafka/web/ui/views/shared/_navigation.erb +1 -1
- data/lib/karafka/web/ui/views/shared/alerts/_error.erb +2 -2
- data/lib/karafka/web/ui/views/shared/alerts/_info.erb +1 -1
- data/lib/karafka/web/ui/views/shared/alerts/_primary.erb +1 -1
- data/lib/karafka/web/ui/views/shared/alerts/_secondary.erb +1 -1
- data/lib/karafka/web/ui/views/shared/alerts/_success.erb +1 -1
- data/lib/karafka/web/ui/views/shared/alerts/_warning.erb +2 -2
- data/lib/karafka/web/ui/views/shared/exceptions/not_allowed.erb +3 -3
- data/lib/karafka/web/ui/views/shared/exceptions/not_found.erb +4 -4
- data/lib/karafka/web/ui/views/shared/exceptions/pro_only.erb +4 -4
- data/lib/karafka/web/ui/views/shared/exceptions/unhandled_error.erb +4 -4
- data/lib/karafka/web/ui/views/status/show.erb +15 -0
- data/lib/karafka/web/ui/views/status/warnings/_commands_topic_presence.erb +14 -0
- data/lib/karafka/web/ui/views/ux/_code.erb +0 -1
- data/lib/karafka/web/ui/views/ux/_data_table.erb +79 -0
- data/lib/karafka/web/ui/views/ux/_headers.erb +1 -1
- data/lib/karafka/web/ui/views/ux/_pagination.erb +1 -1
- data/lib/karafka/web/version.rb +1 -1
- data/lib/karafka/web.rb +17 -17
- data/package-lock.json +480 -92
- data/package.json +3 -1
- data/renovate.json +12 -11
- data/tailwind.config.js +4 -7
- metadata +72 -3
- data/lib/karafka/web/pro/ui/views/consumers/commands/_metadata.erb +0 -44
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
<%#
|
|
2
|
-
<%#
|
|
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
|
-
<%#
|
|
2
|
-
<%#
|
|
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 "
|
|
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 @
|
|
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/
|
|
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
|
-
<%#
|
|
2
|
-
<%#
|
|
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 "
|
|
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 @
|
|
24
|
+
<% if @any_process_running %>
|
|
14
25
|
<%== partial 'consumers/partitions/pauses/adjusting_warning' %>
|
|
15
|
-
<%== partial 'consumers/partitions/
|
|
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
|
-
<%#
|
|
2
|
-
<%#
|
|
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
|
-
<%#
|
|
2
|
-
<%#
|
|
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
|
-
<%#
|
|
2
|
-
<%#
|
|
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.') %>
|