karafka-web 0.10.4 → 0.11.0.beta1
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +54 -176
- data/Gemfile +4 -0
- data/Gemfile.lock +87 -43
- data/LICENSE +6 -2
- data/bin/verify_kafka_warnings +35 -0
- data/bin/verify_topics_naming +35 -0
- data/config/locales/pro_errors.yml +1 -0
- data/docker-compose.yml +1 -1
- data/gulpfile.js +0 -2
- data/karafka-web.gemspec +2 -2
- data/lib/karafka/web/config.rb +80 -9
- data/lib/karafka/web/contracts/config.rb +44 -5
- data/lib/karafka/web/errors.rb +10 -0
- data/lib/karafka/web/management/actions/create_initial_states.rb +6 -6
- data/lib/karafka/web/management/actions/create_topics.rb +30 -64
- data/lib/karafka/web/management/actions/delete_topics.rb +5 -5
- data/lib/karafka/web/management/actions/enable.rb +5 -5
- data/lib/karafka/web/pro/commanding/commands/base.rb +37 -13
- data/lib/karafka/web/pro/commanding/commands/consumers/quiet.rb +33 -0
- data/lib/karafka/web/pro/commanding/commands/consumers/stop.rb +32 -0
- data/lib/karafka/web/pro/commanding/commands/consumers/trace.rb +37 -0
- data/lib/karafka/web/pro/commanding/commands/partitions/pause.rb +30 -0
- data/lib/karafka/web/pro/commanding/commands/partitions/resume.rb +30 -0
- data/lib/karafka/web/pro/commanding/commands/partitions/seek.rb +30 -0
- data/lib/karafka/web/pro/commanding/config.rb +6 -10
- data/lib/karafka/web/pro/commanding/contracts/config.rb +2 -10
- data/lib/karafka/web/pro/commanding/dispatcher.rb +45 -24
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/base.rb +67 -0
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/pause.rb +44 -0
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/resume.rb +29 -0
- data/lib/karafka/web/pro/commanding/handlers/partitions/commands/seek.rb +86 -0
- data/lib/karafka/web/pro/commanding/handlers/partitions/executor.rb +56 -0
- data/lib/karafka/web/pro/commanding/handlers/partitions/listener.rb +55 -0
- data/lib/karafka/web/pro/commanding/handlers/partitions/tracker.rb +62 -0
- data/lib/karafka/web/pro/commanding/listener.rb +4 -12
- data/lib/karafka/web/pro/commanding/manager.rb +36 -24
- data/lib/karafka/web/pro/commanding/matcher.rb +7 -17
- data/lib/karafka/web/pro/commanding/request.rb +39 -0
- data/lib/karafka/web/pro/commanding.rb +2 -10
- data/lib/karafka/web/pro/loader.rb +13 -10
- data/lib/karafka/web/pro/ui/app.rb +31 -390
- data/lib/karafka/web/pro/ui/controllers/base_controller.rb +8 -10
- data/lib/karafka/web/pro/ui/controllers/cluster_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/consumers/base_controller.rb +21 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/commanding_controller.rb +148 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/commands_controller.rb +96 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/consumers_controller.rb +101 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/controls_controller.rb +36 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/jobs_controller.rb +57 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/partitions/base_controller.rb +86 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/partitions/offsets_controller.rb +75 -0
- data/lib/karafka/web/pro/ui/controllers/consumers/partitions/pauses_controller.rb +110 -0
- data/lib/karafka/web/pro/ui/controllers/dashboard_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/dlq_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/errors_controller.rb +3 -11
- data/lib/karafka/web/pro/ui/controllers/explorer/base_controller.rb +21 -0
- data/lib/karafka/web/pro/ui/controllers/explorer/explorer_controller.rb +215 -0
- data/lib/karafka/web/pro/ui/controllers/explorer/messages_controller.rb +145 -0
- data/lib/karafka/web/pro/ui/controllers/explorer/search_controller.rb +68 -0
- data/lib/karafka/web/pro/ui/controllers/health_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/jobs_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/recurring_tasks_controller.rb +12 -13
- data/lib/karafka/web/pro/ui/controllers/routing_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/base_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/explorer_controller.rb +8 -16
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/messages_controller.rb +9 -15
- data/lib/karafka/web/pro/ui/controllers/scheduled_messages/schedules_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/status_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/support_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/controllers/topics/base_controller.rb +21 -0
- data/lib/karafka/web/pro/ui/controllers/topics/configs_controller.rb +86 -0
- data/lib/karafka/web/pro/ui/controllers/topics/distributions_controller.rb +91 -0
- data/lib/karafka/web/pro/ui/controllers/topics/offsets_controller.rb +55 -0
- data/lib/karafka/web/pro/ui/controllers/topics/replications_controller.rb +37 -0
- data/lib/karafka/web/pro/ui/controllers/topics/topics_controller.rb +101 -0
- data/lib/karafka/web/pro/ui/controllers/ux_controller.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/branding/config.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/branding/contracts/config.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/branding.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/features.rb +53 -0
- data/lib/karafka/web/pro/ui/lib/patterns_detector.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/policies/config.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/policies/contracts/config.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/policies/messages.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/policies/requests.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/policies.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/safe_runner.rb +5 -0
- data/lib/karafka/web/pro/ui/lib/search/config.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/search/contracts/config.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/search/contracts/form.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/search/matchers/base.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/search/matchers/raw_header_includes.rb +10 -11
- data/lib/karafka/web/pro/ui/lib/search/matchers/raw_key_includes.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/search/matchers/raw_payload_includes.rb +23 -11
- data/lib/karafka/web/pro/ui/lib/search/normalizer.rb +2 -10
- data/lib/karafka/web/pro/ui/lib/search/runner.rb +3 -11
- data/lib/karafka/web/pro/ui/lib/search.rb +2 -10
- data/lib/karafka/web/pro/ui/routes/base.rb +19 -0
- data/lib/karafka/web/pro/ui/routes/cluster.rb +37 -0
- data/lib/karafka/web/pro/ui/routes/consumers.rb +145 -0
- data/lib/karafka/web/pro/ui/routes/dashboard.rb +25 -0
- data/lib/karafka/web/pro/ui/routes/dlq.rb +24 -0
- data/lib/karafka/web/pro/ui/routes/errors.rb +39 -0
- data/lib/karafka/web/pro/ui/routes/explorer.rb +118 -0
- data/lib/karafka/web/pro/ui/routes/health.rb +47 -0
- data/lib/karafka/web/pro/ui/routes/jobs.rb +33 -0
- data/lib/karafka/web/pro/ui/routes/recurring_tasks.rb +59 -0
- data/lib/karafka/web/pro/ui/routes/routing.rb +31 -0
- data/lib/karafka/web/pro/ui/routes/scheduled_messages.rb +75 -0
- data/lib/karafka/web/pro/ui/routes/status.rb +24 -0
- data/lib/karafka/web/pro/ui/routes/support.rb +24 -0
- data/lib/karafka/web/pro/ui/routes/topics.rb +90 -0
- data/lib/karafka/web/pro/ui/routes/ux.rb +24 -0
- data/lib/karafka/web/pro/ui/views/cluster/_breadcrumbs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/cluster/_broker.erb +3 -0
- data/lib/karafka/web/pro/ui/views/cluster/_config.erb +3 -0
- data/lib/karafka/web/pro/ui/views/cluster/_tabs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/cluster/index.erb +4 -1
- data/lib/karafka/web/pro/ui/views/cluster/show.erb +3 -0
- data/lib/karafka/web/pro/ui/views/{commands → consumers/commands}/_backtrace.erb +3 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/_breadcrumbs.erb +24 -0
- data/lib/karafka/web/pro/ui/views/{commands → consumers/commands}/_command.erb +22 -6
- data/lib/karafka/web/pro/ui/views/consumers/commands/_command_details.erb +4 -0
- data/lib/karafka/web/pro/ui/views/consumers/commands/_empty.erb +6 -0
- data/lib/karafka/web/pro/ui/views/{commands → consumers/commands}/_incompatible_schema.erb +3 -0
- data/lib/karafka/web/pro/ui/views/{commands → consumers/commands}/_metadata.erb +4 -1
- data/lib/karafka/web/pro/ui/views/{commands → consumers/commands}/_table.erb +5 -2
- data/lib/karafka/web/pro/ui/views/{commands → consumers/commands}/index.erb +7 -4
- data/lib/karafka/web/pro/ui/views/consumers/commands/show.erb +32 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_breadcrumbs.erb +46 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_consumer.erb +59 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_consumer_performance.erb +71 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/_tabs.erb +38 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_commands.erb +80 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_consumer_group.erb +11 -0
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → consumers/consumer}/_metrics.erb +3 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_no_subscriptions.erb +10 -0
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → consumers/consumer}/_partition.erb +16 -0
- data/lib/karafka/web/pro/ui/views/consumers/consumers/consumer/_partition_edit_options.erb +33 -0
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → consumers/consumer}/_stopped.erb +3 -0
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → consumers/consumer}/_subscription_group.erb +7 -3
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → consumers/consumer}/_tabs.erb +7 -4
- data/lib/karafka/web/pro/ui/views/consumers/consumers/details.erb +15 -0
- data/lib/karafka/web/pro/ui/views/consumers/{index.erb → consumers/index.erb} +6 -3
- data/lib/karafka/web/pro/ui/views/consumers/{performance.erb → consumers/performance.erb} +6 -3
- data/lib/karafka/web/pro/ui/views/consumers/consumers/subscriptions.erb +24 -0
- data/lib/karafka/web/pro/ui/views/consumers/controls/_breadcrumbs.erb +16 -0
- data/lib/karafka/web/pro/ui/views/consumers/controls/_controls.erb +107 -0
- data/lib/karafka/web/pro/ui/views/consumers/{controls.erb → controls/index.erb} +8 -5
- data/lib/karafka/web/pro/ui/views/consumers/jobs/_breadcrumbs.erb +36 -0
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → jobs}/_job.erb +3 -0
- data/lib/karafka/web/pro/ui/views/consumers/{consumer → jobs}/_no_jobs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/consumers/{pending_jobs.erb → jobs/pending.erb} +7 -8
- data/lib/karafka/web/pro/ui/views/consumers/{running_jobs.erb → jobs/running.erb} +7 -8
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_basics.erb +77 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_breadcrumbs.erb +58 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_form.erb +109 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_not_running_error.erb +16 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/_running_warning.erb +15 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/offsets/edit.erb +12 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_active_not_editable.erb +22 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_adjusting_warning.erb +27 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_breadcrumbs.erb +60 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_edit_form.erb +59 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_lrj_not_manageable.erb +24 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_new_form.erb +78 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/_not_running.erb +16 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/edit.erb +20 -0
- data/lib/karafka/web/pro/ui/views/consumers/partitions/pauses/new.erb +16 -0
- data/lib/karafka/web/pro/ui/views/dashboard/index.erb +4 -1
- data/lib/karafka/web/pro/ui/views/dlq/_breadcrumbs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/dlq/_no_topics.erb +3 -0
- data/lib/karafka/web/pro/ui/views/dlq/_topic.erb +4 -1
- data/lib/karafka/web/pro/ui/views/dlq/index.erb +3 -0
- data/lib/karafka/web/pro/ui/views/errors/_breadcrumbs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/errors/_error.erb +3 -0
- data/lib/karafka/web/pro/ui/views/errors/_partition_option.erb +3 -0
- data/lib/karafka/web/pro/ui/views/errors/_selector.erb +3 -0
- data/lib/karafka/web/pro/ui/views/errors/_table.erb +4 -1
- data/lib/karafka/web/pro/ui/views/errors/index.erb +6 -3
- data/lib/karafka/web/pro/ui/views/errors/partition.erb +5 -2
- data/lib/karafka/web/pro/ui/views/errors/show.erb +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/{_breadcrumbs.erb → explorer/_breadcrumbs.erb} +7 -4
- data/lib/karafka/web/pro/ui/views/explorer/{_failed_deserialization.erb → explorer/_failed_deserialization.erb} +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/{_filtered.erb → explorer/_filtered.erb} +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/{_message.erb → explorer/_message.erb} +4 -1
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_no_topics.erb +4 -0
- data/lib/karafka/web/pro/ui/views/explorer/{_partition_option.erb → explorer/_partition_option.erb} +4 -1
- data/lib/karafka/web/pro/ui/views/explorer/{_selector.erb → explorer/_selector.erb} +4 -1
- data/lib/karafka/web/pro/ui/views/explorer/explorer/_topic.erb +13 -0
- data/lib/karafka/web/pro/ui/views/explorer/explorer/index.erb +17 -0
- data/lib/karafka/web/pro/ui/views/explorer/{message → explorer/message}/_metadata.erb +10 -7
- data/lib/karafka/web/pro/ui/views/explorer/{message → explorer/message}/_payload.erb +6 -3
- data/lib/karafka/web/pro/ui/views/explorer/{message → explorer/message}/_resources_utilization.erb +7 -4
- data/lib/karafka/web/pro/ui/views/explorer/{message → explorer/message}/_too_big_to_be_displayed.erb +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/{messages → explorer/messages}/_detail.erb +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/explorer/messages/_headers.erb +51 -0
- data/lib/karafka/web/pro/ui/views/explorer/{messages → explorer/messages}/_key.erb +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_cleaned.erb +6 -0
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_empty.erb +6 -0
- data/lib/karafka/web/pro/ui/views/explorer/{partition → explorer/partition}/_messages.erb +4 -1
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_time_selector.erb +16 -0
- data/lib/karafka/web/pro/ui/views/explorer/explorer/partition/_timestamp_selector.erb +33 -0
- data/lib/karafka/web/pro/ui/views/explorer/{partition.erb → explorer/partition.erb} +24 -17
- data/lib/karafka/web/pro/ui/views/explorer/{show.erb → explorer/show.erb} +17 -19
- data/lib/karafka/web/pro/ui/views/explorer/{topic → explorer/topic}/_actions.erb +5 -2
- data/lib/karafka/web/pro/ui/views/explorer/explorer/topic/_empty.erb +6 -0
- data/lib/karafka/web/pro/ui/views/explorer/{topic → explorer/topic}/_limited.erb +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/{topic.erb → explorer/topic.erb} +7 -4
- data/lib/karafka/web/pro/ui/views/explorer/messages/_breadcrumbs.erb +32 -0
- data/lib/karafka/web/pro/ui/views/explorer/messages/forward.erb +143 -0
- data/lib/karafka/web/pro/ui/views/explorer/search/_breadcrumbs.erb +4 -0
- data/lib/karafka/web/pro/ui/views/explorer/search/_fix_errors.erb +6 -0
- data/lib/karafka/web/pro/ui/views/{search → explorer/search}/_metadata.erb +3 -0
- data/lib/karafka/web/pro/ui/views/explorer/search/_no_results.erb +6 -0
- data/lib/karafka/web/pro/ui/views/{search → explorer/search}/_no_search_criteria.erb +3 -0
- data/lib/karafka/web/pro/ui/views/{search → explorer/search}/_search_criteria.erb +3 -0
- data/lib/karafka/web/pro/ui/views/{search → explorer/search}/_search_modal.erb +5 -2
- data/lib/karafka/web/pro/ui/views/explorer/search/_timeout.erb +6 -0
- data/lib/karafka/web/pro/ui/views/explorer/search/index.erb +32 -0
- data/lib/karafka/web/pro/ui/views/health/_breadcrumbs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/_no_data.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/_partition.erb +16 -1
- data/lib/karafka/web/pro/ui/views/health/_partition_lags.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/_partition_offset.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/_partition_times.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/_table_metadata.erb +4 -1
- data/lib/karafka/web/pro/ui/views/health/_tabs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/changes.erb +4 -1
- data/lib/karafka/web/pro/ui/views/health/cluster_lags.erb +3 -0
- data/lib/karafka/web/pro/ui/views/health/lags.erb +5 -2
- data/lib/karafka/web/pro/ui/views/health/offsets.erb +4 -1
- data/lib/karafka/web/pro/ui/views/health/overview.erb +8 -3
- data/lib/karafka/web/pro/ui/views/jobs/_job.erb +50 -38
- data/lib/karafka/web/pro/ui/views/jobs/_no_jobs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/jobs/pending.erb +4 -1
- data/lib/karafka/web/pro/ui/views/jobs/running.erb +4 -1
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_actions.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_batch_actions.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_breadcrumbs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_log.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_not_active.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_tabs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/_task.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/logs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/recurring_tasks/schedule.erb +3 -0
- data/lib/karafka/web/pro/ui/views/routing/_consumer_group.erb +3 -0
- data/lib/karafka/web/pro/ui/views/routing/_detail.erb +3 -0
- data/lib/karafka/web/pro/ui/views/routing/_topic.erb +3 -0
- data/lib/karafka/web/pro/ui/views/routing/index.erb +3 -0
- data/lib/karafka/web/pro/ui/views/routing/show.erb +3 -0
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_breadcrumbs.erb +6 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_key.erb +3 -0
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_message.erb +4 -1
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/_messages.erb +3 -0
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/partition.erb +23 -16
- data/lib/karafka/web/pro/ui/views/scheduled_messages/explorer/topic.erb +6 -3
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/_breadcrumbs.erb +3 -0
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/_no_groups.erb +3 -0
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/index.erb +4 -1
- data/lib/karafka/web/pro/ui/views/scheduled_messages/schedules/show.erb +3 -0
- data/lib/karafka/web/pro/ui/views/shared/_navigation.erb +25 -17
- data/lib/karafka/web/pro/ui/views/shared/_rdkafka_form_error_alert_box.erb +16 -0
- data/lib/karafka/web/pro/ui/views/shared/branding/_label.erb +3 -0
- data/lib/karafka/web/pro/ui/views/shared/branding/_notice.erb +3 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/_breadcrumbs.erb +34 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/_config.erb +26 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/_delete_button.erb +13 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/_edit_form.erb +50 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/_edit_plan.erb +16 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/_edit_warning.erb +12 -0
- data/lib/karafka/web/pro/ui/views/topics/configs/edit.erb +16 -0
- data/lib/karafka/web/pro/ui/views/topics/{config.erb → configs/index.erb} +9 -3
- data/lib/karafka/web/pro/ui/views/topics/distributions/_add_partitions_button.erb +13 -0
- data/lib/karafka/web/pro/ui/views/topics/{distribution → distributions}/_badges.erb +3 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/_breadcrumbs.erb +28 -0
- data/lib/karafka/web/pro/ui/views/topics/{distribution → distributions}/_chart.erb +3 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_form.erb +47 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_hints.erb +15 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/_edit_warnings.erb +14 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/_empty_partitions.erb +4 -0
- data/lib/karafka/web/pro/ui/views/topics/{distribution → distributions}/_limited.erb +3 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/_partition.erb +13 -0
- data/lib/karafka/web/pro/ui/views/topics/distributions/edit.erb +16 -0
- data/lib/karafka/web/pro/ui/views/topics/{distribution.erb → distributions/show.erb} +11 -7
- data/lib/karafka/web/pro/ui/views/topics/offsets/_breadcrumbs.erb +20 -0
- data/lib/karafka/web/pro/ui/views/topics/offsets/_partition.erb +13 -0
- data/lib/karafka/web/pro/ui/views/topics/{offsets.erb → offsets/show.erb} +6 -3
- data/lib/karafka/web/pro/ui/views/topics/replications/_breadcrumbs.erb +20 -0
- data/lib/karafka/web/pro/ui/views/topics/{_partition.erb → replications/_partition.erb} +4 -1
- data/lib/karafka/web/pro/ui/views/topics/{replication.erb → replications/show.erb} +6 -3
- data/lib/karafka/web/pro/ui/views/topics/topics/_breadcrumbs.erb +32 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/_create_button.erb +13 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/_create_hints.erb +15 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/_delete_form.erb +36 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/_delete_hints.erb +15 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/_delete_warning.erb +13 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/_new_form.erb +80 -0
- data/lib/karafka/web/pro/ui/views/topics/{_tabs.erb → topics/_tabs.erb} +7 -4
- data/lib/karafka/web/pro/ui/views/topics/topics/_topic.erb +12 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/edit.erb +10 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/index.erb +19 -0
- data/lib/karafka/web/pro/ui/views/topics/topics/new.erb +12 -0
- data/lib/karafka/web/processing/consumers/metrics.rb +1 -1
- data/lib/karafka/web/processing/consumers/state.rb +1 -1
- data/lib/karafka/web/processing/publisher.rb +4 -4
- data/lib/karafka/web/tracking/consumers/contracts/partition.rb +1 -0
- data/lib/karafka/web/tracking/consumers/listeners/pausing.rb +2 -2
- data/lib/karafka/web/tracking/consumers/listeners/transactions.rb +44 -0
- data/lib/karafka/web/tracking/consumers/reporter.rb +2 -2
- data/lib/karafka/web/tracking/consumers/sampler.rb +81 -14
- data/lib/karafka/web/tracking/helpers/sysconf.rb +33 -0
- data/lib/karafka/web/tracking/producers/reporter.rb +1 -1
- data/lib/karafka/web/ui/app.rb +19 -112
- data/lib/karafka/web/ui/base.rb +63 -4
- data/lib/karafka/web/ui/controllers/base_controller.rb +43 -1
- data/lib/karafka/web/ui/controllers/cluster_controller.rb +5 -2
- data/lib/karafka/web/ui/controllers/errors_controller.rb +1 -1
- data/lib/karafka/web/ui/controllers/requests/execution_wrapper.rb +52 -0
- data/lib/karafka/web/ui/controllers/requests/hookable.rb +99 -0
- data/lib/karafka/web/ui/controllers/requests/params.rb +39 -1
- data/lib/karafka/web/ui/controllers/responses/redirect.rb +0 -5
- data/lib/karafka/web/ui/controllers/status_controller.rb +3 -0
- data/lib/karafka/web/ui/helpers/application_helper.rb +10 -1
- data/lib/karafka/web/ui/helpers/paths_helper.rb +54 -10
- data/lib/karafka/web/ui/lib/admin.rb +1 -1
- data/lib/karafka/web/ui/lib/cache.rb +135 -0
- data/lib/karafka/web/ui/models/broker.rb +1 -2
- data/lib/karafka/web/ui/models/cluster_info.rb +15 -21
- data/lib/karafka/web/ui/models/consumers_metrics.rb +1 -1
- data/lib/karafka/web/ui/models/consumers_state.rb +1 -1
- data/lib/karafka/web/ui/models/counters.rb +1 -1
- data/lib/karafka/web/ui/models/health.rb +9 -7
- data/lib/karafka/web/ui/models/process.rb +14 -0
- data/lib/karafka/web/ui/models/processes.rb +2 -2
- data/lib/karafka/web/ui/models/recurring_tasks/schedule.rb +1 -1
- data/lib/karafka/web/ui/models/status.rb +27 -8
- data/lib/karafka/web/ui/models/topic.rb +1 -2
- data/lib/karafka/web/ui/public/javascripts/application.js +8 -98
- data/lib/karafka/web/ui/public/javascripts/application.min.js +12 -4
- 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/action_confirmation_manager.js +30 -0
- data/lib/karafka/web/ui/public/javascripts/components/alerts.js +39 -0
- data/lib/karafka/web/ui/public/javascripts/components/button_lock_manager.js +50 -0
- data/lib/karafka/web/ui/public/javascripts/components/live_poll.js +71 -19
- data/lib/karafka/web/ui/public/javascripts/components/message_republish_manager.js +50 -0
- data/lib/karafka/web/ui/public/javascripts/components/page_title_tracker.js +21 -0
- data/lib/karafka/web/ui/public/javascripts/components/partition_redirect_manager.js +21 -0
- data/lib/karafka/web/ui/public/javascripts/components/time_ago_manager.js +25 -0
- data/lib/karafka/web/ui/public/javascripts/components/timestamp_selector.js +30 -0
- data/lib/karafka/web/ui/public/javascripts/libs/datepicker.js +2 -2
- data/lib/karafka/web/ui/public/stylesheets/application.css +30 -0
- data/lib/karafka/web/ui/public/stylesheets/application.min.css +5122 -13
- 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/highlight_dark.min.css.gz +0 -0
- data/lib/karafka/web/ui/public/stylesheets/libs/highlight_light.min.css.gz +0 -0
- data/lib/karafka/web/ui/public/stylesheets/libs/tailwind.css +512 -213
- data/lib/karafka/web/ui/routes/assets.rb +53 -0
- data/lib/karafka/web/ui/routes/base.rb +36 -0
- data/lib/karafka/web/ui/routes/cluster.rb +28 -0
- data/lib/karafka/web/ui/routes/consumers.rb +35 -0
- data/lib/karafka/web/ui/routes/dashboard.rb +20 -0
- data/lib/karafka/web/ui/routes/errors.rb +26 -0
- data/lib/karafka/web/ui/routes/jobs.rb +28 -0
- data/lib/karafka/web/ui/routes/pro_only.rb +27 -0
- data/lib/karafka/web/ui/routes/routing.rb +26 -0
- data/lib/karafka/web/ui/routes/status.rb +19 -0
- data/lib/karafka/web/ui/routes/support.rb +19 -0
- data/lib/karafka/web/ui/routes/ux.rb +19 -0
- data/lib/karafka/web/ui/views/cluster/_partition.erb +2 -2
- data/lib/karafka/web/ui/views/cluster/brokers.erb +1 -1
- data/lib/karafka/web/ui/views/consumers/_breadcrumbs.erb +7 -1
- data/lib/karafka/web/ui/views/consumers/_consumer.erb +39 -30
- data/lib/karafka/web/ui/views/consumers/_incompatible.erb +13 -0
- data/lib/karafka/web/ui/views/consumers/_no_consumers.erb +2 -2
- data/lib/karafka/web/ui/views/consumers/_tabs.erb +4 -4
- data/lib/karafka/web/ui/views/consumers/index.erb +1 -1
- data/lib/karafka/web/ui/views/dashboard/_feature_pro.erb +1 -1
- data/lib/karafka/web/ui/views/dashboard/_not_enough_data.erb +2 -2
- data/lib/karafka/web/ui/views/dashboard/_ranges_selector.erb +1 -1
- data/lib/karafka/web/ui/views/dashboard/index.erb +6 -49
- data/lib/karafka/web/ui/views/errors/_detail.erb +3 -3
- data/lib/karafka/web/ui/views/errors/index.erb +1 -1
- data/lib/karafka/web/ui/views/jobs/_job.erb +38 -29
- data/lib/karafka/web/ui/views/jobs/pending.erb +1 -1
- data/lib/karafka/web/ui/views/jobs/running.erb +1 -1
- data/lib/karafka/web/ui/views/layout.erb +7 -5
- data/lib/karafka/web/ui/views/shared/_become_pro.erb +1 -1
- data/lib/karafka/web/ui/views/shared/_brand.erb +1 -1
- data/lib/karafka/web/ui/views/shared/_breadcrumbs.erb +1 -1
- data/lib/karafka/web/ui/views/shared/_content.erb +1 -1
- data/lib/karafka/web/ui/views/shared/_controls.erb +10 -3
- data/lib/karafka/web/ui/views/shared/_custom_nav.erb +9 -0
- data/lib/karafka/web/ui/views/shared/_flashes.erb +3 -5
- data/lib/karafka/web/ui/views/shared/_header.erb +25 -2
- data/lib/karafka/web/ui/views/shared/_navigation.erb +17 -15
- data/lib/karafka/web/ui/views/shared/alerts/_error.erb +8 -0
- data/lib/karafka/web/ui/views/shared/alerts/_info.erb +8 -0
- data/lib/karafka/web/ui/views/shared/alerts/_primary.erb +8 -0
- data/lib/karafka/web/ui/views/shared/alerts/_secondary.erb +8 -0
- data/lib/karafka/web/ui/views/shared/alerts/_success.erb +8 -0
- data/lib/karafka/web/ui/views/shared/alerts/_warning.erb +8 -0
- data/lib/karafka/web/ui/views/shared/exceptions/incompatible_schema.erb +34 -0
- data/lib/karafka/web/ui/views/shared/exceptions/not_allowed.erb +4 -0
- data/lib/karafka/web/ui/views/shared/exceptions/not_found.erb +5 -1
- data/lib/karafka/web/ui/views/shared/exceptions/pro_only.erb +4 -0
- data/lib/karafka/web/ui/views/shared/icons/_arrow_left.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_arrow_up_tray.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_clock.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_pencil.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_pencil_square.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_play_pause.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_plus.erb +3 -0
- data/lib/karafka/web/ui/views/shared/icons/_trash.erb +3 -0
- data/lib/karafka/web/ui/views/status/failures/_live_reporting.erb +1 -1
- data/lib/karafka/web/ui/views/status/failures/_partitions.erb +3 -3
- data/lib/karafka/web/ui/views/status/failures/_state_calculation.erb +2 -2
- data/lib/karafka/web/ui/views/status/info/_components.erb +6 -6
- data/lib/karafka/web/ui/views/status/show.erb +15 -0
- data/lib/karafka/web/ui/views/status/warnings/_consumers_schemas.erb +31 -0
- data/lib/karafka/web/ui/views/ux/_icons.erb +1 -1
- data/lib/karafka/web/ui/views/ux/_status_rows.erb +6 -0
- data/lib/karafka/web/version.rb +1 -1
- data/lib/karafka/web.rb +3 -0
- data/package-lock.json +776 -1208
- data/package.json +3 -4
- data/postcss.config.js +1 -2
- data/renovate.json +13 -1
- data/tailwind.config.js +0 -4
- data.tar.gz.sig +0 -0
- metadata +232 -108
- metadata.gz.sig +0 -0
- data/lib/karafka/web/pro/commanding/commands/quiet.rb +0 -34
- data/lib/karafka/web/pro/commanding/commands/stop.rb +0 -34
- data/lib/karafka/web/pro/commanding/commands/trace.rb +0 -41
- data/lib/karafka/web/pro/ui/controllers/commanding_controller.rb +0 -118
- data/lib/karafka/web/pro/ui/controllers/commands_controller.rb +0 -96
- data/lib/karafka/web/pro/ui/controllers/consumers_controller.rb +0 -138
- data/lib/karafka/web/pro/ui/controllers/explorer_controller.rb +0 -220
- data/lib/karafka/web/pro/ui/controllers/messages_controller.rb +0 -107
- data/lib/karafka/web/pro/ui/controllers/search_controller.rb +0 -73
- data/lib/karafka/web/pro/ui/controllers/topics_controller.rb +0 -130
- data/lib/karafka/web/pro/ui/views/commands/_breadcrumbs.erb +0 -21
- data/lib/karafka/web/pro/ui/views/commands/_command_details.erb +0 -1
- data/lib/karafka/web/pro/ui/views/commands/_empty.erb +0 -3
- data/lib/karafka/web/pro/ui/views/commands/show.erb +0 -33
- data/lib/karafka/web/pro/ui/views/consumers/_breadcrumbs.erb +0 -55
- data/lib/karafka/web/pro/ui/views/consumers/_consumer.erb +0 -47
- data/lib/karafka/web/pro/ui/views/consumers/_consumer_controls.erb +0 -95
- data/lib/karafka/web/pro/ui/views/consumers/_consumer_performance.erb +0 -59
- data/lib/karafka/web/pro/ui/views/consumers/_tabs.erb +0 -33
- data/lib/karafka/web/pro/ui/views/consumers/consumer/_commands.erb +0 -72
- data/lib/karafka/web/pro/ui/views/consumers/consumer/_consumer_group.erb +0 -8
- data/lib/karafka/web/pro/ui/views/consumers/consumer/_no_subscriptions.erb +0 -7
- data/lib/karafka/web/pro/ui/views/consumers/details.erb +0 -13
- data/lib/karafka/web/pro/ui/views/consumers/subscriptions.erb +0 -25
- data/lib/karafka/web/pro/ui/views/explorer/_no_topics.erb +0 -1
- data/lib/karafka/web/pro/ui/views/explorer/_topic.erb +0 -10
- data/lib/karafka/web/pro/ui/views/explorer/index.erb +0 -14
- data/lib/karafka/web/pro/ui/views/explorer/messages/_headers.erb +0 -33
- data/lib/karafka/web/pro/ui/views/explorer/partition/_cleaned.erb +0 -3
- data/lib/karafka/web/pro/ui/views/explorer/partition/_empty.erb +0 -3
- data/lib/karafka/web/pro/ui/views/explorer/topic/_empty.erb +0 -3
- data/lib/karafka/web/pro/ui/views/search/_breadcrumbs.erb +0 -1
- data/lib/karafka/web/pro/ui/views/search/_fix_errors.erb +0 -3
- data/lib/karafka/web/pro/ui/views/search/_no_results.erb +0 -3
- data/lib/karafka/web/pro/ui/views/search/_timeout.erb +0 -3
- data/lib/karafka/web/pro/ui/views/search/index.erb +0 -29
- data/lib/karafka/web/pro/ui/views/topics/_breadcrumbs.erb +0 -45
- data/lib/karafka/web/pro/ui/views/topics/_partition_offsets.erb +0 -10
- data/lib/karafka/web/pro/ui/views/topics/_topic.erb +0 -9
- data/lib/karafka/web/pro/ui/views/topics/distribution/_empty_partitions.erb +0 -1
- data/lib/karafka/web/pro/ui/views/topics/distribution/_partition.erb +0 -10
- data/lib/karafka/web/pro/ui/views/topics/index.erb +0 -14
- data/lib/karafka/web/ui/lib/ttl_cache.rb +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70c1492ea1073bf499055b4a6db1090e8fede2fd6a89d0fca7c5085669170863
|
4
|
+
data.tar.gz: 52cffaec446f588e4c3508e9b4085f7e911b68961cd2430406bd7c5b49a99f74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a766d94df43a6f8bf61c2331d48ef21bd1e26860123268441838ce75cc298d0f957d459ff2d6c180acca01b90bb3bf6199554b5abbb74d6255f2d57aac95948
|
7
|
+
data.tar.gz: 0b8fbeef52a71372088d8d2d24420e5336028ab9a443c5b537ebb55d1faf61a2cb4f69f855c91421175c277a0a2e5192aac39586673493a3a14eabf15cc6fa5d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,59 @@
|
|
1
1
|
# Karafka Web Changelog
|
2
2
|
|
3
|
+
## 0.11.0 (Unreleased)
|
4
|
+
- **[Feature]** Provide ability to pause/resume partitions on running consumers via the UI (Pro).
|
5
|
+
- **[Feature]** Provide ability to edit offsets of running consumers (Pro).
|
6
|
+
- **[Feature]** Support consumers that have mismatching schema.
|
7
|
+
- **[Feature]** Provide ability to navigate to a timestamp in the Explorer (Pro).
|
8
|
+
- **[Feature]** Provide ability to create and delete topics from the Web UI (Pro).
|
9
|
+
- **[Feature]** Provide ability to manage topics configuration from the Web UI (Pro).
|
10
|
+
- **[Feature]** Provide ability to manage topics partitioning from the Web UI (Pro).
|
11
|
+
- **[Feature]** Provide ability to inject custom CSS and JS to adjust the Web UI.
|
12
|
+
- [Enhancement] Support KIP-82 (header values of arrays).
|
13
|
+
- [Enhancement] Include crawl-based link validator to the CI to ensure no dead links are generated.
|
14
|
+
- [Enhancement] Allow for custom links in the navigation (Pro).
|
15
|
+
- [Enhancement] Optimize topic specific lookups (Pro).
|
16
|
+
- [Enhancement] Replace simple in-process metadata cache with user tracking version for multi-process deployments improvements.
|
17
|
+
- [Enhancement] Move web ui topics configuration into config.
|
18
|
+
- [Enhancement] Upgrade DaisyUI to 5.0 and Tailwind to 4.0.
|
19
|
+
- [Enhancement] Make consumer sampler/stats gathering compatible across debian/alpine/wolfi OSes (chen-anders)
|
20
|
+
- [Enhancement] Promote consumers lags statistics chart to OSS.
|
21
|
+
- [Enhancement] Promote consumers RSS statistics chart to OSS.
|
22
|
+
- [Enhancement] Remove state cache usage that complicated ability to manage topics.
|
23
|
+
- [Enhancement] Improve flash messages.
|
24
|
+
- [Enhancement] Improve handling of post-submit redirects.
|
25
|
+
- [Enhancement] Provide better support for fully transactional consumers.
|
26
|
+
- [Enhancement] Error out when `#setup` is called after `#enable!`.
|
27
|
+
- [Enhancement] Use more performant Kafka API calls to describe topics.
|
28
|
+
- [Enhancement] Inject `.action-NAME` and `.controller-NAME` body classes for usage with custom CSS and JS.
|
29
|
+
- [Enhancement] Improve error handling in the commanding iterator listener (Pro).
|
30
|
+
- [Change] Do not fully hide config-disabled features but make them disabled.
|
31
|
+
- [Change] Remove per-consumer process duplicated details from Subscriptions and Jobs tabs.
|
32
|
+
- [Refactor] Make sure all temporary topics have a `it-` prefix in their name.
|
33
|
+
- [Refactor] Introduce a `bin/verify_topics_naming` script to ensure proper test topics naming convention.
|
34
|
+
- [Fix] Closest time based lookup redirect fails.
|
35
|
+
- [Fix] Fi incorrect error type in commanding listener from `web.controlling.controller.error` to `web.commanding.listener.error` (Pro).
|
36
|
+
- [Fix] Topic named messages collides with the explorer routes.
|
37
|
+
- [Fix] Fix a case where live poll button enabling would not immediately start refreshes.
|
38
|
+
- [Fix] Fix negative message deserialization allocation stats.
|
39
|
+
- [Fix] Fix incorrect background color in some of the alert notices.
|
40
|
+
- [Fix] Support dark mode in error pages.
|
41
|
+
- [Fix] Fix incorrect names in some of the tables headers.
|
42
|
+
- [Fix] Normalize position of commanding buttons in regards to other UI elements.
|
43
|
+
- [Fix] Fix incorrect indentation of some of the info messages.
|
44
|
+
- [Fix] Fix tables headers inconsistent alignments.
|
45
|
+
- [Fix] Fix incorrect warning box header color in the dark mode.
|
46
|
+
- [Fix] Fix missing breadcrumbs on the consumers overview page.
|
47
|
+
- [Fix] Fix a case where disabled buttons would be enabled back too early.
|
48
|
+
- [Fix] The recent page breadcrumbs and offset id are not refreshed on change.
|
49
|
+
- [Fix] Direct URL access with too big partition causes librdkafka crash.
|
50
|
+
- [Fix] Fix incorrect breadcrumbs for pending consumer jobs.
|
51
|
+
- [Fix] Allow for using default search matchers in Karafka Web UI topics including Errors.
|
52
|
+
- [Fix] Ensure that when flashes or alerts are visible, pages are not auto-refreshed (would cause them to dissapear).
|
53
|
+
- [Fix] Time selector in the explorer does not disappear after clicking out.
|
54
|
+
- [Maintenance] Require `karafka-core` `>= 2.4.8` and `karafka` `>= 2.4.16`.
|
55
|
+
- [Maintenance] Update `AirDatepicker` to `3.6.0`.
|
56
|
+
|
3
57
|
## 0.10.4 (2024-11-26)
|
4
58
|
- **[Breaking]** Drop Ruby `3.0` support according to the EOL schedule.
|
5
59
|
- [Enhancement] Extract producers tracking `sync_threshold` into an internal config.
|
@@ -88,39 +142,6 @@
|
|
88
142
|
- [Fix] License identifier `LGPL-3.0` is deprecated for SPDX (#2177).
|
89
143
|
- [Fix] Do not include prettifying the payload for visibility in the resource computation cost.
|
90
144
|
|
91
|
-
### Upgrade Notes
|
92
|
-
|
93
|
-
This is a **major** release that brings many things to the table.
|
94
|
-
|
95
|
-
This version of the Karafka Web UI requires Karafka `>= 2.4.7`. You can either upgrade both or upgrade Karafka first and then the Web UI. Karafka `2.4.7` is also compatible with Web UI `0.9.1`; thus, you can upgrade one at a time.
|
96
|
-
|
97
|
-
#### Configuration
|
98
|
-
|
99
|
-
Visibility Filters have been reorganized into messages policies.
|
100
|
-
|
101
|
-
Please read the [Policies API](https://karafka.io/docs/Pro-Web-UI-Policies/) documentation and convert your visibility filters to policies.
|
102
|
-
|
103
|
-
Your existing message-related visibility filter policies should now be assigned to a new configuration:
|
104
|
-
|
105
|
-
```ruby
|
106
|
-
Karafka::Web.setup do |config|
|
107
|
-
config.ui.policies.messages = MyCustomRequestsPolicy.new
|
108
|
-
end
|
109
|
-
```
|
110
|
-
|
111
|
-
#### Deployment
|
112
|
-
|
113
|
-
Because of the reporting schema update, it is recommended to:
|
114
|
-
|
115
|
-
0. Make sure you have upgraded to `0.9.1` before and that it was fully deployed.
|
116
|
-
1. Test the upgrade on a staging or dev environment.
|
117
|
-
3. The Web UI interface may throw 500 errors during the upgrade because of schema incompatibility (until Puma is deployed and all consumers redeployed). This will have no long-term effects and can be ignored.
|
118
|
-
4. `Karafka::Web::Errors::Processing::IncompatibleSchemaError` **is expected**. It is part of the Karafka Web UI zero-downtime deployment strategy. This error allows the Web UI materialization consumer to back off and wait for it to be replaced with a new one.
|
119
|
-
5. Perform a rolling deployment (or a regular one) and replace all consumer processes.
|
120
|
-
6. Update the Web UI Puma.
|
121
|
-
7. **No** CLI command execution is required.
|
122
|
-
8. Enjoy.
|
123
|
-
|
124
145
|
## 0.9.1 (2024-05-03)
|
125
146
|
- [Fix] OSS `lag_stored` for not-subscribed consumers causes Web UI to crash.
|
126
147
|
|
@@ -158,12 +179,6 @@ Because of the reporting schema update, it is recommended to:
|
|
158
179
|
- [Fix] Fix dangling `console.log`.
|
159
180
|
- [Fix] Fix a case where consumer assignments would not be truncated on the consumers view.
|
160
181
|
|
161
|
-
### Upgrade Notes
|
162
|
-
|
163
|
-
This is a **major** release that brings many things to the table.
|
164
|
-
|
165
|
-
This version of the Karafka Web UI should be upgraded together with Karafka. All upgrade documentation for Karafka and Web UI `0.9` can be found [here](https://karafka.io/docs/Upgrades-2.4/).
|
166
|
-
|
167
182
|
## 0.8.2 (2024-02-16)
|
168
183
|
- [Enhancement] Defer scheduler background thread creation until needed allowing for forks.
|
169
184
|
- [Enhancement] Tag forks with fork indication + ppid reference when operating in swarm.
|
@@ -212,28 +227,6 @@ This version of the Karafka Web UI should be upgraded together with Karafka. All
|
|
212
227
|
- [Change] Rename "Active subscriptions" to "Subscriptions" as process subscriptions are always active.
|
213
228
|
- [Maintenance] Introduce granular subscription group contracts.
|
214
229
|
|
215
|
-
### Upgrade Notes
|
216
|
-
|
217
|
-
This is a **major** release that brings many things to the table.
|
218
|
-
|
219
|
-
#### Configuration
|
220
|
-
|
221
|
-
**No** configuration changes are needed.
|
222
|
-
|
223
|
-
#### Deployment
|
224
|
-
|
225
|
-
Because of the reporting schema update, it is recommended to:
|
226
|
-
|
227
|
-
0. Make sure you have upgraded to `0.7.10` before and that it was fully deployed.
|
228
|
-
1. Test the upgrade on a staging or dev environment.
|
229
|
-
2. Starting from `0.7.0` Karafka Web UI supports rolling deploys, so there is no need to "stop the world".
|
230
|
-
3. The Web UI interface may throw 500 errors during the upgrade because of schema incompatibility (until Puma is deployed). This will have no long-term effects and can be ignored.
|
231
|
-
4. `Karafka::Web::Errors::Processing::IncompatibleSchemaError` **is expected**. It is part of the Karafka Web UI zero-downtime deployment strategy. This error allows the Web UI materialization consumer to back off and wait for it to be replaced with a new one.
|
232
|
-
5. Perform a rolling deployment (or a regular one) and replace all consumer processes.
|
233
|
-
6. Update the Web UI Puma.
|
234
|
-
7. **No** CLI command execution is required. Starting from this release (`0.8.0`), the Karafka Web UI contains an automatic schema migrator that allows it to automatically adjust internal topic data formats.
|
235
|
-
8. Enjoy.
|
236
|
-
|
237
230
|
## 0.7.10 (2023-10-31)
|
238
231
|
- [Fix] Max LSO chart does not work as expected (#201)
|
239
232
|
|
@@ -265,14 +258,6 @@ Because of the reporting schema update, it is recommended to:
|
|
265
258
|
- [Maintenance] Include license and copyrights notice for `timeago.js` that was missing in the JS min file.
|
266
259
|
- [Refactor] Rename `ui.show_internal_topics` to `ui.visibility.internal_topics_display`
|
267
260
|
|
268
|
-
### Upgrade Notes
|
269
|
-
|
270
|
-
**NO** rolling upgrade needed. Just configuration update.
|
271
|
-
|
272
|
-
1. If you are using `ui.visibility_filter` this option is now `ui.visibility.filter` (yes, only `.` difference).
|
273
|
-
2. If you are using a custom visibility filter, it requires now two extra methods: `#download?` and `#export?`. The default visibility filter allows both actions unless message is encrypted.
|
274
|
-
3. `ui.show_internal_topics` config option has been moved and renamed to `ui.visibility.internal_topics`.
|
275
|
-
|
276
261
|
## 0.7.4 (2023-09-19)
|
277
262
|
- [Improvement] Skip aggregations on older schemas during upgrades. This only skips process-reports (that are going to be rolled) on the 5s window in case of an upgrade that should not be a rolling one anyhow. This simplifies the operations and minimizes the risk on breaking upgrades.
|
278
263
|
- [Fix] Fix not working `ps` for macOS.
|
@@ -367,48 +352,6 @@ Because of the reporting schema update, it is recommended to:
|
|
367
352
|
- [Refactor] Use Roda `custom_block_results` plugin for controllers results handling.
|
368
353
|
- [Maintenance] Require `karafka` `2.2.0` due to fixes in the Iterator API and routing API extensions.
|
369
354
|
|
370
|
-
### Upgrade Notes
|
371
|
-
|
372
|
-
This is a **major** release that brings many things to the table.
|
373
|
-
|
374
|
-
#### Configuration
|
375
|
-
|
376
|
-
Karafka Web UI now relies on Roda session management. Please configure the `ui.sessions.secret` key with a secret value string of at least 64 characters:
|
377
|
-
|
378
|
-
```ruby
|
379
|
-
# Configure it BEFORE enabling
|
380
|
-
Karafka::Web.setup do |config|
|
381
|
-
# REPLACE THIS with your own value. You can use `SecureRandom.hex(64)` to generate it
|
382
|
-
# You may want to set it per ENV
|
383
|
-
config.ui.sessions.secret = 'REPLACE ME! b94b2215cc66371f2c34b7d0c0df1a010f83ca45 REPLACE ME!'
|
384
|
-
end
|
385
|
-
|
386
|
-
Karafka::Web.enable!
|
387
|
-
```
|
388
|
-
|
389
|
-
#### Deployment
|
390
|
-
|
391
|
-
Because of the reporting schema update and new web-ui topics introduction, it is recommended to:
|
392
|
-
|
393
|
-
0. Make sure you have upgraded to `0.6.3` before and that it was deployed. To all the environments you want to migrate to `0.7.0`.
|
394
|
-
1. Upgrade the codebase based on the below details.
|
395
|
-
2. **Stop** the consumer materializing Web-UI. Unless you are running a Web-UI dedicated consumer as recommended [here](https://karafka.io/docs/Web-UI-Development-vs-Production/), you will have to stop all the consumers. This is **crucial** because of schema changes. `karafka-web` `0.7.0` introduces the detection of schema changes, so this step should not be needed in the future.
|
396
|
-
3. Run a migration command: `bundle exec karafka-web migrate` that will create missing states and missing topics. You **need** to run it for each of the environments where you use Karafka Web UI.
|
397
|
-
4. Deploy **all** the Karafka consumer processes (`karafka server`).
|
398
|
-
5. Deploy the Web update to your web server and check that everything is OK by visiting the status page.
|
399
|
-
|
400
|
-
Please note that if you decide to use the updated Web UI with not updated consumers, you may hit a 500 error, or offset-related data may not be displayed correctly.
|
401
|
-
|
402
|
-
#### Code and API changes
|
403
|
-
|
404
|
-
1. `bundle exec karafka-web install` is now a single-purpose command that should run **only** when installing the Web-UI for the first time.
|
405
|
-
2. For creating needed topics and states per environment and during upgrades, please use the newly introduced non-destructive `bundle exec karafka-web migrate`. It will assess changes required and will apply only those.
|
406
|
-
3. Is no longer`ui.decrypt` has been replaced with `ui.visibility_filter` API. This API by default also does not decrypt data. To change this behavior, please implement your visibility filter as presented in our documentation.
|
407
|
-
4. Karafka Web UI `0.7.0` introduces an in-memory topics cache for some views. This means that rapid topics changes (repartitions/new topics) may be visible up to 5 minutes after those changes.
|
408
|
-
3. `ui.decrypt` setting has been replaced with `ui.visibility_filter` API. This API by default also does not decrypt data. To change this behavior, please implement your visibility filter as presented in our documentation.
|
409
|
-
4. Karafka Web-UI `0.7.0` introduces an in-memory topics cache for some views. This means that rapid topics changes (repartitions/new topics) may be visible up to 5 minutes after those changes.
|
410
|
-
5. Karafka Web UI requires now a new topic called `karafka_consumers_metrics`. If you use strict topic creation and ACL policies, please make sure it exists and that Karafka can both read and write to it.
|
411
|
-
|
412
355
|
## 0.6.3 (2023-07-22)
|
413
356
|
- [Fix] Remove files from 0.7.0 accidentally added to the release.
|
414
357
|
|
@@ -446,38 +389,6 @@ Please note that if you decide to use the updated Web UI with not updated consum
|
|
446
389
|
- [Refactor] Remove not used and redundant partials.
|
447
390
|
- [Maintenance] Require `karafka` `2.1.4` due to fixes in metrics usage for workless flows.
|
448
391
|
|
449
|
-
### Upgrade Notes
|
450
|
-
|
451
|
-
Because of the reporting schema update, it is recommended to:
|
452
|
-
|
453
|
-
- First, deploy **all** the Karafka consumer processes (`karafka server`)
|
454
|
-
- Deploy the Web update to your web server.
|
455
|
-
|
456
|
-
Please note that if you decide to use the updated Web UI with not updated consumers, you may hit a 500 error or offset related data may not be displayed correctly.
|
457
|
-
|
458
|
-
#### Disabling producers instrumentation
|
459
|
-
|
460
|
-
Producers error tracking **is** enabled by default. If you want to opt out of it, you need to disable the producers' instrumentation by clearing the producers' listeners:
|
461
|
-
|
462
|
-
```ruby
|
463
|
-
Karafka::Web.setup do |config|
|
464
|
-
# Do not instrument producers with web-ui listeners
|
465
|
-
config.tracking.producers.listeners = []
|
466
|
-
end
|
467
|
-
```
|
468
|
-
|
469
|
-
#### Custom producers instrumentation
|
470
|
-
|
471
|
-
By default, Karafka Web-UI instruments only `Karafka.producer`. If you use producers initialized by yourself, you need to connect the listeners to them manually. To do so, run the following code:
|
472
|
-
|
473
|
-
```ruby
|
474
|
-
::Karafka::Web.config.tracking.producers.listeners.each do |listener|
|
475
|
-
MY_CUSTOM_PRODUCER.monitor.subscribe(listener)
|
476
|
-
end
|
477
|
-
```
|
478
|
-
|
479
|
-
Please make sure **not** to do it for the default `Karafka.producer` because it is instrumented out of the box.
|
480
|
-
|
481
392
|
## 0.5.2 (2023-05-22)
|
482
393
|
- [Improvement] Label ActiveJob consumers jobs with `active_job` tag.
|
483
394
|
- [Improvement] Label Virtual Partitions consumers with `virtual` tag.
|
@@ -494,15 +405,6 @@ Please make sure **not** to do it for the default `Karafka.producer` because it
|
|
494
405
|
- [Fix] Fix misspelling of word `committed`.
|
495
406
|
- [Fix] Shutdown and revocation jobs statistics extraction crashes when idle initialized without messages (#53)
|
496
407
|
|
497
|
-
### Upgrade Notes
|
498
|
-
|
499
|
-
Because of the reporting schema change, it is recommended to:
|
500
|
-
|
501
|
-
- First, deploy **all** the Karafka consumer processes (`karafka server`)
|
502
|
-
- Deploy the Web update to your web server.
|
503
|
-
|
504
|
-
Please note that if you decide to use the updated Web UI with not updated consumers, you may hit a 500 error or offset related data may not be displayed correctly.
|
505
|
-
|
506
408
|
## 0.4.1 (2023-04-12)
|
507
409
|
- [Improvement] Replace the "x time ago" in the code explorer with an exact date (`2023-04-12 10:16:48.596 +0200 `).
|
508
410
|
- [Improvement] When hovering over a message timestamp, a label with raw numeric timestamp will be presented.
|
@@ -515,26 +417,11 @@ Please note that if you decide to use the updated Web UI with not updated consum
|
|
515
417
|
- [Fix] Add missing support for using multiple subscription groups within a single consumer group.
|
516
418
|
- [Fix] Mask SASL credentials in topic routing view (#46)
|
517
419
|
|
518
|
-
### Upgrade Notes
|
519
|
-
|
520
|
-
Because of the reporting schema change, it is recommended to:
|
521
|
-
|
522
|
-
- First, deploy **all** the Karafka consumer processes (`karafka server`)
|
523
|
-
- Deploy the Web update to your web server.
|
524
|
-
|
525
|
-
Please note that if you decide to use the updated Web UI with not updated consumers, you may hit a 500 error.
|
526
|
-
|
527
420
|
## 0.3.1 (2023-03-27)
|
528
421
|
- [Fix] Add missing retention policy for states topic.
|
529
422
|
- [Fix] Fix display of compacted messages placeholders for offsets lower than low watermark.
|
530
423
|
- [Fix] Fix invalid pagination per page count.
|
531
424
|
|
532
|
-
### Upgrade Notes
|
533
|
-
|
534
|
-
If upgrading from `0.3.0`, nothing.
|
535
|
-
|
536
|
-
If upgrading from lower, please follow `0.3.0` upgrade procedure.
|
537
|
-
|
538
425
|
## 0.3.0 (2023-03-27)
|
539
426
|
- **[Feature]** Support paginating over compacted topics partitions.
|
540
427
|
- [Improvement] Display watermark offsets in the errors view.
|
@@ -554,15 +441,6 @@ If upgrading from lower, please follow `0.3.0` upgrade procedure.
|
|
554
441
|
- [Maintenance] Remove compatibility fallbacks for job and process tags (#1342)
|
555
442
|
- [Maintenance] Extract base sampler for tracking and web.
|
556
443
|
|
557
|
-
### Upgrade Notes
|
558
|
-
|
559
|
-
Because of the removal of compatibility fallbacks for some metrics fetches, it is recommended to:
|
560
|
-
|
561
|
-
- First, deploy **all** the Karafka consumer processes (`karafka server`)
|
562
|
-
- Deploy the Web update to your web server.
|
563
|
-
|
564
|
-
Please note that if you decide to use the updated Web UI with not updated consumers, you may hit a 500 error.
|
565
|
-
|
566
444
|
## 0.2.5 (2023-03-17)
|
567
445
|
- [Fix] Critical instrumentation async errors intercepted by Web don't have JID for job removal (#1366)
|
568
446
|
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
karafka-web (0.
|
4
|
+
karafka-web (0.11.0)
|
5
5
|
erubi (~> 1.4)
|
6
|
-
karafka (>= 2.
|
7
|
-
karafka-core (>= 2.
|
6
|
+
karafka (>= 2.5.0.beta1, < 2.6.0)
|
7
|
+
karafka-core (>= 2.5.0, < 2.6.0)
|
8
8
|
roda (~> 3.68, >= 3.69)
|
9
9
|
tilt (~> 2.0)
|
10
10
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
13
13
|
specs:
|
14
|
-
activesupport (7.2.1)
|
14
|
+
activesupport (7.2.2.1)
|
15
15
|
base64
|
16
|
+
benchmark (>= 0.3)
|
16
17
|
bigdecimal
|
17
18
|
concurrent-ruby (~> 1.0, >= 1.3.1)
|
18
19
|
connection_pool (>= 2.2.5)
|
@@ -23,89 +24,132 @@ GEM
|
|
23
24
|
securerandom (>= 0.3)
|
24
25
|
tzinfo (~> 2.0, >= 2.0.5)
|
25
26
|
base64 (0.2.0)
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
27
|
+
benchmark (0.4.0)
|
28
|
+
bigdecimal (3.1.9)
|
29
|
+
byebug (12.0.0)
|
30
|
+
concurrent-ruby (1.3.5)
|
31
|
+
connection_pool (2.5.3)
|
32
|
+
diff-lcs (1.6.2)
|
33
|
+
docile (1.4.1)
|
34
|
+
drb (2.2.3)
|
35
|
+
erubi (1.13.1)
|
34
36
|
et-orbi (1.2.11)
|
35
37
|
tzinfo
|
36
|
-
factory_bot (6.5.
|
37
|
-
activesupport (>=
|
38
|
-
ffi (1.17.
|
38
|
+
factory_bot (6.5.1)
|
39
|
+
activesupport (>= 6.1.0)
|
40
|
+
ffi (1.17.2)
|
41
|
+
ffi (1.17.2-aarch64-linux-gnu)
|
42
|
+
ffi (1.17.2-aarch64-linux-musl)
|
43
|
+
ffi (1.17.2-arm-linux-gnu)
|
44
|
+
ffi (1.17.2-arm-linux-musl)
|
45
|
+
ffi (1.17.2-arm64-darwin)
|
46
|
+
ffi (1.17.2-x86-linux-gnu)
|
47
|
+
ffi (1.17.2-x86-linux-musl)
|
48
|
+
ffi (1.17.2-x86_64-darwin)
|
49
|
+
ffi (1.17.2-x86_64-linux-gnu)
|
50
|
+
ffi (1.17.2-x86_64-linux-musl)
|
39
51
|
fugit (1.11.1)
|
40
52
|
et-orbi (~> 1, >= 1.2.11)
|
41
53
|
raabro (~> 1.4)
|
42
|
-
i18n (1.14.
|
54
|
+
i18n (1.14.7)
|
43
55
|
concurrent-ruby (~> 1.0)
|
44
|
-
karafka (2.
|
56
|
+
karafka (2.5.0.beta1)
|
45
57
|
base64 (~> 0.2)
|
46
|
-
karafka-core (>= 2.
|
47
|
-
karafka-rdkafka (>= 0.
|
48
|
-
waterdrop (>= 2.
|
58
|
+
karafka-core (>= 2.5.0, < 2.6.0)
|
59
|
+
karafka-rdkafka (>= 0.19.2)
|
60
|
+
waterdrop (>= 2.8.3, < 3.0.0)
|
49
61
|
zeitwerk (~> 2.3)
|
50
|
-
karafka-core (2.
|
51
|
-
karafka-rdkafka (>= 0.
|
52
|
-
|
62
|
+
karafka-core (2.5.0)
|
63
|
+
karafka-rdkafka (>= 0.19.2, < 0.21.0)
|
64
|
+
logger (>= 1.6.0)
|
65
|
+
karafka-rdkafka (0.19.2)
|
53
66
|
ffi (~> 1.15)
|
54
67
|
mini_portile2 (~> 2.6)
|
55
68
|
rake (> 12)
|
56
|
-
logger (1.
|
57
|
-
mini_portile2 (2.8.
|
58
|
-
minitest (5.25.
|
69
|
+
logger (1.7.0)
|
70
|
+
mini_portile2 (2.8.9)
|
71
|
+
minitest (5.25.5)
|
72
|
+
nokogiri (1.18.8)
|
73
|
+
mini_portile2 (~> 2.8.2)
|
74
|
+
racc (~> 1.4)
|
75
|
+
nokogiri (1.18.8-aarch64-linux-gnu)
|
76
|
+
racc (~> 1.4)
|
77
|
+
nokogiri (1.18.8-aarch64-linux-musl)
|
78
|
+
racc (~> 1.4)
|
79
|
+
nokogiri (1.18.8-arm-linux-gnu)
|
80
|
+
racc (~> 1.4)
|
81
|
+
nokogiri (1.18.8-arm-linux-musl)
|
82
|
+
racc (~> 1.4)
|
83
|
+
nokogiri (1.18.8-arm64-darwin)
|
84
|
+
racc (~> 1.4)
|
85
|
+
nokogiri (1.18.8-x86_64-darwin)
|
86
|
+
racc (~> 1.4)
|
87
|
+
nokogiri (1.18.8-x86_64-linux-gnu)
|
88
|
+
racc (~> 1.4)
|
89
|
+
nokogiri (1.18.8-x86_64-linux-musl)
|
90
|
+
racc (~> 1.4)
|
59
91
|
ostruct (0.6.1)
|
60
92
|
raabro (1.4.0)
|
61
|
-
|
62
|
-
rack
|
93
|
+
racc (1.8.1)
|
94
|
+
rack (3.1.15)
|
95
|
+
rack-test (2.2.0)
|
63
96
|
rack (>= 1.3)
|
64
97
|
rackup (0.2.3)
|
65
98
|
rack (>= 3.0.0.beta1)
|
66
99
|
webrick
|
67
100
|
rake (13.2.1)
|
68
|
-
roda (3.
|
101
|
+
roda (3.92.0)
|
69
102
|
rack
|
70
103
|
rspec (3.13.0)
|
71
104
|
rspec-core (~> 3.13.0)
|
72
105
|
rspec-expectations (~> 3.13.0)
|
73
106
|
rspec-mocks (~> 3.13.0)
|
74
|
-
rspec-core (3.13.
|
107
|
+
rspec-core (3.13.3)
|
75
108
|
rspec-support (~> 3.13.0)
|
76
|
-
rspec-expectations (3.13.
|
109
|
+
rspec-expectations (3.13.4)
|
77
110
|
diff-lcs (>= 1.2.0, < 2.0)
|
78
111
|
rspec-support (~> 3.13.0)
|
79
|
-
rspec-mocks (3.13.
|
112
|
+
rspec-mocks (3.13.4)
|
80
113
|
diff-lcs (>= 1.2.0, < 2.0)
|
81
114
|
rspec-support (~> 3.13.0)
|
82
|
-
rspec-support (3.13.
|
83
|
-
securerandom (0.
|
115
|
+
rspec-support (3.13.3)
|
116
|
+
securerandom (0.4.1)
|
84
117
|
simplecov (0.22.0)
|
85
118
|
docile (~> 1.1)
|
86
119
|
simplecov-html (~> 0.11)
|
87
120
|
simplecov_json_formatter (~> 0.1)
|
88
|
-
simplecov-html (0.
|
121
|
+
simplecov-html (0.13.1)
|
89
122
|
simplecov_json_formatter (0.1.4)
|
90
|
-
tilt (2.
|
123
|
+
tilt (2.6.0)
|
91
124
|
tzinfo (2.0.6)
|
92
125
|
concurrent-ruby (~> 1.0)
|
93
|
-
waterdrop (2.
|
94
|
-
karafka-core (>= 2.4.
|
95
|
-
karafka-rdkafka (>= 0.
|
126
|
+
waterdrop (2.8.3)
|
127
|
+
karafka-core (>= 2.4.9, < 3.0.0)
|
128
|
+
karafka-rdkafka (>= 0.19.1)
|
96
129
|
zeitwerk (~> 2.3)
|
97
|
-
webrick (1.
|
98
|
-
zeitwerk (2.6.
|
130
|
+
webrick (1.9.1)
|
131
|
+
zeitwerk (2.6.18)
|
99
132
|
|
100
133
|
PLATFORMS
|
134
|
+
aarch64-linux-gnu
|
135
|
+
aarch64-linux-musl
|
136
|
+
arm-linux-gnu
|
137
|
+
arm-linux-musl
|
138
|
+
arm64-darwin
|
101
139
|
ruby
|
102
|
-
|
140
|
+
x86-linux-gnu
|
141
|
+
x86-linux-musl
|
142
|
+
x86_64-darwin
|
143
|
+
x86_64-linux-gnu
|
144
|
+
x86_64-linux-musl
|
103
145
|
|
104
146
|
DEPENDENCIES
|
105
147
|
byebug
|
106
148
|
factory_bot
|
107
149
|
fugit
|
150
|
+
karafka
|
108
151
|
karafka-web!
|
152
|
+
nokogiri
|
109
153
|
ostruct
|
110
154
|
rack-test
|
111
155
|
rackup (~> 0.2)
|
@@ -113,4 +157,4 @@ DEPENDENCIES
|
|
113
157
|
simplecov
|
114
158
|
|
115
159
|
BUNDLED WITH
|
116
|
-
2.
|
160
|
+
2.6.9
|
data/LICENSE
CHANGED
@@ -6,8 +6,12 @@ for license text.
|
|
6
6
|
|
7
7
|
Karafka and Karafka Web have also commercial-friendly license, commercial support and commercial components.
|
8
8
|
|
9
|
-
All of the commercial components are present in the
|
10
|
-
|
9
|
+
All of the commercial components and code are present in the:
|
10
|
+
|
11
|
+
- `lib/karafka/web/pro`
|
12
|
+
- `spec/lib/karafka/web/pro`
|
13
|
+
|
14
|
+
directories of this repository and their usage requires commercial license agreement.
|
11
15
|
|
12
16
|
By sending a pull request to the pro components, you are agreeing to transfer the copyright of your
|
13
17
|
code to Maciej Mensfeld.
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# Checks Kafka logs for unsupported warning patterns
|
4
|
+
# Only specified warnings are allowed, all others should trigger failure
|
5
|
+
|
6
|
+
allowed_patterns=(
|
7
|
+
"Performing controller activation"
|
8
|
+
"registered with feature metadata.version"
|
9
|
+
"Replayed TopicRecord for"
|
10
|
+
"Replayed PartitionRecord for"
|
11
|
+
"Previous leader None and previous leader epoch"
|
12
|
+
"Creating new"
|
13
|
+
)
|
14
|
+
|
15
|
+
# Get all warnings
|
16
|
+
warnings=$(docker logs --since=0 kafka | grep WARN)
|
17
|
+
exit_code=0
|
18
|
+
|
19
|
+
while IFS= read -r line; do
|
20
|
+
allowed=0
|
21
|
+
for pattern in "${allowed_patterns[@]}"; do
|
22
|
+
if echo "$line" | grep -q "$pattern"; then
|
23
|
+
allowed=1
|
24
|
+
break
|
25
|
+
fi
|
26
|
+
done
|
27
|
+
|
28
|
+
if [ $allowed -eq 0 ]; then
|
29
|
+
echo "Unexpected warning found:"
|
30
|
+
echo "$line"
|
31
|
+
exit_code=1
|
32
|
+
fi
|
33
|
+
done <<< "$warnings"
|
34
|
+
|
35
|
+
exit $exit_code
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This script verifies that we do not create (except few needed exceptions) test topics that do
|
4
|
+
# not start with the "it-" prefix which is our standard.
|
5
|
+
#
|
6
|
+
# This ensures that we can clearly identify all test topics for removal in case of doing dev work
|
7
|
+
# on a long-lived Kafka cluster without option to fully reset it.
|
8
|
+
#
|
9
|
+
# It also ensures we have one convention that we can follow.
|
10
|
+
|
11
|
+
require 'bundler'
|
12
|
+
Bundler.setup(:default, :test, :integrations)
|
13
|
+
require 'karafka'
|
14
|
+
|
15
|
+
module Karafka
|
16
|
+
class App
|
17
|
+
setup do |config|
|
18
|
+
config.kafka = { 'bootstrap.servers': '127.0.0.1:9092' }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Please note that "__" starting topics are not here by default. It is expected.
|
24
|
+
invalid = Karafka::Admin
|
25
|
+
.cluster_info
|
26
|
+
.topics
|
27
|
+
.map { |topic| topic[:topic_name] }
|
28
|
+
.select { |topic| !topic.start_with?('it-') }
|
29
|
+
.select { |topic| topic.length <= 6 }
|
30
|
+
|
31
|
+
invalid.each do |invalid_name|
|
32
|
+
puts "#{invalid_name} does not start with the \"it-\" prefix"
|
33
|
+
end
|
34
|
+
|
35
|
+
exit invalid.empty? ? 0 : 1
|
@@ -22,6 +22,7 @@ en:
|
|
22
22
|
ui.branding.type_format: 'must be :info, :error, :warning, :success, :primary or :secondary'
|
23
23
|
ui.branding.label_format: must be false or non-empty string
|
24
24
|
ui.branding.notice_format: must be false or non-empty string
|
25
|
+
ui.branding.nav_extras_format: must be an ERB template code or a path to one
|
25
26
|
|
26
27
|
search_form:
|
27
28
|
missing: needs to be present
|
data/docker-compose.yml
CHANGED
data/gulpfile.js
CHANGED
@@ -3,7 +3,6 @@ const concat = require('gulp-concat');
|
|
3
3
|
const uglify = require('gulp-uglify');
|
4
4
|
const through2 = require('through2');
|
5
5
|
const path = require('path');
|
6
|
-
const cleanCSS = require('gulp-clean-css');
|
7
6
|
const sourcemaps = require('gulp-sourcemaps');
|
8
7
|
|
9
8
|
// Check if we are in development mode
|
@@ -64,7 +63,6 @@ gulp.task('styles', function() {
|
|
64
63
|
return gulp.src(cssFiles)
|
65
64
|
.pipe(isDev ? sourcemaps.init() : through2.obj()) // Initialize sourcemaps in dev
|
66
65
|
.pipe(concat('application.min.css'))
|
67
|
-
.pipe(cleanCSS({ level: 2 })) // Minify CSS
|
68
66
|
.pipe(isDev ? sourcemaps.write('.') : through2.obj()) // Write sourcemaps in dev
|
69
67
|
.pipe(gulp.dest('lib/karafka/web/ui/public/stylesheets'));
|
70
68
|
});
|
data/karafka-web.gemspec
CHANGED
@@ -17,8 +17,8 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.licenses = %w[LGPL-3.0-only Commercial]
|
18
18
|
|
19
19
|
spec.add_dependency 'erubi', '~> 1.4'
|
20
|
-
spec.add_dependency 'karafka', '>= 2.
|
21
|
-
spec.add_dependency 'karafka-core', '>= 2.
|
20
|
+
spec.add_dependency 'karafka', '>= 2.5.0.beta1', '< 2.6.0'
|
21
|
+
spec.add_dependency 'karafka-core', '>= 2.5.0', '< 2.6.0'
|
22
22
|
spec.add_dependency 'roda', '~> 3.68', '>= 3.69'
|
23
23
|
spec.add_dependency 'tilt', '~> 2.0'
|
24
24
|
|