fix(dns): a consola dizia que faltava o token da Cloudflare, e nao faltava
O painel respondia "DNS reconciliation needs a provider token to be configured" enquanto o token estava configurado e a funcionar: a varredura de fundo estava a publicar registos com ele nesse preciso momento. SetDnsReconciler so atribuia quando r.dns ja existia, e o main.go chama-o antes de SetAdminDnsAPI. Escrevia num struct que ainda nao existia, sem erro nem aviso, e a API era depois construida sem reconciliador nenhum. Os testes anteriores nao apanharam isto porque construiam o adminDnsAPI directamente -- justamente a fiacao que estava partida. O teste novo passa pelos setters do Router nas duas ordens possiveis. - o reconciliador passa a ser guardado no Router, logo a ordem deixa de contar - so e ligado quando ha token, para a rota poder dizer que esta indisponivel em vez de falar com a Cloudflare com um token vazio e reportar uma recusa - a mensagem deixa de culpar o token, que nao era a causa Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9519be889d
commit
9ce5fcafaa
4 files changed
+84
-6
No files matched your search
@@ -37,6 +37,8 @@ type Router struct {
|
||||
// dns verifies the published records against public resolvers. It lives
|
||||
// here because this is the process with the resolver and the record spec.
|
||||
dns *adminDnsAPI
|
||||
// dnsReconciler is held here so it survives being set before dns exists.
|
||||
dnsReconciler DomainReconciler
|
||||
// degradedFunc reports a condition that leaves the service running but
|
||||
// not fit for production, the clearest case being a self-signed
|
||||
// certificate standing in for one Traefik never issued
|
||||
|
||||
Reference in new issue
Block a user