A Feature Flag API focused on toggling features over different environments and applications
5.7K

Switcher API is a Feature Manager that allows you to control your application features using feature flags, also known as feature toggles, feature switches, or feature flippers. It is a cloud-based solution that provides a simple and efficient way to manage your features, enabling you to release new features to your users with confidence.
Main features:
Switcher API supports multiple auth providers such as email/password-based authentication, SAML 2.0 for Single Sign-On (SSO), or GitHub/Bitbucket OAuth.
Obtain the following information from your Identity Provider (IdP):
Update your .env-cmdrc file or ConfigMap/Secret in Kubernetes with the following variables:
Enable SAML authentication in Switcher Management by setting the environment variable SAML_ENABLE=true
service_provider refers to Switcher APIweb_app refers to Switcher ManagementOAuth clients created via POST /oauth/register (such as switcher-mcp-server) are redirected to a
browser-based consent screen hosted by Switcher Management at /oauth/consent, rather than directly
to this API. Set OAUTH_CONSENT_URL to your Switcher Management public URL so the
authorization_endpoint advertised at /.well-known/oauth-authorization-server points there and
OAUTH_ISSUER_URL to the public URL of your Switcher API.
Optionally, set OAUTH_ALLOWED_REDIRECT_HOSTS to a comma-separated list of hostnames (e.g.
claude.ai,vscode.dev) to restrict the https redirect_uri hosts accepted by /oauth/register,
/oauth/authorize and /oauth/token. These are the hosts of the OAuth clients' callbacks.
Loopback callbacks (127.0.0.1/localhost) are always allowed. When unset, any https host is accepted.
This option leverages Switcher API and Switcher Management with minimum settings required.
docker-compose --env-file ./config/.env.dev up -d
http://localhost
Open Swagger UI by accessing the URL: http://localhost:3000/api-docs
Or use Postman by importing either the OpenAPI json from http://localhost:3000/swagger.json or Postman Collection from "requests/Switcher API*"
Signing up an account to use Switcher API with an email/password or linking it to a GitHub or Bitbucket account.
Domains are responsible for centralizing all settings and configurations.
It is equivalent to an organization that can manage multiple projects, users, and environments.
Components are applications that will use Switcher API.
Each component has its own access API key to interact with Switcher API.
Groups are used to organize Switchers that share the same feature scope.
Switchers are the entry point to control features in your application.
Customize the Switcher behavior by including strategy rules to your Switchers.
This project's core foundation was built and maintained by a human from day one. However, we have leveraged AI tools to assist in various aspects of the development process, such as troubleshooting, code optimization, and documentation. We have thoroughly reviewed and tested all AI-generated contributions to ensure they meet our quality standards and align with our project's goals. We are committed to transparency about our use of AI and will continue to disclose any significant AI contributions in the future.
External contributions from the community are equally valued and will be reviewed with the same standards, regardless of whether they were assisted by AI or not. We encourage all contributors to disclose their use of AI tools in their contributions to maintain transparency and foster trust within our community.
Content type
Image
Digest
sha256:34f2c6fdf…
Size
71.9 MB
Last updated
9 days ago
docker pull trackerforce/switcher-api