Skip to content

[BUG - flagd] Flag Metadata not working (empty) #521

@askpt

Description

@askpt

Observed behavior

When I am trying to retrieve some values from Flag Metadata, it seems it is not working correctly. Please check the code examples attached in the steps to reproduce.

Image

As you can see, the flag metadata dictionary is completely empty. I would expect it to be populated

Expected Behavior

It should be possible to retrieve the values from Flag Metadata.

Steps to reproduce

  • flagd flag definition:
{
    "$schema": "https://flagd.dev/schema/v0/flags.json",
    "flags": {
        "show-welcome-banner": {
            "state": "ENABLED",
            "variants": {
                "on": true,
                "off": false
            },
            "defaultVariant": "off",
            "metadata": {
                "expireDate": "2015-12-01",
                "author": "admin",
                "numberOfViews": 100
            }
        }
    }
}
  • docker compose:
services:
  flagd:
    image: ghcr.io/open-feature/flagd:latest
    volumes:
      - ./flags:/flags
    command: ["start", "--uri", "file:./flags/demo.flagd.json"]
    ports:
      - "8013:8013"
      - "8016:8016"
  • sample for flagd
#:package OpenFeature.Contrib.Providers.Flagd@0.3.4
#:package OpenFeature@2.9.0
#:property PublishAot=false
using OpenFeature;
using OpenFeature.Contrib.Providers.Flagd;

// Configure the provider
var flagdProvider = new FlagdProvider(new Uri("http://localhost:8013"));

// Create and register the provider
await Api.Instance.SetProviderAsync(flagdProvider);

// Use feature flags
var client = Api.Instance.GetClient();

// Boolean flag
var boolFlag = await client.GetBooleanDetailsAsync("show-welcome-banner", false);

var date = boolFlag.FlagMetadata.GetString("expireDate");
var author = boolFlag.FlagMetadata.GetString("author");
var numberOfViews = boolFlag.FlagMetadata.GetInt("numberOfViews");
var numberOfViews2 = boolFlag.FlagMetadata.GetString("numberOfViews");

Console.WriteLine($"Boolean Flag: {boolFlag.Value}");
Console.WriteLine($"Expire Date: {date}");
Console.WriteLine($"Author: {author}");
Console.WriteLine($"Number of Views: {numberOfViews}");
Console.WriteLine($"Number of Views 2: {numberOfViews2}");

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingprovider:flagdIssues related to provider flagd

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions