Commit Graph
81 Commits
Author SHA1 Message Date
Wez Furlong 261f68078f sources.lua make_egress_poll typo -> make_egress_pool 2023-06-15 08:19:16 -07:00
Wez Furlong 4f56314f48 kumomta.service: increase shutdown timeout
The default of 90 seconds is too short for a busy server.
Increase to 5 minutes.
2023-06-15 07:36:52 -07:00
Wez Furlong 420dade8fb sources.lua: fixup initialization of name
refs: https://github.com/KumoCorp/kumomta/issues/56
2023-06-14 19:56:16 -07:00
Wez Furlong 628cda23ce shaping.lua: table_keys lives in utils 2023-06-12 16:07:47 -07:00
Wez Furlong c31b7e8191 dkim_sign: wrap an around the additional_signatures bit over here too 2023-06-12 14:56:02 -07:00
Wez Furlong fe2f674180 listener_domains: defer building domain_map
Ideally we'd memoize the compiled map, but right now it isn't
compatible with being serialized, so we have to do it after
we call memoize
2023-06-12 14:26:11 -07:00
Wez Furlong 79f45005d5 dkim: defer building domain map
Ideally we'd memoize the compiled map, but right now it isn't
compatible with being serialized, so we have to do it after
we call memoize
2023-06-12 14:19:19 -07:00
Wez Furlong 22404630aa dkim_sign.lua: fix another data.base vs. base 2023-06-09 14:15:19 -07:00
Wez Furlong 87cffb945e dkim_sign.lua: avoid nil reference for additional_signatures 2023-06-09 13:06:27 -07:00
Wez Furlong 30bcf40497 dkim_sign.lua: fix array syntax for headers 2023-06-09 11:55:36 -07:00
Wez Furlong 643eecc9cc dkim_sign.lua: fixup base 2023-06-09 11:48:19 -07:00
Wez Furlong fd4aeb00a2 dkim_sign.lua: fixup missing vault_path_prefix usage 2023-06-09 11:47:27 -07:00
Wez Furlong 5001095044 dkim: sketch out an entirely untested dkim signing helper 2023-06-09 11:43:05 -07:00
Wez Furlong b930ee5ec1 shaping.toml: remove unresolvable protection.outlook.com domain
entries in this file must be resolvable domains, and this one
has neither A nor MX records
2023-06-08 14:39:27 -07:00
Wez Furlong 8625d9d182 ship proxy-server in the kumo rpms and docker image
In the future I want to add separate packages for just the proxy
server, but for now this is the most expedient way to deliver
the binary.

refs: https://github.com/KumoCorp/kumomta/issues/45
2023-06-07 15:24:06 -07:00
Wez Furlong 22451330f4 CLI: add kcli command for interacting with admin http endpoints
```console
$ kcli --help
KumoMTA CLI.

Full docs available at: <https://docs.kumomta.com>

Usage: kcli --endpoint <ENDPOINT> <COMMAND>

Commands:
  bounce
          Administratively bounce messages in matching queues
  set-log-filter
          Changes the diagnostic log filter
  help
          Print this message or the help of the given subcommand(s)

Options:
      --endpoint <ENDPOINT>
          URL to reach the KumoMTA HTTP API

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version
```

```console
$ kcli bounce --help
Administratively bounce messages in matching queues.

Each individual message that is bounced will generate a log record capturing the event and then be removed from the spool.

Make sure that you mean it, as there is no going back!

The bounce will be applied immediately to queued messages, and the directive will remain in effect for the duration specified, causing newly received messages or messages that were in a transient state at the time the directive was received, to also be bounced as they are placed back into the matching queue(s).

Usage: kcli --endpoint <ENDPOINT> bounce [OPTIONS] --reason <REASON>

Options:
      --domain <DOMAIN>
          The domain name to match. If omitted, any domains will match!

      --campaign <CAMPAIGN>
          The campaign name to match. If omitted, any campaigns will match!

      --tenant <TENANT>
          The tenant name to match. If omitted, any tenant will match!

      --reason <REASON>
          The reason to log in the delivery logs

      --everything
          Purge all queues

      --duration <DURATION>
          The duration over which matching messages will continue to bounce. The default is '5m'

  -h, --help
          Print help (see a summary with '-h')
```

```console
$ kcli set-log-filter --help
Changes the diagnostic log filter

See <https://docs.kumomta.com/reference/kumo/set_diagnostic_log_filter/> for more information about the log filter syntax.

Usage: kcli --endpoint <ENDPOINT> set-log-filter <FILTER>

Arguments:
  <FILTER>

Options:
  -h, --help  Print help
```

refs: https://github.com/KumoCorp/kumomta/issues/55
2023-06-07 12:09:07 -07:00
Wez Furlong 7db243025e add policy helper for sources and pools 2023-06-01 13:08:05 -07:00
Wez Furlong e8a049cc83 document listener parameter to get_listener_domain update helpers
Allow per-listener listener-domain configuration
2023-05-31 15:46:12 -07:00
Wez Furlong 9708bbb1de fix more typos 2023-05-31 12:44:46 -07:00
Wez Furlong 97f5abfcf0 fix typo 2023-05-31 12:34:02 -07:00
Wez Furlong ce7dece927 move domains out of listener, replace with get_listener_domain event
This commit also includes a policy helper
`policy_extras.listener_domains` to make it convenient to define
listener domains in toml and/or json files.

To facilitate this, the DomainMap rust structure has been exposed
to lua code via the new `kumo.domain_map.new` function.
2023-05-31 12:29:44 -07:00
Tom Mairs f9afc272d4 Update shaping.lua (#47)
Fix shaping.toml location
2023-05-17 22:50:08 -06:00
Mike Hillyer 09cc31e552 Update traffic shaping page of user guide, add default rules to shaping.toml. 2023-05-10 11:52:27 -04:00
Mike Hillyer 0ade9f1964 Added remaining defaults to round out the big four, will look to community to refine and expand from here. 2023-05-09 15:21:43 -04:00
Mike Hillyer dd0f1eb5aa Update shaping.toml based on input from Comcast and Yahoo contacts. 2023-05-09 14:45:52 -04:00
Wez Furlong c969a61016 tweak comments in shaping.toml 2023-05-09 10:14:04 -07:00
Wez Furlong ed3e0356e3 Add shaping.toml and revise shaping.lua to load multiple files
refs: https://github.com/KumoCorp/kumomta/issues/43
2023-05-09 10:00:40 -07:00
Wez Furlong 278bc81aa0 move shaping -> policy-extras/shaping, and deploy with package
The assets/policy-extras dir is now deployed to
`/opt/kumomta/share/policy-extras` and added to the require path,
so you can do:

```lua
local shaping = require 'policy-extras.shaping'
```

to pull it into your policy.
2023-04-26 14:51:52 -07:00
Wez Furlong b66d33b268 shaping: detect and error out when ambiguous rollups are detected
If multiple domains resolve to the same site name, capture the
list and report it, then generate an error.

The operator needs to fix conflicting rollups in order for the
system to behave sanely.

Fix merging in default values
2023-04-25 15:58:17 -07:00
Wez Furlong 1e628778d7 shaping: layer all of them in a reasonable order 2023-04-25 15:04:57 -07:00
Wez Furlong 767ccef87f shaping.lua: swap precedence of domain vs. site 2023-04-25 14:59:05 -07:00
Wez Furlong 8f0e60f397 shaping.lua: make mx_rollup default to true 2023-04-25 14:50:36 -07:00
Wez Furlong b974f37a15 shaping: resolve ambiguity with prohibited_hosts, add default entry 2023-04-25 14:21:16 -07:00
Wez Furlong 4b9fe008a9 add shaping.lua
This is not its final home; this is here while we play with it
and eventually move it to the right place and package it up.
2023-04-25 13:46:13 -07:00
Wez Furlong 3d38fb45c5 add tailer to rpm 2023-04-21 09:41:13 -07:00
Wez Furlong dfeae5ad4f postinstall: copy minimal-init.lua -> init.lua
If they don't already have a policy defined, copy the basic
one into place so that the service can start and they have
a starting point which they can customize
2023-04-13 09:53:12 -07:00
Wez Furlong 09dcd59473 move minimal init.lua to assets dir, include that in docs 2023-04-13 09:44:07 -07:00
Wez Furlong 73a658ac3d update centos7 repo URLs, enable stable 2023-03-31 12:37:04 -07:00
Wez Furlong 35271e0a47 normalize centos 7 rpm repo name
This brings it in alignment with the other repos
2023-03-31 12:09:47 -07:00
Wez Furlong 3148934d94 enable stable rpm repo for rocky 2023-03-31 11:14:26 -07:00
Wez Furlong d71e0070a6 ci: update centos7 and ubuntu for tagging 2023-03-30 07:52:20 -07:00
Wez Furlong 2764149669 Add script for cutting a release tag 2023-03-30 07:48:49 -07:00
Wez Furlong f35d208bd6 ci: maybe publish the right bits to the right place on tag 2023-03-30 07:15:49 -07:00
Wez Furlong 0d431d1f8c Take another run at rpm systemd stuff
Not all platforms have the rpmbuild macros, let's just try
inlining the equivalent steps.

This may require manually reloading and registering systemd
on older systems (centos7).
2023-03-29 17:28:03 -07:00
Wez Furlong 29145124d7 maybe fixup rocky rpm systemd bits 2023-03-29 16:59:31 -07:00
Wez Furlong 6db2cb5730 maybe fixup centos7 rpm build 2023-03-29 10:43:25 -07:00
Wez Furlong a029b44d1c add systemd service to .deb 2023-03-29 09:23:45 -07:00
Wez Furlong b199db75c8 don't actually need systemd to build the rpm 2023-03-29 09:19:45 -07:00
Wez Furlong 10a5c7c37f add systemd service to the rpm 2023-03-29 07:03:16 -07:00
Wez Furlong 8f320babeb update for org rename 2023-03-28 16:47:50 -07:00