- Fix: fixed dpath and six required versions
- Enhancement: added Python 3.8 support
- Enhancement: show explicit 'deploy' command in the list
- Enhancement: added Python 3.7 support
- Enhancement: added contribution info
- Enhancement: added ability to provide absolute or relative path to configuration file for
docker.Stack
andkubernetes.Configuration
(#183)
- Fix:
DockerTasks
: fixed remote_tunnel() apply which was broken in 0.5.5 - Fix: fixed terminal colors for Windows OS
- Enhancement:
DockerTasks
: addedenv
parameter which can be used to provide set of environment variables for all commands executed on the remote host
- Enhancement: destroying of
docker.Stack
orkubernetes.Configuration
also removes all its images
- Fix:
kubernetes.Configuration
: fixed multi-master configurations
- Change:
fabricio.infrastructure
: removedname
parameter - Enhancement: added new service command -
destroy
(#118) - Enhancement: full unicode support for Python 2 (#100)
- Fix:
DockerTasks
: fixed instance properties assignment
- Change: dropped Python 2.6 support
- Enhancement: added new service type -
kubernetes.Configuration
, see Kubernetes configuration example (#148) - Fix: fixed
--display
behaviour for methods ofTasks
(#71)
- Fix:
DockerTasks.prepare
: fixed multi-host configuration
- Change:
docker.Container.delete()
usesdocker rm
with--volumes
option by default - Enhancement: honour
super()
behaviour inside method-based tasks - Enhancement: use temporary image tag to keep cache for pulling and building images
- Fix: force infrastructure confirmation to use serial mode
- Change:
DockerTasks
now uses explicit SSH tunnel definition (see #154)
- Enhancement:
DockerTasks
: enabled SSH-tunneling option for all tasks
- Enhancement:
DockerTasks
: full image digest can be passed instead of a tag - Fix:
DockerTasks
will not try to work with image if it is not provided by service
- Fix:
docker.Stack
: pull fresh version of stack image(s) before save digest to metadata, otherwise it may not be available causing unnecessary stack update - Enhancement:
docker.Stack
: update stack services with image digests from backup after stack rollback
- Change:
PostgresqlContainer
does not usesudo
by default (can be enabled again bysudo=True
attribute) - Change: removed sentinel containers logic for services
- Enhancement:
docker.Service
:publish
option can be used to set range of ports - Enhancement:
docker.Service
: predefined options can be passed also by option name - Enhancement: added new service type -
docker.Stack
which takes Docker Compose configuration file as parameter, see Docker stacks example (#127)
- Change:
docker.Service
: do not create sentinel containers by default - Change:
docker.Service
: use nativedocker service rollback
forrollback
command (#132) - Enhancement:
docker.Service
: additional updatable options (secret, host, group, placement-pref, dns, dns-option, dns-search) (#133) - Enhancement:
docker.BaseService
: any option can be a callable taking service instance as argument - Enhancement:
docker.BaseService
: additional safe options can be passed to the service using specialsafe_options
argument - Enhancement: added Django example
- Fix: fixed some
Django
migrations revert scenarios
- Change: removed all deprecation warnings
- Enhancement: added compatibility with Python 3 (#63)
- Change:
docker.Service
:mode
is now an attribute, not an option - Change:
docker.Option
is unsafe by default - Change:
docker.BaseService.safe_options
does not include custom options - Enhancement:
docker.Service
:network
option can be updated - Enhancement:
docker.Service
skips empty options - Enhancement:
docker.Container.execute()
can take additional options (#125)
- Change:
ImageBuildDockerTasks.prepare
can now take any option each of which will be passed todocker build
command - Change: all options values are passed using '--option=value' template instead of '--option value'
- Change:
docker.Service
: labels with current and backup options are encoded using base64 codec instead of raw JSON - Fix: improved options quoting
- Fix:
fabricio.local()
can show command's output whencapture
param enabled - Enhancement:
StreamingReplicatedPostgresqlContainer
: added compatibility with PostgreSQL 10 - Enhancement:
fabricio.local()
andfabricio.run()
have common set of params now - Enhancement:
DockerTasks
:tag
param may contain full image name (e.g.registry/account/name:tag
)
- Fix:
AvailableVagrantHosts
: fixed vagrant hosts parsing on Windows
- Fix:
Service
: fixed failover during update - Enhancement:
DockerTasks
: use proxy registry when custom registry account used - Enhancement:
AvailableVagrantHosts
: added "+" and "+=" operators support
- Fix:
PostgresqlContainer
: fixed DB data 'volume' check - Enhancement:
AvailableVagrantHosts
: added slicing support - Enhancement:
DockerTasks
: added ability to override Docker registry account
- Change: use Docker's default values for
--stop-grace-period
and--replicas
options - Enhancement: do not raise error if at least one Swarm manager was able to update the service
- Enhancement: added
upgrade
command
- Fix: fixed
Container
's deprecated options mapping
- Fix:
DjangoContainer
andDjangoService
: fail if migration plan could not be retrieved - Fix:
DjangoContainer
andDjangoService
: fixed migrate-back command
- Change:
docker.Container
: restart() => reload() - Change:
docker.Service
: renamed options - labels => label, container_labels => container_label, constraints => constraint, mounts => mount, stop_timeout => stop_grace_period, ports => publish
- Change: renamed command: migrate_back => migrate-back
- Enhancement: implemented Docker Swarm mode support (#38)
- Fix: ignore errors during dangling images delete attempts (#104)
- Fix:
DockerTasks.delete_dangling_images()
now works on Windows (#94) - Fix: restart policy cannot be applied to temporary containers (#95)
- Enhancement:
DockerTasks.deploy()
: added option prepare=True which can be used to skip 'prepare' step during deploy
- Change: deprecated
PullDockerTasks
andBuildDockerTasks
,DockerTasks
andImageBuildDockerTasks
can be used instead, accordingly - Change: run/local: show detailed information about error occurred
- Enhancement: added additional examples hello_world and build_image
- Fix: macOS: fixed dangling entities removal
- Fix:
Options
: option values which contain space characters, single and double quotes are surrounded by double quotes now (#87)
- Fix:
StreamingReplicatedPostgresqlContainer
aborts execution if master promotion failed with exception - Enhancement: dangling volumes removal as default option of
Container.delete()
- Fix:
StreamingReplicatedPostgresqlContainer
: do not promote host without data as new master if there is another host with DB exists - Enhancement:
docker.Container
: added safe_options property which contains safe options; multiple containers with such options on the same host will not conflict
- Change: add --interactive option every time when --tty has been used
- Enhancement: custom name can be assigned to the infrastructure
- Enhancement:
PostgresqlContainer
can be updated without new container creation if only configs were changed - Enhancement: added
StreamingReplicatedPostgresqlContainer
which supports master-slave configuration deployment (#72) - Enhancement: added example and recipes
- Fix: set default env.infrastructure at the very first time
- Change:
fabricio.run()
use current host (instead of current infrastructure) to generate cache key - Change:
DjangoContainer
doesn't callbackup()
before applying migrations now - Change:
PostgresqlContainer
doesn't containPostgresqlBackupMixin
now - Enhancement: use
remote_tunnel
only if registry hostname is IP or alias of the remote host itself (#66) - Enhancement: image, options and other container attributes now can be passed to the
Container
upon initialization
- Fix: fixed Fabric's
serial
andparallel
decorators usage withinTasks
- Change: removed deprecated
CronContainer
- Change: removed deprecated
utils.yes()
- Change:
PostgresqlContainer
: deprecated 'postgresql_conf', 'pg_hba_conf' and 'data' properties in favour of new ones - Change:
PostgresqlBackupMixin
: deprecated 'db_backup_folder' and 'db_backup_name' properties in favour of new ones - Change:
PostgresqlBackupMixin
: removeddb_backup_enabled
flag - Enhancement:
fabricio.run()
: added 'use_cache=False' option which enables shared cache incapsulated within single infrastructure - Enhancement:
PostgresqlBackupMixin
: 'backup' and 'restore' cache result per infrastructure
- Change:
PostgresqlBackupMixin
: do actual backup only ifdb_backup_enabled
is True - Change: modified
DockerTasks
commands params order: force, tag, registry => tag, registry, force (#52) - Change:
DockerTasks
: 'revert' command was removed from the list of available commands in favour of 'rollback' - Change:
tasks.infrastructure
decorator does not require special environ variable to be autoconfirmed, instead special command '<infrastructure>.confirm' can be used for this purpose
- Fix: fixed bug when Container.update() changed container name
- Fix: fixed Django migrations plan
- Fix: fixed Django migrations change detection
- Change:
tasks.DockerTasks.deploy()
does not runbackup
task by default - Enhancement:
docker.Container.update()
forces starting container if no changes detected - Enhancement:
apps.python.django.DjangoContainer.migrate()
does not runmigrate
if actually no changes detected - Enhancement:
apps.python.django.DjangoContainer.migrate()
callsbackup()
before applying migrations - Enhancement: implemented
apps.db.postgres.PostgresqlContainer.backup()
andapps.db.postgres.PostgresqlContainer.restore()
(#17) - Enhancement: Fabric's
remote_tunnel
has been muzzled andtasks.DockerTasks.pull()
output enabled instead (#42)
- Enhancement:
tasks.BuildDockerTasks.prepare()
always usesdocker build
's --pull option