Commit Graph

15 Commits

Author SHA1 Message Date
Wez Furlong 81e64c65aa dkim: enable openssl rsa signing by default
This requires a fix to the docker build to avoid broken ssl
linkage.
2023-06-16 12:01:35 -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 7c812e8b30 fix a couple more policy paths 2023-03-29 07:02:46 -07:00
Wez Furlong eec9b5ad77 update docker for new default policy file location 2023-03-14 20:16:13 -07:00
Wez Furlong c2cb5b798b fix centos7 build, adjust docker to use /opt/kumomta
Revert building static/bundled sqlite, as the logic deep in sqlite3-src
makes no attempt to deal with this mess on centos7:

  = note: /opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/ld: /__w/kumomta/kumomta/target/release/deps/libsqlite3_src-b3c44e6f34aac065.rlib(sqlite3.o):(.data.rel.aSyscall+0xb0): undefined reference to `fcntl64'
          collect2: error: ld returned 1 exit status

(I don't blame it!)

Deal with that in the docker image by simply installing sqlite
in the docker image.

And since I'm touching the docker stuff, adjust its install
path and layout to match that of the rpm and deb packages.
2023-03-14 14:14:37 -07:00
Wez Furlong 8c618c7bc6 ci: refine docker build 2023-03-13 18:27:03 -07:00
Wez Furlong 831bfe9aab docs: skeleton for building the docs
Rather than edit SUMMARY.md, you edit docs/generate-toc.py
and it will flesh out sections based on the list of files
in a directory.
2023-02-25 10:50:58 -07:00
Wez Furlong af653a489f make docker build work with older versions of docker 2023-02-23 10:16:48 -07:00
Wez Furlong 2cba4196c5 revise docker build; move away from musl/alpine
A downside of pulling in rocksdb is that it is a pretty big
C++ library and musl/alpine don't really get on with it.

Switch to using the latest ubuntu LTS image as our base.
2023-02-23 10:07:29 -07:00
Wez Furlong 602e9721c9 CI: fixup path for rename from smtpd -> kumod 2023-02-23 07:57:08 -07:00
Wez Furlong 6b85cfb2ee CI: don't require a tty to build docker image 2023-02-23 07:38:12 -07:00
Wez Furlong 42b173eac5 CI: take a run at building the docker image 2023-02-23 07:36:48 -07:00
Wez Furlong d8021a0ebf add redis build with redis-cell 2023-02-20 06:10:20 +00:00
Wez Furlong bda38adf90 restructure docker build bits
This makes it a bit easier to add other docker images
for other things in the future
2023-02-20 02:47:59 +00:00