Commit Graph
617 Commits
Author SHA1 Message Date
Mike Hillyer b4a149a5f3 Add samples for webhooks to the example config, update webhooks docs page with helper info. 2023-11-14 18:18:47 -05:00
Mike Hillyer 4d86392add Update example config and page on queue management to reflect the queue helper. 2023-11-14 16:47:54 -05:00
Wez Furlong 10537080f3 docs: changelog for #94 2023-11-13 09:36:46 -07:00
Wez Furlong a03fcb2bf1 docs: fix sqlite auth example 2023-11-10 07:01:58 -07:00
Wez Furlong 38179d59c4 docs: fix some broken links 2023-11-06 08:14:11 -07:00
Wez Furlong c1c4ce723e add pre_init event 2023-11-06 08:10:53 -07:00
Wez Furlong 1872dc71a0 shaping: calling shaper.should_enqueue_log_record is no longer required
Allow multiple should_enqueue_log_record hooks to be registered,
and take advantage of that inside the shaping helper.

`shaper.should_enqueue_log_record` no longer needs to be explicitly
plumbed from the config, but we allow calling it still for compatibility
reasons.

We will remove that compatibility after the next stable release.
2023-11-03 08:52:40 -07:00
Wez Furlong 3d7007825a shaping: calling shaper.get_queue_config is no longer required
Take advantage of the ability to define multiple get_queue_config
callbacks by internalizing the TSA webhook queue configuration.

`shaper.get_queue_config` no longer needs to be called, and
that fragment of code will continue to "work" by simply not
having an effect so that we don't break folks on upgrade.

We'll remove this compatibility in the release following
the next stable release.
2023-11-02 18:11:17 -07:00
Wez Furlong 929d51deba events: plumbing for registering multiple handlers
Previously, we'd restrict `kumo.on` to allowing just a single
instance of an event to be registered. The purpose of this was
to help surface logical errors where copypasta would result in
a bogus configuration.

With multiple helper lua modules now wanting to take responsibility
for some portion of the event handling, it is becoming more complex
to stitch things together.

It is desirable to allow multiple handlers for certain events,
so that a module can handle just its area of responsibility
without worry other modules about it.

This commit introduces a CallbackSignature type that allows
defining the function signature for event callbacks.

The signature can be pre-created and registered ahead of setting
up any lua contexts, which allows declaring whether an event
can have multiple callbacks registered.

The `get_queue_config` event handler has been set to allow multiple
callbacks.
2023-11-02 18:11:17 -07:00
Tom Mairs f630cbaf09 comments to rebuild after an update 2023-11-02 23:08:53 +00:00
Wez Furlong e176920f74 docs: changelog for #91 2023-11-02 08:35:19 -07:00
Wez Furlong ffc15f2f74 docs: smtp_client_rewrite_delivery_status: see also memoize 2023-11-01 13:45:05 -07:00
Wez Furlong 10bade362b docs: add version info to rewrite and regex set map 2023-11-01 13:41:34 -07:00
Wez Furlong 343411c3d2 Add event for rewriting a failed smtp response
This will only trigger for messages where we've gotten to MAIL FROM or
later, and where we got a non-250 response.

The event is passed the response + the domain, tenant, campaign and
routing domain.  It can return an alternative response code value
or `null` to indicate no change.
2023-11-01 13:25:15 -07:00
Wez Furlong 8942ef7f86 Add regex_set_map type
This is useful for efficiently matching a string simultaneously against
multiple regular expressions.

The motivating use case is to use it together with the
smtp_client_rewrite_delivery_status event.
2023-11-01 12:52:39 -07:00
Wez Furlong 8cbc60410d docs: update for dane 2023-10-26 17:03:00 -07:00
Wez Furlong 903189d873 add tls info to Delivery log records
refs: https://github.com/KumoCorp/kumomta/issues/39
refs: https://github.com/KumoCorp/kumomta/issues/8
2023-10-26 17:03:00 -07:00
Wez Furlong f3241dc3c7 docs: fix typo 2023-10-26 17:03:00 -07:00
Mike Hillyer ff0869c162 Update TSA page in User Guide to show the use of extra_files 2023-10-26 11:22:16 -04:00
Wez Furlong fb2cdff808 docs: refine from-source info
Minimize the rust install section to just what is necessary.
Show where the rpms and debs get built, and how to install them.
2023-10-24 13:19:03 -07:00
Wez Furlong 8efd4d5127 docs: clarify install-from-source docs
Avoid referencing implementation details that we may change
(install.sh).

Document what goes where with a bit of explanation.

Remove examples that show launching `kumod &` as we do not recommend
running the service in the background without some kind of supervision
(such as systemd).  Instead, show how how to run the process and leave
it to the reader to decide how they with to deploy it in their
environment.

closes: https://github.com/KumoCorp/kumomta/issues/72
2023-10-24 11:22:00 -07:00
Wez Furlong bec4bc1445 generate-toc.py: format 2023-10-24 11:19:55 -07:00
Tom Mairs 0b36fe4788 Add background/foreground instruction 2023-10-24 00:08:17 +00:00
Tom Mairs 201dee47ac Add instructions to run from sbin 2023-10-24 00:05:36 +00:00
Tom Mairs 7e57b009c1 Fix for console type 2023-10-23 23:45:44 +00:00
Tom Mairs adf3acb9b7 Fix doc highlight type 2023-10-23 23:20:23 +00:00
Tom Mairs 065120c19a add install.sh back in 2023-10-23 23:10:55 +00:00
Tom Mairs bac319829c update with sudo 2023-10-23 17:14:26 +00:00
Mike Hillyer d9dd7ddea7 Change console example to match lua example. 2023-10-20 10:00:59 -04:00
Mike Hillyer 72d93f212d Update troubleshooting page based on Wez's feedback. 2023-10-20 09:34:42 -04:00
Mike Hillyer c8dd0e3f93 Fix path of link to troubleshooting page. 2023-10-19 22:45:47 -04:00
Mike Hillyer a8ae27fffb Add crossreference to troubleshooting page to the starting KumoMTA page. 2023-10-19 22:36:55 -04:00
Mike Hillyer 13fb1b5f0c Typo 2023-10-19 22:33:51 -04:00
Mike Hillyer d433bea3f1 Add troubleshooting page, add cross-reference from Tutorial, remove orphaned integration pages from Tutorial directory. 2023-10-19 22:22:33 -04:00
Mike Hillyer 141beb60f6 Link fix. 2023-10-18 23:16:12 -04:00
Tom Mairs 5909da616a update TOS 2023-10-18 22:29:33 +00:00
Tom Mairs 2e453b8714 fix typo in yaml file 2023-10-18 22:26:38 +00:00
Tom Mairs cf5e815c6b fix metrics targets 2023-10-18 22:20:01 +00:00
Tom Mairs f93f6d7f30 Add files via upload 2023-10-18 16:18:56 -06:00
Tom Mairs bdb43f1e53 add Prometheus integration first draft 2023-10-18 17:15:21 +00:00
Wez Furlong 39a046e07c docs: add missing routing_domain param to get_queue_config event examples 2023-10-18 06:56:01 -07:00
Wez Furlong 44b14f4087 docs: format generate-toc.py 2023-10-18 06:32:11 -07:00
Tom Mairs 9a4fc06726 fix numbering again 2023-10-17 19:45:26 +00:00
Tom Mairs b1b2ae0c4a fix numbering 2023-10-17 19:37:19 +00:00
Tom Mairs d2614fd274 Update TOC 2023-10-17 19:27:41 +00:00
Tom Mairs 3bb6e97d0d Add Integrations section and Ongage Instructions 2023-10-17 19:21:39 +00:00
Tom Mairs 876496f997 Add files via upload 2023-10-17 13:20:28 -06:00
Tom Mairs 748752ae18 Add Ongage sample 2023-10-17 17:59:34 +00:00
Tom Mairs 2ead4427c0 Add files via upload 2023-10-17 11:11:36 -06:00
Wez Furlong 32f8060ecc docs: logging: flush after 10s, clarify in quickstart and tutorial
New users trip over the very conservative defaults on log flushing,
so let's make the `init.lua` that we populate for new installs
set the duration to 10 seconds by default, and adjust the language
in the docs to match that.

Clarify the logging documentation about how the logs are
chunked/flushed.
2023-10-12 21:27:39 -04:00