Commit graph

14 commits

Author SHA1 Message Date
Bojan Čekrlić
025cb58d0e Upt: Add postfix-pcre, add additional checks for sanity and mount /tmp to emptydir 2024-02-25 09:12:28 +01:00
Bojan Čekrlić
cccbf7ea65 Fix for #151 2023-11-01 14:33:44 +01:00
Bojan Čekrlić
743d3a0a86 Fix for #147: Update daemon_directory based on running distribution
This image will now automatically reconfigure `daemon_directory` in case
of distrubution switching.

Alpine and Debian/Ubuntu will use different directly layout and if the
user persists `/etc/postfix`, this image will not start if the
distribution changes.
2023-10-29 23:42:37 +01:00
Bojan Čekrlić
1d74829eaa Fix: Try fixing the #147 issue and conver it by unit tests 2023-10-29 16:24:22 +01:00
Bojan Čekrlić
e0e5942fad Fox for #102: Setup proper configuration for chrooting Postfix 2023-02-09 09:55:44 +01:00
vcazsdk
f2daefd7e1 Add smtpd sender sasl authentication 2022-09-13 08:24:26 +02:00
Sergio Del Río Mayoral
a1a2082ae1 Add email anonymizer option in case is needed for GDPR
This new feature will anonymize emails in the Postfix logs. This allows
you to keep them indefinetely while being compliant with GDPR.

Based on excellent work on [this pull request](https://github.com/bokysan/docker-postfix/pull/91).

Check `README.md` for more details.
2021-12-07 13:43:13 +01:00
Bojan Čekrlić
3cb19e7c13 Fix for #84: Do not set storageClassName if not set in values.yml 2021-08-22 17:49:29 +02:00
Bojan Čekrlić
c6e9a2e4a9 Upgrade: improvements to migrations 2021-05-18 22:51:57 +02:00
Ivan Martinez-Ortiz
16771d45eb
Add XOAuth2 support for GMail (#42)
* Add XOAuth2 support for GMail

* Attempt to support integration tests
2020-11-06 10:52:17 +01:00
Bojan Čekrlić
3f6d1330bb Simplify configuration
Postfix has an option to run in foreground. Use this feature to
reduce the complexity of supervisord.conf.
2020-08-15 23:52:22 +02:00
Bojan Čekrlić
cfd1a13676 Deprecate some common properties and add auto-generation of DKIM keys 2020-07-03 07:08:27 +02:00
Bojan Čekrlić
ff2d080279 Add the option to log to rsyslog as plain or JSON and restructure tests
- It's now possible to choose the logging type - either 'plain' or
  'json'
- The code is ready to support multiple integration tests (with
  different configurations)
- `OPENDKIM_` and `POSTFIX_` variables are handled properly and recorded
  in the corresponding files. (This had a downfall that `bash` now needs
  to be installed, so we can probably simplify some of the shell
  scripts.)
2020-07-01 13:50:08 +02:00
Bojan Čekrlić
9b1902c047 Larger refactoring of the codebase + DKIM_SELECTOR
Summary
^^^^^^^

This commit refactors the code base to be more manageble and
prepares the groundwork for tests.

Refactoring
^^^^^^^^^^^

Files are now moved to subdirectories, all for the sole purpose of
easier management. Tests live in their own folders, as well as configs
and other files.

Test framework
^^^^^^^^^^^^^^

Two new important scripts/directories are available:
- `unit-tests.sh` / `/unit-test` which executes unit tests across shell
  scripts, and
- `integration-test.sh` / `integration-tests`, which spins up the
  container and tries to send the email.

Both tests use the [BATS](https://github.com/sstephenson/bats) framework
for testing. To create a new test, simply drop a `.bats` file into a
corresponding directory.

Functions have been extracted into `common-run.sh`, to be able to test
them independently.

DKIM_SELECTOR
^^^^^^^^^^^^^

It is now possible to specify a DKIM selector to use (instead of
the default "mail"). See `README.md` for more details.

JSON logging
^^^^^^^^^^^^

WIP: rsyslog will now output JSON logs. This is especially important
if you plan on deploying the image into Kubernetes, as [Prometheus](https://prometheus.io/)
can handle logs in JSON much easier.

TODO: Make this an optional feature, to not confuse existing users.
2020-06-29 19:03:24 +02:00