Remove legacy source provider sync path
This commit is contained in:
@@ -4,27 +4,17 @@ A plugin-based DNS reconciliation service.
|
||||
|
||||
## Plugin contract
|
||||
|
||||
Source modules live under `dns_sync/plugins/sources/` and export a class named `Plugin` with:
|
||||
The reconciliation runtime is adapter-based.
|
||||
|
||||
- `name`
|
||||
- `discover() -> list[DesiredRecord]`
|
||||
Adapter plugins expose:
|
||||
|
||||
Provider modules live under `dns_sync/plugins/providers/` and export `Plugin` with:
|
||||
- `Plugin`
|
||||
- `configured_endpoints(config)`
|
||||
|
||||
- `name`
|
||||
- `capabilities`
|
||||
- `connect()`
|
||||
- `list_records()`
|
||||
- `add_record()`
|
||||
- `update_record()`
|
||||
- `delete_record()`
|
||||
- `verify_record()`
|
||||
- `capacity()`
|
||||
|
||||
Plugins are convention-loaded from environment variables. No registry edit is needed:
|
||||
|
||||
- `PROXY=npm` loads `dns_sync.plugins.sources.npm.Plugin`
|
||||
- `DNS_PROVIDER=verizon` loads `dns_sync.plugins.providers.verizon.Plugin`
|
||||
Each adapter declares object-specific discovery, apply, and verification
|
||||
capabilities. Built-in adapters live under `dns_sync/plugins/adapters/`.
|
||||
External adapters are loaded from `DNS_SYNC_PLUGIN_PATH` and must be
|
||||
explicitly enabled through `ENABLED_PLUGINS`.
|
||||
|
||||
## Plugins
|
||||
|
||||
@@ -109,8 +99,8 @@ ROUTER_PASSWORD=...
|
||||
|
||||
## Domain filtering
|
||||
|
||||
Filtering is performed by the central engine after source discovery and before
|
||||
reconciliation, so all source plugins get identical behavior.
|
||||
Filtering is performed centrally after adapter discovery and before
|
||||
reconciliation, so endpoint-specific adapters get identical behavior.
|
||||
|
||||
```text
|
||||
DOMAIN_MATCHING=true
|
||||
|
||||
Reference in New Issue
Block a user