Development environment setup
Ensure you have the following tools installed in your environment
- Docker
- Docker Compose
- Git
- Go (v1.21+)
- GoReleaser
- Make
- jq
- protoc
Setting up your git repositories
-
Clone GUAC to a local directory:
git clone https://github.com/guacsec/guac.git
-
Optional: If you want test data to use, clone GUAC’s test data:
git clone https://github.com/guacsec/guac-data.git
-
Go to your GUAC directory (the rest of the steps need to be done from this directory):
cd guac
Building the binaries
All steps assume you are in the root of the guac directory.
-
Build the binaries using make:
make
-
Alternatively, you may also build/run the binaries directly with go:
go run ./cmd/guacgql --gql-debug
Building containers
All steps assume you are in the root of the guac directory.
-
Build the binaries using make:
make container
Making changes to GraphQL (optional)
-
When making changes to the graphQL schema and client operations, you will need to run the graphQL generation code:
make generate
Making changes to protos (optional)
-
When making changes to any protocol buffers (e.g. for the [collectsub service]), you will need to run code generation:
make proto
Creating a PR
Whenever you are ready to contribute, feel free to open a pull request to the repository! Whenever you are updating your branch, please be sure to rebase instead of creating a merge commit.
Next steps
Check out more information about becoming a contributor in the contributor guide.