https://github.com/mantono/flagpole
Minimal and simple service for hosting feature flagging configurations
https://github.com/mantono/flagpole
Last synced: 2 months ago
JSON representation
Minimal and simple service for hosting feature flagging configurations
- Host: GitHub
- URL: https://github.com/mantono/flagpole
- Owner: mantono
- License: mit
- Created: 2022-10-15T14:49:03.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-24T17:46:30.000Z (3 months ago)
- Last Synced: 2025-03-17T19:02:23.499Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 235 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# flagpole
Flagpole is a minimal and simple service for hosting [feature flagging](https://featureflags.io/feature-flag-introduction) configurations.## Project Priorities
#### Simple
The API - and code - should be intuitive and unsurprising. _Less is more_ is a guiding principle.#### Resource Efficient
Running the service should require minimal resources, both in terms of memory and CPU usage.#### Secure & Reliable
This project should be built in such way that it has as few attack vectors as possible. Reducing complexity is a corner stone for achieving this.#### Performant
Performance is important and desirable, but not as important as the above priorities.## Building & Installing
If you have [cargo](https://doc.rust-lang.org/cargo) installed, run `cargo install --path .` in the root of this repository.There is also a [Dockefile](Dockerfile) available, if you prefer to run this with Docker.
## Usage
Launch the application simply by typing `flagpole` in a terminal.See `flagpole --help` for command line flags, such as configuring API key or port number.
### Authorization
Authorization of requests can optionally be enabled, in which case all requests that _alters_ state (`PUT` and `DELETE`) requires authorization,
while other requests (`HEAD` and `GET`) does not require authorization. Authorization can be omitted if this service runs in a context where it
is not needed.### API
See [API](API/) directory for documentation about the different API requests and examples.## Optional Features
| Feature | Enabled by Default | Comment |
| :-------: | :---------------: | :------ |
| `logging` | true | Add support for logging |
| `redis` | false | Persist feature flags to Redis |