ajuste no build

This commit is contained in:
Rodrigo Borba 2026-01-20 14:03:27 -03:00
parent ba73476647
commit f958b4a997

View File

@ -0,0 +1,38 @@
# 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
1. **Erro de Boot**: O arquivo `config/initializers/ruby_llm.rb` tentava configurar `google_api_key`, propriedade inexistente na versão atual da gem, causando exceção fatal na inicialização do Rails.
2. **Onboarding Infinito**: O arquivo `db/seeds.rb` setava 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).
3. **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/rescue` para 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_SHA` durante o build.
## Como Validar
1. Acessar console do container.
2. `cat /app/BUILD_SHA` deve mostrar "dev" ou o hash do commit.
3. `bundle exec rails runner "puts 'OK'"` deve rodar sem erros de `undefined method`.
4. Acessar a home não deve redirecionar para `/installation/onboarding`.
## Reversão
Reverter os commits nos arquivos citados.