mirror of
https://github.com/KumoCorp/kumomta.git
synced 2026-09-09 16:02:44 +00:00
We've been hoping that mkdocs-material will ship the much anticipated search enhancements for some time, but it's time to recognize that we need to do something to improve the search results with how things work right now. This is a big commit that changes the titles of the various pages from the code-annotated synopsis to just the name of the function. This makes it much easier now to match things like `kumo.reject` directly, but `reject` remains awkward to find. I think this is the best that we can do at this time. A few functions have been annotated with the `status: deprecated` to show as deprecated in the toc/nav (shows with a little trash can next to the name).
50 lines
1.3 KiB
Markdown
50 lines
1.3 KiB
Markdown
# tsa_load_shaping_data
|
|
|
|
```lua
|
|
kumo.on('tsa_load_shaping_data', function() end)
|
|
```
|
|
|
|
{{since('2023.08.22-4d895015')}}
|
|
|
|
Called by the `tsa-daemon` whenever it is going to evaluate a newly received log record.
|
|
|
|
The event must return a `Shaping` object, as can be obtained via
|
|
[kumo.shaping.load](../kumo.shaping/load.md).
|
|
|
|
It is recommended that you use the same list of filenames that you would use
|
|
with the shaping helper so that the two services have a consensus on the
|
|
shaping configuration.
|
|
|
|
`tsa-daemon` is only really concerned with automation rules defined by the
|
|
shaping configuration.
|
|
|
|
```lua
|
|
local tsa = require 'tsa'
|
|
local kumo = require 'kumo'
|
|
|
|
kumo.on('tsa_init', function()
|
|
tsa.start_http_listener {
|
|
listen = '0.0.0.0:8008',
|
|
trusted_hosts = { '127.0.0.1', '::1' },
|
|
}
|
|
end)
|
|
|
|
local cached_load_shaping_data = kumo.memoize(kumo.shaping.load, {
|
|
name = 'tsa_load_shaping_data',
|
|
ttl = '5 minutes',
|
|
capacity = 4,
|
|
})
|
|
|
|
kumo.on('tsa_load_shaping_data', function()
|
|
local shaping = cached_load_shaping_data {
|
|
-- This is the default file used by the shaping helper
|
|
-- in KumoMTA, which references the community shaping rules
|
|
'/opt/kumomta/share/policy-extras/shaping.toml',
|
|
|
|
-- and maybe you have your own rules
|
|
'/opt/kumomta/policy/shaping.toml',
|
|
}
|
|
return shaping
|
|
end)
|
|
```
|