Repository navigation
Commit 8e28439
authored
feat: DEP-0003 verified record withdrawal before address reuse (#17)
* docs: design verify-only external DNS provider
* feat(core): support credentialless DNS providers
Make ZoneClass identityRef optional with Provider-version admission, preserve projected condition messages, gate cloud registrations and privileges, and support credentialless ZoneClass UI creation. Regenerate deepcopy and both CRD distributions; add deterministic admission, projection, chart and UI regressions.
Contract: dns-api PR #15 / 99d0753 docs/design/external-provider.md (ZoneClass Parameters, Conditions and Public Data, Packaging), core-api.md, provider-extension.md, controllers-webhooks.md (Provider Enablement), ui.md (Zone Classes), and test-policy.md. Platform PR #5331 / cd995cf0ed design/platform/onprem/README.md sections 4.3, 4.4 step 4, 4.7, and Phase 4.
Codegen: devbox run -- task generate manifests controller-chart:sync-crds completed. Tests, builds, linters and UI typecheck intentionally deferred to the primary integration agent.
* feat(external): verify-only DNS provider
Provider external.dns.appthrust.io/v1alpha1 (A/AAAA/CNAME, no identity), ZoneClass resolver policy and expectedNameservers, exact-set A/AAAA verification with bounded CNAME chains and wildcard witnesses, Cluster/Recursive views plus RD=0 authority checks, bounded scheduling (30-300s, jitter, backoff, 32 names/pass, 40 QPS/80 burst), UID/generation/policy-bound receipts, bookkeeping-only deletion, endpoint conversion handler, metrics. Design: docs/design/external-provider.md.
* fix(external): avoid unchanged scheduler status patches
* docs: trim trailing blank line
* Wire external DNS provider into manager and deployment packaging
* fix(external): describe every array item in the Provider schemas so core admission accepts the manifest
The core webhook requires a description on every property and array item; the external Provider was rejected on install. The built-in-manifest validation test now covers external_extensions.yaml.
* docs: DEP-0003 RecordWithdrawal — verified DNS withdrawal before address reuse (Draft)
* docs: DEP-0003 ZoneUnit withdrawal items keyed by claimNamespace/claimName
* feat(api): define retained DNS withdrawal and retirement contracts
* feat(api): fence withdrawal results to ZoneClass incarnation and generation
* feat(core): compose and project verified DNS withdrawal claims
* feat(external): verify DNS withdrawal before retired address reuse
* feat(endpoint): capture retired DNS pairs before source deletion
* fix(core): preserve admission parity and existing Zone deletion messages
* docs: accept DEP-0003 and reflect verified record withdrawal into docs/design1 parent 24a27d9 commit 8e28439
77 files changed
Lines changed: 7146 additions & 100 deletions
File tree
- app/operator/config
- crd
- bases
- external
- provider
- webhook
- deploy/charts/dns-api
- crds
- templates
- deps
- docs/design
- internal/go
- apps
- endpoint
- controllers/endpointrecordset
- retirement
- gatewayendpoint/controllers/gateway
- serviceendpoint/controllers/service
- core
- controllers/zoneunit
- declaration
- webhook
- providers/external
- controllers/zoneunit
- manifest
- probe
- pkg/go/api
- dns/v1alpha1
- endpoint/v1alpha1
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
123 | 126 | | |
124 | 127 | | |
125 | 128 | | |
| |||
304 | 307 | | |
305 | 308 | | |
306 | 309 | | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
307 | 371 | | |
308 | 372 | | |
309 | 373 | | |
| |||
326 | 390 | | |
327 | 391 | | |
328 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
329 | 396 | | |
330 | 397 | | |
331 | 398 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
| 226 | + | |
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
229 | 230 | | |
230 | 231 | | |
| 232 | + | |
231 | 233 | | |
232 | 234 | | |
233 | 235 | | |
| |||
0 commit comments