Sign inSign up

trackerforce/switcher-api

By trackerforce

•Updated 27 days ago

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

Image
Developer tools
0

4.4K

trackerforce/switcher-api repository overview


Switcher API
Switching fast. Adapt everywhere.

Master CI Quality Gate Status Known Vulnerabilities License: MIT Docker Hub Slack: Switcher-HQ


Switcher API: Cloud-based Feature Flag API

⁠About

Switcher API is a Feature Flag API with the main focus on decreasing the friction caused by changes while keeping control of what really matters.

Main features:


⁠Local setup
  1. npm install
  2. Add .env-cmdrc file into the project directory (use '.env-cmdrc-template')
  3. Replace values such as secret keys and URLs
⁠Running Switcher API from Docker Composer manifest file

This option leverages Switcher API and Switcher Management with minimum settings required.

  1. Modify the configuration file "config/.env.dev":
  • JWT_SECRET: With your secure private key
  • SWITCHERAPI_URL: The Switcher API URL that Switcher Management will use internally
  • SM_IP: IP/DNS used by Switcher Management internal redirects
  1. Run:
docker-compose --env-file ./config/.env.dev up -d
  1. Open Switcher Management:
http://localhost

⁠Quick start

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*"

⁠API configuration

⁠Signing up

Signing up an account to use Switcher API with an email/password or linking it to a GitHub or Bitbucket account.

  • Singing up via email - Admin: /admin/signup [POST]
  • Singing up via GitHub - Admin: /admin/github/auth?code= [POST]
  • Singing up via Bitbucket - Admin: /admin/bitbucket/auth?code= [POST]
  • Access confirmation - Admin: /admin/signup/authorization?code= [POST]
⁠Domain

Domains are responsible for centralizing all settings and configurations.
It is equivalent to an organization that can manage multiple projects, users, and environments.

  • New domain - Domain: /domain/create [POST]
⁠Component

Components are applications that are using Switcher API.
Each component has its own access token and needs to be linked to Switchers.

  • Create a component - Component: /component/create [POST]
  • Generating a new API Key - Component: /component/generateApiKey [GET]
⁠Group

Groups are used to organize Switchers that share the same feature scope.

  • New Group - GroupConfig: /groupconfig/create [POST]
⁠Switcher

Switchers are the main entities to control features.

  • New Switcher - Config: /config/create [POST]
⁠Strategy

Customize the behavior of the Switcher by including strategy rules to your Switchers.

  • New Strategy - ConfigStrategy: /configstrategy/create [POST]

⁠API usage

In order to use Switcher API, you need to authenticate the component before using it.
See also our SDKs to integrate Switcher API with your application.

  • Auth - Client API: /criteria/auth [POST]
  • Executing - Client API: /criteria?key=SWITCHER_KEY [POST]

Tag summary

Content type

Image

Digest

sha256:28ee0c4e0…

Size

67.7 MB

Last updated

27 days ago

docker pull trackerforce/switcher-api