See the releases page for change tracking.
- Completely restructured code. More neatly organized aenigma functions. More functions integrated into or sourced from dna.
- Removed the 3 installation options in favour of a single option [formerly #1] that works for everyone.
- Leverage the use of LetsEncrypt's new wildcard TLS certificates that works for every service we need. This massively simplify the codebase and the end-user setup itself.
- Entirely new DNS checks now part of dna.
- New DNS provider functionality [also part of dna] for automated DNS record configuration from the aforementioned DNS checks function.
- aenigma is now clusterizable in a simple and straightforward fashion. Every new instance installed is ready to clusterized in the future from now on. This is known as multi-master multi-server functionality.
- Removed reliance on EasyEngine and instead directly provision the wildcard LE cert, install nginx, and configure hostname website.
- aenigma can now finally be installed on Debian 9 [stretch] [in addition to Ubuntu 18.04 LTS]!
-
Added testing mode for Ubuntu 17.10 [artful] [and therefore - currently - ejabberd 18.01 as per the repo we use] to prepare for Ubuntu 18.04 and ejabberd 18.xx: 1.1: Re-introduced per-ejabberd-version ejabberd.yml config files [falls back to v17.08 config file if ejabberd version being installed doesn't have a version-specific aenigma config file] 1.2: Enabled mod_push in ejabberd.yml for versions 18.01 and later 1.3: Requires user to place any external TLS certificate for $domain inside the aenigma /etc/ssl/aenigma TLS certificates folder as other arbitrary directories are blocked in newer versions.
-
Added use of git versioning following EasyEngine-Backup-Restore. The old installer.sh is now called "setup" and the old installer-vx.yz is now simply called "install".
-
Added use of the "functions" file and openspace Bash Functions to modularize and standardize everything we do across openspace projects.
-
Allowed APT to fail during installation up to the last step, where instead any errors are caught by the script as usual. This way the installation can proceed until the end and possibly fix any errors causing APT to previously fail, and - if that doesn't work - at least the user can attempt to fix things manually once the installation is actually complete, before running it again and making everything go back to normal.
- Validate S3 connection details
- Allow "bootstrap mode" to restore aenigma [and therefore source all previous settings] before running the installation on a new machine
- Alert in case of reinstall and prompt for backup
- Suggest adding CNAMES instead of A/AAAA records
- Added error in case of LetsEncrypt failure
- Added DPKG lock detection / waiting
- Fixed and improved SRV records DNS checks
- All bash code audited with ShellCheck
- Improved backup / restore functionality by pulling the newest code from easyengine-backup-restore
- Changed installation directory to /root/openspace42/aenigma/
- Build SSLH from source to use v1.18 [for ALPN functionality]
- Added c2s listener on port 5223
- Added LetsEncrypt TLS certificate generation for xu.$domain
- Tunneled HTTP Uploads via SSLH on port 443 [at least until a better solution]
- New "tools" directory with automated ejabberd backup/restore scripts with S3 options.
- Nightly backup to local machine / S3 with backup script cron job.
- Added admin email address setting for error notifications [backup failures, etc...]
- Added incomplete install checker