Class BowireCatalogueOverride

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

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.json so the override survives a process restart; absent file ⇒ appsettings.json fallback.

public sealed class BowireCatalogueOverride
Inheritance
BowireCatalogueOverride
Inherited Members

Remarks

The override is process-wide. Per-process at-most-one-provider is the architectural intent of IBowireCatalogueProvider — UI persistence is per-workspace on the client (so an operator who switches workspaces re-applies the right config) but the applied state on the host is shared.

Constructors

BowireCatalogueOverride()

public BowireCatalogueOverride()

Properties

Agent

Agent-hub provider options. Shape mirrors BowireAgentCatalogueOptions in the Kuestenlogik.Bowire.Catalogue.Agent package; see Kubernetes for the cross-assembly seam reasoning.

[JsonPropertyName("agent")]
public BowireAgentCatalogueOverrideOptions? Agent { get; set; }

Property Value

BowireAgentCatalogueOverrideOptions

Consul

Consul-provider options (address + token + DC + tag).

[JsonPropertyName("consul")]
public BowireConsulCatalogueOptions? Consul { get; set; }

Property Value

BowireConsulCatalogueOptions

Http

HTTP-provider options (URL + Authorization header).

[JsonPropertyName("http")]
public BowireHttpCatalogueOptions? Http { get; set; }

Property Value

BowireHttpCatalogueOptions

Kubernetes

Kubernetes-provider options. Shape mirrors BowireKubernetesCatalogueOptions in the Kuestenlogik.Bowire.Catalogue.Kubernetes package, but the override surface keeps a private DTO so the core package doesn't take a hard reference on the sibling assembly — values are forwarded to the provider via reflection at apply time.

[JsonPropertyName("kubernetes")]
public BowireKubernetesCatalogueOverrideOptions? Kubernetes { get; set; }

Property Value

BowireKubernetesCatalogueOverrideOptions

Local

Inline options snapshot for the selected provider — only the fields relevant to Provider are read.

[JsonPropertyName("local")]
public BowireLocalCatalogueOptions? Local { get; set; }

Property Value

BowireLocalCatalogueOptions

Provider

Provider id (e.g. "local", "http", "consul"). Null / empty clears the override and falls back to appsettings.

[JsonPropertyName("provider")]
public string? Provider { get; set; }

Property Value

string