From 66f82f30030ec8a812d4fd53b98d1e7dd18c0386 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 17 Mar 2025 18:46:08 +0000 Subject: [PATCH 1/2] feat:Add documentation for ofrep Signed-off-by: Thomas Poignant --- website/docs/sdk/index.mdx | 14 ++++++++ website/docs/sdk/ofrep.md | 32 +++++++++++++++++ website/static/docs/openfeature/logo.png | Bin 0 -> 13052 bytes .../version-v1.42.0/sdk/index.mdx | 34 ++++++++++++------ .../version-v1.42.0/sdk/ofrep.md | 32 +++++++++++++++++ 5 files changed, 102 insertions(+), 10 deletions(-) create mode 100644 website/docs/sdk/ofrep.md create mode 100644 website/static/docs/openfeature/logo.png create mode 100644 website/versioned_docs/version-v1.42.0/sdk/ofrep.md diff --git a/website/docs/sdk/index.mdx b/website/docs/sdk/index.mdx index 98e7780e1b1..e54d85d2d61 100644 --- a/website/docs/sdk/index.mdx +++ b/website/docs/sdk/index.mdx @@ -3,6 +3,7 @@ description: Use GO Feature Flag with Openfeature SDKs --- import { Card } from "@site/src/components/doc/cardv3"; import { sdk } from "@site/data/sdk"; +import ofLogo from "@site/static/docs/openfeature/logo.png"; # 🧩 SDKs (with OpenFeature) @@ -60,3 +61,16 @@ GO Feature Flag support both paradigms, and the SDKs are designed to make it eas /> ))} + +### OpenFeature Remote Evaluation Protocol (OFREP) +In addition to the GO Feature Flag specific providers, we also support the OpenFeature Remote Evaluation Protocol (OFREP) which is a standard protocol for feature flag evaluation. + + \ No newline at end of file diff --git a/website/docs/sdk/ofrep.md b/website/docs/sdk/ofrep.md new file mode 100644 index 00000000000..ee720f29c66 --- /dev/null +++ b/website/docs/sdk/ofrep.md @@ -0,0 +1,32 @@ +--- +description: Use GO Feature Flag with Openfeature SDKs +title: OpenFeature Remote Evaluation Protocol (OFREP) +--- +# OpenFeature Remote Evaluation Protocol (OFREP) + +## Overview +In addition of the GO Feature Flag specific providers, we also support the OpenFeature Remote Evaluation Protocol (OFREP) which is a standard protocol for feature flag evaluation. +This protocol is designed to be used with any feature flag provider that supports it. + +## What is OFREP? +OFREP is an API specification that allows you to connect your applications to any feature flag management system that supports the protocol using generic providers. +This means more flexibility and choice when it comes to managing your features. + +For the full technical details, you can head over to the Open Feature Protocol documentation: Open Feature Protocol: https://github.com/open-feature/protocol/. + +## When to use OFREP instead of the official GO Feature Flag providers? +- When you want to be able to switch between different feature flag vendors without changing your code. +- When what you need is only the evaluation and you don't need the full feature flag management capabilities _(collect of flag evaluations, provider specific function for GO Feature Flag, etc ...)_. +- When you want to avoid vendor lock-in as much as possible. +- When you have a software that wants to integrate with different vendors, without importing all the providers of those vendors. +- When you want to use a SDK that has support of OFREP but not the official GO Feature Flag providers. + +## How to use OFREP with GO Feature Flag? +To use OpenFeature Remote Evaluation Protocol (OFREP) with GO Feature Flag, you need to have the [`relay-proxy`](./relay-proxy) running in your infrastructure. + +The `relay-proxy` has all the endpoints needed to communicate with any of the feature flag providers that support OFREP. + +If you want to look at those endpoints, you can look at them in the [API doc](https://gofeatureflag.org/API_relayproxy#tag/OpenFeature-Remote-Evaluation-Protocol-(OFREP)). + +## Any questions about OFREP? +Ask them on [Slack](./slack) or open an issue on the [GitHub repository](https://github.com/thomaspoignant/go-feature-flag/issues). \ No newline at end of file diff --git a/website/static/docs/openfeature/logo.png b/website/static/docs/openfeature/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c18c7158522557f218a00c0030f8a75a6743100 GIT binary patch literal 13052 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%0AJ?@T?7it8G<(aOkt_kUVq6C? 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 F{12Se<{SV3 literal 0 HcmV?d00001 diff --git a/website/versioned_docs/version-v1.42.0/sdk/index.mdx b/website/versioned_docs/version-v1.42.0/sdk/index.mdx index 98e7780e1b1..4bef36c8a07 100644 --- a/website/versioned_docs/version-v1.42.0/sdk/index.mdx +++ b/website/versioned_docs/version-v1.42.0/sdk/index.mdx @@ -3,6 +3,7 @@ description: Use GO Feature Flag with Openfeature SDKs --- import { Card } from "@site/src/components/doc/cardv3"; import { sdk } from "@site/data/sdk"; +import ofLogo from "@site/static/docs/openfeature/logo.png"; # 🧩 SDKs (with OpenFeature) @@ -34,16 +35,16 @@ GO Feature Flag support both paradigms, and the SDKs are designed to make it eas ### Client-side Languages
-{ sdk.filter(it => it.paradigm.includes('Client')).map((item) => ( - -))} + { sdk.filter(it => it.paradigm.includes('Client')).map((item) => ( + + ))}
@@ -60,3 +61,16 @@ GO Feature Flag support both paradigms, and the SDKs are designed to make it eas /> ))} + +### OpenFeature Remote Evaluation Protocol (OFREP) +In addition to the GO Feature Flag specific providers, we also support the OpenFeature Remote Evaluation Protocol (OFREP) which is a standard protocol for feature flag evaluation. + + \ No newline at end of file diff --git a/website/versioned_docs/version-v1.42.0/sdk/ofrep.md b/website/versioned_docs/version-v1.42.0/sdk/ofrep.md new file mode 100644 index 00000000000..ee720f29c66 --- /dev/null +++ b/website/versioned_docs/version-v1.42.0/sdk/ofrep.md @@ -0,0 +1,32 @@ +--- +description: Use GO Feature Flag with Openfeature SDKs +title: OpenFeature Remote Evaluation Protocol (OFREP) +--- +# OpenFeature Remote Evaluation Protocol (OFREP) + +## Overview +In addition of the GO Feature Flag specific providers, we also support the OpenFeature Remote Evaluation Protocol (OFREP) which is a standard protocol for feature flag evaluation. +This protocol is designed to be used with any feature flag provider that supports it. + +## What is OFREP? +OFREP is an API specification that allows you to connect your applications to any feature flag management system that supports the protocol using generic providers. +This means more flexibility and choice when it comes to managing your features. + +For the full technical details, you can head over to the Open Feature Protocol documentation: Open Feature Protocol: https://github.com/open-feature/protocol/. + +## When to use OFREP instead of the official GO Feature Flag providers? +- When you want to be able to switch between different feature flag vendors without changing your code. +- When what you need is only the evaluation and you don't need the full feature flag management capabilities _(collect of flag evaluations, provider specific function for GO Feature Flag, etc ...)_. +- When you want to avoid vendor lock-in as much as possible. +- When you have a software that wants to integrate with different vendors, without importing all the providers of those vendors. +- When you want to use a SDK that has support of OFREP but not the official GO Feature Flag providers. + +## How to use OFREP with GO Feature Flag? +To use OpenFeature Remote Evaluation Protocol (OFREP) with GO Feature Flag, you need to have the [`relay-proxy`](./relay-proxy) running in your infrastructure. + +The `relay-proxy` has all the endpoints needed to communicate with any of the feature flag providers that support OFREP. + +If you want to look at those endpoints, you can look at them in the [API doc](https://gofeatureflag.org/API_relayproxy#tag/OpenFeature-Remote-Evaluation-Protocol-(OFREP)). + +## Any questions about OFREP? +Ask them on [Slack](./slack) or open an issue on the [GitHub repository](https://github.com/thomaspoignant/go-feature-flag/issues). \ No newline at end of file From 38656ee18a61235863301f17f3108c53ef490bb8 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 17 Mar 2025 18:59:32 +0000 Subject: [PATCH 2/2] fix links Signed-off-by: Thomas Poignant --- website/docs/sdk/ofrep.md | 6 +++--- website/versioned_docs/version-v1.42.0/sdk/ofrep.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/docs/sdk/ofrep.md b/website/docs/sdk/ofrep.md index ee720f29c66..042c4c02e02 100644 --- a/website/docs/sdk/ofrep.md +++ b/website/docs/sdk/ofrep.md @@ -6,7 +6,7 @@ title: OpenFeature Remote Evaluation Protocol (OFREP) ## Overview In addition of the GO Feature Flag specific providers, we also support the OpenFeature Remote Evaluation Protocol (OFREP) which is a standard protocol for feature flag evaluation. -This protocol is designed to be used with any feature flag provider that supports it. +This protocol is designed to be used with any feature flag provider that supports it. ## What is OFREP? OFREP is an API specification that allows you to connect your applications to any feature flag management system that supports the protocol using generic providers. @@ -22,11 +22,11 @@ For the full technical details, you can head over to the Open Feature Protocol d - When you want to use a SDK that has support of OFREP but not the official GO Feature Flag providers. ## How to use OFREP with GO Feature Flag? -To use OpenFeature Remote Evaluation Protocol (OFREP) with GO Feature Flag, you need to have the [`relay-proxy`](./relay-proxy) running in your infrastructure. +To use OpenFeature Remote Evaluation Protocol (OFREP) with GO Feature Flag, you need to have the [`relay-proxy`](../relay-proxy) running in your infrastructure. The `relay-proxy` has all the endpoints needed to communicate with any of the feature flag providers that support OFREP. If you want to look at those endpoints, you can look at them in the [API doc](https://gofeatureflag.org/API_relayproxy#tag/OpenFeature-Remote-Evaluation-Protocol-(OFREP)). ## Any questions about OFREP? -Ask them on [Slack](./slack) or open an issue on the [GitHub repository](https://github.com/thomaspoignant/go-feature-flag/issues). \ No newline at end of file +Ask them on [Slack](/slack) or open an issue on the [GitHub repository](https://github.com/thomaspoignant/go-feature-flag/issues). \ No newline at end of file diff --git a/website/versioned_docs/version-v1.42.0/sdk/ofrep.md b/website/versioned_docs/version-v1.42.0/sdk/ofrep.md index ee720f29c66..53e7ee9dd95 100644 --- a/website/versioned_docs/version-v1.42.0/sdk/ofrep.md +++ b/website/versioned_docs/version-v1.42.0/sdk/ofrep.md @@ -22,11 +22,11 @@ For the full technical details, you can head over to the Open Feature Protocol d - When you want to use a SDK that has support of OFREP but not the official GO Feature Flag providers. ## How to use OFREP with GO Feature Flag? -To use OpenFeature Remote Evaluation Protocol (OFREP) with GO Feature Flag, you need to have the [`relay-proxy`](./relay-proxy) running in your infrastructure. +To use OpenFeature Remote Evaluation Protocol (OFREP) with GO Feature Flag, you need to have the [`relay-proxy`](../relay-proxy) running in your infrastructure. The `relay-proxy` has all the endpoints needed to communicate with any of the feature flag providers that support OFREP. If you want to look at those endpoints, you can look at them in the [API doc](https://gofeatureflag.org/API_relayproxy#tag/OpenFeature-Remote-Evaluation-Protocol-(OFREP)). ## Any questions about OFREP? -Ask them on [Slack](./slack) or open an issue on the [GitHub repository](https://github.com/thomaspoignant/go-feature-flag/issues). \ No newline at end of file +Ask them on [Slack](/slack) or open an issue on the [GitHub repository](https://github.com/thomaspoignant/go-feature-flag/issues). \ No newline at end of file