1.6 KiB
1.6 KiB
Resolução: Boot Loop (RubyLLM) e Onboarding Infinito
Objetivo
Corrigir falha na inicialização do container (CrashLoopBackoff) e redirecionamento incorreto para o fluxo de onboarding após atualização da stack.
Contexto
- Erro de Boot: O arquivo
config/initializers/ruby_llm.rbtentava configurargoogle_api_key, propriedade inexistente na versão atual da gem, causando exceção fatal na inicialização do Rails. - Onboarding Infinito: O arquivo
db/seeds.rbsetava incondicionalmente a chave Redis de onboarding em produção, fazendo com que usuários existentes fossem redirecionados para criar conta (causando erro de chave duplicada). - Falta de Versionamento: Impossibilidade de verificar qual versão do código estava rodando no container.
Alterações Realizadas
1. Correção config/initializers/ruby_llm.rb
- Removida a linha
config.google_api_key = .... - Adicionado bloco
begin/rescuepara capturar erros de configuração do LLM sem derrubar a aplicação.
2. Correção db/seeds.rb
- Adicionada verificação
if User.count.zero?antes de ativar o modo onboarding.
3. Versionamento docker/Dockerfile
- Adicionado suporte a
ARG BUILD_SHA. - O hash do commit é persistido em
/app/BUILD_SHAdurante o build.
Como Validar
- Acessar console do container.
cat /app/BUILD_SHAdeve mostrar "dev" ou o hash do commit.bundle exec rails runner "puts 'OK'"deve rodar sem erros deundefined method.- Acessar a home não deve redirecionar para
/installation/onboarding.
Reversão
Reverter os commits nos arquivos citados.