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 agent hub itself is in flight (#128). The wire shape below is the contract this provider will speak once the hub ships its GET {HubUrl}/hub/agents/catalogue aggregator endpoint:

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

Until #128 lands the provider returns an empty list and logs at Debug level — the operator sees the same "no catalogue" surface the unconfigured-provider path produces. Installations that want to enable this provider today against a non-hub endpoint can do so via StubResponse, which the test seam uses to verify the wire-shape parsing.

Constructors

BowireAgentCatalogueOptions()

public BowireAgentCatalogueOptions()

Properties

BootstrapToken

Optional bootstrap token sent in the Authorization header. The hub-side authn story for #128 is still converging — Phase 1 is a shared bootstrap token (this field); mTLS is the hardening step. Sent verbatim so the operator picks the scheme.

public string? BootstrapToken { get; set; }

Property Value

string

HubUrl

URL of the Bowire Agent hub. Required once the hub-side catalogue aggregator from #128 ships; 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 before the hub-side aggregator from #128 is live.

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