Skip to content

vidya381/flagctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flagctl

A lightweight self-hosted feature flag service. Run it, point your app at it, control features at runtime without redeploying.

# Create a flag
curl -X POST http://localhost:8082/flags \
  -H "X-API-Key: dev-api-key" \
  -H "Content-Type: application/json" \
  -d '{"key": "dark-mode", "name": "Dark Mode", "enabled": true, "rolloutPercentage": 100, "environment": "production"}'

# Evaluate it
curl -X POST http://localhost:8082/flags/dark-mode/evaluate \
  -H "X-API-Key: dev-api-key" \
  -H "Content-Type: application/json" \
  -d '{"userId": "user-123", "environment": "production"}'

# {"key":"dark-mode","enabled":true,"reason":"enabled"}

Stack

  • Backend - Java 21, Quarkus 3 (native binary via GraalVM)
  • Database - PostgreSQL (Neon or Supabase)
  • Deployment - Oracle Cloud Free Tier, systemd

Running locally

You need Java 21 and Maven.

# Fork the repo first, then clone your fork
git clone https://github.com/YOUR_USERNAME/flagctl
cd flagctl
cp src/main/resources/application.example.properties src/main/resources/application.properties
./mvnw quarkus:dev

Runs with an in-memory H2 database by default, no database setup needed.

The service runs on http://localhost:8082. Health check: http://localhost:8082/q/health


Contributing

See CONTRIBUTING.md. Issues labeled good first issue are a good place to start.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors