- Backups are more resilient to transient errors and do not repeat backups that are less than one day old
- The postfix mailname, banner and relay can be set with variables instead of being hardcoded
- Bug fix only.
- Add backup download to download the latest backup in ~/.enough/example.com/backups.
- The ansible variable website_domain can be used to specify a domain other than example.com
When using the libvirt infrastructure driver, the name of the host running the bind service is bind-host by default and can be changed. The following should be set in the ~/.enough/example.com/inventory/services.yml:
bind-service-group: hosts: bindother-host:
This is useful when running more than one Enough instance from a single libvirt instance. When using the OpenStack infrastructure driver the bind service must run from a host named bind-host.
Hosts can now be provisionned using libvirt instead of OpenStack. For instance:
$ enough --domain example.com host create --driver libvirt bind bind: building image bind: preparing image bind: creating host bind: waiting for ipv4 to be allocated bind: waiting for 10.23.10.164:22 to come up Check if SSH is available on 10.23.10.164:22 bind: host is ready +-------+--------------+ | Field | Value | +-------+--------------+ | name | bind | | user | debian | | port | 22 | | ip | 10.23.10.164 |
- The ansible variable website_repository can be used to specify a repository other than the default.
- Retry every minute during two hours if no HTTPS certificate can be obtained. It is assumed that the cause for the failure is that DNS propagation can take a few hours.
- Reduce memory requirements when downloading files from Nextcloud. It can become a problem when the size of the file is large (i.e. greater than 1GB).
- Add missing dependencies (debops.libvirt*) that would fail when trying to deploy a CI runner.
The icinga client address was hostvars[inventory_hostname][‘ansible_host’] prior to 2.1.12. It now is icinga_client_address which defaults to hostvars[inventory_hostname][‘ansible_host’]. It can be used to resolve the following problem:
- The icinga master has a private IP and no public IP
- The icinga master goes through a router with a public IP
- The icinga client has a public IP which is the default for icinga_client_address
- The icinga master tries to ping the icinga client public IP but fails because the firewall of the client does not allow ICMP from the router public IP
The icinga_client_address of the client is set to the internal IP instead of the public IP. The ping will succeed because the firewall allows ICMP from any host connected to the internal network.