Commit Graph

375 Commits

Author SHA1 Message Date
Wez Furlong f210a95e37 dkim helper: fixup vault usage
Appending `.key` to the implicit vault path doesn't make a lot
of sense.

Removing extraneous slash from example in the docs.
2025-02-13 14:42:16 -07:00
Ryan Bonnell 9a19328f32 Fix mispelling in comment 2025-02-11 19:32:01 -07:00
Ryan Bonnell 9f71496d3e Omit duplicate character in sentence 2025-02-10 15:35:26 -07:00
Mike Hillyer fdcc027a47 Add references to the Docker examples to the relevant User Guide pages. 2025-02-10 09:48:37 -05:00
Ryan Bonnell 3134722537 Fix misspelling 2025-02-06 16:48:55 -07:00
Ryan Bonnell 6e39c91295 Edit words 2025-02-06 13:58:49 -07:00
Ryan Bonnell 8372c9d733 Remove errant backtick from sample code block 2025-02-06 13:58:12 -07:00
Ryan Bonnell 97eb27c62e Improve code formatting and update grammar (#333)
* Add code formatting for readability

* Update verb tense
2025-02-05 13:06:02 -07:00
Ryan Bonnell ebb34dec7b Add missing space in sentence 2025-02-05 11:22:35 -07:00
Wez Furlong 01c52eef03 docs: update for 2025.01.23-7273d2bc release 2025-01-23 13:49:35 -07:00
Mike Hillyer a1c82b3618 Add resolve-shaping-domain to the Userguide and FAQ. 2024-12-20 16:19:32 -05:00
Wez Furlong 44eacf1807 providers: add HostName to enable exactly matching MX hostnames 2024-12-16 14:09:01 -07:00
Mike Hillyer 77832e81a6 Typo 2024-12-12 13:59:35 -05:00
Mike Hillyer 415b1736ed Add a note about throttles and webhooks. 2024-12-05 14:45:52 -05:00
Wez Furlong cf911c4067 docs: update dev -> 2024.11.08-d383b033 2024-11-12 12:25:53 -07:00
Wez Furlong d383b033cf docs: add a refman section for template syntax 2024-11-08 10:37:08 -07:00
Mike Hillyer 6f154f6f3c Add information on trace-smtp-client to the kcli page of the User Guide. 2024-11-07 16:29:16 -05:00
Mike Hillyer 77429c9e32 Add queue throttling to the queues page. 2024-11-05 17:21:35 -05:00
Mike Hillyer eab7955b7a Whoops, all validate mentions. 2024-10-31 12:58:13 -04:00
Mike Hillyer c22069cf1e Add mention to validate policy to the troubleshooting guide. 2024-10-31 12:06:13 -04:00
Mike Hillyer 39df663cd4 Add links, fix linter complaints. 2024-10-25 13:06:49 -04:00
Wez Furlong 1166fd158d add a security considerations section to the docs 2024-10-25 09:07:47 -07:00
Laurent Marchaud 6142808730 fix a few typos in the docs
Signed-off-by: Laurent Marchaud <laurent@marchaud.com>
2024-10-24 12:10:53 -04:00
Mike Hillyer 46a1462371 Fix indentation on troubleshooting page. 2024-10-16 12:20:30 -04:00
Wez Furlong 5e1ae20497 Add batching support for log hooks
This really is adding batching support to custom lua delivery
protocol handlers, but the main use case for these today is
to implement log hooks.

The way that it works is that you can specify a `batch_size`
as part of setting up the lua protocol handler.

Then, when it is time to send messages, if the batch_size is
the default of 1, the lua delivery logic will invoke the `send` method
on the connection object returned from the constructor.  This
is the same as the behavior from before this commit.

However, if the batch_size is greater than 1, then the lua delivery
logic will instead attempt to collect up to batch_size messages
that are immediately available from the ready queue, and then pass
those to a new `send_batch` method.

The send_batch method accepts an array of messages; that array will
always have at least one message, and up to batch_size messages,
depending on the throughput and queue size.

If the send_batch method's return value applies equally to all
messages in the batch, so if it indicates that something failed,
that disposition will apply to all messages.

One of the reasons that I'd avoided implementing batching thus far
was that it makes it awkward to resolve persistent/recurring issues
that are due to a single message in that batch.  If the batch is
always retried together then there is a good chance that it will
always fail together.

There's no explicit mitigation for that issue here, but it may
be probablistically mitigated by the jitter that is applied to
messages that transiently fail.  If a batch transiently fails,
each message in that batch will be subject to its own random
jitter which should cause an offending message to be retried
with a different subset of messages next time around.

The integration test included here demonstrates the batching
working with an http log hook implementation.
2024-09-16 18:14:25 -07:00
Mike Hillyer 4b26431879 Add a note on how provider and non provider throttles interact. 2024-09-16 15:08:57 -04:00
Mike Hillyer a643c07aaf Initial updates to quickstart tutorial, fix for shaping.toml regex strings and added a note about suffixes to the traffic shaping documentation. 2024-09-16 11:18:21 -04:00
Mike Hillyer 203a279076 Remove orphaned TODO block. 2024-09-12 14:49:15 -04:00
Mike Hillyer 6e32440e2e Cleanup, add link to reference manual. 2024-09-11 17:37:41 -04:00
Mike Hillyer cbddca008d Add a SuspendTenant example. 2024-09-11 17:32:21 -04:00
Mike Hillyer 94680db046 Update base shaping file as well as shaping documentation to show a setconfig example. 2024-09-11 17:25:08 -04:00
tommairs 09f963d536 update to add Debian 12 2024-09-11 17:13:31 +00:00
Mike Hillyer c610777312 Quick fix of backticks for console example. 2024-09-10 12:05:26 -04:00
Wez Furlong 84cb629c91 docs: fix doc build after tsa page was removed 2024-09-09 06:46:59 -07:00
Mike Hillyer 88fa36cbe0 Remove TSA page 2024-09-07 18:32:08 -04:00
Mike Hillyer c247db63d8 Quick update and format. 2024-09-07 18:30:22 -04:00
Mike Hillyer a0c4f17bef Inital Publish of Updated Traffic Shaping Section. 2024-09-07 18:25:40 -04:00
Wez Furlong 541b8f28e4 shaping: add provider concept to shaping helper
This enables shaping based on MX hostname and domain name matching
rules.

At a lower level, this is supported via two new options:
additional_connection_limits and additional_message_rate_throttles that
allow specifying arbitrarily scoped named limits and throttles, which
in addition to allowing provider-based rules in the shaping helper,
allow things like global or other more esoteric scoping of constraints.

closes: https://github.com/KumoCorp/kumomta/pull/260
2024-09-02 10:42:15 -07:00
Wez Furlong a42871cb11 docs: update since dev -> 2024.09.02-c5476b89 2024-09-02 07:27:50 -07:00
Mike Hillyer d261986699 Get rid of linter complaints. 2024-08-26 16:53:53 -04:00
Mike Hillyer ad5b393e55 Update the cluster scaling page. 2024-08-26 16:52:56 -04:00
Mike Hillyer 279d3637ae Update Userguide Index to link to new chapters. 2024-08-23 16:00:59 -04:00
Mike Hillyer dab23cde0c Fix change of deployment page. 2024-08-23 15:52:50 -04:00
Mike Hillyer 42ab54d1b3 Initial Clustering Chapter 2024-08-22 18:14:18 -04:00
Wez Furlong 7961bff955 docs: split configure_local_logs into multiple pages 2024-08-18 22:28:41 -07:00
Wez Furlong 75e8a32b59 docs: split start_http_listener into multiple pages 2024-08-18 22:18:59 -07:00
Wez Furlong 1b32aa1b4b docs: split start_esmtp_listener into multiple pages 2024-08-18 20:02:35 -07:00
Wez Furlong dbdd69a8c7 docs: split make_egress_source into separate files 2024-08-18 19:47:35 -07:00
Wez Furlong 632357ac70 docs: split make_egress_pool into separate pages 2024-08-18 19:40:47 -07:00
Wez Furlong b775816885 docs: split make_egress_path into separate pages 2024-08-18 19:33:31 -07:00