Superposition is a context-based configuration management system designed to facilitate safe and flexible rollout of config changes
https://github.com/juspay/superposition.git
Superposition is a configuration and experimentation management platform that allows software teams to manage their configurations safely and allows them to run multi-variate experiments on those configurations. Superposition places a strong emphasis on safety of configuration changes. It does this by the following:
docker run -p 8080:8080 ghcr.io/juspay/superposition-demo:latest
Once you run this command, you can access the Superposition admin interface at localhost:8080. Play around to understand Superposition better, then dive into the documentation below!
Once you have played with the Superposition admin interface, you may want to consume the configuration in your application. Superposition is OpenFeature compatible. OpenFeature allows your application code to remain agnostic of the underlying configuration/feature-flag platform (like open telemetry for telemetry). The quick start guide has details on how to integrate and consume configurations (setup in Superposition) in your application using the Superposition Open Feature provider.
Superposition comes with a variety of clients supported in multiple programming languages to interact with the Superposition platform.
sdk - this library contains methods to interact with the control plane of Superposition to manage configurations and experiments. In short, all APIs supported by the Superposition platform can be invoked using the sdk (built using AWS' Smithy IDL).provider (or open-feature-provider) - this open feature compatible library is meant to be used by the applications that consume configurations hosted in Superposition. This has support for in-memory-caching and period polling based refresh of configuration in the application.| Language | sdk | provider |
|---|---|---|
| Rust | ||
| Javascript | ||
| Python | ||
| Java | ||
| Haskell | WIP | WIP |
| Go | TBD | TBD |
For a deeper dive into the under-pinnings of Superposition, development setup, API docs - you can go over the following links.
Superposition comes as a shot in the arm for any application that needs safe and flexible configurability. We have built applications that leverage the Superposition across different parts of the software stack - frontend, backend, infra and storage.