Adicionando domínio no Fly.io + Godaddy
Recentemente precisei configurar um domínio para o meu saas e enfrentei alguns problemas que a documentação(muito bem escrita por sinal) do Fly.io não menciona até onde pesquisei. Provavelmente deixei passar algo.
Então pesquisei e encontrei alguns exemplos e configurações muito boas porém faltava mostrar o mesmo problema que vinha enfrentando. Então pensei com criar esse tutorial simples.
Step 1
Descobri o ip do seu app. Na data de hoje é só entrar em dashboard -> selecionar o seu app -> IP addresses.
Porém pelo terminal vc pode executar o comando fly ips list -a webhook.space
o retorno deve ser algo parecido com isso:
v6 XXXX:XXXX:X::XX:XXXXX public global 2023-11-04T14:16:57Z
v4 XX.XXX.XXX.XXX public (shared)
Step 2
De posse do seu IPV4 e IPV6 vá nas configurações do Goddady -> seu dominio -> gerênciar DNS -> DNS -> Registro DNS -> Adicionar novo registro.
Aqui deve ser adicionado os IPs acima: Exemplo como deve ser:
Tipo | Nome | Valor
A @ XX.XXX.XXX.XXX
E o mesmo para IPV6 assim:
AAAA @ XXXX:XXXX:X::XX:XXXXX
Step 3
Após isso, seguindo a documentação você deve gerar o certificado com o comando:
fly certs create webhook.space
Vai iniciar o processo de validação do domínio e geração de certificados. Consulto o progresso com o comando:
fly certs show webhook.space
Step 4
No meu caso encontrei o seguinte erro:
Address resolution (XX.XXX.XXX.XXX) does not match app's IP (XX.XXX.XXX.XXX)
You are creating a certificate for
We are using lets_encrypt for this certificate.
You can validate your ownership of one-to-one.app by:
1: Adding an AAAA record to your DNS service which reads:
AAAA @ ---------
Se isso acontecer, você deve remover o registro no Goddady que se parece com isso:
A @ Parked
Final
É isso e o seu domínio deve está configurado corretamente. No meu caso o serviço ficou publicado em https://webhook.space
Recomendo sempre ler a documentação oficial Fly.io
Espero que ajude quem está passando pelo mesmo problema.