feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
118
infraestrutura/skills/vm-migration/references/fase1-easypanel.md
Normal file
118
infraestrutura/skills/vm-migration/references/fase1-easypanel.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# Fase 1: EasyPanel Migration (Week 1-2)
|
||||
|
||||
Target: Migrar 108 containers Docker para VM Proxmox
|
||||
|
||||
## 1.1 Criar VM Docker Host
|
||||
|
||||
```bash
|
||||
qm create 200 \
|
||||
--name easypanel-docker \
|
||||
--memory 32768 \
|
||||
--cores 8 \
|
||||
--net0 virtio,bridge=vmbr0 \
|
||||
--scsi0 rpool/vm-disks:200 \
|
||||
--ostype l26 \
|
||||
--boot order=scsi0
|
||||
|
||||
# Install Ubuntu 24.04 LTS
|
||||
# Via Cloud-Init ou ISO manual
|
||||
```
|
||||
|
||||
## 1.2 Instalar Docker + EasyPanel
|
||||
|
||||
```bash
|
||||
ssh root@10.10.10.200
|
||||
|
||||
# Docker
|
||||
curl -fsSL https://get.docker.com | sh
|
||||
|
||||
# EasyPanel
|
||||
curl -sSL https://get.easypanel.io | sh
|
||||
```
|
||||
|
||||
## 1.3 Backup Containers Actuais
|
||||
|
||||
```bash
|
||||
# Em easy.descomplicar.pt
|
||||
tar -czf /tmp/easypanel-volumes.tar.gz /var/lib/easypanel/projects
|
||||
|
||||
# Transfer para PBS ou storage temporario
|
||||
scp /tmp/easypanel-volumes.tar.gz root@cluster.descomplicar.pt:/mnt/migration/
|
||||
```
|
||||
|
||||
## 1.4 Migrar Containers (Batch 5-10)
|
||||
|
||||
Batch 1 (nao-criticos para teste):
|
||||
|
||||
```bash
|
||||
# Containers teste: dev environments, staging
|
||||
# IDs: 1-5
|
||||
|
||||
# Por cada container:
|
||||
1. Exportar env vars do EasyPanel
|
||||
2. Exportar docker-compose.yml
|
||||
3. Copiar volumes
|
||||
4. Recriar em novo EasyPanel
|
||||
5. Testar health endpoint
|
||||
6. DNS cutover se OK
|
||||
```
|
||||
|
||||
Workflow Batch:
|
||||
|
||||
```bash
|
||||
for container_id in 1 2 3 4 5; do
|
||||
# Export config
|
||||
curl -s http://easy.descomplicar.pt:3000/api/trpc/services.get \
|
||||
-d "serviceId=$container_id" > config_$container_id.json
|
||||
|
||||
# Copiar volumes
|
||||
rsync -avz /var/lib/easypanel/projects/$container_id/ \
|
||||
root@10.10.10.200:/var/lib/easypanel/projects/$container_id/
|
||||
|
||||
# Recriar service (via EasyPanel API ou UI)
|
||||
|
||||
# Test
|
||||
curl -I http://10.10.10.200:PORT/health
|
||||
|
||||
# DNS cutover (se health OK)
|
||||
done
|
||||
```
|
||||
|
||||
## 1.5 Validation (24-48h por batch)
|
||||
|
||||
```
|
||||
Monitoring:
|
||||
- Uptime checks (UptimeRobot ou similar)
|
||||
- Error rates (logs)
|
||||
- Performance (response time <500ms)
|
||||
- Cliente feedback
|
||||
|
||||
Rollback triggers:
|
||||
- >2 containers falham consecutivamente
|
||||
- Cliente reporta down
|
||||
- Health checks fail >10min
|
||||
```
|
||||
|
||||
## 1.6 DNS Cutover
|
||||
|
||||
```bash
|
||||
# Baixar TTL para 300s (5min) 24h ANTES
|
||||
# Ex: Cloudflare ou dns.descomplicar.pt
|
||||
|
||||
# Cutover:
|
||||
A record: old-ip -> NAT port forward para 10.10.10.200:PORT
|
||||
|
||||
# Monitorizar por 1h
|
||||
# Reverter se problemas
|
||||
```
|
||||
|
||||
## 1.7 Rollback Procedure
|
||||
|
||||
```bash
|
||||
# Reverter DNS (TTL 300s = 5min propagacao)
|
||||
# Reactivar container antigo
|
||||
# Investigar causa falha
|
||||
# Re-tentar apos fix
|
||||
```
|
||||
|
||||
Batch 2-N: Repetir ate 108 containers migrados.
|
||||
Reference in New Issue
Block a user