Skip to content

Releases: efrecon/machinery

Version 0.7

05 Apr 04:13
Compare
Choose a tag to compare
  • Suppress most unexpected characters from temporary paths so as to minimise
    problems (scp uses, for example, the colon sign as a separator between the
    host and the path).
  • Default is now to create and use a machine storage cache in the same directory
    as the main YAML cluster file. This is a breaking change, but eases project
    migration between machines. To revert to prior behaviour and keep using
    machinery on an existing cluster, use the global option -storage and set
    it to something like ~/.docker/machine, which is the default location for
    machine.
  • Machine specification now takes a list of files specifications. These are
    formatted as the path to the source, possibly followed by a colon :
    character and the path to the destination; modelled after the volume mounting
    command of docker. These files (or directories) will be copied early in the
    initialisation process. They are meant to provide a quick way to initialise
    machines and ensure that they, for example, host all necessary secrets, ready
    to be mounted onto the containers running on those machines.
  • Preliminary support for running from windows, using the
    DockerToolbox.
  • Ability to use another machine as a cache for the storage of images before
    they are transmitted to the remote machines in the cluster. This is a
    breaking change as it modifies the semantics of the -cache global option
    (contains the name of the machine used for cache). This new behaviour is
    necessary for the windows port as the daemon runs within a machine created in
    VirtualBox.

Version 0.6

27 Aug 08:38
Compare
Choose a tag to compare
  • Fixed better exit from interactive ssh sessions.
  • Refactoring all command-line parsing and operations under global
    cli command in order to make some of its services available to
    other modules.
  • Implementation of a Web API, using a vocabulary similar to the one
    from the command line.
  • Adding commands to search for components (by name patterns) and to
    execute docker commands on groups of components (by the same name
    patterns).
  • Adapting to new options in latest machine, which leads to quicker
    machine creations as setting labels does not need a restart anymore.
  • Dynamically adapt to the OS on the created virtual machine when
    installing necessary tools such as rsync.
  • Adding -restrict option to forall and search to restrict to a
    subset of matching machine name patterns within the cluster.
  • Now accepting wildcards instead of (shortened) machine names in most
    CLI commands. Most usefull is for ps sub-command: when called
    without arguments it will return the components in the swarm, when
    called with * (matching all machine names), it will list all
    components in the cluster.
  • Added a ls CLI sub-command, this will print out the list of
    cluster machines and their state.
  • Use a dash-led marker at the beginning of YAML files to
    automatically pick up the cluster description from the current
    directory as a default failover.
  • Adding an addendum section to VMs, this contains a list of scripts
    (or similar) that will automatically be run once the machine has
    been created. They can be used to control access to ports,
    etc. using provider-specific command-line tools.

Version 0.5.1

01 Jun 21:31
Compare
Choose a tag to compare
  • Exported shares are now resolved relatively to the directory of the
    main cluster description file, which helps migrating project trees
    if necessary.
  • Mounted shares (still VirtualBox only) will persist reboots of the
    virtual machines through adding a specific section to
    /var/lib/boot2docker/bootlocal.sh or creating the file if necessary.
  • Shares can now have a type which defaults properly to vboxsf on the
    virtualbox driver and to (new type) rsync on all other drivers.
    This will use rsync to copy the content of a host directory at VM
    creation and to copy back the content of the VM directory using the
    new sub-command called sync. Running machinery sync as a cron
    job is then probably a good solution.
  • Fixed bug that would prevent machinery to mount some of the shares
    using vboxsf.
  • Adding support for human-readable sizes, e.g. 10G for 10 gigabytes
    (powers of 1000), or 1GiB for 1 gigibytes (powers of 1024
    instead!).
  • Adding support for user-specified ssh command, which will be used
    in place of the one that is guessed from introspection of
    docker-machine ssh whenever possible.
  • Using the new docker-machine scp sub-command for file copy
    operations when it exists.
  • Added possibility to recreate the shares and mount them from within
    a reinit call. This isn't entirely tested yet and will fail
    reusing shares if they had already been created in the past.
  • Added possibility to read program options from configuration file
    through -config global option (handy when specifying complex ssh
    commands for example).
  • Added ps command to return the status of the whole cluster (via
    the swarm master).
  • ssh sub-command now can be called without arguments to get a
    prompt into virtual machine (thus being a (handy?) relay to
    docker-machine ssh).

Version 0.5

04 May 09:59
Compare
Choose a tag to compare
  • Fixed a bug when swarming compose project files: these would be started up on
    the host and not within the cluster!
  • Added possibility to pass project name or substitution instructions to YAML
    compose files being swarmed into the cluster.
  • Fixed bug so that .env files pointed by project files that should be
    substituted will also be substituted and will be found by the project file
    when running compose.
  • Fixed bug where compose projects would not be properly resolved when started
    using swarm.
  • (Finally?) fixing login/pull bug so machinery will now be able to
    properly download from private repositories.
  • Adding support for aliases, a new key called aliases under the VM
    dictionary in the YAML file. This should be a list of names that
    can also be used to point at the machine from the command line, but
    will also appear in the discovery mechanisms.
  • Squeezed away a number of synchronisation bugs that would occur on
    slow hosts, we typically wait for good markers and retry a number of
    times sensitive operations.
  • The default is now to use the locally cached images when
    initialising virtual machines. This will speed up initialisation in
    a number of cases. Furthermore, this allows to push private images
    on the machines withouth having to transfer repository credentials
    or similar.
  • Factored away UNIX/linux specific commands into a separate package
    to keep down the size of the main code-base.

Version 0.4.1

22 Apr 07:53
Compare
Choose a tag to compare

v 0.4.1

  • Added support for passing docker-compose commands when swarming in
    project files: -kill, -start, -rm, etc.
  • Fixed output bug so we get (again!) a list of running components
    once compose operations have ended.

v 0.4 (never released)

  • Added support for substitution of (local) environment variables as a
    workaround for this
    highly-requested missing
    feature of compose. However, this means that, when crafting compose project
    files to use the feature, you will not be able to use them directly outside of
    machinery, unless you run them through
    envsubst
  • Adding support for "poor man's discovery". machinery automatically declares
    and caches environment variables with network information for the created
    machines. These variables can be, for example, used when starting components
    through compose (see above).
  • Adding support for logging in at one or several registries at the docker
    daemon running within a specific virtual machine. Note that you will have to
    start the components under the same user than the one that was automatically
    logged in.
  • Adapting to new versions of docker, docker-machine and docker-compose.
  • Automatically trying to update a machine to the latest boot2docker.iso
    when the installed version of docker is lower than the one of the local
    installation.
  • Arrange for the temporary files created for performing environment variable
    substitution to point back correctly to the source files when using extending
    services with compose.
  • Adding an env command to export all machinery network details to shell.
  • Extending the swarm command so it takes a list of compose project files, or
    indirections to compose project file in a format similar to the compose key
    of the YAML syntax. These projects will be sent to the swarm master for
    creation.
  • Adding a reinit command to trigger some of the machine initialisation steps,
    such as image downloading or component creation.

v0.3

15 Apr 22:11
Compare
Choose a tag to compare

This is the first release with available binaries. See the release notes inside the project files.