Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// DNS server listen address
DNSAddr string `yaml:"dnsAddr" json:"dnsAddr" default:":5353"`
// gRPC API listen address (empty to disable)
GRPCAddr string `yaml:"grpcAddr" json:"grpcAddr" default:":50051"`
// Health check HTTP address (empty to disable)
HealthAddr string `yaml:"healthAddr" json:"healthAddr" default:":8086"`
// Storage configuration
Storage StorageConfig `yaml:"storage" json:"storage"`
// Zones to serve
Zones []ZoneConfig `yaml:"zones" json:"zones"`
}
Config is the mindns server configuration.
type DNSSECConfig ¶ added in v0.5.0
type DNSSECConfig struct {
// KSK private key file
KSKFile string `yaml:"kskFile" json:"kskFile"`
// ZSK private key file
ZSKFile string `yaml:"zskFile" json:"zskFile"`
// Algorithm (default: ECDSAP256SHA256)
Algorithm string `yaml:"algorithm" json:"algorithm" enum:"ECDSAP256SHA256,ECDSAP384SHA384,ED25519" default:"ECDSAP256SHA256"`
}
DNSSECConfig configures DNSSEC signing for a zone.
type StorageConfig ¶ added in v0.5.0
type StorageConfig struct {
// Database file path (empty for in-memory)
Path string `yaml:"path" json:"path"`
}
StorageConfig configures the backing store.
type ZoneConfig ¶ added in v0.5.0
type ZoneConfig struct {
// Zone origin (e.g., "example.com.")
Name string `yaml:"name" json:"name" required:"true"`
// Zone file path (if set, loads records from file)
File string `yaml:"file" json:"file"`
// SOA parameters (used when creating zone without file)
PrimaryNS string `yaml:"primaryNS" json:"primaryNS"`
AdminEmail string `yaml:"adminEmail" json:"adminEmail"`
DefaultTTL uint32 `yaml:"defaultTTL" json:"defaultTTL" default:"3600"`
// DNSSEC signing (optional)
DNSSEC *DNSSECConfig `yaml:"dnssec,omitempty" json:"dnssec,omitempty"`
}
ZoneConfig configures a DNS zone.
Click to show internal directories.
Click to hide internal directories.