Non-Functional Requirements¶
How octodns-metaname performs.
Code Quality¶
NFR-1: Test Coverage¶
The module SHALL maintain 100% test coverage, enforced in CI.
Rationale: Two upstream dependencies (OctoDNS and Metaname API) require higher reliability standards.
NFR-2: Type Safety¶
The module SHALL pass mypy strict type checking.
NFR-3: Linting¶
The module SHALL pass ruff linting with no errors.
NFR-4: Formatting¶
The module SHALL be formatted with ruff format.
Compatibility¶
NFR-5: Python Version Support¶
The module SHALL support Python 3.12 and higher.
NFR-6: OctoDNS Compatibility¶
The module SHALL be compatible with OctoDNS 1.5.0 and higher.
NFR-7: API Compatibility¶
The module SHALL be compatible with the current Metaname API (v1.1).
Performance¶
NFR-8: Zone Synchronization¶
The module SHALL synchronize zones efficiently, with minimal API calls.
NFR-9: Error Handling¶
The module SHALL provide clear error messages for API failures, authentication issues, and configuration errors.
Security¶
NFR-10: Secret Management¶
The module SHALL NOT log or expose API keys or account references.
NFR-11: Network Security¶
The module SHALL use HTTPS for all API calls to Metaname.
Documentation¶
NFR-12: Documentation Site¶
The module SHALL maintain a documentation site generated with Zensical.
NFR-13: Changelog¶
The module SHALL maintain a changelog following the changelet pattern.