core/SETUP_GUIDE.md
Tiago Yamamoto e6d5bef07a feat: adiciona script de setup automático do Appwrite
- Cria setup-appwrite.js para automatizar criação de database e collections
- Adiciona node-appwrite e dotenv como dependências
- Cria SETUP_GUIDE.md com instruções detalhadas
- Script cria database DevOpsPlatform automaticamente
- Cria 4 collections com schemas corretos (servers, github_repos, audit_logs, cloud_accounts)
- Popula com dados de exemplo (4 servidores, 3 repos, 3 logs, 2 contas)
- Atualiza .env automaticamente com IDs gerados
- Novo comando: npm run setup:appwrite
2025-12-11 20:06:21 -03:00

172 lines
4.3 KiB
Markdown

# Guia Rápido - Setup Automatizado Appwrite
## 🎯 O Que o Script Faz
O script `setup-appwrite.js` automatiza todo o setup do Appwrite:
✅ Cria o Database "DevOpsPlatform"
✅ Cria 4 Collections com schemas corretos:
- **servers**: name, ip, status (enum: online/offline), region
- **github_repos**: repo_name, url, last_commit, status
- **audit_logs**: event, user_id, timestamp
- **cloud_accounts**: provider, apiKey, label
✅ Popula com dados de exemplo:
- 4 servidores
- 3 repositórios GitHub
- 3 audit logs
- 2 cloud accounts
✅ Atualiza o arquivo `.env` automaticamente com todos os IDs gerados
## 📋 Passo 1: Obter API Key do Appwrite
1. Acesse https://cloud.appwrite.io
2. Entre no seu projeto (ID: `68be03580005c05fb11f`)
3. Vá em **Settings****API Keys**
4. Clique em **Create API Key**
5. Dê um nome: "Setup Script" ou "Admin Key"
6. **Importante**: Marque **TODOS** os scopes (permissões)
7. Clique em **Create**
8. **Copie a API Key** (ela só aparece uma vez!)
## 📝 Passo 2: Adicionar API Key no .env
Edite o arquivo `.env` e preencha a linha 28:
```env
APPWRITE_API_KEY=sua_api_key_aqui
```
**Exemplo**:
```env
APPWRITE_API_KEY=standard_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6
```
## 🚀 Passo 3: Executar o Script
```bash
npm run setup:appwrite
```
Ou diretamente:
```bash
node setup-appwrite.js
```
## ✅ O Que Você Verá
```
🚀 Iniciando setup do Appwrite...
📍 Endpoint: https://nyc.cloud.appwrite.io/v1
📁 Project ID: 68be03580005c05fb11f
📦 Criando Database "DevOpsPlatform"...
✅ Database criado: 67a1b2c3d4e5f6
📋 Criando collection "servers"...
✅ Collection "servers" criada: servers
📋 Criando collection "github_repos"...
✅ Collection "github_repos" criada: github_repos
📋 Criando collection "audit_logs"...
✅ Collection "audit_logs" criada: audit_logs
📋 Criando collection "cloud_accounts"...
✅ Collection "cloud_accounts" criada: cloud_accounts
🌱 Populando com dados de exemplo...
✅ Servidor criado: web-01
✅ Servidor criado: web-02
✅ Servidor criado: db-01
✅ Servidor criado: cache-01
✅ Repositório criado: core-platform
✅ Repositório criado: api-backend
✅ Repositório criado: mobile-app
✅ Log criado: User login
✅ Log criado: Server deployed
✅ Log criado: Configuration updated
✅ Conta criada: Cloudflare
✅ Conta criada: AWS
📝 Atualizando arquivo .env...
✅ Arquivo .env atualizado!
🎉 Setup concluído com sucesso!
📋 Resumo:
Database ID: 67a1b2c3d4e5f6
servers: servers
github_repos: github_repos
audit_logs: audit_logs
cloud_accounts: cloud_accounts
✅ Arquivo .env atualizado com os IDs
🚀 Próximo passo: npm run dev:web
```
## 🔍 Verificar no Appwrite Console
Após executar, acesse https://cloud.appwrite.io e verifique:
1. **Databases**: Deve aparecer "DevOpsPlatform"
2. **Collections**: Dentro do database, 4 collections com dados
3. **Documents**: Cada collection terá documentos de exemplo
## 🧪 Testar o Dashboard
```bash
npm run dev:web
```
Acesse http://localhost:5173 e faça login. O dashboard deve mostrar:
- Servidores no widget Overview
- Repositórios GitHub
- Audit logs em tempo real no terminal
## ❌ Troubleshooting
### Erro: "APPWRITE_API_KEY is missing"
**Solução**: Preencha a `APPWRITE_API_KEY` no arquivo `.env` (linha 28)
### Erro: "Invalid API Key"
**Solução**:
1. Verifique se copiou a chave completa
2. Confirme que a chave tem todos os scopes marcados
3. Tente criar uma nova API Key
### Erro: "Collection already exists" (409)
**Solução**: Isso é normal! O script detecta e usa as collections existentes.
### Erro: "Permission denied"
**Solução**: A API Key precisa ter scopes de Admin. Recrie com todos os scopes marcados.
## 🔄 Executar Novamente
Você pode executar o script múltiplas vezes sem problemas:
- Se database existe, ele usa o existente
- Se collections existem, elas são reutilizadas
- Dados duplicados são ignorados
## 📝 Próximos Passos
Após o setup bem-sucedido:
1. ✅ Verificar `.env` foi atualizado com os IDs
2. ✅ Executar `npm run dev:web`
3. ✅ Fazer login no dashboard
4. ✅ Verificar se os dados aparecem
5. ✅ Testar o terminal de realtime (audit logs)
---
**Dúvidas?** Consulte o [README principal](README.md) para mais detalhes.