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

No one assigned

    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