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
|
@@ -0,0 +1,65 @@
|
|
|
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="flex flex-wrap justify-center gap-4 mb-6">
|
|
16
|
+
<%==
|
|
17
|
+
partial(
|
|
18
|
+
'topics/replications/metric_box',
|
|
19
|
+
locals: {
|
|
20
|
+
title: 'Replication Factor',
|
|
21
|
+
content: badge_info(@replication_factor)
|
|
22
|
+
}
|
|
23
|
+
)
|
|
24
|
+
%>
|
|
25
|
+
|
|
26
|
+
<%==
|
|
27
|
+
partial(
|
|
28
|
+
'topics/replications/metric_box',
|
|
29
|
+
locals: {
|
|
30
|
+
title: 'Min In-Sync Replicas',
|
|
31
|
+
content: badge_info(@min_isr)
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
%>
|
|
35
|
+
|
|
36
|
+
<%==
|
|
37
|
+
partial(
|
|
38
|
+
'topics/replications/metric_box',
|
|
39
|
+
locals: {
|
|
40
|
+
title: 'Fault Tolerance',
|
|
41
|
+
content: @has_zero_fault_tolerance || @has_no_redundancy ? badge_warning('0 brokers') : badge_success("#{@replication_factor - @min_isr} broker(s)")
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
%>
|
|
45
|
+
|
|
46
|
+
<%==
|
|
47
|
+
partial(
|
|
48
|
+
'topics/replications/metric_box',
|
|
49
|
+
locals: {
|
|
50
|
+
title: 'Environment',
|
|
51
|
+
content: Karafka.env.production? ? badge_error('production') : badge_info(Karafka.env.to_s)
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
%>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<% if @has_no_redundancy %>
|
|
58
|
+
<%== partial 'topics/replications/warning_no_redundancy' %>
|
|
59
|
+
<% elsif @has_zero_fault_tolerance %>
|
|
60
|
+
<%== partial 'topics/replications/warning_zero_fault_tolerance' %>
|
|
61
|
+
<% elsif @has_low_durability %>
|
|
62
|
+
<%== partial 'topics/replications/warning_low_durability' %>
|
|
63
|
+
<% else %>
|
|
64
|
+
<%== partial 'topics/replications/resilience_success' %>
|
|
65
|
+
<% end %>
|
|
@@ -0,0 +1,24 @@
|
|
|
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="mb-6">
|
|
16
|
+
<% alert_box_success('Replication Configuration is Fault Tolerant') do %>
|
|
17
|
+
<p>
|
|
18
|
+
This topic can tolerate up to <strong><%= @replication_factor - @min_isr %></strong> broker failure(s)
|
|
19
|
+
while maintaining write availability. With a replication factor of <strong><%= @replication_factor %></strong>
|
|
20
|
+
and <code>min.insync.replicas</code> set to <strong><%= @min_isr %></strong>, your data remains
|
|
21
|
+
available even during broker maintenance or unexpected outages.
|
|
22
|
+
</p>
|
|
23
|
+
<% end %>
|
|
24
|
+
</div>
|
|
@@ -0,0 +1,67 @@
|
|
|
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="mb-6">
|
|
16
|
+
<% alert_box_warning('Low Data Durability Configuration') do %>
|
|
17
|
+
<div class="space-y-4">
|
|
18
|
+
<p>
|
|
19
|
+
This topic has <code>min.insync.replicas</code> set to <strong>1</strong> with a
|
|
20
|
+
replication factor of <strong><%= @replication_factor %></strong>.
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<p>
|
|
24
|
+
<strong>Impact:</strong> When using <code>acks=all</code>, messages are acknowledged as soon as
|
|
25
|
+
the leader replica receives them, <strong>before</strong> replication to followers completes.
|
|
26
|
+
If the leader broker fails immediately after acknowledging a write, that data may be
|
|
27
|
+
<strong>permanently</strong> lost even though the producer received a success confirmation.
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
<% if Karafka.env.production? %>
|
|
31
|
+
<p>
|
|
32
|
+
This configuration <strong>does not</strong> guarantee data durability and should be
|
|
33
|
+
reviewed for production workloads where data loss is unacceptable.
|
|
34
|
+
</p>
|
|
35
|
+
<% else %>
|
|
36
|
+
<p>
|
|
37
|
+
While this configuration may be acceptable for development and testing, be aware that
|
|
38
|
+
this setup <strong>risks</strong> data loss in production. Consider using production-like
|
|
39
|
+
settings in staging environments to catch such issues before deployment.
|
|
40
|
+
</p>
|
|
41
|
+
<% end %>
|
|
42
|
+
|
|
43
|
+
<p><strong>Recommended Actions:</strong></p>
|
|
44
|
+
<ul class="list-disc ml-6">
|
|
45
|
+
<li>
|
|
46
|
+
Increase <code>min.insync.replicas</code> to at least <strong>2</strong> to ensure
|
|
47
|
+
messages are replicated to multiple brokers before acknowledgment.
|
|
48
|
+
</li>
|
|
49
|
+
<li>
|
|
50
|
+
Ensure your producers use <code>acks=all</code> to leverage the <code>min.insync.replicas</code>
|
|
51
|
+
guarantee for durable writes.
|
|
52
|
+
</li>
|
|
53
|
+
</ul>
|
|
54
|
+
|
|
55
|
+
<p class="mt-4 text-sm">
|
|
56
|
+
For more details, see the
|
|
57
|
+
<a
|
|
58
|
+
href="https://karafka.io/docs/Broker-Failures-and-Fault-Tolerance/#critical-configuration-replication-factor-and-mininsyncreplicas"
|
|
59
|
+
target="_blank"
|
|
60
|
+
class="link"
|
|
61
|
+
>
|
|
62
|
+
Broker Failures and Fault Tolerance</a>
|
|
63
|
+
documentation.
|
|
64
|
+
</p>
|
|
65
|
+
</div>
|
|
66
|
+
<% end %>
|
|
67
|
+
</div>
|
|
@@ -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
|
+
<div class="mb-6">
|
|
16
|
+
<% alert_box_warning('No Replication Redundancy') do %>
|
|
17
|
+
<div class="space-y-4">
|
|
18
|
+
<p>
|
|
19
|
+
This topic has a replication factor of <strong>1</strong>, meaning each partition exists on
|
|
20
|
+
only a single broker with <strong>no</strong> redundant copies.
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<p>
|
|
24
|
+
<strong>Impact:</strong> If the broker hosting a partition fails, that partition becomes
|
|
25
|
+
completely unavailable. Any data not yet consumed will be <strong>permanently lost</strong>
|
|
26
|
+
and producers will be unable to write to affected partitions until the broker recovers.
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
<% if Karafka.env.production? %>
|
|
30
|
+
<p>
|
|
31
|
+
This is a <strong>critical issue</strong> for production workloads where data durability
|
|
32
|
+
and availability are essential.
|
|
33
|
+
</p>
|
|
34
|
+
<% else %>
|
|
35
|
+
<p>
|
|
36
|
+
While this configuration may be acceptable for development and testing, be aware that
|
|
37
|
+
this setup <strong>can cause data loss in production</strong>. Consider using production-like
|
|
38
|
+
settings in staging environments to catch such issues before deployment.
|
|
39
|
+
</p>
|
|
40
|
+
<% end %>
|
|
41
|
+
|
|
42
|
+
<p><strong>Recommended Actions:</strong></p>
|
|
43
|
+
<ul class="list-disc ml-6">
|
|
44
|
+
<li>
|
|
45
|
+
Increase the replication factor to at least <strong>2</strong> (preferably 3) to ensure
|
|
46
|
+
partition data is replicated across multiple brokers.
|
|
47
|
+
</li>
|
|
48
|
+
<li>
|
|
49
|
+
Set <code>min.insync.replicas</code> to at least <strong>2</strong> when using
|
|
50
|
+
<code>acks=all</code> to ensure writes are durably replicated before acknowledgment.
|
|
51
|
+
</li>
|
|
52
|
+
</ul>
|
|
53
|
+
|
|
54
|
+
<p class="mt-4 text-sm">
|
|
55
|
+
For more details, see the
|
|
56
|
+
<a
|
|
57
|
+
href="https://karafka.io/docs/Broker-Failures-and-Fault-Tolerance/#critical-configuration-replication-factor-and-mininsyncreplicas"
|
|
58
|
+
target="_blank"
|
|
59
|
+
class="link"
|
|
60
|
+
>
|
|
61
|
+
Broker Failures and Fault Tolerance</a>
|
|
62
|
+
documentation.
|
|
63
|
+
</p>
|
|
64
|
+
</div>
|
|
65
|
+
<% end %>
|
|
66
|
+
</div>
|
|
@@ -0,0 +1,67 @@
|
|
|
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="mb-6">
|
|
16
|
+
<% alert_box_warning('Replication Resilience Issue Detected') do %>
|
|
17
|
+
<div class="space-y-4">
|
|
18
|
+
<p>
|
|
19
|
+
This topic has a replication factor of <strong><%= @replication_factor %></strong> and
|
|
20
|
+
<code>min.insync.replicas</code> set to <strong><%= @min_isr %></strong>.
|
|
21
|
+
When these values are equal, your Kafka setup has <strong>zero</strong> fault tolerance.
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<p>
|
|
25
|
+
<strong>Impact:</strong> Any single broker failure or maintenance operation will block
|
|
26
|
+
writes to this topic until all replicas are back in sync. This can cause producer timeouts,
|
|
27
|
+
message loss, and application failures.
|
|
28
|
+
</p>
|
|
29
|
+
|
|
30
|
+
<% if Karafka.env.production? %>
|
|
31
|
+
<p>
|
|
32
|
+
This is a <strong>critical issue</strong> that should be addressed immediately to ensure
|
|
33
|
+
high availability of your Kafka cluster.
|
|
34
|
+
</p>
|
|
35
|
+
<% else %>
|
|
36
|
+
<p>
|
|
37
|
+
While this configuration may be acceptable for development and testing, be aware that
|
|
38
|
+
<strong>this setup would cause outages in production</strong>. Consider using production-like
|
|
39
|
+
settings in staging environments to catch such issues before deployment.
|
|
40
|
+
</p>
|
|
41
|
+
<% end %>
|
|
42
|
+
|
|
43
|
+
<p><strong>Recommended Actions:</strong></p>
|
|
44
|
+
<ul class="list-disc ml-6">
|
|
45
|
+
<li>
|
|
46
|
+
<code>min.insync.replicas</code> should always be at least <strong>one</strong> less
|
|
47
|
+
than the replication factor to maintain write availability during broker failures.
|
|
48
|
+
</li>
|
|
49
|
+
<li>
|
|
50
|
+
For production workloads, consider using a replication factor of <strong>3</strong> or higher
|
|
51
|
+
with <code>min.insync.replicas</code> of <strong>2</strong>.
|
|
52
|
+
</li>
|
|
53
|
+
</ul>
|
|
54
|
+
|
|
55
|
+
<p class="mt-4 text-sm">
|
|
56
|
+
For more details, see the
|
|
57
|
+
<a
|
|
58
|
+
href="https://karafka.io/docs/Broker-Failures-and-Fault-Tolerance/#critical-configuration-replication-factor-and-mininsyncreplicas"
|
|
59
|
+
target="_blank"
|
|
60
|
+
class="link"
|
|
61
|
+
>
|
|
62
|
+
Broker Failures and Fault Tolerance</a>
|
|
63
|
+
documentation.
|
|
64
|
+
</p>
|
|
65
|
+
</div>
|
|
66
|
+
<% end %>
|
|
67
|
+
</div>
|
|
@@ -1,10 +1,23 @@
|
|
|
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 "#{@topic.topic_name} Replication" %>
|
|
5
16
|
|
|
6
17
|
<%== partial 'topics/topics/tabs' %>
|
|
7
18
|
|
|
19
|
+
<%== partial 'topics/replications/replication_info' %>
|
|
20
|
+
|
|
8
21
|
<div class="data-table-wrapper">
|
|
9
22
|
<table class="data-table">
|
|
10
23
|
<thead>
|
|
@@ -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="<%= topics_path %>">
|
|
@@ -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
|
<div class="col-span-12 flex justify-end space-x-2 mb-6">
|
|
5
16
|
<a
|
|
@@ -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_info('Topic Creation Settings') do %>
|
|
5
16
|
<p>
|
|
@@ -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
|
<div class="card bg-base-100">
|
|
5
16
|
<div class="card-body">
|
|
@@ -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
|
<div class="alert">
|
|
5
16
|
<div class="space-y-2">
|
|
@@ -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_warning('Topic Removal Warning') do %>
|
|
5
16
|
<div class="space-y-4">
|
|
@@ -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
|
<div class="card bg-base-100 mt-4">
|
|
5
16
|
<div class="card-body border-error">
|
|
@@ -7,7 +18,7 @@
|
|
|
7
18
|
<%== csrf_tag(topics_path) %>
|
|
8
19
|
|
|
9
20
|
<div class="flex items-center w-full mb-8">
|
|
10
|
-
<label class="w-1/4 text-
|
|
21
|
+
<label class="w-1/4 text-base-content/70">Topic Name:</label>
|
|
11
22
|
<div class="w-3/4">
|
|
12
23
|
<input
|
|
13
24
|
type="text"
|
|
@@ -19,15 +30,16 @@
|
|
|
19
30
|
maxlength="249"
|
|
20
31
|
value="<%= params.fetch(:topic_name, '') %>"
|
|
21
32
|
required
|
|
22
|
-
|
|
23
|
-
|
|
33
|
+
autocomplete="on"
|
|
34
|
+
>
|
|
35
|
+
<div class="text-sm text-base-content/70 mt-1">
|
|
24
36
|
Only alphanumeric characters, dots, underscores, and hyphens are allowed
|
|
25
37
|
</div>
|
|
26
38
|
</div>
|
|
27
39
|
</div>
|
|
28
40
|
|
|
29
41
|
<div class="flex items-center w-full mb-8">
|
|
30
|
-
<label class="w-1/4 text-
|
|
42
|
+
<label class="w-1/4 text-base-content/70">Number of Partitions:</label>
|
|
31
43
|
<div class="w-3/4">
|
|
32
44
|
<input
|
|
33
45
|
type="number"
|
|
@@ -38,15 +50,16 @@
|
|
|
38
50
|
placeholder="Enter number of partitions"
|
|
39
51
|
value="<%= params.fetch(:partitions_count, 5) %>"
|
|
40
52
|
required
|
|
41
|
-
|
|
42
|
-
|
|
53
|
+
autocomplete="on"
|
|
54
|
+
>
|
|
55
|
+
<div class="text-sm text-base-content/70 mt-1">
|
|
43
56
|
Minimum 1 partition, cannot be decreased after creation
|
|
44
57
|
</div>
|
|
45
58
|
</div>
|
|
46
59
|
</div>
|
|
47
60
|
|
|
48
61
|
<div class="flex items-center w-full">
|
|
49
|
-
<label class="w-1/4 text-
|
|
62
|
+
<label class="w-1/4 text-base-content/70">Replication Factor:</label>
|
|
50
63
|
<div class="w-3/4">
|
|
51
64
|
<input
|
|
52
65
|
type="number"
|
|
@@ -57,8 +70,9 @@
|
|
|
57
70
|
placeholder="Enter replication factor"
|
|
58
71
|
value="<%= params.fetch(:replication_factor, 1) %>"
|
|
59
72
|
required
|
|
60
|
-
|
|
61
|
-
|
|
73
|
+
autocomplete="on"
|
|
74
|
+
>
|
|
75
|
+
<div class="text-sm text-base-content/70 mt-1">
|
|
62
76
|
Number of replicas for each partition (minimum 1, recommended 3 for production)
|
|
63
77
|
</div>
|
|
64
78
|
</div>
|
|
@@ -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
|
<div class="tab-container-wrapper">
|
|
5
16
|
<div class="tab-container">
|
|
@@ -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
|
<div class="topic-tile">
|
|
5
16
|
<div class="topic-tile-body">
|
|
@@ -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 "Topic #{@topic.topic_name} Removal Confirmation" %>
|
|
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
|
<% view_title 'Topics' %>
|
|
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
|
<% view_title "Creating New Topic" %>
|
|
5
16
|
|
|
@@ -15,7 +15,7 @@ module Karafka
|
|
|
15
15
|
def consume
|
|
16
16
|
bootstrap!
|
|
17
17
|
|
|
18
|
-
consumers_messages = messages.select { |message| message.payload[:type] ==
|
|
18
|
+
consumers_messages = messages.select { |message| message.payload[:type] == "consumer" }
|
|
19
19
|
|
|
20
20
|
# If there is even one incompatible message, we need to stop
|
|
21
21
|
consumers_messages.each do |message|
|