How helio-barros/toggle-master works
ToggleMaster is a feature-flag platform: operators manage API keys, flag definitions, and targeting rules; clients request a per-user evaluation, which combines flag and rule data, returns a decision, and emits an analytics event. Analytics consumes queued events and stores them in DynamoDB. The excerpts show these runtime relationships; analytics queries and other README-level capabilities cannot be established because no README content was provided.
Main entry points: handlers.go Key API · evaluator.go Decision logic · flag-service/app.py Flag CRUD · targeting-service/app.py Targeting rules
Components 19
Flag management
- Flag CRUD
flag-service/app.py - Flag database
flag-service/db/init.sql - Targeting rules
targeting-service/app.py - Rules database
targeting-service/db/init.sql
Evaluation
- Evaluation API
evaluation-service/handlers.go - Decision logic
evaluation-service/evaluator.go - Decision models
evaluation-service/types.go - Decision cache
- Evaluator setup
evaluation-service/main.go
Event analytics
- Event publisher
evaluation-service/sqs.go - Event queue
- Event consumer
analytics-service/app.py - Event store
Authentication
- Key API
auth-service/handlers.go - Key generation
auth-service/key.go - Key database
auth-service/db/init.sql - Auth service setup
auth-service/main.go
Other components
- API operator
- Evaluation client
Connections 23
- API operator → Key API: manages keys
- Key API → Key generation: generates and hashes
auth-service/handlers.go - Key API → Key database: stores and validates
auth-service/handlers.go - Auth service setup → Key API: routes requests
auth-service/main.go - API operator → Flag CRUD: manages flags
flag-service/app.py - Flag CRUD → Flag database: reads and writes
flag-service/app.py - API operator → Targeting rules: manages rules
targeting-service/app.py - Targeting rules → Rules database: reads and writes
targeting-service/app.py - Flag CRUD → Key API: validates API key
flag-service/app.py - Targeting rules → Key API: validates API key
targeting-service/app.py - Evaluation client → Evaluation API: requests evaluation
- Evaluator setup → Evaluation API: routes requests
evaluation-service/main.go - Evaluation API → Decision logic: gets decision
evaluation-service/handlers.go - Evaluation API → Event publisher: dispatches event
evaluation-service/handlers.go - Decision logic → Decision cache: reads and writes cache
evaluation-service/evaluator.go - Decision logic → Flag CRUD: fetches flag
evaluation-service/evaluator.go - Decision logic → Targeting rules: fetches rule
evaluation-service/evaluator.go - Decision logic → Decision models: uses models
evaluation-service/evaluator.go - Evaluator setup → Decision cache: initializes client
evaluation-service/main.go - Evaluator setup → Event queue: configures publisher
evaluation-service/main.go - Event publisher → Event queue: sends events
evaluation-service/sqs.go - Event consumer → Event queue: receives messages
analytics-service/app.py - Event consumer → Event store: stores events
analytics-service/app.py