shivamashtikar / superposition

Superposition is a context-based configuration management system designed to facilitate safe and flexible rollout of config changes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Superposition

Superposition is a cloud configuration and experimentation management platform that allows software teams to manage their configuration via a central location, run multi-variate experiments for different configuration values and evaluate results of these experiments and conclude them accordingly.

The Superposition platform comes with three components:

  • Context-Aware-Configuration - a flexible configuration management system that supports contextual overrides for configuration keys
  • Experimentation - a experimentation management system that allows supplying different configuration values to equal-sized cohorts (facilitating A/B testing)
  • Metrics - a metrics sub-system that interacts with analytics backends to provide supporting metrics that enable conclusions to be drawn from experiments (TBD)

Immediately get started with Superposition and a demo app

docker run -d -p 8081:9090 -p 8080:8080 datron1/superposition-demo-app:latest

Once you run this command, you'll find the demo app at localhost:8081 and Superposition at localhost:8080. Play around to understand Superposition better, then dive into the documentation below!

Detailed documentation

  1. Context-Aware-Configuration
  2. Experimentation
  3. Metrics
  4. Client Context-Aware-Configuration
  5. Client Experimentation
  6. Local setup
  7. Context-Aware-Configuration API Ref - Postman Collection
  8. Experimentation API Ref - Postman Collection
  9. Hitchiker's Guide to Create a New Client

Key highlights

  • Admin UI - Out of the box administration (and tools) UI for configurations and experiments
  • Rich API support - every action on the platform to manage configurations / experiments is supported with an accompanying API
  • Safe configuration changes - support canary testing for releasing configuration changes using experiments
  • Type/Validation support - Comprehensive type support using json-schema and custom validator function support for configuration values
  • Multi-tenant support - a single deployment allows multiple tenants to manage their configurations/experiments in a completely isolated manner
  • Authn/Authz support - control who can make configuration/experimentation changes

About

Superposition is a context-based configuration management system designed to facilitate safe and flexible rollout of config changes

License:Apache License 2.0


Languages

Language:Rust 84.9%Language:JavaScript 6.9%Language:PLpgSQL 1.8%Language:Haskell 1.8%Language:CSS 1.4%Language:TypeScript 1.2%Language:Nix 0.6%Language:Shell 0.5%Language:Makefile 0.5%Language:C 0.3%Language:Dockerfile 0.0%