Class BowireConsulCatalogueOptions

Namespace
Kuestenlogik.Bowire.Sources
Assembly
Kuestenlogik.Bowire.dll

Options for the built-in ConsulCatalogueProvider — a Consul agent URL the provider queries via the v1 catalogue API.

public sealed class BowireConsulCatalogueOptions
Inheritance
BowireConsulCatalogueOptions
Inherited Members

Remarks

Bound from Bowire:Discovery:Catalogue:Consul. The provider hits GET {Address}/v1/catalog/services followed by per- service GET {Address}/v1/catalog/service/{name} calls to materialise URL entries. The Consul HTTP API is stable across 1.x releases so the v1 paths are hard-coded.

Auth: optional Consul ACL token via Token, sent in the X-Consul-Token header. mTLS / cert auth is out of scope for v1 — operators that need it can run Bowire behind a proxy that adds the cert.

Constructors

BowireConsulCatalogueOptions()

public BowireConsulCatalogueOptions()

Properties

Address

Consul agent address — e.g. "http://localhost:8500". Required when the consul provider is selected; falls back to "http://localhost:8500" when null (Consul's default loopback bind).

public string? Address { get; set; }

Property Value

string

Datacenter

Optional datacenter filter. When set, every catalogue API call is made with ?dc={Datacenter}. Defaults to null (Consul picks the local DC).

public string? Datacenter { get; set; }

Property Value

string

Scheme

URL scheme to use when materialising the per-service URL. Defaults to "http" — Consul's catalogue doesn't carry the scheme intrinsically, so the operator picks one. Set to "https" for TLS-fronted services.

public string Scheme { get; set; }

Property Value

string

Tag

Optional tag filter. When set, only services that carry this tag are surfaced. Useful for scoping the catalogue to a specific environment (e.g. "bowire", "staging") without inflating every service the cluster runs.

public string? Tag { get; set; }

Property Value

string

Timeout

Per-fetch timeout. Defaults to 10 s — same reasoning as Timeout.

public TimeSpan Timeout { get; set; }

Property Value

TimeSpan

Token

Optional Consul ACL token, sent as X-Consul-Token.

public string? Token { get; set; }

Property Value

string