Versions in this module Expand all Collapse all v1 v1.2.0 Feb 11, 2026 Changes in this version + type Analyzer struct + func NewAnalyzer() *Analyzer + func (a *Analyzer) CompareDHCP(old, newCfg *schema.Dhcpd) []Change + func (a *Analyzer) CompareFirewallRules(old, newCfg []schema.Rule) []Change + func (a *Analyzer) CompareInterfaces(old, newCfg *schema.Interfaces) []Change + func (a *Analyzer) CompareNAT(old, newCfg *schema.Nat) []Change + func (a *Analyzer) CompareRoutes(old, newCfg *schema.StaticRoutes) []Change + func (a *Analyzer) CompareSystem(old, newCfg *schema.System) []Change + func (a *Analyzer) CompareUsers(old, newCfg []schema.User) []Change + func (a *Analyzer) CompareVLANs(old, newCfg *schema.VLANs) []Change + type Change struct + Description string + NewValue string + OldValue string + Path string + Section Section + SecurityImpact string + Type ChangeType + type ChangeType string + const ChangeAdded + const ChangeModified + const ChangeRemoved + func (c ChangeType) IsValid() bool + func (c ChangeType) String() string + func (c ChangeType) Symbol() string + type Engine struct + func NewEngine(old, newCfg *model.OpnSenseDocument, opts Options, logger *log.Logger) *Engine + func (e *Engine) Compare(ctx context.Context) (*Result, error) + type Metadata struct + ComparedAt time.Time + NewFile string + NewVersion string + OldFile string + OldVersion string + ToolVersion string + type OpnSenseDocument = model.OpnSenseDocument + type Options struct + Format string + Sections []string + SecurityOnly bool + func (o *Options) ShouldIncludeSection(section Section) bool + type Result struct + Changes []Change + Metadata Metadata + Summary Summary + func NewResult() *Result + func (r *Result) AddChange(change Change) + func (r *Result) ChangesBySection() map[Section][]Change + func (r *Result) HasChanges() bool + type Section string + const SectionCertificates + const SectionDHCP + const SectionDNS + const SectionFirewall + const SectionInterfaces + const SectionNAT + const SectionRouting + const SectionSystem + const SectionUsers + const SectionVLANs + const SectionVPN + func AllSections() []Section + func ImplementedSections() []Section + func (s Section) IsImplemented() bool + func (s Section) IsValid() bool + func (s Section) String() string + type SecurityImpact string + const SecurityImpactHigh + const SecurityImpactLow + const SecurityImpactMedium + func (s SecurityImpact) IsValid() bool + func (s SecurityImpact) String() string + type Summary struct + Added int + Modified int + Removed int + Total int