Commit Graph

174 Commits (0d048d24d38748fd31c354c8534f3a58584bf001)

Author SHA1 Message Date
Dimitri Huisman 1eeffe29c0 Remove Mailu PostgreSQL. Make roundcube database configurable via setup. Fix .
Dimitri Huisman f247520fe5 Forgot to update tests to use PINNED_MAILU_VERSION as tag.
Dimitri Huisman f7677543c6 Process code review remarks
- Moved run to bottom of Dockerfile to allow using unmodified / cached states.
- Simplified bash code in deploy.sh.
- Improved the large bash one-liner in CI.yml. It could not handle >9 for 1.x.
Dimitri Huisman 56dd70cf4a Implement versioning for CI/CD workflow (see ).
Florent Daigniere 265ab7b5af Remove PASSWORD_SCHEME from test envs
Erriez 6b3c208fc9 Update Alpine version from 3.10 to 3.14
Dimitri Huisman 7aa9b496fa Moved logic for building testing images from deploy job to build job. This should save time. Test number for ci workflow
bors[bot] fc1a663da2
Merge
1754: centralize Webmail authentication behind the admin panel (SSO) r=mergify[bot] a=nextgens

## What type of PR?

Enhancement: it centralizes the authentication of webmails to the admin interface.

## What does this PR do?

It implements the glue required for webmails to do SSO using the admin interface.
One of the main advantages of centralizing things this way is that it reduces significantly the attack surface available to an unauthenticated attacker (no webmail access until there is a valid Flask session).

Others include the ability to implement 2FA down the line and rate-limit things as required.

### Related issue(s)
- 

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
Dimitri Huisman e16e9f19fd Run test jobs in parallel for CI/CD.
bors[bot] 5d1264e381
Merge
1694: update compression algorithms for current dovecot r=nextgens a=lub

## What type of PR?

enhancement

## What does this PR do?

This adds additional compression algorithms in accordance with
https://doc.dovecot.org/configuration_manual/zlib_plugin/

### Related issue(s)

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: lub <git@lubiland.de>
Dimitri Huisman 606c039a6f Switch back to sequential workflow
Dimitri Huisman 54dd4cf224 Added new docker repo for test image. Adapted deploy script to use env var for test repo name. Modified travis references to github actions references in docs. Added changelog entry.
Dimitri Huisman 58235bcc44 Switch to github actions for CI/CD
lub 2316ef1162 update compression algorithms for dovecot 3.3.14
xz is deprecated; lz4 and zstd were not present in our configs before
Florent Daigniere dd3d03f06d Merge remote-tracking branch 'upstream/master' into webmail-sso
Florent Daigniere 29306d5abb Fix the tests (again)
Florent Daigniere 89d88e0c19 Fix the test
Florent Daigniere 0917a6817f Set ADMIN=false to ensure that the tests pass
lub 98a6ffb497 add compression via xz and lz4
Dario Ernst 1ffc92887a Pin test/build pip-dependencies to their last known versions
Fix current travis docker API-version mismatches … in a crude, but safe
way.
ofthesun9 d5d097eebc docker-compose exec needs a -T flag it no TTY is allocated
This flag is missing in 00_create_users.sh and is failing the tests on travis arm architecture
Tim Möhlmann 4e4b071fb0
Move services into core and optional
bors[bot] 0417c791ff
Merge
985: Permit raspberry pi (and other architectures) builds r=mergify[bot] a=abondis

## What type of PR?

Enhancement

## What does this PR do?

Add an option to select base images and permit building for different CPU architectures.

### Related issue(s)
N/A

## Prerequistes

- [X] documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Aurélien Bondis <aurelien.bondis@gmail.com>
Co-authored-by: Aurelien <aurelien.bondis@gmail.com>
hoellen d3dd4802f4 Change default password scheme to PBKDF2 ()
Aurélien Bondis e1a4bf32a6 only insert qemu binary if building for arm
bors[bot] 2785bca1f4
Merge
883: Admin create user enhancement r=mergify[bot] a=cr1st1p

## What type of PR?
Enhancement

## What does this PR do?
It allows the admin docker image to also create the admin user.
The idea is that in my kubernetes setup, I do not want to manually do anything, as such, I need a way for the admin user to also be created automatically without me getting inside the pod.
So I had to change the manage.py function that creates the user to allow different 'modes' (me, I'll be using 'ifmissing') and also start.py to call that functionality if appropriate environment variables are present.

So now, in my Deployment, I add 3 more environment variables and I get the admin user created, IF not already present.

### Related issue(s)
none?

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: cristi <cristi.posoiu@gmail.com>
Co-authored-by: cr1st1p <cristi.posoiu@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
Aurélien Bondis 124b1d4c71 rebase and update for 3.10, avoid adding qemu file to x86 images
Aurélien Bondis a8f55aa73a copy arm qemu
Aurélien Bondis 199b74a144 update comments, add helper script to push local build to rpi
Aurélien Bondis b711ef82da use edge for radicale
Aurélien Bondis c0f4126a6c use 3.8 for arm too
Aurélien Bondis 3a10865824 install python for setup image, accept args for build_arm script
Aurélien Bondis 120b07c572 use different alpine image for arm, add config for php images+arm
Aurélien Bondis 572a852e09 script to build arm images
Tim Möhlmann 2a20c1e8ee
Tests for initial admin create
Tim Möhlmann 62b17a0a7b
Revert "Stop building certdumper since it is not supported by traefik anymore"
This reverts commit 0b484a8c2d.
kaiyou 0b484a8c2d Stop building certdumper since it is not supported by traefik anymore
Manuel Vázquez Acosta 6cc6f2742b
Activate ClamAV in filters tests.
See https://github.com/Mailu/Mailu/pull/907#issuecomment-462043036
Tim Möhlmann 33db705194
Use bors-ng to create and upload test images
- Reinstate Travis deploy phase
- Better labeling of Mergify rules
- Automatic `bors try` by Mergify
- Explain bors in comment message
- Skip push for staging branch
- Re-update docs to current situation
Tim Möhlmann faca9983a8
Automatic creation of review images
- Enable bors-ng for better merging
- Re-enable mergify with a fixed up syntax, it will now only issue bors commands.
- Pull request build images are now pushed to docker hub
- Automatic backport rule
- Fix build tag for branches with slash (/)
- Only push when master and 1.6 target branch
Ionut Filip f2bc441e9e
Merge pull request from Nebukadneza/add_tests
Add more tests: Auto-Forwarding and Sending to an Alias
Ionut Filip cb1c90b423
Removed DISABLE_FTS_LUCENE
Ionut Filip f50e9055c1
Unused imports and bad indentation
Ionut Filip ebed267c1b
Removed unused imports and fixed indentation
Ionut Filip 6914028e9c
Fix indentation
Ionut Filip 7a85d01f9f
Removed unused imports and fixed indentation
Dario Ernst bbb24a8863 Add more tests: Auto-forwarding, sending to an alias and auto-reply
Add simple test for auto-reply
Tim Möhlmann b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support
Daniel Huber 16c47faf35
Fix default docker prefix value of traefik certdumper
docker-compose logs a warning if a environment variable is not set and has no default value.
This adds a default string as the default for traefik certdumper which was added in 7c7b52d9.
Daniel Huber b4f6f6b354
Merge branch 'master' into fix-docker-prefix
Tim Möhlmann 7c7b52d935
Include certdumper in autobuild
Daniel Huber d357ed67f5
Add DOCKER_PREFIX in tests and setup files
Tim Möhlmann a5d6acfb96
Use MAILU_VERSION from Travis for Docs build
kaiyou f6520eace6 Merge branch 'feat-psql-support' of https://github.com/usrpro/Mailu into usrpro-feat-psql-support
Tim Möhlmann f0906073e3
Merge remote-tracking branch 'upstream/master' into feat-subnet2
Tim Möhlmann c0972face6
Correct subnetting functionality for the tests and setup
Ionut Filip 35be1710a6
Changed user creation command
Ionut Filip 8acf9451fa
Changed admin and user creation command
Tim Möhlmann 8172f3eab8
Move the Mailu Docker network to a fixed subnet.
This will make network configuration and host based authentication
more robust, across different deployment platforms.
The options `RELAYNETS` and`POD_ADDRESS_RANGE` are kept for compatibility.
However, their usage have become optional.
hoellen 02367d1447
Merge branch 'master' into feat-image-prefix
Tim Möhlmann d84254ccd8
Update user creation to python3
Ionut Filip e668d360e8 Changed user creation command
Ionut Filip ddd4be8f9a Changed admin and user creation command
Tim Möhlmann 79246cf2a3
Create Postgresql image
Tim Möhlmann eccadeca16
Merge pull request from usrpro/feat-email-test
Feat email test
Ionut Filip 76d9fc3865 Rewrite of email test script and added eicar virus file
Ionut Filip 4032e7128d Calling email test as hook with msg as arg
Ionut Filip fca3dc4e70 Flushing stream before calling subprocess
Ionut Filip 9a7fc1416a Replaces os.popen with subprocess.check_output
Daniel Huber b3ac4465f2
Add docker image prefix
Ionut Filip 982e586e49 Replaced os.system calls with native python calls
Ionut Filip fd8ed3dfa6 Moved certs copy in travis
Ionut Filip 88f5e6e4cf Moved users creation in core
Ionut Filip c3bc7988c9 Implemented email test for travis
Ionut Filip 4e9dc0c3c9 Implemented sending/reading email(local tests)
Tim Möhlmann ca4804653d
Merge branch 'master' into feat-setup
Tim Möhlmann a46d0fe581
Fix path for hooks
Tim Möhlmann 35e0fa1b9d
Drop IPv6 for travis
Tim Möhlmann dde7ccca97
Created test cases from latest setup revision
Tim Möhlmann 72e931f4b4
Modify setup templates to allow for DOCKER_ORG and VERSION override. (Needed for Travis)
Ionut Filip 3b1fdc6166 Migrate test script from shell to python
- test.py needs to be called with 2 arguments : test_name and timeout
  - it will cd to test_name dir and use the test_name.yml from there
  - it will sleep for an amount of time equals to timeout in minutes
- it will perform health checks for containers. If healtcheck isn't enabled will check for running state
- it will run hooks inside the test_name dir ( .py and .sh) if there are any
- printing logs in any case
Tim Möhlmann 238d4e7f20
Provide test cases created with the new setup utility
Tim Möhlmann 12d8872a09
Fix unbound build path
Tim Möhlmann bcfce27ee2
Standarize unbound, prepare for setup inclusion
- Use jinja template for configuration file (start.py)
- Limit access to the Mailu subnet
- Implement health checks
Tim Möhlmann 5b7b29ee3f
Merge remote-tracking branch 'upstream/master' into feat-unbound-dns
mergify[bot] 28a5f8574d
Merge pull request from usrpro/feat-sys-log
Option to send front logs to journald or syslog
Tim Möhlmann f3ebf35c75
Fix autotest
Tim Möhlmann acbb586e71
Option to send logs to journald or syslog
Tim Möhlmann 3f7e7ca3a6
Use defaults in variables, to allow for local builds
kaiyou 00b5ae11db
Merge branch 'master' into feat-abstract-db
Tim Möhlmann 013d02d726
Add unbound to the build directive
Tim Möhlmann c316c040c5
Use travis_wait for sleep
Tim Möhlmann 1bbb86eab5
Add autobuild for 'setup'
Tim Möhlmann 5716ca933e
Fix autodeploy after merge with master
Tim Möhlmann 32224202d6
Merge branch 'master' into feat-test-suite-v2
Tim Möhlmann f7d8f20c87
Move DOCKER_ORG default to travis.yml
Tim Möhlmann a19e11d552
Clean terminal distortion from docker-compose in travis
Tim Möhlmann bb6b984610
Exclude fetchmail for the time being. See
Tim Möhlmann 39c159bae9
Make the code a bit more DRY. Put sleep back into main loop
Tim Möhlmann 508796eaab
Verbose sleep