Commit graph

12 commits

Author SHA1 Message Date
Bojan Čekrlić 945add7f9d Fix: Fix for #144 2023-10-27 17:45:06 +02:00
Bojan Čekrlić bcf7dcbfcb Fix: Fix syslog logging to stdout + fix starting of exporter 2023-10-27 15:31:54 +02:00
Bojan Čekrlić b90b336d04 Fix: Remove unneccessary dependendancy on external logrotate image
We now include logrotate in the the basic image. This does -- up to a
point -- reduce the "separation of concerns", but it simplifies image
management considerably and removes an unneccessary dependency on a
third-party container.
2023-10-27 09:38:54 +02:00
Bojan Čekrlić 4ec5ee3d29 Upd: Documentation update 2023-09-29 16:44:25 +02:00
Jonathon Beauregard II ab1cca7286 Feat: Create metrics service 2023-09-27 22:55:28 +02:00
vcazsdk 5776119ef3 Fix network error: disable postfix chroot 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
sdelrio 88c94f979a Fix for #69: Disable healthcheck logs 2021-11-08 09:45:48 +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ć 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ć 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