open-feature / protocol

OpenFeature Remote Evaluation Protocol
https://openfeature.dev
Apache License 2.0
23 stars 4 forks source link

OpenFeature Remote Evaluation Protocol (OFREP)


OpenFeature Logo

![WIP](https://img.shields.io/badge/status-WIP-red) :warning: __OpenFeature Remote Evaluation Protocol is a WIP initiative, expect breaking changes__ :warning: ## What is OFREP? OpenFeature Remote Flag Evaluation Protocol, is an API specification for feature flagging that allows the use of generic providers to connect to any feature flag management systems that supports the protocol. ## Goals - develop a client/server feature flag evaluation protocol: - define payloads sent between client and server - define the resources and functions available on the server - define the supported transports and encoding methods - define mechanisms for metadata delivery and transport configuration (headers, etc) - develop production-ready reference implementation - compliant server - compliant client (provider) - highly configurable and modular - compatible with any server implementation ## Non-Goals - defining a schema for the definition or storage of feature flags - defining an expression language for feature flag targeting rules ## Design Principles We value the following: - adherence to OpenFeature semantics - maximum compatibility and ease-of-adoption for existing solutions - minimum traffic and payload size - low latency of flag evaluations - portability and interoperability between runtimes and languages (should be usable in web, mobile devices, and server) - minimum reliance on dependencies (leverage ubiquitous, native transports and encodings where possible) ## Providers - [GO](https://github.com/open-feature/go-sdk-contrib/tree/main/providers/ofrep) - [JS Server](https://github.com/open-feature/js-sdk-contrib/tree/main/libs/providers/ofrep) - [JS Web](https://github.com/open-feature/js-sdk-contrib/tree/main/libs/providers/ofrep-web) ## Contribution If you are interested about the OpenFeature Remote Evaluation Protocol you can join the [`#openfeature-remote-evaluation-protocol`](https://cloud-native.slack.com/archives/C066A48LK35) slack channel on the [CNCF Slack](https://communityinviter.com/apps/cloud-native/cncf).