-
Notifications
You must be signed in to change notification settings - Fork 124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker Compose Edits for BloodHound CLI #997
base: main
Are you sure you want to change the base?
Conversation
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read the CLA Document and I hereby sign the CLA |
How would users who are not using the CLI be impacted if they did not create a config file for themselves? Does it make more sense for the CLI to provide its own docker compose file rather than for us to edit the example provided here? |
@elikmiller If a user does not use the CLI and does not have the JSON file, there will be no file for the volume mount. We could have the CLI provide its own YML. If we place the CLI binary in the BloodHound repository, it will always be present for people to use and will be the intended way you install a new server or manage an existing BloodHound instance. I haven't heard if that's the way we want to go with it or make it an optional utility. |
@chrismaddalena so if I use your example as is without providing my own config file I'll get the following error message.
For that reason I do not think we can merge this change as it will break the easy install path for users who do not provide their own config file ahead of time. |
@elikmiller @chrismaddalena could we create a separate "examples" folder that has the docker-compose.yaml and config json that BHCLI are expecting and BHCLI can pull fresh from that location if they are missing on disk? That gives the existing path for folks who want to deploy separately via Docker, and the new example for using BHCLI. |
Yes I think having a separate docker compose file that the CLI can use which doesn't impact the current install experience is a nice compromise. Whether that lives here or in the CLI project shouldn't matter. |
Description
This PR adds a
name
label to the containers and uncomments the bloodhound.config.json volume mounting by default. These changes enable some of the functionality built into the upcoming BloodHound CLI.The most significant change here is using bloodhound.config.json by default. The CLI ensures the file is present, but someone could run into issues if they do not use the CLI. We have been discussing switching the getbhce link to pull down pre-built binaries so new users would download the CLI and run
./bloodhound-cli install
to get started. I am unaware of any decision or movement on that. For now, I think this change will need some consideration.Motivation and Context
The
name
labels allow human-identifiable names to be displayed alongside container information when BloodHound CLI'srunning
command is used. It also makes it easier for someone to pull logs from a container (e.g.,./bloodhound-cli logs postgres
).How Has This Been Tested?
I have been testing the changes with the
main
branch and the current version of BloodHound CLI with Stephen Hinck and others. The changes do not impact the containers.Screenshots (optional):
Example of the
name
labels in output:Types of changes
Checklist: