angarium 0.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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +65 -0
- data/MIT-LICENSE +22 -0
- data/README.md +910 -0
- data/Rakefile +13 -0
- data/SECURITY.md +51 -0
- data/app/assets/config/angarium_manifest.js +1 -0
- data/app/assets/stylesheets/angarium/application.css +15 -0
- data/app/controllers/angarium/api/attempts_controller.rb +12 -0
- data/app/controllers/angarium/api/base_controller.rb +133 -0
- data/app/controllers/angarium/api/deliveries_controller.rb +29 -0
- data/app/controllers/angarium/api/endpoints_controller.rb +117 -0
- data/app/controllers/angarium/api/not_authorized.rb +7 -0
- data/app/controllers/angarium/api/unpermitted_parameter.rb +15 -0
- data/app/helpers/angarium/application_helper.rb +4 -0
- data/app/jobs/angarium/application_job.rb +5 -0
- data/app/jobs/angarium/deliver_job.rb +11 -0
- data/app/models/angarium/application_record.rb +17 -0
- data/app/models/angarium/delivery.rb +254 -0
- data/app/models/angarium/delivery_attempt.rb +14 -0
- data/app/models/angarium/endpoint.rb +217 -0
- data/app/models/angarium/event.rb +7 -0
- data/app/policies/angarium/api/policy.rb +78 -0
- data/app/validators/angarium/endpoint_url_validator.rb +20 -0
- data/app/views/layouts/angarium/application.html.erb +15 -0
- data/config/routes.rb +22 -0
- data/db/angarium_migrate/20260704000001_create_angarium_endpoints.rb +22 -0
- data/db/angarium_migrate/20260704000002_create_angarium_events.rb +9 -0
- data/db/angarium_migrate/20260704000003_create_angarium_deliveries.rb +13 -0
- data/db/angarium_migrate/20260704000004_create_angarium_delivery_attempts.rb +12 -0
- data/lib/angarium/address_policy.rb +82 -0
- data/lib/angarium/client.rb +53 -0
- data/lib/angarium/configuration.rb +66 -0
- data/lib/angarium/dispatch.rb +23 -0
- data/lib/angarium/engine.rb +5 -0
- data/lib/angarium/event_matcher.rb +17 -0
- data/lib/angarium/signature.rb +57 -0
- data/lib/angarium/version.rb +3 -0
- data/lib/angarium.rb +44 -0
- data/lib/generators/angarium/install/install_generator.rb +57 -0
- data/lib/generators/angarium/install/templates/initializer.rb +77 -0
- data/lib/generators/angarium/migrations/migrations_generator.rb +39 -0
- data/lib/generators/angarium/policy/policy_generator.rb +40 -0
- data/lib/generators/angarium/policy/templates/policy.rb +33 -0
- data/lib/tasks/angarium_tasks.rake +15 -0
- metadata +137 -0
metadata
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: angarium
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- TheDumbTechGuy
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2026-07-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rails
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '7.1'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '9'
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '7.1'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '9'
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: httpx
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '1.0'
|
|
40
|
+
type: :runtime
|
|
41
|
+
prerelease: false
|
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '1.0'
|
|
47
|
+
description: 'The moment "just POST from a background job" ships to production, the
|
|
48
|
+
gaps start showing: your customers need signatures they can verify, failed deliveries
|
|
49
|
+
need to back off and retry for hours, secrets need to rotate without downtime, an
|
|
50
|
+
endpoint URL shouldn''t be able to reach your internal network, and sooner or later
|
|
51
|
+
someone asks "did we actually send it?". Angarium is a Rails engine that handles
|
|
52
|
+
all of it, and signs to the Standard Webhooks spec, so your receivers verify with
|
|
53
|
+
off-the-shelf libraries in any language and you never write verification docs of
|
|
54
|
+
your own. That conformance is enforced in CI: any drift from the spec fails the
|
|
55
|
+
build.'
|
|
56
|
+
email:
|
|
57
|
+
- sfroelich01@gmail.com
|
|
58
|
+
executables: []
|
|
59
|
+
extensions: []
|
|
60
|
+
extra_rdoc_files: []
|
|
61
|
+
files:
|
|
62
|
+
- CHANGELOG.md
|
|
63
|
+
- MIT-LICENSE
|
|
64
|
+
- README.md
|
|
65
|
+
- Rakefile
|
|
66
|
+
- SECURITY.md
|
|
67
|
+
- app/assets/config/angarium_manifest.js
|
|
68
|
+
- app/assets/stylesheets/angarium/application.css
|
|
69
|
+
- app/controllers/angarium/api/attempts_controller.rb
|
|
70
|
+
- app/controllers/angarium/api/base_controller.rb
|
|
71
|
+
- app/controllers/angarium/api/deliveries_controller.rb
|
|
72
|
+
- app/controllers/angarium/api/endpoints_controller.rb
|
|
73
|
+
- app/controllers/angarium/api/not_authorized.rb
|
|
74
|
+
- app/controllers/angarium/api/unpermitted_parameter.rb
|
|
75
|
+
- app/helpers/angarium/application_helper.rb
|
|
76
|
+
- app/jobs/angarium/application_job.rb
|
|
77
|
+
- app/jobs/angarium/deliver_job.rb
|
|
78
|
+
- app/models/angarium/application_record.rb
|
|
79
|
+
- app/models/angarium/delivery.rb
|
|
80
|
+
- app/models/angarium/delivery_attempt.rb
|
|
81
|
+
- app/models/angarium/endpoint.rb
|
|
82
|
+
- app/models/angarium/event.rb
|
|
83
|
+
- app/policies/angarium/api/policy.rb
|
|
84
|
+
- app/validators/angarium/endpoint_url_validator.rb
|
|
85
|
+
- app/views/layouts/angarium/application.html.erb
|
|
86
|
+
- config/routes.rb
|
|
87
|
+
- db/angarium_migrate/20260704000001_create_angarium_endpoints.rb
|
|
88
|
+
- db/angarium_migrate/20260704000002_create_angarium_events.rb
|
|
89
|
+
- db/angarium_migrate/20260704000003_create_angarium_deliveries.rb
|
|
90
|
+
- db/angarium_migrate/20260704000004_create_angarium_delivery_attempts.rb
|
|
91
|
+
- lib/angarium.rb
|
|
92
|
+
- lib/angarium/address_policy.rb
|
|
93
|
+
- lib/angarium/client.rb
|
|
94
|
+
- lib/angarium/configuration.rb
|
|
95
|
+
- lib/angarium/dispatch.rb
|
|
96
|
+
- lib/angarium/engine.rb
|
|
97
|
+
- lib/angarium/event_matcher.rb
|
|
98
|
+
- lib/angarium/signature.rb
|
|
99
|
+
- lib/angarium/version.rb
|
|
100
|
+
- lib/generators/angarium/install/install_generator.rb
|
|
101
|
+
- lib/generators/angarium/install/templates/initializer.rb
|
|
102
|
+
- lib/generators/angarium/migrations/migrations_generator.rb
|
|
103
|
+
- lib/generators/angarium/policy/policy_generator.rb
|
|
104
|
+
- lib/generators/angarium/policy/templates/policy.rb
|
|
105
|
+
- lib/tasks/angarium_tasks.rake
|
|
106
|
+
homepage: https://github.com/radioactive-labs/angarium
|
|
107
|
+
licenses:
|
|
108
|
+
- MIT
|
|
109
|
+
metadata:
|
|
110
|
+
allowed_push_host: https://rubygems.org
|
|
111
|
+
source_code_uri: https://github.com/radioactive-labs/angarium
|
|
112
|
+
changelog_uri: https://github.com/radioactive-labs/angarium/blob/main/CHANGELOG.md
|
|
113
|
+
bug_tracker_uri: https://github.com/radioactive-labs/angarium/issues
|
|
114
|
+
documentation_uri: https://github.com/radioactive-labs/angarium#readme
|
|
115
|
+
rubygems_mfa_required: 'true'
|
|
116
|
+
post_install_message:
|
|
117
|
+
rdoc_options: []
|
|
118
|
+
require_paths:
|
|
119
|
+
- lib
|
|
120
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '3.2'
|
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
|
+
requirements:
|
|
127
|
+
- - ">="
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
version: '0'
|
|
130
|
+
requirements: []
|
|
131
|
+
rubygems_version: 3.5.16
|
|
132
|
+
signing_key:
|
|
133
|
+
specification_version: 4
|
|
134
|
+
summary: Outbound webhooks for Rails — Standard Webhooks signing, retries with backoff,
|
|
135
|
+
secret rotation, SSRF protection, and a log of every attempt. Everything the hand-rolled
|
|
136
|
+
version is missing.
|
|
137
|
+
test_files: []
|