Commit Graph
1030 Commits
Author SHA1 Message Date
Wez Furlong 6e238f930d ci: add lsb-release for hashicorp vault on ubuntu 2023-08-01 14:46:38 -07:00
Wez Furlong f4f1172b56 vault: add to CI so we can run tests 2023-08-01 14:41:28 -07:00
Wez Furlong d33c64b9b0 vault: add integration test and fixup data loading
I think something got screwed up somewhere, because I'm sure this
used to work, but: the value wasn't being parsed out of the loaded
data.

Add an integration test to assert that we can load things.

This test may need some auto-detection to run successfully on CI.
Let's see what happens.
2023-08-01 13:58:50 -07:00
Wez Furlong 16ea223ae8 tsa: basic rule matching
This is plumbing to perform rule matching.
It doesn't do anything useful with matches yet.
2023-08-01 13:58:50 -07:00
Wez Furlong 0565daf790 tsa: load shaping data on startup 2023-08-01 10:12:43 -07:00
Wez Furlong b8721831c2 packaging: add new binaries to rpm 2023-08-01 08:13:14 -07:00
Wez Furlong 25dfc798c3 nodeid: allow for missing kumo etc dir when running tests 2023-08-01 08:03:22 -07:00
Wez Furlong 907d724f01 listener_domains: cache compiled domain_maps
Make use of our new ability to memoize the compiled domain map
so that we can avoid rebuilding it on each lua hook invocation.

This should improve performance for sites with large numbers of
listener domains.
2023-07-31 16:57:16 -07:00
Wez Furlong 0e39fe35ff domain-map: allow use with memoize
This allows us to avoid rebuilding the map on each message reception
when using the dkim helpers, which should improve the performance
for sites with large numbers of signing domains.
2023-07-31 16:57:16 -07:00
Wez Furlong 45e1564459 shaping: use the rust parser in shaping.lua 2023-07-31 16:57:15 -07:00
Wez Furlong 4869307b89 shaping: allow memoize to work with Shaping struct 2023-07-31 16:57:15 -07:00
Wez Furlong 06e530f843 memoize: allow rust types to be memoized
They need to opt-in to that behavior, but that should be a one-liner.
2023-07-31 16:57:15 -07:00
Wez Furlong 9b3753fdb9 memoize: add tests, refactor storage type
This is a step towards allowing native rust data types to be
memoized.  The cached values can now conceptually store other
data than just json, although we still only store json.
2023-07-31 16:57:15 -07:00
Wez Furlong e4ca23f01e shaping: add rust merge/eval for get_egress_path_config
The intent is to allow this to be used from shaping.lua,
but a little more plumbing is needed before we can call it
from there.

Added some tests to sanity check that the data looks right.
2023-07-31 16:57:15 -07:00
Wez Furlong 53fd3c5f3c add rust parser for shaping.toml
This moves things around a bit so that we can parse the shaping.toml
data from rust, and expands it to add automation entries per-domain.

A new tool `validate-shaping` can now be used to validate the
shaping configuration independently of starting the server and
injecting mail.
2023-07-31 16:57:15 -07:00
Wez Furlong 270c72cd83 tsa-daemon can now ingest log records
Using the init_with_tsa.lua policy for kumod, together with
tsa_init.lua as the policy for tsa-daemon, logs from kumod
are now sent to tsa-daemon.

It doesn't do anything with them yet.
2023-07-31 16:57:15 -07:00
Wez Furlong b00d8a44db shaping: more prep for automation 2023-07-31 16:57:15 -07:00
Wez Furlong d2d6965d11 shaping: refactor in preparation for automation
Introduce a setup_with_automation entrypoint that will accept
a richer parameter struct to specify the shaping automation
daemon(s) to which to push logs and from which we will pull
configuration.

This is just a refactor: none of that stuff is done yet.
2023-07-31 16:57:15 -07:00
Wez Furlong e68028db9d micro optimize getting the node uuid
Avoid cloning the optional nodeid write error string in the hotter part
of logging.
2023-07-31 16:57:14 -07:00
Wez Furlong 87e0578a33 logging: add nodeid to the log record 2023-07-31 16:57:14 -07:00
Wez Furlong 0a528efa5b Add node id concept 2023-07-31 16:57:14 -07:00
Wez Furlong 5c37bd2f5c refactor: move http_server guts to server-common 2023-07-31 16:57:14 -07:00
Mike Hillyer bd0f0aaa5f Fix HTTP send example. 2023-07-27 11:32:38 -04:00
Tom Mairs b8d49634f6 modify manual cargo run command 2023-07-25 20:55:04 +00:00
Tom Mairs f475e049c8 modify manual cargo run command 2023-07-25 20:40:56 +00:00
Tom Mairs d6749954a4 update for debian/ubuntu 2023-07-25 20:35:40 +00:00
Tom Mairs 4fb8e81b9d add Mariner to OS list 2023-07-24 21:39:51 +00:00
Tom Mairs 20cb81c818 update source install instructions 2023-07-24 21:34:15 +00:00
Tom Mairs 6d923c26ea remove sudo instruction 2023-07-24 17:38:27 +00:00
Wez Furlong d4ae999ac9 ci: Mariner, attempt 2 2023-07-22 12:53:36 -07:00
Wez Furlong f3ab16c2bf ci: add Mariner, attempt 1 2023-07-22 12:51:30 -07:00
Wez Furlong d20c572dfd get-deps: add support for Mariner aka Azure Linux
https://mcr.microsoft.com/en-us/product/cbl-mariner/base/core/about
is a difficult to find page that shows how to run Mariner in a docker
container
2023-07-22 12:51:30 -07:00
Wez Furlong 8c56503e0d tsa: reuse the server-common stuff for main 2023-07-22 12:51:30 -07:00
Wez Furlong 1d368cfd20 cargo update 2023-07-22 12:51:30 -07:00
Tom Mairs 03e87122bf fix install instruction 2023-07-21 22:59:11 +00:00
Wez Furlong c96a4dd10e refactor: move startup/lifecycle to server-common 2023-07-20 13:18:38 -07:00
Wez Furlong 40cbc2348d refactor: move tls_helpers to server-common 2023-07-20 13:18:38 -07:00
Wez Furlong d473204d81 refactor: move diag logging init to server-common 2023-07-20 13:18:38 -07:00
Wez Furlong c7ce470a63 refactor: move most lua registration to server-common 2023-07-20 13:18:38 -07:00
Wez Furlong ca14d0a49f refactor: move mod_kumo logging functions 2023-07-20 13:18:38 -07:00
Wez Furlong 6629c980ba refactor: move mod_kumo kumo.define_spool into the spool module 2023-07-20 13:18:38 -07:00
Wez Furlong 407bf09244 refactor: break out lifecycle 2023-07-20 13:18:38 -07:00
Wez Furlong 78736f779b refactor: move jemalloc setup to memory crate 2023-07-20 13:18:38 -07:00
Wez Furlong f08e674b5f refactor: runtime -> kumo-server-runtime 2023-07-20 13:18:37 -07:00
Wez Furlong 65f265044b refactor: starting breaking out some core modules as crates
The intent is to use these with the traffic shaping automation
component.
2023-07-20 13:18:37 -07:00
Wez Furlong da7e569aa4 WIP: tsa 2023-07-20 13:18:37 -07:00
Wez Furlong 61b84099f0 deps: update bitflags 2023-07-20 13:18:33 -07:00
Wez Furlong 9616ffd8cf cargo update 2023-07-20 13:18:33 -07:00
Tom Mairs ec69706b41 fix blog link 2023-07-20 16:33:58 +00:00
Tom Mairs 622d128a46 fix image link 2023-07-20 16:26:03 +00:00