Bramble
Bramble is a production-ready GraphQL federation gateway. It is built to be a simple, reliable and scalable way to aggregate GraphQL services together.
Features
Bramble supports:
- Shared types across services
- Namespaces
- Field-level permissions
- Plugins:
- JWT, Open tracing, CORS, ...
- Or add your own
- Hot reloading of configuration
It is also stateless and scales very easily.
Future work/not currently supported
There is currently no support for subscriptions.
Contributing
Contributions are always welcome!
If you wish to contribute please open a pull request. Please make sure to:
- include a brief description or link to the relevant issue
- (if applicable) add tests for the behaviour you're adding/modifying
- commit messages are descriptive
Before making a significant change we recommend opening an issue to discuss
the issue you're facing and the proposed solution.
Building and testing
Prerequisite: Go 1.15 or newer
To build the bramble
command:
go build -o bramble ./cmd
./bramble -conf config.json
To run the tests:
go test ./...