GitHub

Kameloon

Use Kameloon with the Flags SDK

Kameloon can be used with the Flags SDK through OpenFeature. Set up the Flags SDK adapter for OpenFeature, along with the Kameloon OpenFeature provider to get started.

Installation

Install the following packages:

npm install flags @flags-sdk/openfeature @kameleoon/openfeature-server

Setup

Set up your Kameloon OpenFeature provider as a Flags SDK adapter.

// adapter.ts
import { OpenFeature } from "@openfeature/server-sdk";
import { createOpenFeatureAdapter } from "@flags-sdk/openfeature";
import { KameleoonProvider } from "@kameleoon/openfeature-server";
 
export const openFeatureAdapter = createOpenFeatureAdapter(async () => {
  const provider = new KameleoonProvider({
    siteCode: SITE_CODE,
    credentials: { clientId: CLIENT_ID, clientSecret: CLIENT_SECRET },
  });
  await OpenFeature.setProviderAndWait(provider);
  return OpenFeature.getClient();
});

See the OpenFeature adapter for more details.

Usage

Use your newly configured adapter when declaring flags.

// flags.ts
import { flag } from "flags/next";
import type { EvaluationContext } from "@openfeature/server-sdk";
import { openFeatureAdapter } from "./adapter";
 
export const exampleFlag = flag<boolean, EvaluationContext>({
  key: "example-flag",
  defaultValue: false,
  adapter: openFeatureAdapter.booleanValue(),
});

Resources

Flags SDK adapter for OpenFeature

Kameloon OpenFeature Provider

Note that OpenFeature providers may require additional configuration for optimal performance and compatibility. Setup instructions are provided on a best effort basis. Refer to each provider's own documentation.

If there is a native Flags SDK adapter for your provider, we recommend using that instead. Native Flags SDK adapters tune your flag provider's SDK for optimal performance and integrate with Flags Explorer and Edge Config. See available adapters.

If you are a feature flag provider interested in developing a native adapter please open a GitHub issue to get in touch.