Chris Beck
80ed6c2205
add doc-string for remove-path-prefixes
2025-12-16 12:02:38 -07:00
Chris Beck
498e7c7c1e
refactor path prefix handling, normalize log paths at ingestion time not at formatting time
2025-12-16 02:06:40 -07:00
Chris Beck
a5083c167c
refactor path prefix code for simplicity, add tests, cargo fmt
2025-12-16 01:07:47 -07:00
Chris Beck
9a449a7e0a
move http stuff to submodule in signal-gateway-bin
2025-12-15 15:52:09 -07:00
Chris Beck
e37bc1a986
move http body guts out to signal-gateway-bin
...
this is a cleaner separation of concerns
2025-12-15 15:31:37 -07:00
Chris Beck
ceb988dc07
abstract the claude module out of the signal-gateway and put interface and ipml in their own crates
2025-12-14 11:22:28 -07:00
Chris Beck
2682ee8ee6
split out log-ingest modules to their own crate
2025-12-13 21:40:30 -07:00
Chris Beck
51657dbd38
cargo fmt, allow rate-limiting requests to claude
2025-12-13 21:02:17 -07:00
Chris Beck
f3729ddea9
update code comment
2025-12-12 17:02:16 -07:00
Chris Beck
b0496fbc9a
integrat the app-code plugin to the signal-gateway-bin
2025-12-09 11:43:25 -07:00
Chris Beck
775c66b287
use builder pattern with gateway
2025-12-09 09:38:23 -07:00
Chris Beck
9c7275ed79
simplify configuration, no more subcommands
2025-12-08 18:59:22 -07:00
Chris Beck
996ed1ed0f
add and use command-router to simplify the way signal-gateway processes admin commands
2025-12-08 18:39:11 -07:00
Chris Beck
739075f2e2
make Gateway::new return Arc::Self
2025-12-07 16:06:52 -07:00
Chris Beck
35f8ff766d
stronger parsing for signal trust set
2025-12-06 23:16:23 -07:00
Chris Beck
c2ad134393
add support for toml file parsing, tweak some configuration names
2025-12-06 22:53:08 -07:00
Chris Beck
df1616daeb
fix code position
2025-12-06 21:11:07 -07:00
Chris Beck
0bc1329fcf
fixups after deployment
2025-12-06 21:03:48 -07:00
Chris Beck
0cca1f8da3
remove admin-netcat thing
2025-12-06 20:43:49 -07:00
Chris Beck
7791af162c
cargo fmt, fix limiter set evaluate semantics
2025-12-06 19:24:39 -07:00
Chris Beck
b0d1c1bd92
refactor signal trust set API
2025-12-06 10:21:11 -07:00
Chris Beck
6ed38cb1fd
refactor admin_signal_uuids container
2025-12-06 10:09:54 -07:00
Chris Beck
5779edb610
rename admin safety numbers to admin_signal_uuids
2025-12-06 09:57:40 -07:00
Chris Beck
ac6beaf8e4
add conf-test on top-level config
2025-12-06 09:52:55 -07:00
Chris Beck
64bc606201
enable conf serde and test the toml format with our current schema
2025-12-06 03:26:30 -07:00
Chris Beck
d2d9754df0
commit a rustfmt toml and merge imports
2025-12-05 23:22:16 -07:00
Chris Beck
7a163f3962
rename verified signal message to admin message, reformat
2025-12-05 22:07:22 -07:00
Chris Beck
35b274bbd3
clippy
2025-12-05 19:42:30 -07:00
Chris Beck
f899d391b9
introduce log_buffer type to cleanup concurrency & correctness
...
also cargo fmt
2025-12-05 19:40:33 -07:00
Chris Beck
a214b8e474
introduce and use new route framework
...
in this change:
* new "concurrent map" API using RwLock<HashMap> optimized for
frequent reads.
* we no longer have a concurrent map of log handlers, we instead
have a log handler containing a concurrent map from origins to
circular buffers
* we have a general concept of a "Limit" now which replaces AlertRule
* A route consists of a filter, plus any number of limits, which
can be per-origin limits or global limits
* The set of routes is disjunctive, while the filters and limits are conjunctive
* Limits can also apply per source location
* Different types of rate limiters are unified under the "Limiter"
abstraction
* The log handler also has a set of overall limiters that can be applied
at the end
* This means we can relatively easily express disjunctions of conjunctions
I think the route structure will also be relatively easy to express in toml
2025-12-05 19:10:37 -07:00
Chris Beck
ffa1246e51
listen on udp and tcp for json logs as well
2025-12-05 15:12:20 -07:00
Chris Beck
a42aad48f4
also allow json logs to be sent over a TCP stream, with multiple messages using json_lines ofrmat for framing
2025-12-05 14:49:21 -07:00
Chris Beck
0a5023ce6b
fixup to syslog parsing around EOF handling, add tests
2025-12-05 14:31:02 -07:00
Chris Beck
e5a18b0630
fix to eof handling on non-transparent message
2025-12-05 14:13:49 -07:00
Chris Beck
914a9910c2
support syslog over TCP as well
2025-12-05 12:45:41 -07:00
Chris Beck
a7cd3bdcde
move Logfilter to the Logmessage module, change MessageHandler to a proper trait
2025-12-05 11:20:58 -07:00
Chris Beck
82ed77a098
add support for udp over json logging
2025-12-05 10:18:39 -07:00
Chris Beck
8bd2e6ab68
add admin_http post forwarding
2025-12-05 09:59:04 -07:00
Chris Beck
1a070011e3
clippy
2025-12-05 09:37:40 -07:00
Chris Beck
79dd9de3d4
simplify message handler types
2025-12-05 03:54:06 -07:00
Chris Beck
ef1b5ed4ca
move all "admin_netcat" stuff to a new admin_netcat module in the gateway-bin, not in the gateway lib
2025-12-05 03:45:50 -07:00
Chris Beck
eee48100c1
move syslog stuff to a submoudle of signal-gateway-bin and make it optional
2025-12-05 03:13:42 -07:00
Chris Beck
ee436b69db
break syslog-rfc5424 dependency in signal-gateway, now it's only in the bin
2025-12-05 02:59:01 -07:00
Chris Beck
3d748572d4
move signal-gateway binary to its own crate, simplify deps
2025-12-05 01:01:39 -07:00