Skip to content

Dockflow 3.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 11:58
· 86 commits to main since this release

Dockflow 3.1.0

Changed

  • An image a node already holds is not sent again. Without a registry, each deploy streams the built images to the nodes. A service that did not change since the last version is now recognised on each node by its content (layers and container config) and only gets the new version's tag, instead of the whole image going over SSH again. This works whichever image store the machines use (containerd or classic).
  • The WebUI's API answers failures with an HTTP error status. The services list answers 404 without an environment or a manager, 502 when Docker refuses and 500 on an error; a refused lock release and a cancel with nothing running answer 409. The UI now shows why a lock acquire or release was refused.
  • backup create, list, prune, restore and ssh find the active manager when an environment has several, like the other Swarm commands, so one manager down no longer stops them.

Fixed

  • A server's own CI variable wins over the environment-wide one. <ENV>_<SERVER>_<VAR> and <ENV>_<VAR> naming the same variable were applied in whatever order the environment listed them; the server's own now always wins, as the docs said.
  • dockflow config validate shows its hint again for a project_name the format refuses.
  • The WebUI's API passes a key's password to the manager connection, like the CLI.

Internal

The code was reorganised without changing what it does: large modules split by responsibility (compose, backup, release, SSH, the deploy phases), one deploy run object owning the steps, the undo on failure and the record, the API reusing the CLI's node and connection helpers, and a comment pass keeping only the comments that explain why.


Installation

Each of these checks the binary against this release's SHA256SUMS before installing it.

Linux / macOS:

curl -fsSL https://raw.githubusercontent.com/Shawiizz/dockflow/main/install.sh | DOCKFLOW_VERSION=3.1.0 bash

Windows (PowerShell):

$env:DOCKFLOW_VERSION = "3.1.0"; irm https://raw.githubusercontent.com/Shawiizz/dockflow/main/install.ps1 | iex

npm:

npm install -g @dockflow-tools/cli@3.1.0

Download by hand

Download the binary of your platform and SHA256SUMS from the assets below into one
directory, check the binary there, then put it on your PATH:

grep ' dockflow-linux-x64$' SHA256SUMS | sha256sum --check          # Linux
grep ' dockflow-macos-arm64$' SHA256SUMS | shasum -a 256 --check    # macOS

Full Changelog: 3.0.1...3.1.0