karafka-web 0.10.0.beta1 → 0.10.0.rc2
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 +3 -0
- data/Gemfile.lock +1 -2
- data/lib/karafka/web/config.rb +9 -0
- data/lib/karafka/web/contracts/config.rb +4 -0
- data/lib/karafka/web/management/actions/enable.rb +6 -0
- data/lib/karafka/web/tracking/consumers/contracts/job.rb +1 -1
- data/lib/karafka/web/tracking/consumers/listeners/processing.rb +5 -1
- 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/theme_manager.js +12 -5
- data/lib/karafka/web/ui/public/stylesheets/application.min.css.gz +0 -0
- data/lib/karafka/web/ui/views/shared/_header.erb +4 -2
- data/lib/karafka/web/version.rb +1 -1
- data/package-lock.json +8 -3
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f9e6ffa0b52fd034fba9f20be4a3862dac935610601daa3e7ac14b912ac166d
|
4
|
+
data.tar.gz: d0cc099e8bcb8367c33c27326223346983fddb4bf0e8b40397c8ad2ae30a83fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b88382f36d89b10ffaa249b8533210007620ae979af936b29a70a1c6b81cad8e2058a6bfc9d7c494dded5b67139da62e74629722ba1fb420d0e44664d25ea1ea
|
7
|
+
data.tar.gz: 541b6de732575af548cd39a12730c1eea7c60e072f468b5b28ead575828ae2863110b2975a79dd2d3389b9d1899048d5c9f225ef6cacef3645cae87baf062a3b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,9 @@
|
|
7
7
|
- **[Feature]** Support per request policies for inspection and operations limitation.
|
8
8
|
- **[Feature]** Provide Search capabilities in the Explorer (Pro).
|
9
9
|
- **[Feature]** Provide dark mode.
|
10
|
+
- [Enhancement] Set `enable.partition.eof` to `false` for Web UI consumer group as it is not needed.
|
11
|
+
- [Enhancement] Allow for configuration of extra `kafka` scope options for the Web UI consumer group.
|
12
|
+
- [Enhancement] Support Karafka `#eofed` consumer action.
|
10
13
|
- [Enhancement] Provide topics watermarks inspection page (Pro).
|
11
14
|
- [Enhancement] Use Turbo to improve usability.
|
12
15
|
- [Enhancement] Round poll age reporting to precision of 2 reducing the payload size.
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
karafka-web (0.10.0
|
4
|
+
karafka-web (0.10.0)
|
5
5
|
erubi (~> 1.4)
|
6
6
|
karafka (>= 2.4.7, < 2.5.0)
|
7
7
|
karafka-core (>= 2.4.0, < 2.5.0)
|
@@ -33,7 +33,6 @@ GEM
|
|
33
33
|
factory_bot (6.4.6)
|
34
34
|
activesupport (>= 5.0.0)
|
35
35
|
ffi (1.17.0)
|
36
|
-
ffi (1.17.0-x86_64-linux-gnu)
|
37
36
|
i18n (1.14.5)
|
38
37
|
concurrent-ruby (~> 1.0)
|
39
38
|
karafka (2.4.7)
|
data/lib/karafka/web/config.rb
CHANGED
@@ -123,6 +123,15 @@ module Karafka
|
|
123
123
|
# By default we flush the states twice as often as the data reporting.
|
124
124
|
# This will allow us to have closer to real-time reporting.
|
125
125
|
setting :interval, default: 2_500
|
126
|
+
|
127
|
+
# Extra kafka level settings that we merge to the defaults when building the Web consumer
|
128
|
+
# group. User may want different things than we in regard to operations, thus effectively
|
129
|
+
# crippling responsiveness or stability of reporting.
|
130
|
+
setting :kafka, default: {
|
131
|
+
# We do not use at the moment the `#eofed` flag for anything, thus there is no point in
|
132
|
+
# having it set to true if user users it.
|
133
|
+
'enable.partition.eof': false
|
134
|
+
}.freeze
|
126
135
|
end
|
127
136
|
|
128
137
|
setting :ui do
|
@@ -48,6 +48,9 @@ module Karafka
|
|
48
48
|
required(:active) { |val| [true, false].include?(val) }
|
49
49
|
# Do not update data more often not to overload and not to generate too much data
|
50
50
|
required(:interval) { |val| val.is_a?(Integer) && val >= 1_000 }
|
51
|
+
|
52
|
+
# Extra Kafka setup for our processing consumer
|
53
|
+
required(:kafka) { |val| val.is_a?(Hash) }
|
51
54
|
end
|
52
55
|
|
53
56
|
nested(:ui) do
|
@@ -59,6 +62,7 @@ module Karafka
|
|
59
62
|
required(:cache) { |val| !val.nil? }
|
60
63
|
required(:per_page) { |val| val.is_a?(Integer) && val >= 1 && val <= 100 }
|
61
64
|
required(:max_visible_payload_size) { |val| val.is_a?(Integer) && val >= 1 }
|
65
|
+
required(:kafka) { |val| val.is_a?(Hash) }
|
62
66
|
|
63
67
|
required(:dlq_patterns) do |val|
|
64
68
|
val.is_a?(Array) &&
|
@@ -47,6 +47,9 @@ module Karafka
|
|
47
47
|
|
48
48
|
# Enables all the needed routes
|
49
49
|
def extend_routing
|
50
|
+
kafka_config = ::Karafka::App.config.kafka.dup
|
51
|
+
kafka_config.merge!(::Karafka::Web.config.processing.kafka)
|
52
|
+
|
50
53
|
::Karafka::App.routes.draw do
|
51
54
|
payload_deserializer = ::Karafka::Web::Deserializer.new
|
52
55
|
|
@@ -70,6 +73,9 @@ module Karafka
|
|
70
73
|
# consumer group name would be renamed and we would start consuming all
|
71
74
|
# historical
|
72
75
|
initial_offset 'latest'
|
76
|
+
# We use the defaults + our config alterations that may not align with what
|
77
|
+
# user wants for his topics.
|
78
|
+
kafka kafka_config
|
73
79
|
end
|
74
80
|
|
75
81
|
# We define those three here without consumption, so Web understands how to
|
@@ -18,7 +18,7 @@ module Karafka
|
|
18
18
|
required(:last_offset) { |val| val.is_a?(Integer) && (val >= 0 || val == -1001) }
|
19
19
|
required(:committed_offset) { |val| val.is_a?(Integer) }
|
20
20
|
required(:messages) { |val| val.is_a?(Integer) && val >= 0 }
|
21
|
-
required(:type) { |val| %w[consume revoked shutdown tick].include?(val) }
|
21
|
+
required(:type) { |val| %w[consume revoked shutdown tick eofed].include?(val) }
|
22
22
|
required(:tags) { |val| val.is_a?(Karafka::Core::Taggable::Tags) }
|
23
23
|
# -1 can be here for workless flows
|
24
24
|
required(:consumption_lag) { |val| val.is_a?(Integer) && (val >= 0 || val == -1) }
|
@@ -22,6 +22,7 @@ module Karafka
|
|
22
22
|
revoked
|
23
23
|
shutdown
|
24
24
|
tick
|
25
|
+
eofed
|
25
26
|
].each do |action|
|
26
27
|
# Tracks the job that is going to be scheduled so we can also display pending jobs
|
27
28
|
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
@@ -85,6 +86,8 @@ module Karafka
|
|
85
86
|
'shutdown'
|
86
87
|
when 'consumer.tick.error'
|
87
88
|
'tick'
|
89
|
+
when 'consumer.eofed.error'
|
90
|
+
'eofed'
|
88
91
|
# This is not a user facing execution flow, but internal system one
|
89
92
|
# that is why it will not be reported as a separate job for the UI
|
90
93
|
when 'consumer.idle.error'
|
@@ -109,7 +112,8 @@ module Karafka
|
|
109
112
|
[
|
110
113
|
[:revoke, :revoked, 'revoked'],
|
111
114
|
[:shutting_down, :shutdown, 'shutdown'],
|
112
|
-
[:tick, :ticked, 'tick']
|
115
|
+
[:tick, :ticked, 'tick'],
|
116
|
+
[:eof, :eofed, 'eofed']
|
113
117
|
].each do |pre, post, action|
|
114
118
|
class_eval <<~METHOD, __FILE__, __LINE__ + 1
|
115
119
|
# Stores this job details
|
@@ -57,7 +57,7 @@ let DataFormattingUtils={niceBytes(e,t=2){let i=0,s=parseInt(e,10)||0;for(;1024<
|
|
57
57
|
/*! Source: lib/karafka/web/ui/public/javascripts/components/offset_datetime.js */function loadOffsetLookupDatePicker(){var e={locale:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",dateFormat:"yyyy-MM-dd",timeFormat:"HH:mm",firstDay:1},timepicker:!0,onSelect:({})=>{document.getElementById("offset-lookup-datepicker").value=""},onShow:function(){offsetLookupDatePicker.selectDate((new Date).getTime()),offsetLookupDatePicker.maxDate=new Date},onHide:function(){offsetLookupDatePicker.selectDate((new Date).getTime())},buttons:[{content(e){return"Go to offset"},onClick(e){var t=e.selectedDates[0]||new Date,i=e.$el.dataset.target;e.hide(),location.href=i+"/"+formatRedirectDateTime(t)}}]};null!=offsetLookupDatePicker&&offsetLookupDatePicker.destroy(),null!=document.getElementById("offset-lookup-datepicker")&&((offsetLookupDatePicker=new AirDatepicker("#offset-lookup-datepicker",e)).maxDate=new Date,offsetLookupDatePicker.selectDate((new Date).getTime()))}function formatRedirectDateTime(e){return e.getFullYear()+`-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}/${String(e.getHours()).padStart(2,"0")}:`+String(e.getMinutes()).padStart(2,"0")}function isOffsetLookupCalendarVisible(){return null!=offsetLookupDatePicker&&offsetLookupDatePicker.visible}
|
58
58
|
/*! Source: lib/karafka/web/ui/public/javascripts/components/search.js */offsetLookupDatePicker=null;class SearchModalManager{constructor(){this.init()}init(){var t=document.getElementById("offset-input");if(!t)return!1;var i=document.getElementById("offset-timestamp-input"),e=document.querySelectorAll('input[name="search[offset_type]"]'),s=document.getElementById("no-search-criteria"),r=document.getElementById("search-form-errors");e.forEach(function(e){e.addEventListener("change",function(){t.disabled=!document.getElementById("offset-value").checked,t.required=document.getElementById("offset-value").checked,i.disabled=!document.getElementById("offset-timestamp").checked,i.required=document.getElementById("offset-timestamp").checked})}),t.disabled=!document.getElementById("offset-value").checked,t.required=document.getElementById("offset-value").checked,i.disabled=!document.getElementById("offset-timestamp").checked,i.required=document.getElementById("offset-timestamp").checked,document.getElementById("show-search-modal").addEventListener("click",function(){document.getElementById("messages_search_modal").showModal();var e=document.querySelector('#messages_search_modal input[type="text"]');e&&e.focus()}),(s||r)&&(document.getElementById("messages_search_modal").showModal(),e=document.querySelector('#messages_search_modal input[type="text"]'))&&e.focus()}}class SearchMetadataVisibilityManager{constructor(){this.storageKey="karafkaSearchMetadataVisibility",this.metadataElement=document.getElementById("search-metadata-details"),this.toggleButton=document.getElementById("toggle-search-metadata"),this.metadataElement&&this.init()}init(){this.restoreVisibility(),self=this;var t=document.getElementById("toggle-search-metadata");t.addEventListener("click",function(){var e=document.getElementById("search-metadata-details");e.classList.toggle("hidden"),t.classList.toggle("active"),self.saveVisibility(!e.classList.contains("hidden"))})}readVisibility(){return"true"===localStorage.getItem(this.storageKey)}saveVisibility(e){localStorage.setItem(this.storageKey,e)}restoreVisibility(){this.readVisibility()&&(document.getElementById("toggle-search-metadata").classList.add("active"),document.getElementById("search-metadata-details").classList.remove("hidden"))}}
|
59
59
|
/*! Source: lib/karafka/web/ui/public/javascripts/components/tabs_manager.js */class TabsManager{constructor(){this.storageKey="karafkaActiveTabsv2"}readAllActiveTabs(){var e=localStorage.getItem(this.storageKey);return e?JSON.parse(e):{}}saveAllActiveTabs(e){localStorage.setItem(this.storageKey,JSON.stringify(e))}saveCurrentActiveTabs(){var e=document.querySelectorAll(".inline-tabs > .active"),t=window.location.href.split("?")[0];let i=[];var s=this.readAllActiveTabs();e.forEach(e=>{i.push(e.id)}),s[t]=i,this.saveAllActiveTabs(s)}setActiveTabs(){var e=window.location.href.split("?")[0],e=this.readAllActiveTabs()[e];(e=e||Array.from(document.querySelectorAll(".inline-tabs > .active")).map(e=>e.id))&&e.forEach(e=>{e=document.getElementById(e);e&&(e.parentElement.querySelectorAll(".custom-tab").forEach(function(e){e.classList.remove("active")}),e.classList.add("active"),document.getElementById(e.getAttribute("data-target")).classList.remove("hidden"))})}manageTabs(){this.setActiveTabs();var t=this;document.querySelectorAll(".inline-tabs > .custom-tab").forEach(function(e){e.addEventListener("click",function(e){this.parentElement.querySelectorAll(".custom-tab").forEach(function(e){e.classList.remove("active");e=e.getAttribute("data-target");document.getElementById(e).classList.add("hidden")}),this.classList.add("active"),t.saveCurrentActiveTabs(),t.setActiveTabs()})})}}
|
60
|
-
/*! Source: lib/karafka/web/ui/public/javascripts/components/theme_manager.js */class ThemeManager{constructor(){this.themeSelectorButton=document.getElementById("theme-selector"),this.themeSelectorLight=document.getElementById("theme-selector-light"),this.themeSelectorDark=document.getElementById("theme-selector-dark"),this.init()}init(){this.lightThemeLink=document.
|
60
|
+
/*! Source: lib/karafka/web/ui/public/javascripts/components/theme_manager.js */class ThemeManager{constructor(){this.themeSelectorButton=document.getElementById("theme-selector"),this.themeSelectorLight=document.getElementById("theme-selector-light"),this.themeSelectorDark=document.getElementById("theme-selector-dark"),this.init()}init(){this.lightThemeLink=document.querySelector(".highlight-light"),this.darkThemeLink=document.querySelector(".highlight-dark"),this.lightThemeLink&&this.darkThemeLink&&this.themeSelectorButton?(this.restoreTheme(),this.bindThemeSelectorButton()):console.error("Theme CSS links or theme selector button not found")}bindThemeSelectorButton(){this.themeSelectorButton&&!this.themeSelectorButton.dataset.bound&&(this.themeSelectorButton.addEventListener("click",()=>{this.toggleTheme()}),this.themeSelectorButton.dataset.bound="true")}setTheme(e){document.documentElement.setAttribute("data-theme",e),"dark"===e?(this.lightThemeLink.disabled=!0,this.darkThemeLink.disabled=!1,this.themeSelectorLight.classList.add("hidden"),this.themeSelectorDark.classList.remove("hidden")):(this.lightThemeLink.disabled=!1,this.darkThemeLink.disabled=!0,this.themeSelectorLight.classList.remove("hidden"),this.themeSelectorDark.classList.add("hidden")),localStorage.setItem("theme",e)}toggleTheme(){var e=document.documentElement.getAttribute("data-theme");this.setTheme("dark"===e?"corporate":"dark")}restoreTheme(){var e=localStorage.getItem("theme"),e=e||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"corporate");this.setTheme(e),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{localStorage.getItem("theme")||this.setTheme(e.matches?"dark":"corporate")})}}
|
61
61
|
/*! Source: lib/karafka/web/ui/public/javascripts/components/turbo_tracker.js */let turboIsOperating=!1;function isTurboOperating(){return turboIsOperating}
|
62
62
|
/*! Source: lib/karafka/web/ui/public/javascripts/application.js */function updateTimeAgo(){0!=(e=document.querySelectorAll("time")).length&&(timeago.render(e),timeago.cancel());for(var e=document.getElementsByClassName("time-title"),t=0;t<e.length;t++){var i=e[t],s=i.getAttribute("title");i.setAttribute("title",timeago.format(s))}}function refreshTitle(){var e=document.querySelectorAll(".breadcrumbs a"),e=Array.from(e).slice(1).map(e=>e.textContent.trim());0<e.length?document.title=e.join(" > ")+" - Karafka Web UI":document.title="Karafka Web UI"}function redirectToPartition(){var e=document.getElementById("current-partition");null!=e&&e.addEventListener("change",function(){Turbo.visit(this.value)})}function bindActionsConfirmations(){for(var t=document.getElementsByClassName("confirm-action"),i=0;i<t.length;i++){var s=t[i];let e="click";"FORM"===s.nodeName&&(e="submit"),s.addEventListener(e,function(e){window.confirm("Are you sure?")||e.preventDefault()})}}function bindLockableButtons(){document.querySelectorAll(".btn-lockable").forEach(function(i){i.addEventListener("click",function(e){var t=i.closest("form");t?t.addEventListener("submit",function(){i.disabled=!0,i.textContent+="...",document.querySelectorAll(".modal").forEach(function(e){e.classList.add("modal-locked")})},{once:!0}):(i.disabled=!0,i.textContent+="...")})})}function addListeners(){initLivePolling(),bindPollingButtonClick(),bindLockableButtons(),setLivePollButton(),setPollingListener(),hljs.highlightAll(),updateTimeAgo(),redirectToPartition(),(new TabsManager).manageTabs(),manageCharts(),bindActionsConfirmations(),loadOffsetLookupDatePicker(),new BtnToggleManager,new ThemeManager,refreshTitle(),new SearchMetadataVisibilityManager,new SearchModalManager}document.addEventListener("turbo:visit",function(){turboIsOperating=!0}),document.addEventListener("turbo:before-fetch-request",function(){turboIsOperating=!0}),document.addEventListener("turbo:before-fetch-response",function(){turboIsOperating=!0}),document.addEventListener("turbo:load",function(){turboIsOperating=!1}),document.addEventListener("turbo:frame-load",function(){turboIsOperating=!1}),document.addEventListener("turbo:frame-render",function(){turboIsOperating=!1}),document.addEventListener("turbo:load",addListeners),Turbo.setProgressBarDelay(250)
|
63
63
|
/*! Source: lib/karafka/web/ui/public/javascripts/charts/types/bar.js */;class BarChartManager{constructor(){this.datasetStateManager=new DatasetStateManager}refreshAndRenderBarCharts(c,u=!1){(u?c:document).querySelectorAll(".chartjs-bar").forEach(e=>{var t=e.id,i=(u?c:document).getElementById(t),s=JSON.parse(i.dataset.datasets);let r=[],a=[],n=[];var o=i.dataset.label_type_y;let l=i.dataset.label_type_x,h=this.datasetStateManager.getCurrentChart(t);Object.entries(s).forEach(([e,t],i)=>{t.forEach(([e,t])=>{n.push(t),0===i&&r.push(DataFormattingUtils.formatLabelX(e,l))}),a.push({data:t.map(([,e])=>e),label:e,hidden:h.includes(i),borderWidth:2.5})});var i=Math.min(...n),s=Math.max(...n),i=Math.round(i-.1*i),s=Math.round(s+.005*s),d=Math.round(n.reduce((e,t)=>e+t,0)/n.length);a.push({type:"line",label:"Average",data:new Array(r.length).fill(d),borderWidth:2,fill:!1,pointRadius:0,hoverBorderWidth:3,pointHitRadius:20}),u?((d=Chart.getChart(t)).data.datasets=a,d.data.labels=r,d.options.scales.y.min=i,d.options.scales.y.max=s,d.update("none")):this.renderBarChart(e,r,a,i,s,o)})}renderBarChart(e,t,i,s,r,a){new Chart(e,{type:"bar",data:{labels:t,datasets:i},options:{responsive:!0,maintainAspectRatio:!1,aspectRatio:5,scales:{x:{display:!0},y:{beginAtZero:!1,min:s,max:r,ticks:{maxTicksLimit:8,callback:function(e,t,i){return DataFormattingUtils.formatLabelY(a,e,t,i)}}}},animation:!1,animations:{colors:!1,x:!1},transitions:{active:{animation:{duration:!1}}},plugins:{legend:{position:"hidden"},tooltip:{callbacks:{label:function(e){let t=e.dataset.label||"";return"Average"!==t?DataFormattingUtils.formatTooltip(a,e):t+=": "+e.formattedValue}}}}}})}}
|
Binary file
|
Binary file
|
@@ -7,8 +7,8 @@ class ThemeManager {
|
|
7
7
|
}
|
8
8
|
|
9
9
|
init() {
|
10
|
-
this.lightThemeLink = document.
|
11
|
-
this.darkThemeLink = document.
|
10
|
+
this.lightThemeLink = document.querySelector('.highlight-light');
|
11
|
+
this.darkThemeLink = document.querySelector('.highlight-dark');
|
12
12
|
|
13
13
|
if (!this.lightThemeLink || !this.darkThemeLink || !this.themeSelectorButton) {
|
14
14
|
console.error('Theme CSS links or theme selector button not found');
|
@@ -17,9 +17,16 @@ class ThemeManager {
|
|
17
17
|
|
18
18
|
this.restoreTheme();
|
19
19
|
|
20
|
-
this.
|
21
|
-
|
22
|
-
|
20
|
+
this.bindThemeSelectorButton();
|
21
|
+
}
|
22
|
+
|
23
|
+
bindThemeSelectorButton() {
|
24
|
+
if (this.themeSelectorButton && !this.themeSelectorButton.dataset.bound) {
|
25
|
+
this.themeSelectorButton.addEventListener('click', () => {
|
26
|
+
this.toggleTheme();
|
27
|
+
});
|
28
|
+
this.themeSelectorButton.dataset.bound = 'true'; // Mark the button as bound
|
29
|
+
}
|
23
30
|
}
|
24
31
|
|
25
32
|
setTheme(theme) {
|
Binary file
|
@@ -11,13 +11,15 @@
|
|
11
11
|
<link
|
12
12
|
rel="stylesheet"
|
13
13
|
href="<%= asset_path('stylesheets/libs/highlight_light.min.css') %>"
|
14
|
-
|
14
|
+
class="highlight-light"
|
15
|
+
disabled="disabled"
|
15
16
|
/>
|
16
17
|
|
17
18
|
<link
|
18
19
|
rel="stylesheet"
|
19
20
|
href="<%= asset_path('stylesheets/libs/highlight_dark.min.css') %>"
|
20
|
-
|
21
|
+
class="highlight-dark"
|
22
|
+
disabled="disabled"
|
21
23
|
/>
|
22
24
|
|
23
25
|
<link href="<%= asset_path('stylesheets/application.min.css') %>" rel="stylesheet">
|
data/lib/karafka/web/version.rb
CHANGED
data/package-lock.json
CHANGED
@@ -3438,10 +3438,11 @@
|
|
3438
3438
|
}
|
3439
3439
|
},
|
3440
3440
|
"node_modules/tailwindcss": {
|
3441
|
-
"version": "3.4.
|
3442
|
-
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.
|
3443
|
-
"integrity": "sha512-
|
3441
|
+
"version": "3.4.10",
|
3442
|
+
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz",
|
3443
|
+
"integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==",
|
3444
3444
|
"dev": true,
|
3445
|
+
"license": "MIT",
|
3445
3446
|
"dependencies": {
|
3446
3447
|
"@alloc/quick-lru": "^5.2.0",
|
3447
3448
|
"arg": "^5.0.2",
|
@@ -3479,6 +3480,7 @@
|
|
3479
3480
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
|
3480
3481
|
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
3481
3482
|
"dev": true,
|
3483
|
+
"license": "ISC",
|
3482
3484
|
"dependencies": {
|
3483
3485
|
"is-glob": "^4.0.3"
|
3484
3486
|
},
|
@@ -3491,6 +3493,7 @@
|
|
3491
3493
|
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
|
3492
3494
|
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
|
3493
3495
|
"dev": true,
|
3496
|
+
"license": "MIT",
|
3494
3497
|
"engines": {
|
3495
3498
|
"node": ">=10"
|
3496
3499
|
}
|
@@ -3510,6 +3513,7 @@
|
|
3510
3513
|
"url": "https://github.com/sponsors/ai"
|
3511
3514
|
}
|
3512
3515
|
],
|
3516
|
+
"license": "MIT",
|
3513
3517
|
"dependencies": {
|
3514
3518
|
"lilconfig": "^3.0.0",
|
3515
3519
|
"yaml": "^2.3.4"
|
@@ -3535,6 +3539,7 @@
|
|
3535
3539
|
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
|
3536
3540
|
"integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
|
3537
3541
|
"dev": true,
|
3542
|
+
"license": "MIT",
|
3538
3543
|
"engines": {
|
3539
3544
|
"node": ">=14"
|
3540
3545
|
},
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: karafka-web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.0.
|
4
|
+
version: 0.10.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Mensfeld
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
AnG1dJU+yL2BK7vaVytLTstJME5mepSZ46qqIJXMuWob/YPDmVaBF39TDSG9e34s
|
36
36
|
msG3BiCqgOgHAnL23+CN3Rt8MsuRfEtoTKpJVcCfoEoNHOkc
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2024-08-
|
38
|
+
date: 2024-08-14 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: erubi
|
metadata.gz.sig
CHANGED
Binary file
|