Repository navigation
Several new plugins/modules implemented #876
Replies: 6 comments
Note that while it protects full message contents, storage.imapsql saves a lot of metadata in its database directly, therefore leaking information about the message, e.g. subject, sender, date, content-types. |
|
I will go over these in detail this weekend and see how (if) these can integrated into core. |
Right! I should probably better document this. My use-case (which since changed, as I ended up needing to switch back to Dovecot for IMAP) was to host Maddy on a trusted server with full-disk encryption, but to use less-trusted S3 buckets for blob storage. This was just intended to add a crypto layer to Maddy's existing S3 support, but I built it as a module wrapper as it could be useful for other future remote blob storage modules.
Sounds great. |
|
What would be thoughts on architecting a plugin system (i.e. dynamic libraries) within Maddy? So that a recompile would not necessarily be required. I myself already have three usecases, and expect further over time:
|
|
Dynamic plugins are possible via https://pkg.go.dev/plugin. maddy's module system is well-separated enough to support that. However there are many considerations and drawbacks outlined in Go documentation - notably, requiring exact build environment match. Statically linking additional modules during main executable compilation solves most of technical issues. In general, I prefer creating integrations that would allow for custom code to exist outside of server executable. For example, this is solved by Milter protocol for message checks (supported by maddy) and LDAP for custom delivery targets (also supported by maddy). |
|
Converted into discussion, this is currently not an actionable issue. maddy module interfaces diverged significantly that it would be impossible to simply add these plugins into current source code. |
Uh oh!
There was an error while loading. Please reload this page.
I've made some additions to Maddy that were essential for my own deployment; I'm not sure if any of these would be useful to anyone else, or appropriate for the Maddy core, but I thought I'd offer them up for review just in case. I wouldn't consider them heavily battle-tested, but they've been in production for about 6 months on my own low-volume mail server.
Complete change list is here.
Some highlights:
For documentation, for now, I've included a doc.go for each plugin/module that's formatted similarly to docs/reference/checks/*.md.
All reactions