All notable changes to this project will be documented in this file.
This file's format is based on Keep a Changelog
and this project adheres to Semantic Versioning. The
version number is tracked in the file Cargo.toml
.
Contact: See Cargo.toml authors Status: Available for use
2.1.0 - 2024-09-26
- Add
FLOKI_WORKING_DIR
environment variable that is accessible inside the container. Can be used whenmount:
has been specified infloki.yaml
.
2.0.1 - 2024-05-15
- Fix publishing releases
2.0.0 - 2024-05-15
- Change entrypoint suppression to allow entrypoints by default
- Switch to yaml-rust2.
1.2.1 - 2023-07-20
- #62: Use shell_words to split the outer shell so that more complex outer shells can be used.
- Load values from files relative to the floki config file, not from the current working directory.
- Optimise the release build for size
1.2.0 - 2023-07-07
- Add
yaml
function to tera templating engine so that floki templates can useyaml(file="<filepath>")
in order to load values. - Add
json
function to tera templating engine so that floki templates can usejson(file="<filepath>")
in order to load values. - Add
toml
function to tera templating engine so that floki templates can usetoml(file="<filepath>")
in order to load values. - Add
floki render
to print out the rendered configuration template. - Switch rust image to
rust:1-alpine3.18
as it's better maintained. - Combine errors into a single FlokiError enum.
1.1.0 - 2023-07-05
- Floki templates are parsed with
tera
before being deserialized. - Limit MSRV to 1.57 while using
ekidd/rust-musl-builder
- needs updating.
1.0.1 - 2023-04-18
- Don't add "-i" to docker commands when stdin is not a tty. This allows commands
floki run -- <command>
to be run from inside other scripts even if stdout looks like a tty.
1.0.0 - 2022-09-12
- Move to version 1.0.0 - so long, ZeroVer!
- No other functional changes.
0.9.1 - 2022-06-28
- Don't add "-i" to docker command when invoked without a tty. This allows a one-off
floki run -- <command>
to be run from a non-interactive shell.
0.9.0 - 2022-05-11
- set
tls=false
for dind
0.8.0 - 2022-01-25
- Change docker in docker image tag from
stable-dind
todind
- Fix up clippy warnings and enforce clippy going forward
image_exists_locally
now checks that the specified image exists
0.7.1 - 2021-12-08
- Adjust SSH agent forwarding error message
- Fixed Github releases
0.7.0 - 2021-11-16
- Automatically suppress the container entrypoint - MAJOR
- Update simplelog from 0.9 to 0.11 - MINOR
- Rework internals to have clear data structure for the runtime configuration - MINOR
- Disable Bors as it's not gaining us much.
- Allow entrypoint suppression to be set in the configuration file - MINOR
- Add exec mode for generating images - MINOR
- Fix up old dependencies; move to thiserror/anyhow instead of failure - MINOR
- Publish tags to crates.io - PATCH
0.6.2 - 2021-03-03
- Some improvements to the getting started guide
- Some improvements to the feature documentation (including adding how to specify the
dind
image).
- Added Bors support
- Added a navigation section to the documentation (temporary until documentation format is redesigned)
- Added a floki config file for quickly running
hugo
for building and testing documentation
- Don't require a floki config file to be present to run
floki completion
- Properly parse
docker_switches
in accordance with shell quoting rules
0.6.1 - 2020-07-16
- Fixed bug in new
add_docker_switch
behaviour.
0.6.0 - 2020-07-15
- Cleanup of resolution of working directory to use proper path types - PATCH
- Cleanup and improve handling of user uid and gid - PATCH
- New Subcommand:
completion
🎉- Generation of shell 🐚 completion added for an assortment of shells: bash, fish, zsh, powershell, elvish.
- See
floki completion --help
0.5.0 - 2020-05-05
- Change
after_deploy.sh
into a separate stage asafter_deploy:
scripts run after eachdeploy:
step. - Resolve Dockerfile path and Docker context correctly when running
floki
from a subdirectory of the directory containingfloki.yaml
- PATCH - Correct and refine path handling - PATCH
- Correct and refine environment variable handling - PATCH
- Update Rust dependencies (run
cargo update
) - PATCH - Bump serde_yaml from 0.7.5 to 0.8.4 - PATCH
- Bump structopt from 0.2.18 to 0.3.13 - PATCH
- Bump uuid from 0.6.5 to 0.8.1 - PATCH
- Rework logging and verbosity setting to use simplelog (needed because of
structopt
upgrade) - PATCH --local
CLI flag is no longer required to usedocker_switches
- MINOR
- Allow the docker-in-docker image to be specified in configuration - MINOR
0.4.3 - 2019-12-02
0.4.2 - 2019-12-02
- Add support for specifying Dockerfile build target - MINOR
- Add
announce
support for notifying Slack of new changes - MINOR - Fix up build.sh for Linux builds - PATCH
0.4.1 - 2019-11-12
- Attempt to fix up jobs and deployment to Cargo
0.4.0 - 2019-11-07
- Deploy tagged versions to crates.io - MINOR
- Generalize
DockerCommandBuilder
and refactor docker-in-docker function to use it - PATCH
- Add support for
floki
volumes. These can be used for caching build artifacts - MINOR
0.3.0 - 2019-10-01
- Rename
FLOKI_HOST_WORKDIR
toFLOKI_HOST_MOUNTDIR
- BREAKING - Also search ancestors of the working directory for a
floki.yaml
- MINOR - Make parsing of
floki.yaml
strict - deny unknown fields - BREAKING - Parse
floki.yaml
usingRead
interface to file - PATCH
0.2.0 - 2019-08-10
- Small tidyups of environment collection module - PATCH
- Disable TLS in
dind
to fix failingdind
functionality on newerdind:stable
images - PATCH
- Forward host working directory as
FLOKI_HOST_WORKDIR
- MINOR
0.1.0 - 2019-05-26
- Remove
forward_tmux_socket
- BREAKING - Remove
--pull
switch - BREAKING - Remove pull specifications from configuration file - BREAKING
- Refactor to collect environment at start of day - PATCH
- Only mount the ssh_agent socket file - BREAKING
- Start working in the mount_pwd path - BREAKING
- Rename mount_pwd to mount - BREAKING
- Enforce reproducibility (override with
--local
) - BREAKING - Move from
trim_right
totrim_end
- PATCH - (Refactor) Simplify addition of environment variables to docker run - PATCH
- Refactor - PATCH
- Add Travis CI file - PATCH
- Use 2018 edition of rust. - PATCH
- Update quicli to 0.4 - PATCH
- Deploy to GitHub - PATCH
- Make
sh
the default shell - BREAKING
- Make
pull
a subcommand offloki
- MINOR
0.0.20 - 2019-02-12
- Expose host user id as FLOKI_HOST_UID - MINOR
- Expose host user id as FLOKI_HOST_GID - MINOR
- Allow inner and outer shells to be specified - MINOR
0.0.19 - 2018-10-23
- Exit if an
init
command fails (as opposed to carrying on) - BREAKING - Make sure
floki
detects docker errors properly - BUGFIX - Non-zero exit code on error - BUGFIX
0.0.18 - 2018-10-05
- Make
floki run
work properly with subcommand switches - BUGFIX - Make sure floki errors if
docker build
fails - BUGFIX
0.0.17 - 2018-10-02
- Package floki in an RPM - PATCH
- Add
floki run
subcommand - PATCH
0.0.16 - 2018-09-10
- Wrapped common docker errors to make them clearer - PATCH
0.0.15 - 2018-08-08
- Only kill
dind
container if we launched it - BUGFIX
0.0.14 - 2018-08-08
- --pull switch to update images - PATCH
- Fixup docker-in-docker to allow bind mounts - PATCH
0.0.13 - 2018-08-06
- docker-in-docker support - PATCH
- Add ability to forward current user - PATCH
0.0.12 - 2018-07-31
- Made tmux socket forwarding permissive (doesn't fail if not found) - PATCH
0.0.11 - 2018-07-31
- Build spec now requires the name as a subkey of build - BREAKING
- forward_tmux_session -> forward_tmux_socket - BREAKING
- Rewrite in Rust - PATCH
- Sphinx docs - PATCH
0.0.10 - 2018-07-25
- Allow custom docker switches - PATCH
- Configurable pull policy - PATCH
0.0.9 - 2018-07-12
- Add a version switch - PATCH
- Make docker not use sudo - PATCH
0.0.8 - 2018-07-11
- Empty init defaults to no commands - BUGFIX
- Make image specification mandatory - PATCH
0.0.7 - 2018-07-10
- Change how we specify an image to build - PATCH
0.0.6 - 2018-07-10
- Add option to forward tmux socket - PATCH
- Add basic configuration validation - PATCH
- Added ability to specify shell - PATCH
- Add BSD style help switch - PATCH
0.0.5 - 2018-07-03
- Config file now command line parameter. Default still
./floki.yaml
0.0.4 - 2018-04-06
- Allow build container to originate from Dockerfile - PATCH
0.0.3 - 2018-04-06
- Rename to ssh-agent forwarding field - PATCH
0.0.2 - 2018-04-06
- Rename to floki to prevent conflicts on pypi - PATCH
0.0.1 - 2018-04-06
- Initial primitive version