All notable changes to this project will be documented in this file.
This project try to follows Semantic Versioning since the version 1.0.0.
For migration information, you can always have a look at https://liip-drifter.readthedocs.io/en/latest/migrations.html.
- gulp and nodejs roles: call
npm installon every provisioning, unlessnodejs_install_package_jsonis set tofalse - gulp role: rename parameter
gulp_package_json_pathtonodejs_package_json_path, andgulp_package_json_authortonodejs_package_json_author - gulp role: add parameter
gulp_patch_package_jsonto prevent thegulprole from interacting with thepackage.jsonfile - nodejs role: add parameter
nodejs_package_json_templateto customize the template used to create thepackage.jsonfile
- Disable AppArmor by default to ensure compatibility with Debian Linux Kernel 4.13
1.5.0 - 2017-10-30
- Apache role: add support for the
web_directoryparameter - Solr role: allow to setup a Solr index/core during the provisioning
- Vagrant: update ansible_local version for Vagrant 2.0
1.4.0 - 2017-09-20
- Virtualbox: allow use of Virtualbox shared folders besides nfs
- Node role: add support for version 8.x and make it the default
- Add
phantomjsrole to install a specific phantomJS version - Add
firefoxrole to install a specific version or the latest Firefox version - Add
chromerole to install the Chrome browser - Add plugin to improve Ansible output readability, see
ansible.cfg.distfor to enable it - Add parameters java_jre_version & java_jdk_version
- Gulp role: Webpack now uses "cheap-module-source-map" as devtool
- php-xdebug role: add
xdebug_idekeyconfiguration option - Nginx role: allow to extend templates from outside the templates directory
- Flask role: this role is now deprecated since all it did was depending on the virtualenv role
- Mysql role: use become to create database and user. Fixes problem on xenial
- PHP role: don't download surby.org gpg key, when not needed. Fixes problem on wheezy
- MySQL role: don't install mysql upstream repository if a newer version is already installed.
- Nginx role: fix Drupal templates and rewrite rule
1.3.0 - 2017-04-26
- Virtualenv role: add
pip_requirements_diroption to automatically compile.inrequirements - PHP role: add support for PHP 7.1
- Gulp role: add
gulp_create_configto make gulp.config.js file creation optional
- Webpack role: use absolute path for the output.path config value
- Nginx role: add X-Forwarded-Proto header in Rails site template
- PHP role: change the packages repo from the discontinued dotdeb.org to deb.sury.org
- PHP role: xdebug and imagick for PHP 7.x are taken from the repo and not compiled anymore
1.2.0 - 2017-03-28
- Node role: add support for version 7.x
- Node role: install yarn when
nodejs_with_yarnis set totrue - Gulp role: Specify SSL certificates in BrowserSync config when role SSL is installed
- Gulp role: Print WebPack/Sass compilation to the browser
- Ruby role: add instructions on how to setup Drifter for Rails projects
- Virtualbox: Set timesync-set-threshold to 10 seconds instead of the default 20 minutes
- Nginx role: add Rails template
- PHP role: set
always_populate_raw_post_datato -1 to avoid deprecation warnings - Compass role: Deprecate because Compass is not maintained anymore
- Gulp role: Update WebPack to 2.2 and other various dependencies
- Gulp role: Autoprefixer now uses Browserslist
- Gulp role: WebPack’s babel-loader now uses preset
envby default - Gulp role: WebPack config is now standard (export an object and not a function)
- Documentation: Converted the documentation language from Markdown to RestructuredText
- MySQL role: fix installation of MySQL packages by upgrading mysql-apt-config
- php-memcached role: Fix the memcached extension installation for debian
- MySQL role: improve upgrades of MySQL by executing mysql_upgrade
1.1.1 - 2017-02-02
- Ruby role: fix installation of Ruby by installing missing dependency
1.1.0 - 2017-02-01
- Nginx role: added Drupal templates (D6, D7 and D8)
- OpenLDAP (slapd) role
- Base role: Set the cache valid-time for
apt-update cachecommand to 1h - Django role: generate ALLOWED_HOSTS file to comply with Django >= 1.9.11
- Ruby role: install with rbenv, Ruby version can be set with the
ruby_versionparameter. See documentation
- Composer role: don't reinstall on every provision
- Nginx role: use web_directory parameter for HTTPS root instead of root_directory
- The playground is working again
1.0.9 - 2016-12-02
- Improve MySQL role to support different versions (parameter
mysql_version)
- Try to use git_config instead of shell commands to prevent warnings
- Fix deprecated use of hosts variable in base role
- The
indexblock in nginx templates now works correctly - Fix solr config folder permissions and Supervisord restart on Wheezy
- Fix DotDeb key installation, see #130
- Remove maximum allowed request body size in Nginx configuration (fixes #136)
- Fix usage of HTTPS URLs (eg. in nodejs role) in boxes that use Python < 2.7.9 (eg. Ubuntu Trusty, Debian Wheezy) (fixes #140)
1.0.8 - 2016-10-04
- Use the correct package for Python 3 virtualenv on Ubuntu Trusty
1.0.7 - 2016-09-23
- Change the directory before loading Drifter's Vagrantfile so that Vagrant can be run from anywhere inside the project root
- Interactive install script
- The IP is not defined by default anymore as vagrant does this automatically
- Upgrade Ansible to version 2.1.1 inside the box
- Set the permission of the solr data directory so that the core can correctly start
- Fix the default nginx vhost when setting up an index file
- Flush handlers at the end of relevent roles to ensure services are available
- Fix an error where the destination directory contains spaces
- Ensure git is installed before synching git config
- Ensure libpam-systemd installed and sshd configured to use it; this obviates the need to remove systemd
1.0.6 - 2016-08-12
- add the possibility to use PureScript to
gulprole
- fix error due to change on the diff-so-fancy repo, now use a set version to avoid further issue
- fix error display when getting git config on the host
- escape double quotes in git exported config to avoid error when reimporting
- force creation of symlink for supervisor on wheezy to avoid errors
1.0.5 - 2016-07-27
- git config sync now works as expected (not syncing project config, and avoid config duplication on each provisioning). See #97
1.0.4 - 2016-07-27
- specify install method and version for ansible when using
ansible_localand it is not found in the box
- avoid install
fancy-diffon each provisioning
1.0.3 - 2016-07-27
webpacksupport togulprole, only works on new boxes as the Gulpfile is not recreated
- remove the dependency for
giton thebaserole since it's included via the playbook
1.0.2 - 2016-07-26
- force
.gitconfigsymlink creation if the file already exists
1.0.1 - 2016-07-26
- remove config
push.default = simplefor git since it caused issues onWheezyand it's the default for Git > 2 anyway
1.0.0 - 2016-07-26
First stable release. As of now, Drifter will follow Semantic Versioning.
This version contains a lot of BC breaks, please read https://liip-drifter.readthedocs.io/en/latest/migrations/#version-100.
Also, the requirements are bumped to Ansible 1.9 if you're not using ansible_local, and Vagrant 1.8.4.
- new
gitrole, with config sync possibilities and diff-so-fancy. - new
virtualenvrole
- use
becomeinstead ofsudo(requires Ansible 1.9) - [BC] remove support for old Vagrant file deprecated in v0.2.0
- assume
ansibleis installed in the box and remove installation procedure - improved documentation
- renamed
redis-phpandmemcached-phproles to follow convention flaskanddjangoroles now use the newvirtualenvrole
0.5.1 - 2016-07-21
- the install script now installs the latest tag instead of HEA
- error handling in install script
0.5.0 - 2016-07-21
- roles: gulp, logstash, rabbitmq, memcached & php-memcached
ansible_localnow works with LXC- new nginx template for silex
- use php alternative path to ease switching between versions
- possibility to install various NodeJS version
- use new JSON format for boxes, along with documentation for building them
ansibleinstallation in the box (multiple times ^^)- PHP socket timeout fixes
0.4.0 - 2016-05-10
- use RTD for the documentation
- Gitlab CI roles
- use
vagrant-cachierand linked clones for VB if installed
- install php-redis along with PHP
- rename from "Rawbot Virtualization Framework" to "Drifter"
- improve "migration" from PHP5 to PHP7
- make provisioning less verbose
- enable port forwarding configuration
- issues with Ansible version 1.7.0
- detect LXC provisioner in more cases
- installation of
ansible_local - various bugfixing in roles
0.3.0 - 2016-01-12
- Enable the use of
ansible_localwhen possible
0.2.0 - 2016-01-12
First release trying to support Windows.
See https://liip-drifter.readthedocs.io/en/latest/migrations/#version-010-to-020.
- remove use of symlinks for the various files
- Include Drifter's Vagrantfile into a "Config Vagrantfile" instead of copying the whole file into the project directory
0.1.0 - 2016-01-12
The first release was made long after the project start when people from outside the Lausanne office started using it and we needed some kind of way to know which version was used.
- Use of Vagrant
- Lots of roles : Java, Solr, Ruby, Compass, Django, Postgres, Nginx, NodeJS, SSL, ...
- Multiple improvement on roles
- Probably lots of things
First Blood - 2014-09-26
Hackish try to do something using Docker to achieve the same purpose as today. The idea was fairly quickly abandoned because it was too complicated to manage the fact that we have people on multiple platforms.
Some of the roles still survives today, so not everything was lost ;)
- Roles : Apache, PHP