Em algumas versões do Gitea Actions, hashFiles avalia para string vazia mesmo com o arquivo presente, fazendo a job ser marcada como 'skipped' silenciosamente. O Dockerfile é requisito do CD nesse repo, então a condicional não agrega segurança.
- Dockerfile multi-stage Node 18 (webcomponent) + Python 3.11 - vanna upstream pinned em 365d0617c1a4567ffee1b19b40c27feb4206bfcf - requirements.txt + .env.example + .dockerignore - k8s/: deployment (1 replica, PVC, Recreate), service, ingress (SSE/WS timeouts), PVC 5Gi - .gitea/workflows/cd.yml seguindo template do lab Pendência: criar Secret K8s vanna-clubpetro-secret com OPENAI_API_KEY + CLICKHOUSE_*
Wrapper application around upstream Vanna with: - Tenant-aware ChromaDB memory (per program/store) - ClickHouse RLS runner with introspection guards - PT-BR system prompt and chat translations - Custom Plotly chart generator (ranked bar, datetime coercion) - Embed bootstrap (theme pierce + i18n + markdown) shared by demo and React app - Event sink for chat turn observability