Class BowireAgentCatalogueOptions

Namespace
Kuestenlogik.Bowire.Catalogue.Agent
Assembly
Kuestenlogik.Bowire.Catalogue.Agent.dll

Options for AgentCatalogueProvider (#305 Phase E). Bound from Bowire:Discovery:Catalogue:Agent.

public sealed class BowireAgentCatalogueOptions
Inheritance
BowireAgentCatalogueOptions
Inherited Members

Remarks

The wire shape of the hub's GET {HubUrl}/hub/agents/catalogue (#128 — any Bowire with Bowire:Hub:Enabled, or app.MapBowireHub()):

{
  "version": 1,
  "agents": [
    {
      "agentId": "surgewave-broker@eu-central",
      "serviceName": "surgewave-broker",
      "tags": ["env:prod", "region:eu-central"],
      "entries": [
        { "url": "https://surgewave-broker.internal:7080" }
      ]
    }
  ]
}

Only live agents are listed. Installations that serve this shape from something other than a Bowire hub can check it with StubResponse, which the test seam also uses.

Constructors

BowireAgentCatalogueOptions()

public BowireAgentCatalogueOptions()

Properties

BootstrapToken

The hub's token (Bowire:Hub:Token), sent as Authorization: Bearer …. A hub with a token refuses every call without it.

public string? BootstrapToken { get; set; }

Property Value

string

HubUrl

URL of the Bowire Agent hub; the provider GETs {HubUrl}/hub/agents/catalogue on every refresh.

public string? HubUrl { get; set; }

Property Value

string

StubResponse

Test seam: pre-canned JSON payload to feed the parser with. When set, the provider skips the HTTP call entirely and deserialises this string instead. Lets installations sanity- check the wire-shape contract against a static JSON snapshot.

public string? StubResponse { get; set; }

Property Value

string

Timeout

Per-fetch timeout. Defaults to 10 s — same shape as the http / consul providers in core.

public TimeSpan Timeout { get; set; }

Property Value

TimeSpan