Documentation
¶
Overview ¶
Package dns is the production controlplane.DNSFactory and the per-vendor DNS adapters (ADR-0018, ADR-0023). burrowd holds each provider's token and is the only thing that talks to the vendor's API; the agent never does. The adapters are thin net/http clients — no vendor SDK, to keep the dependency graph small (see CLAUDE.md) — with an injectable base URL so they are tested against an httptest server rather than the live API.
It lives under controlplane/ (not controlplane/internal) so cmd/burrowd and the managed module can wire it; it is licensed Apache-2.0.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
Factory maps a provider type to its vendor adapter (ADR-0023). Adding a vendor is one case here plus its adapter file.
func NewFactory ¶
func NewFactory() *Factory
NewFactory returns a Factory with a sensible HTTP timeout.
func (*Factory) DNS ¶
func (f *Factory) DNS(t controlplane.ProviderType, token string) (controlplane.DNSProvider, error)
DNS returns a DNSProvider for t authenticated with token, or ErrNotImplemented when no adapter serves the type.