- 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
172 lines
4.3 KiB
Markdown
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.
|