K
Kodama Vault
knowledge hub
Vault
HomeBoardMap of ContentChatConversasAuditoria
Agentes
AgentsIssuesCriar IssueTerminalPreviews
Sistema
MCPSetup MCPSettings
Brain
amazon-arb-scoutcode-standards-auditordesign-master (subagent)erica-nardi-auditorfeature-auditorGlobal agent instructionskodama-hub-auditorAgente: kodama-hub-launch-qalanding-page-architect (subagent spec)meta-campaign-builder (subagent spec)need-context-auditorprospek-blog-auditor — gate editorial do blog do Prospekprospek-blog-author — autor do blog do Prospekprospek-campaign-manager — gerente de campanhas do Prospekprospek-content-director — diretor de conteúdo diário do blogProspek Demo RecorderSubagent — prospek-marketing-creativeprospek-qaprospek-social-producerprospek-social-publisherprospek-social-strategistroblox-sim-buildersageland-auditor (subagent spec)seo-geo-optimizerteam-leadervek1-auditor — subagent specvek1-styleguide-auditor
Análise custos migração — evitar senha no payloadLevantamento fluxo registro + duplicados StripeRelatório segurança + pentes finos (Cláudio)Revisão security concerns e race conditionsMagic link / esqueceu senha via SupabaseCorrigir erros pós-upgrade TypeScriptTestar PRs do agente Vault para mergeAnálise de 3 issues para iniciarErro no terminal do VSCodePR #173 — aguardando aprovação do LeoTestar fluxo ponta a ponta — criação de clients no StripePR #172 — testar e subir correção de funções deprecatedPitch de vendas SaaS — agendar call de conversãoOrganizar issues e bugs rápidos para a semanaMerge PR cadastro-novo — funcionalidades e correçõesCorrigir bugs PR #173 e #172 — image domainsPR mesosóico — página de acesso mobile + segurança OTPRefatoração de códigos — PR #202Ajustes em PRs abertos de ontemEstudo de jornada de compra e técnicas de fechamentoDefinir preço e entregável do produtoProspecção de reuniões para esta semanaAgente anti AI slop — centralização de conhecimento ConnfitPR #179 — resolver conflitos e erros de teste CLIAlinhamento de preços e usos da ConffitFix adicional para PR #183 — perfil do usuárioCorrigir estilização da Connfit para identidade visualSubir modificações no copy da ConnfitCriação de 4 campanhas no Meta AdsRevisão de PRs do GilinesExploração do Roblox EditorRelatório João — devolutiva TikTok ShopReunião presencial Zassi Uniformes — diagnóstico automaçõesCriar repositório de diagnósticos e relatórios de entrevistasDiagnóstico da ZassiGeração de relatórios para reuniões de fechamentoProposta Zassi — apresentação amanhãProspecção — Clínica Odontológica Dr. ButAlinhamento com ADRIANO sobre produtos e simulaçãoCombinar com Lauro os produtos do diagnósticoSolicitar recursos (vbucks) à INEDIA/ObiettoAnálise de issues do Kodama-Hub e início pelo vaultIssue KH03 — estudo de abordagem DockerKH-12 — script de correção e PR no kodama-hubTeste de despacho e agentes da vaultRemover issues 7, 9 e 10 do fluxo de trabalhoKH-15 — testar e preparar para Gilini testar em prod (Kodama Hub)VEK-1 — testar no WhatsAppBot local — testar localmenteEscrever issues para replicação do modelo de LPSwarm — modelar landing pages para tecnologias concorrentes (Google Ads)Configurar Docker no Windows para tarefas do Hub LisaLP de Suplementos — iniciar issue #96 (Vek)PR #93 git — subir para testar em prodPR #94 git — despachar agents pelo vaultTestes e documentação de bugs no site VEKPR #98 de LP — cosméticosRemover issues concluídas do board (#5, #10, #11, #12, #13)PRs de comparação vek1 vs LPs — correções e mergeDocumentação de uso e bugs na Vek1Criação de issues via Vault — bugs VekFix bug redirect botão Produtos na sidebar colapsada (vek)Planejamento de issues e mini sprint no site da Vek1facilitabusca — cron de fetch parado desde 05/08 (RESOLVIDO 11/08)
kodama-watchdog — self-heal + alerta pra todos os projetos da VPS HermesVPS Hermes — acesso e estrutura
Memory namespacing (multi-user)
OpenSpec -- Spec-Driven Development no VaultPlano de Teste — OpenSpec Vault Persistence
CaumzitoNyxzZanini
Amazon Arb (atacado→varejo BR)
Claude Code — Setup MCP VaultClaude Desktop — Setup MCP Vault (remote)VS Code + Copilot — Setup MCP Vault
Skill — Carousel Designer (Paper Style)carousel-paperPlugin marketing-skills (coreyhaines31/marketingskills)
Standup 2026-05-14Standup 2026-05-15Standup 2026-05-16Standup 2026-05-17Standup 2026-05-18Standup 2026-05-19Standup 2026-05-20Standup 2026-05-21Standup 2026-05-22Standup 2026-05-25Standup 2026-05-26Standup 2026-05-27Standup 2026-05-28Standup 2026-05-29Standup 2026-06-01Standup 2026-06-02Standup 2026-06-03Standup 2026-06-05Standup 2026-06-11Standup 2026-06-15Standup 2026-06-16Standup 2026-06-17Standup 2026-06-18Standup 2026-06-22Standup 2026-06-23Standup 2026-06-29Standup 2026-06-30Standup 2026-07-01Standup 2026-07-02Standup 2026-07-03Standup 2026-07-06Standup 2026-07-07Standup 2026-07-08Standup 2026-07-09Standup 2026-07-10Standup 2026-07-13Standup 2026-07-14Standup 2026-07-15Standup 2026-07-16Standup 2026-07-17Standup 2026-07-21Standup 2026-07-22Standup 2026-07-23Standup 2026-07-28Standup 2026-07-29Standup 2026-07-30Standup 2026-07-31Standup 2026-08-03Standup 2026-08-06Standup 2026-08-07Standup 2026-08-10Standup 2026-08-11Standup 2026-08-12Standups
MOCStandup 2026 07 23Welcome
v0.3
K
Kodama Vault
← Conversas
💬

H-03 — Backup Postgres: Preview O que precisa ser feito: Cri...

▶ Continuar conversa
📅 2 de julho de 2026 às 19:44 🔄 9 turns 🆔 yviz0irpblv6

👤 User

H-03 — Backup Postgres: Preview
O que precisa ser feito: Criar um script de backup agendado do banco kodama_hub (container kodama-hub-postgres, imagem pgvector/pgvector:pg16, porta interna 5432, dados em ./api/pgdata/).

O que backup
Container DB: kodama-hub-postgres, banco kodama_hub, user kodama.
Volume: ./api/pgdata — mas NUNCA backup de volume cru sem parar o container (corrompe). Usar pg_dump.
Credenciais: POSTGRES_PASSWORD via .env no VPS (gitignored).
Como fazer (melhor abordagem)
Dois arquivos no repo, no diretório scripts/:

scripts/backup.sh — script executado dentro do container:

#!/bin/bash
BACKUPDIR="/home/kodama-hub/backups"
TIMESTAMP=$(date +"%Y%m%d%H%M%S")
mkdir -p "$BACKUP_DIR"

docker exec kodama-hub-postgres pg_dump
-U kodama -d kodama_hub
--no-owner --no-acl -Fc
"$BACKUPDIR/kodama-hub${TIMESTAMP}.dump"

Limpa backups com mais de 7 dias
find "$BACKUPDIR" -name "kodama-hub.dump" -mtime +7 -delete
echo "[$(date)] Backup OK: kodama-hub_${TIMESTAMP}.dump"
infra/cron/kodama-hub-backup — crontab (no VPS):

0 3 * * /home/kodama-hub/scripts/backup.sh >> /var/log/kodama-hub-backup.log 2>&1
Restore testado
Script de restore (ou checklist):

Restaurar (dry-run primeiro):
docker exec -i kodama-hub-postgres pg_restore
-U kodama -d kodama_hub
--clean --if-exists
< /home/kodama-hub/backups/kodama-hub_20260620_030000.dump
Health check pós-restore
docker exec kodama-hub-postgres psql -U kodama -d kodama_hub -c "SELECT count(*) FROM information_schema.tables WHERE table_schema='public';"
Resumo do que criar/modificar
Arquivo Ação
scripts/backup.sh Criar — script de dump + retenção 7d
infra/cron/kodama-hub-backup Criar — entry pro crontab
scripts/restore-test.sh Criar (opcional) — docs de restore
README.md ou infra/README.md Atualizar — instrução de setup do cron
VPS /etc/crontab ou crontab -e Manual — adicionar entry
Bônus: envio pro MinIO/S3
Se quiser resiliência extra (VPS pegar fogo), o backup pode ser enviado pro bucket MinIO do vault:

após pg_dump, enviar pro MinIO:
curl -X PUT -T "$BACKUPDIR/kodama-hub${TIMESTAMP}.dump"
"https://mimic-cdn.kodama.solutions/kodama-hub/backups/kodama-hub_$%7BTIMESTAMP%7D.dump"
Pronto quando
Cron de dump rodando → backup na pasta /home/kodama-hub/backups/ com data
Retenção 7 dias → backups antigos somem
Restore validado → rodou pg_restore contra cópia sem erro

🤖 Assistant

Vou analisar o contexto do kodama-hub pra criar os scripts. Primeiro, vou verificar os arquivos relevantes no repo.

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":"infra/docker-compose.yml"})]

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":"scripts"})]

👤 User

[tool_result: {"error":"MCP error -32603: Not Found: Resource not found: Not Found"}]
[tool_result: {"error":"MCP error -32603: Not Found: Resource not found: Not Found"}]

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":"docker-compose.yml"})]

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":"."})]

👤 User

[tool_result: {"success":true,"text":"{\n "name": "docker-compose.yml",\n "path": "docker-compose.yml",]
[tool_result: {"success":true,"text":"[\n {\n "type": "dir",\n "size": 0,\n "name": ".claude",]

🤖 Assistant

Agora vou verificar se já existe infra/ e scripts/ pra entender onde colocar os arquivos:

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":"infra"})]

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":".gitignore"})]

👤 User

[tool_result: {"success":true,"text":"[\n {\n "type": "file",\n "size": 2256,\n "name": "nginx-]
[tool_result: {"success":true,"text":"{\n "name": ".gitignore",\n "path": ".gitignore",\n "sha": "75]

🤖 Assistant

Ok, tenho o contexto completo. Repo já tem infra/ com nginx configs, sem scripts/ e sem backups/. Vou criar os 3 arquivos agora.

Detalhes confirmados do compose:

  • Container: kodama-hub-postgres
  • User: kodama, DB: kodama_hub
  • Dados em ./api/pgdata (volume)
  • Porta interna 5432, mapeada pra 127.0.0.1:5435
  • .env na raiz tem POSTGRES_PASSWORD

[tool: mcp_github__create_or_update_file({"owner":"kodama1","repo":"kodama-hub","path":"scripts/backup.sh","message":"feat(scripts): backup.sh — pg_dump agendado)]

👤 User

[tool_result: {"success":true,"text":"{\n "content": {\n "name": "backup.sh",\n "path": "scripts/b]

🤖 Assistant

Agora o arquivo de cron e o script de restore:

[tool: mcp_github__create_or_update_file({"owner":"kodama1","repo":"kodama-hub","path":"infra/cron/kodama-hub-backup","message":"feat(cron): entry crontab para b)]

👤 User

[tool_result: {"success":true,"text":"{\n "content": {\n "name": "kodama-hub-backup",\n "path": "i]

[tool: mcp_github__create_or_update_file({"owner":"kodama1","repo":"kodama-hub","path":"scripts/restore.sh","message":"feat(scripts): restore.sh — instruções de )]

👤 User

[tool_result: {"success":true,"text":"{\n "content": {\n "name": "restore.sh",\n "path": "scripts/]

🤖 Assistant

Agora vou atualizar o DEPLOY.md com a seção de backup:

[tool: mcp_github__get_file_contents({"owner":"kodama1","repo":"kodama-hub","path":"DEPLOY.md"})]

👤 User

[tool_result: {"success":true,"text":"{\n "name": "DEPLOY.md",\n "path": "DEPLOY.md",\n "sha": "a104]

[tool: mcp_github__create_or_update_file({"owner":"kodama1","repo":"kodama-hub","path":"DEPLOY.md","message":"docs(deploy): adiciona seção de backup — pg_dump + )]

👤 User

[tool_result: {"success":true,"text":"{\n "content": {\n "name": "DEPLOY.md",\n "path": "DEPLOY.md]