BloodHound v0.1.7
Summary
This update introduces a dedicated BloodHound configuration directory (defaulting to your XDG config path plus bloodhound; see below for details) for storing the JSON configuration file and Docker Compose YAML files. Docker Compose commands now use explicit YAML file paths within this directory instead of looking in the current working directory.
It also adds a -f or --file flag to specify a file path for an alternate YAML file, so you can use different YAML files to manage multiple instances with one JSON configuration.
CHANGELOG
[0.1.7] - 2025-7-9
Added
- 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
Changed
- Every command that runs a Docker command will now ensure the required YAML file exists before proceeding