mammoth 0.9.0 → 1.1.0

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.
data/lib/mammoth.rb CHANGED
@@ -18,6 +18,9 @@ require_relative "mammoth/commands/deliver_sample_command"
18
18
  require_relative "mammoth/commands/dead_letters_command"
19
19
  require_relative "mammoth/dispatch_metrics"
20
20
  require_relative "mammoth/metrics_observer"
21
+ require_relative "mammoth/sources/postgres_slot_health"
22
+ require_relative "mammoth/sources/postgres_publication_inspector"
23
+ require_relative "mammoth/postgres_observability_metrics"
21
24
  require_relative "mammoth/observability_metrics"
22
25
  require_relative "mammoth/observability_snapshot"
23
26
  require_relative "mammoth/observability_server"
@@ -25,6 +28,7 @@ require_relative "mammoth/sqlite_store"
25
28
  require_relative "mammoth/checkpoint_store"
26
29
  require_relative "mammoth/dead_letter_store"
27
30
  require_relative "mammoth/delivered_envelope_store"
31
+ require_relative "mammoth/delivery_progress_coordinator"
28
32
  require_relative "mammoth/event_serializer"
29
33
  require_relative "mammoth/transaction_envelope_serializer"
30
34
  require_relative "mammoth/persisted_payload_deserializer"
@@ -54,7 +58,7 @@ require_relative "mammoth/cli"
54
58
 
55
59
  # Mammoth is a self-hosted PostgreSQL event relay.
56
60
  #
57
- # Mammoth 0.8.x is a single-node PostgreSQL CDC relay with webhook fanout,
61
+ # Mammoth 1.x is a single-node PostgreSQL CDC relay with webhook fanout,
58
62
  # replayable operational SQLite state, health/metrics endpoints, and explicit
59
63
  # extension contracts for state, destination, runtime, lifecycle, configuration,
60
64
  # and local command integrations.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mammoth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken C. Demanawa
@@ -51,34 +51,54 @@ dependencies:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '6.2'
54
+ - !ruby/object:Gem::Dependency
55
+ name: pg
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.6'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.6'
54
68
  - !ruby/object:Gem::Dependency
55
69
  name: pgoutput-client
56
70
  requirement: !ruby/object:Gem::Requirement
57
71
  requirements:
58
72
  - - "~>"
59
73
  - !ruby/object:Gem::Version
60
- version: '0.2'
74
+ version: '0.4'
61
75
  type: :runtime
62
76
  prerelease: false
63
77
  version_requirements: !ruby/object:Gem::Requirement
64
78
  requirements:
65
79
  - - "~>"
66
80
  - !ruby/object:Gem::Version
67
- version: '0.2'
81
+ version: '0.4'
68
82
  - !ruby/object:Gem::Dependency
69
83
  name: pgoutput-decoder
70
84
  requirement: !ruby/object:Gem::Requirement
71
85
  requirements:
72
86
  - - "~>"
73
87
  - !ruby/object:Gem::Version
74
- version: '0.1'
88
+ version: '0.2'
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: 0.2.0
75
92
  type: :runtime
76
93
  prerelease: false
77
94
  version_requirements: !ruby/object:Gem::Requirement
78
95
  requirements:
79
96
  - - "~>"
80
97
  - !ruby/object:Gem::Version
81
- version: '0.1'
98
+ version: '0.2'
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: 0.2.0
82
102
  - !ruby/object:Gem::Dependency
83
103
  name: pgoutput-parser
84
104
  requirement: !ruby/object:Gem::Requirement
@@ -99,20 +119,20 @@ dependencies:
99
119
  requirements:
100
120
  - - "~>"
101
121
  - !ruby/object:Gem::Version
102
- version: '0.2'
122
+ version: '0.3'
103
123
  - - ">="
104
124
  - !ruby/object:Gem::Version
105
- version: 0.2.0
125
+ version: 0.3.1
106
126
  type: :runtime
107
127
  prerelease: false
108
128
  version_requirements: !ruby/object:Gem::Requirement
109
129
  requirements:
110
130
  - - "~>"
111
131
  - !ruby/object:Gem::Version
112
- version: '0.2'
132
+ version: '0.3'
113
133
  - - ">="
114
134
  - !ruby/object:Gem::Version
115
- version: 0.2.0
135
+ version: 0.3.1
116
136
  - !ruby/object:Gem::Dependency
117
137
  name: sqlite3
118
138
  requirement: !ruby/object:Gem::Requirement
@@ -181,6 +201,7 @@ files:
181
201
  - lib/mammoth/dead_letter_store.rb
182
202
  - lib/mammoth/delivered_envelope_store.rb
183
203
  - lib/mammoth/delivery_processor.rb
204
+ - lib/mammoth/delivery_progress_coordinator.rb
184
205
  - lib/mammoth/delivery_worker.rb
185
206
  - lib/mammoth/destinations/adapter.rb
186
207
  - lib/mammoth/destinations/registry.rb
@@ -199,6 +220,7 @@ files:
199
220
  - lib/mammoth/operational_state/registry.rb
200
221
  - lib/mammoth/operational_state/sqlite_adapter.rb
201
222
  - lib/mammoth/persisted_payload_deserializer.rb
223
+ - lib/mammoth/postgres_observability_metrics.rb
202
224
  - lib/mammoth/registry.rb
203
225
  - lib/mammoth/replication_consumer.rb
204
226
  - lib/mammoth/route_filter.rb
@@ -208,6 +230,8 @@ files:
208
230
  - lib/mammoth/runtimes/inline_adapter.rb
209
231
  - lib/mammoth/runtimes/registry.rb
210
232
  - lib/mammoth/sources/postgres.rb
233
+ - lib/mammoth/sources/postgres_publication_inspector.rb
234
+ - lib/mammoth/sources/postgres_slot_health.rb
211
235
  - lib/mammoth/sql/__bootstrap__.sql
212
236
  - lib/mammoth/sqlite_store.rb
213
237
  - lib/mammoth/status.rb