diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index ffe5f48..09b26aa 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -89,33 +89,35 @@ jobs: echo "Testando conexão com o cluster..." kubectl cluster-info || { echo "ERRO: Falha na conexão com o cluster!"; exit 1; } - # 3. Gerencia os Secrets (Mapeando TODAS as variáveis do print) + # 3. Gerencia os Secrets + # IMPORTANTE: Usamos aspas simples em volta dos valores para proteger caracteres especiais kubectl -n gohorsejobsdev delete secret backend-secrets --ignore-not-found kubectl -n gohorsejobsdev create secret generic backend-secrets \ - --from-literal=MTU="${{ vars.MTU }}" \ - --from-literal=AWS_REGION="${{ vars.AWS_REGION }}" \ - --from-literal=AWS_ACCESS_KEY_ID="${{ vars.AWS_ACCESS_KEY_ID }}" \ - --from-literal=AWS_SECRET_ACCESS_KEY="${{ vars.AWS_SECRET_ACCESS_KEY }}" \ - --from-literal=AWS_ENDPOINT="${{ vars.AWS_ENDPOINT }}" \ - --from-literal=S3_BUCKET="${{ vars.S3_BUCKET }}" \ - --from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \ - --from-literal=JWT_EXPIRATION="${{ vars.JWT_EXPIRATION }}" \ - --from-literal=PASSWORD_PEPPER="${{ vars.PASSWORD_PEPPER }}" \ - --from-literal=COOKIE_SECRET="${{ vars.COOKIE_SECRET }}" \ - --from-literal=COOKIE_DOMAIN="${{ vars.COOKIE_DOMAIN }}" \ - --from-literal=BACKEND_PORT="${{ vars.BACKEND_PORT }}" \ - --from-literal=BACKEND_HOST="${{ vars.BACKEND_HOST }}" \ - --from-literal=ENV="${{ vars.ENV }}" \ - --from-literal=CORS_ORIGINS="${{ vars.CORS_ORIGINS }}" \ - --from-literal=AMQP_URL="${{ vars.AMQP_URL }}" \ - --from-literal=DATABASE_URL="${{ vars.DATABASE_URL }}" + --from-literal=MTU='${{ vars.MTU }}' \ + --from-literal=AWS_REGION='${{ vars.AWS_REGION }}' \ + --from-literal=AWS_ACCESS_KEY_ID='${{ vars.AWS_ACCESS_KEY_ID }}' \ + --from-literal=AWS_SECRET_ACCESS_KEY='${{ vars.AWS_SECRET_ACCESS_KEY }}' \ + --from-literal=AWS_ENDPOINT='${{ vars.AWS_ENDPOINT }}' \ + --from-literal=S3_BUCKET='${{ vars.S3_BUCKET }}' \ + --from-literal=JWT_SECRET='${{ vars.JWT_SECRET }}' \ + --from-literal=JWT_EXPIRATION='${{ vars.JWT_EXPIRATION }}' \ + --from-literal=PASSWORD_PEPPER='${{ vars.PASSWORD_PEPPER }}' \ + --from-literal=COOKIE_SECRET='${{ vars.COOKIE_SECRET }}' \ + --from-literal=COOKIE_DOMAIN='${{ vars.COOKIE_DOMAIN }}' \ + --from-literal=BACKEND_PORT='${{ vars.BACKEND_PORT }}' \ + --from-literal=BACKEND_HOST='${{ vars.BACKEND_HOST }}' \ + --from-literal=ENV='${{ vars.ENV }}' \ + --from-literal=CORS_ORIGINS='${{ vars.CORS_ORIGINS }}' \ + --from-literal=AMQP_URL='${{ vars.AMQP_URL }}' \ + --from-literal=DATABASE_URL='${{ vars.DATABASE_URL }}' # 4. Aplica os Manifestos kubectl apply -f k8s/dev/ -n gohorsejobsdev - # 5. Restart (Fire and Forget) - echo "Solicitando reinicialização dos deployments..." - kubectl -n gohorsejobsdev rollout restart deployment gohorse-backend-dev - kubectl -n gohorsejobsdev rollout restart deployment gohorse-backoffice-dev + # 5. Restart Forçado + # Deletamos os pods para garantir que eles leiam o novo Secret imediatamente + echo "Reiniciando pods para aplicar novas variáveis..." + kubectl delete pod -n gohorsejobsdev -l app=gohorse-backend-dev --force --grace-period=0 + kubectl delete pod -n gohorsejobsdev -l app=gohorse-backoffice-dev --force --grace-period=0 - echo "Deploy finalizado! As variáveis foram injetadas e o K3s está atualizando os pods." \ No newline at end of file + echo "Deploy finalizado! Verifique os logs se o CrashLoop persistir." \ No newline at end of file