- configgen: input model shared by derivation and renderers - derive: forward zones per domain, reverse zones (IPv4 octet, IPv6 nibble boundaries), A/AAAA/PTR from static and manual_dhcp entries, Kea subnets with effective pools and reservations; pure and deterministic - bindgen: zone-statement include, options include, zone files with strict validation, canonical ordering and RFC 1035 TXT escaping - keagen: typed Kea DHCPv4 JSON with strict validation - golden-file, validation, determinism and fuzz tests - integration tests check generated files with real named-checkconf, named-checkzone (BIND 9.18, 9.20) and kea-dhcp4 -t (Kea 2.6, 3.2); new CI job Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
71 lines
1.7 KiB
YAML
71 lines
1.7 KiB
YAML
# SPDX-License-Identifier: Apache-2.0
|
|
version: "2"
|
|
|
|
run:
|
|
timeout: 5m
|
|
build-tags:
|
|
- integration
|
|
|
|
linters:
|
|
default: standard # errcheck, govet, ineffassign, staticcheck, unused
|
|
enable:
|
|
- bodyclose
|
|
- copyloopvar
|
|
- depguard
|
|
- errorlint
|
|
- gosec
|
|
- misspell
|
|
- nilerr
|
|
- noctx
|
|
- revive
|
|
- unconvert
|
|
- usestdlibvars
|
|
settings:
|
|
depguard:
|
|
rules:
|
|
# Licence boundary (docs/adr/0002): Apache-2.0 code must never link
|
|
# proprietary server code.
|
|
apache-licensed-code:
|
|
files:
|
|
- "**/agent/**"
|
|
- "**/internal/**"
|
|
- "**/proto/**"
|
|
# server/internal is proprietary and matched by "**/internal/**" above
|
|
- "!**/server/**"
|
|
deny:
|
|
- pkg: git.beugsiud.de/beug.k/DDI/server
|
|
desc: "agent/, internal/ and proto/ are Apache-2.0 and must not import proprietary server code (ADR 0002)"
|
|
- pkg: git.beugsiud.de/beug.k/DDI/web
|
|
desc: "agent/, internal/ and proto/ are Apache-2.0 and must not import proprietary web code (ADR 0002)"
|
|
misspell:
|
|
locale: US
|
|
revive:
|
|
rules:
|
|
- name: exported
|
|
- name: package-comments
|
|
- name: var-naming
|
|
- name: indent-error-flow
|
|
- name: errorf
|
|
- name: error-strings
|
|
- name: receiver-naming
|
|
- name: unused-parameter
|
|
disabled: true
|
|
exclusions:
|
|
generated: strict
|
|
presets:
|
|
- std-error-handling
|
|
rules:
|
|
- path: _test\.go
|
|
linters:
|
|
- gosec
|
|
- noctx
|
|
|
|
formatters:
|
|
enable:
|
|
- gofmt
|
|
- goimports
|
|
settings:
|
|
goimports:
|
|
local-prefixes:
|
|
- git.beugsiud.de/beug.k/DDI
|