- 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.Stackandkubernetes.Configuration(#183)
- Fix:
DockerTasks: fixed remote_tunnel() apply which was broken in 0.5.5 - Fix: fixed terminal colors for Windows OS
- Enhancement:
DockerTasks: addedenvparameter which can be used to provide set of environment variables for all commands executed on the remote host
- Enhancement: destroying of
docker.Stackorkubernetes.Configurationalso removes all its images
- Fix:
kubernetes.Configuration: fixed multi-master configurations
- Change:
fabricio.infrastructure: removednameparameter - 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
--displaybehaviour for methods ofTasks(#71)
- Fix:
DockerTasks.prepare: fixed multi-host configuration
- Change:
docker.Container.delete()usesdocker rmwith--volumesoption 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:
DockerTasksnow 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:
DockerTaskswill 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:
PostgresqlContainerdoes not usesudoby default (can be enabled again bysudo=Trueattribute) - Change: removed sentinel containers logic for services
- Enhancement:
docker.Service:publishoption 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.Stackwhich 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 rollbackforrollbackcommand (#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_optionsargument - Enhancement: added Django example
- Fix: fixed some
Djangomigrations revert scenarios
- Change: removed all deprecation warnings
- Enhancement: added compatibility with Python 3 (#63)
- Change:
docker.Service:modeis now an attribute, not an option - Change:
docker.Optionis unsafe by default - Change:
docker.BaseService.safe_optionsdoes not include custom options - Enhancement:
docker.Service:networkoption can be updated - Enhancement:
docker.Serviceskips empty options - Enhancement:
docker.Container.execute()can take additional options (#125)
- Change:
ImageBuildDockerTasks.preparecan now take any option each of which will be passed todocker buildcommand - 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 whencaptureparam enabled - Enhancement:
StreamingReplicatedPostgresqlContainer: added compatibility with PostgreSQL 10 - Enhancement:
fabricio.local()andfabricio.run()have common set of params now - Enhancement:
DockerTasks:tagparam 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-periodand--replicasoptions - Enhancement: do not raise error if at least one Swarm manager was able to update the service
- Enhancement: added
upgradecommand
- Fix: fixed
Container's deprecated options mapping
- Fix:
DjangoContainerandDjangoService: fail if migration plan could not be retrieved - Fix:
DjangoContainerandDjangoService: 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
PullDockerTasksandBuildDockerTasks,DockerTasksandImageBuildDockerTaskscan 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:
StreamingReplicatedPostgresqlContaineraborts 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:
PostgresqlContainercan be updated without new container creation if only configs were changed - Enhancement: added
StreamingReplicatedPostgresqlContainerwhich 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:
DjangoContainerdoesn't callbackup()before applying migrations now - Change:
PostgresqlContainerdoesn't containPostgresqlBackupMixinnow - Enhancement: use
remote_tunnelonly 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
Containerupon initialization
- Fix: fixed Fabric's
serialandparalleldecorators 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_enabledflag - 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_enabledis True - Change: modified
DockerTaskscommands 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.infrastructuredecorator 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 runbackuptask by default - Enhancement:
docker.Container.update()forces starting container if no changes detected - Enhancement:
apps.python.django.DjangoContainer.migrate()does not runmigrateif 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_tunnelhas been muzzled andtasks.DockerTasks.pull()output enabled instead (#42)
- Enhancement:
tasks.BuildDockerTasks.prepare()always usesdocker build's --pull option