Tiny feature flag server.
- Fast: Built with FastAPI and SQLite.
- Tiny: Less than 1k lines of code.
- No external dependencies: Uses SQLite database
- Easy deployment: Deploy with coolify or grab the docker image.
I currently run nvxz.flags on coolify, but you can grab the alpine image and run it wherever you like.
More detailed API docs are available on swagger at /docs/ after install.
POST /users/
{
"username": "john",
"password": "jingleheimersmith"
}
| name |
type |
data type |
description |
| username |
required |
string |
Username on the platform |
| password |
required |
string |
Password for login |
| http code |
content-type |
response |
201 |
application/json |
<User object returned> |
400 |
application/json |
{"detail": "Bad Request"} |
409 |
application/json |
{"detail": "Username is taken"} |
curl -X POST -H "Content-Type: application/json" --data @post.json http://localhost:8000/users/
POST /auth/token/ OAuth2 Schema
| name |
type |
data type |
description |
| grant_type |
required |
string |
Part of OAuth2 scheme. Set to "password" |
| username |
required |
string |
Username on the platform |
| password |
required |
string |
Password for login |
| http code |
content-type |
response |
200 |
application/json |
<session token returned> |
400 |
application/json |
{"detail": "Invalid username or password"} |
curl -X 'POST' 'https://localhost:8000/auth/token' \
-H 'accept: application/json' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=password&username=test&password=test'
