Field | +Description | +
---|---|
+ flag-key + | +
+ Name of your flag.
+ + + It must be unique. + + On the example the flag keys are test-flag and{" "}
+ test-flag2 .
+
+ |
+
+ bucketing-key
+ + (optional) + |
+
+
+ Selects a key from the evaluation context that will be used in place
+ of the |
+
+ variations
+ |
+
+ Variations are all the variations available for this flag. +
+ It is represented as a key/value element. The key is the name of the
+ variation and the value could be of any types available (
+ You can have as many variations as needed. +++ |
+
+ targeting
+ + (optional) + |
+
+
+ Targeting contains the list of rules you have to target a subset of
+ your users.
+
+ This field is an + + See rules format to have more info on + how to write a rule. + + + |
+
+ defaultRule
+ |
+
+ + DefaultRule is the rule that is applied if the user does not match in + any targeting. + ++ + See rules format to have more info on + how to write a rule. + + + |
+
+ trackEvents
+ + (optional) + |
+
+
+
+ Default: |
+
+ disable
+ + (optional) + |
+
+
+
+ Default: |
+
+ version
+ + (optional) + |
+
+
+ The `version` is the version of your flag.
+
+ Default: |
+
+ metadata
+ + (optional) + |
+
+ + This field allows adding a wealth of information about a particular + feature flag, such as a configuration URL or the originating Jira + issue. + + |
+
+ scheduledRollout
+ + (optional) + |
+
+ `scheduledRollout` allows to patch your flag over time. ++ You can add several steps that update the flag, this is typically + used if you want to gradually add more user in your flag. + ++ + See Scheduled rollout to have + more info on how to use it. + + + |
+
+ experimentation
+ + (optional) + |
+
+ + Experimentation allows you to configure a start date and an end date + for your flag. When the experimentation is not running, the flag will + serve the default value. + ++ + See Experimentation rollout{" "} + to have more info on how to use it. + + + |
+
Field | +Description | +
---|---|
name (optional) |
+ Name of your rule. This is needed when your are updating a rule using a scheduled rollout. |
+
query |
+
+
+ Query represents an antlr query in the nikunjy/rules format.
+ See query format to have the syntax. +Note: if you use the field |
+
variation (optional) |
+ Name of the variation to return. | +
percentage (optional) |
+
+ Represents the percentage we should give to each variation. ++ percentage:+ The format is the name of the variation and the percentage for this one. + |
+
progressiveRollout (optional) |
+
+ + Allows you to ramp up the percentage of your flag over time. + ++ You can decide at which percentage you start and end with in your release ramp. + Before the start date we will serve the initial percentage and afterwards, we will serve the end percentage. + +See progressive rollout to have more info on how to use it. + |
+
disable (optional) |
+
+ Set to Default: |
+
*(optional)* It is a free `map[string]interface{}` field that will be merged with the evaluation context sent during the evaluations. It is useful to add common attributes to all the evaluation, such as a server version, environment, ...
All those fields will be included in the custom attributes of the evaluation context.
_If in the evaluation context you have a field with the same name, it will be overridden by the `evaluationContextEnrichment`._
_If you have a key `env` in your `EvaluationContextEnrichment` and you also have the `Environment` set in your configuration, the `env` key from `EvaluationContextEnrichment` will be ignored._
Default: **nil** | +| `PersistentFlagConfigurationFile` | *(optional)* If set GO Feature Flag will store the flags configuration in this file to be able to serve the flags even if none of the retrievers is available during starting time.+ +
+ +## What is GO Feature Flag? +GO Feature Flag is a completely open-source, simple and lightweight feature flag solution. + +The solution has been built for application of feature flags in your code without the need of any vendor. + +**GO Feature Flag** was initially developed for the GO language, but with the new standardisation of feature flags by [Openfeature](https://openfeature.dev/) project, it now supports multiple languages _(`JAVA`, `typescript`, `javascript`, ...)_ with a simple server to host. + +:::info +If you are not familiar with feature flags, also called feature toggles, you can read this [article from Martin Fowler](https://www.martinfowler.com/articles/feature-toggles.html) +where he explains why this is a great pattern. + +I've also written an [article](https://medium.com/better-programming/feature-flags-and-how-to-iterate-quickly-7e3371b9986) which explains why feature flags can accelerate your iteration cycle. +::: + +## What can I do with GO Feature Flag? + +- Storing your configuration flags file on various locations (`HTTP`, `S3`, `Kubernetes`, [_see full list_](configure_flag/store_your_flags.mdx)). +- Configuring your flags in various [format](configure_flag/flag_format.mdx) (`JSON`, `TOML` and `YAML`). +- Adding complex [rules](configure_flag/flag_format.mdx#rule-format) to target your users. +- Use complex rollout strategy for your flags : + - [Run A/B testing experimentation](configure_flag/rollout/experimentation.mdx). + - [Progressively rollout a feature](configure_flag/rollout/progressive.mdx). + - [Schedule your flag updates](configure_flag/rollout/scheduled.mdx). +- Exporting your flags usage data ([`s3`](go_module/data_collection/s3.md), [`log`](go_module/data_collection/log.md), [`file`](go_module/data_collection/file.md), [_see full list_](configure_flag/export_flags_usage.mdx)). +- Getting notified when a flag has been changed ([`webhook`](go_module/notifier/webhook.md) and [`slack`](go_module/notifier/slack.md)). +- **Cross-Language Support:** Available for use across several programming languages. diff --git a/website/versioned_docs/version-v1.40.0/openfeature_sdk/_category_.json b/website/versioned_docs/version-v1.40.0/openfeature_sdk/_category_.json new file mode 100644 index 00000000000..fcfbd961686 --- /dev/null +++ b/website/versioned_docs/version-v1.40.0/openfeature_sdk/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 40, + "label":"Use with OpenFeature", + "collapsible": true, + "collapsed": true +} diff --git a/website/versioned_docs/version-v1.40.0/openfeature_sdk/client_providers/_category_.json b/website/versioned_docs/version-v1.40.0/openfeature_sdk/client_providers/_category_.json new file mode 100644 index 00000000000..0e8feb86373 --- /dev/null +++ b/website/versioned_docs/version-v1.40.0/openfeature_sdk/client_providers/_category_.json @@ -0,0 +1,6 @@ +{ + "position": 20, + "label":"Client Providers", + "collapsible": true, + "collapsed": true +} diff --git a/website/versioned_docs/version-v1.40.0/openfeature_sdk/client_providers/openfeature_android.mdx b/website/versioned_docs/version-v1.40.0/openfeature_sdk/client_providers/openfeature_android.mdx new file mode 100644 index 00000000000..146bbfb61a2 --- /dev/null +++ b/website/versioned_docs/version-v1.40.0/openfeature_sdk/client_providers/openfeature_android.mdx @@ -0,0 +1,209 @@ +--- +sidebar_position: 30 +title: Android / Kotlin +description: How to use the OpenFeature Kotlin SDK for your Android application +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import versions from '@site/static/sdk-versions.json'; +import CodeBlock from '@theme/CodeBlock'; + +[![Maven Central Version](https://img.shields.io/maven-central/v/org.gofeatureflag.openfeature/gofeatureflag-kotlin-provider?color=blue&logo=android&style=flat-square)](https://search.maven.org/artifact/org.gofeatureflag.openfeature/gofeatureflag-kotlin-provider) + +This OpenFeature provider has a Kotlin implementation for Android to communicate with the GO Feature +Flag Server. + +In conjuction with the [OpenFeature SDK](https://openfeature.dev/docs/reference/technologies/client/kotlin) you will be able to evaluate your feature flags in your **Android** applications. + +For documentation related to flags management in GO Feature Flag, refer to the [GO Feature Flag documentation website](https://gofeatureflag.org/docs). + +### Functionalities: +- Manage the integration of the OpenFeature Android SDK and GO Feature Flag relay-proxy. +- Prefetch and cache flag evaluations in order to give the flag value in an efficient way. +- Automatic configuration changes polling, to be informed as soon as a flag configuration has changed. +- Automatic data collection about which flags have been accessed by the application + +## Dependency Setup + +Welcome to this OpenFeature-enabled React app!
:Welcome to this React app.
} +