OpenFeature.Provider.Flagd.GRPC (OpenFeature Flagd v0.1.0)

View Source

OpenFeature provider for flagd that communicates with a flagd instance over gRPC.

This is a remote flagd provider that uses the gRPC evaluation API to resolve flag values.

Summary

Types

t()

GRPC provider for flagd

Functions

Creates a new flagd gRPC provider.

Types

t()

(since 0.1.0)
@type t() :: %OpenFeature.Provider.Flagd.GRPC{
  cacertfile: String.t() | nil,
  cacerts: term() | nil,
  channel: GRPC.Channel.t() | nil,
  domain: String.t() | nil,
  hooks: [OpenFeature.Hook.t()],
  host: String.t(),
  name: String.t(),
  port: pos_integer(),
  state: :not_ready | :ready,
  tls: boolean()
}

GRPC provider for flagd

Functions

new(opts \\ [])

(since 0.1.0)
@spec new(opts :: Keyword.t()) :: t()

Creates a new flagd gRPC provider.

Options

  • :host - The hostname or IP address of the flagd instance (default: "localhost")
  • :port - The port number (default: 8013)
  • :tls - Whether to use TLS for connections (default: false)
  • :cacertfile - (optional) Path to a custom TLS certificate file
  • :cacerts - (optional) CA certificates as PEM-encoded binaries
  • :name - (optional) Custom name for the provider (default: "FlagdGRPC")
  • :domain - (optional) Domain name to differentiate between providers
  • :hooks - (optional) A list of OpenFeature hooks (%OpenFeature.Hook{})

Examples

# Simple usage with defaults
provider = OpenFeature.Provider.Flagd.GRPC.new()

# With custom options
provider = OpenFeature.Provider.Flagd.GRPC.new(port: 8013, domain: "my-service")

# With TLS enabled
provider = OpenFeature.Provider.Flagd.GRPC.new(
  host: "flagd.example.com",
  tls: true,
  cacertfile: "/path/to/cert.pem"
)