Namespace Kuestenlogik.Bowire.Sources
Classes
- BowireAgentCatalogueOverrideOptions
Core-side mirror of
BowireAgentCatalogueOptions.
- BowireCatalogueDocument
Top-level shape of a catalogue document. Matches the spec in #136 — providers that fetch JSON over the wire (local file, http, agent) deserialise into this record. Version defaults to 1 so payloads that omit the field stay parsable.
- BowireCatalogueEntry
One row in a Bowire URL/service catalogue — a discoverable target surfaced by an IBowireCatalogueProvider (#136).
- BowireCatalogueOptions
Configuration root for the catalogue-provider seam (#136). Bound from
Bowire:Discovery:CataloguebyAddBowireCatalogue().
- BowireCatalogueOverride
Wire shape for a UI-driven catalogue-provider override (#309). Sent by the Settings → Catalogue providers UI to
POST /api/catalogue/config. Persists to~/.bowire/catalogue-config.jsonso the override survives a process restart; absent file ⇒appsettings.jsonfallback.
- BowireCatalogueOverrideStore
File-backed override store. Reads / writes
~/.bowire/catalogue-config.jsonand hydrates the BowireCatalogueProviderAccessor on first construction.
- BowireCatalogueProviderAccessor
Singleton wrapper around the resolved IBowireCatalogueProvider (or
nullwhen the host hasn't selected one). Lets DI hold a non-null reference even when no provider is configured — the endpoint reads Provider and treats null as "empty catalogue".
- BowireCatalogueProviderRegistry
Assembly-scan registry for IBowireCatalogueProvider implementations — mirrors BowireProtocolRegistry and
BowireAuthProviderRegistry. At most one provider is active per process; selection happens via Provider.
- BowireCatalogueServiceCollectionExtensions
DI helpers for wiring an IBowireCatalogueProvider into the host (#136). Pair with
AddBowire():
- BowireConsulCatalogueOptions
Options for the built-in ConsulCatalogueProvider — a Consul agent URL the provider queries via the v1 catalogue API.
- BowireHttpCatalogueOptions
Options for the built-in HttpCatalogueProvider — a remote URL that returns a BowireCatalogueDocument as JSON.
- BowireKubernetesCatalogueOverrideOptions
Core-side mirror of
BowireKubernetesCatalogueOptions— the Settings UI sends this shape; the override store forwards values to the actual provider via reflection.
- BowireLocalCatalogueOptions
Options for the built-in LocalCatalogueProvider — the path to a JSON file on disk holding a BowireCatalogueDocument.
- ConsulCatalogueProvider
Queries a HashiCorp Consul agent's v1 catalogue API (#136 Phase C) and materialises each registered service into a BowireCatalogueEntry. Bound to
Bowire:Discovery:Catalogue:Consulvia BowireConsulCatalogueOptions.
- HttpCatalogueProvider
Fetches a BowireCatalogueDocument from a configured URL (#136 Phase B). Bound to
Bowire:Discovery:Catalogue:Httpvia BowireHttpCatalogueOptions.
- LocalCatalogueProvider
Reads catalogue entries from a JSON file on disk — the simplest of the built-in providers (#136 Phase A). The path comes from Path; when null the provider falls back to
~/.bowire/catalogue.json.
Interfaces
- IBowireCatalogueProvider
Extension point for "where does Bowire's URL/service list come from" (#136) — sibling to IBowireProtocol (wire plugins) and
IBowireAuthProvider(sign-in plugins). Today the workbench reads URLs from local config + the user-editable sidebar; a catalogue provider augments (or replaces) that source by reading from a service registry, a remote JSON document, or a Bowire-agent hub.
Enums
- BowireCatalogueVisibility
Composition mode for catalogue entries vs. locally-entered URLs. Mirrors the
Bowire:Discovery:UrlManagementtri-state from #92.