Flagbase Core is the main service responsible for streaming feature flags to our SDKs via SSE (Server-Sent Events). It provides a REST API, used to manage key resources (i.e. workspaces, projects, environments, flags etc).
The core has multiple modes of operation (i.e. all (default)
, api
, streamer
, poller
). The service can be run on multiple nodes (i.e. it is horizontally scalable).
The quickest way to get the service running locally will require you to have docker and docker-compose installed on your machine. If you want help compiling the binary and running locally, please use the Core Dev Guides.
docker-compose up
docker-compose exec core ./bin/flagbased manage access create --key=<ACCESS_KEY> --secret=<ACCESS_SECRET> --type=root
curl -P GET http://localhost:5051/healthcheck
docker-compose down -v
To lint locally via docker:
docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:v1.51.2 golangci-lint run
We encourage community contributions via pull requests. Before opening up a PR, please read our contributor guidelines.
Check out these pages that'll help you get started, if you want to contribute to the core:
- Core Dev Guides: Building & running locally / Architecture / Data models etc
- Core RFCs: Technical RFCs / Proposals etc