Skip to content

refactor: Stage 4: Remove legacy provider registrations, accessors, etc - #4966

Open
TomOnTime wants to merge 3 commits into
tlim_stage3_migratefrom
tlim_stage4_registry
Open

TomOnTime wants to merge 3 commits into
tlim_stage3_migratefrom
tlim_stage4_registry

Conversation

@TomOnTime

@TomOnTime TomOnTime commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Provider consumers still depended on compatibility registries after all providers migrated to providers.Register. This completes Stage 4 by using definitions throughout and sharing provider initialization between both preview/push paths.

This PR is stacked on #4965 and targets tlim_stage3_migrate. Retarget to main after Stage 3 merges.

  • Remove unused legacy registration APIs, exported registries, credential metadata adapters, and initializer adapters. Factories retain separate instances for each credential entry and role.
  • Resolve aliases in credential/explicit-type comparisons, runtime shims, wizard choices, get-zones, and custom-record ownership checks. Preserve legacy missing-TYPE diagnostics and fallbacks.
  • Generate the README's 74 public entries from friendly names, resolved documentation URLs, and derived roles. Source directories follow implementation packages; documentation paths follow resolved URLs.
  • Add optional VendorAPIDocURL; init displays the resolved DNSControl documentation link and the vendor API documentation link when supplied. URL defaulting and redundant-override validation are provided by Stage 2 (refactor: Stage 2: Adopt new way for providers to register, test with 4 providers #4956); migrated provider overrides are handled in Stage 3 (refactor: Stage 3: Migrate remaining providers to providers.Register #4965).
  • Keep custom-record registration and its validation marker for the Stage 5–6 SupportedTypes rollout. Emitted JavaScript syntax remains unchanged for Stage 7.

Validation: go test ./..., bin/generate-all.sh (including go fix, golangci-lint with 0 issues, and staticcheck), and git diff --check pass. Regression tests cover aliases through both initialization entry points, wizard enumeration and documentation links, CLI parsing, custom records, canonical generator counts, paths stable across type renames, and vendor API documentation metadata. Generated capability documentation, CODEOWNERS, labels, dependencies, and JavaScript fixtures are unchanged. No live integration profile was selected locally.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment