All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated the Docker client to the latest version to ensure continued compatibility with Docker v29 and later
- Docker v29 deprecated support for the Docker API v1.41 and earlier
- This does not impact most commands for containers (e.g.,
up,build), but a few utility commands used older API calls for container information
- Removed support for the deprecated
docker-composev1 script- Docker has deprecated this version and marked it as end of life as of July 2022
- Future features of BloodHound CLI cannot support v1, so it is time to remove it to avoid confusion
- All users should be updated to at least v2.x
- If someone needs v1 and absolutely cannot upgrade, support for v1 remains in older BloodHound CLI binaries available from past releases
- Added support for Podman as an alternative to Docker (PR #22; Thanks to @hdm for the contribution)
- Podman must be configured to use Docker compatibility mode
- Added alias commands for
containers upandcontainers downto make it easier to runupanddown
- The
versioncommand now pulls the latest stable release version information for comparison and provides a download link
- Added support for a dedicated config directory to act as the configuration home for the JSON configuration file and default Docker YAML files
- The directory is the user's XDG config home directory and
bloodhound- i.e., the equivalent of
~/.config/bloodhoundon Unix,
~/Library/Application Support/bloodhoundon macOS, and
%LOCALAPPDATA%\bloodhoundon Windows - We use a lowercase
bloodhoundto match the directory used by older installations of BloodHound
- i.e., the equivalent of
- You can place BloodHound CLI anywhere and run it from any location, and it will always look in the config directory for the JSON and default YAML files
- The CLI creates the directory with a
0777permissions mask so it is accessible to all BloodHound users in multi-user environments - The permissions follow your umask, so the typical user mask of
0022will set the permissions to0755
- The directory is the user's XDG config home directory and
- Added a
config_directoryvalue to the JSON configuration file to control the config directory path- Changing this path will change where BloodHound CLI looks for the Docker YAML files
- BloodHound CLI will continue to look in the default location for the JSON config file
- Added checks that ensure the configured directory will work as expected every time BloodHound CLI runs
- The first check ensures the directory exists and creates the directory if it does not
- The second check ensures the config directory has proper permissions that will allow BloodHound CLI to read and write
- Added a
-for--fileflag to override the location of the YAML file to use for Docker- Providing a file path will override where BloodHound CLI looks for the YAML file
- e.g.,
./bloodhound-cli -f /Users/Mable/BloodHound/custom-docker-compose.yml containers up
- Every command that runs a Docker command will now ensure the required YAML file exists before proceeding
- Added a
checkcommand to check for necessary Docker and Docker Compose commands and the YAML files
- Updated golang.org/x/net
- Fixed YAML files being downloaded to your current working directory instead of the CLI binary's directory
- Changed releases to drop the release tag form the asset filenames to make it easier to grab the latest binaries
- Updated golang.org/x/net
- Added an
updatecommand to pull the latest BloodHound images - Added a
resetpwdcommand to recreate the default admin account if access is lost- This requires BloodHound v7.1.0
- Added a
--volumesflag to thecontainers downcommand that deletes the data volumes when the containers come down - Added an
uninstallcommand that removes the BloodHound environment by deleting containers, images, and volume data
- Fixed
installoutput not showing the initial password in the output
- Fixed setting the default password for the
installcommand
- Initial commit & release
- Initial commit & release
- N/A
- N/A
- N/A
- N/A
- N/A