🔐 Lab 02: GitOps Steward - Sincronización Segura¶
Escenario de Misión
Eres el GitOps Steward de Atlantyqa. Has completado análisis locales y ahora debes sincronizar resultados con el repositorio remoto sin filtrar ni un solo byte sensible. Tu misión: dominar el flujo GitOps seguro.
1. 🗺️ Mapa de Operaciones¶
Antes de sincronizar, visualiza el flujo de datos seguro.
graph TD
Local[💻 Análisis Local] -->|Genera| Raw[📂 JSON Bruto]
Raw -->|Redacción| Safe[🛡️ JSON Seguro]
Safe -->|Git Push| Repo[☁️ Repo Remoto]
Repo -->|Deploy| Prod[🚀 Streamlit Prod]
style Local fill:#e7ae4c,stroke:#333,stroke-width:2px,color:#fff
style Raw fill:#f1f5f9,stroke:#333,stroke-width:2px,color:#182232
style Safe fill:#37a880,stroke:#333,stroke-width:2px,color:#fff
style Repo fill:#e0e7ff,stroke:#333,stroke-width:2px,color:#182232
style Prod fill:#f1f5f9,stroke:#182232,stroke-width:2px,color:#182232
2. ⚔️ Ejecución de la Misión¶
Sigue los pasos con precisión quirúrgica.
Primero, genera datos locales (deberías tener esto del Lab 01).
Resultado esperado: outputs/raw/analysis.json creado.
Configura las variables de entorno para activar el escudo de privacidad.
Ejecuta el script de redacción que enmascara información personal.
Verificación crítica: Abre outputs/insights/analysis.json y confirma:
* ✅ Nombres propios → [REDACTED_PERSON_001]
* ✅ Emails → [REDACTED_EMAIL]
* ✅ Números de cuenta → [REDACTED_ACCOUNT]
Ahora sí, sincroniza SOLO los datos seguros. El comando -f (force) es necesario porque la carpeta outputs/ está protegida por defecto en .gitignore.
# Añadimos forzosamente el resultado seguro
git add -f outputs/insights/analysis.json
# Commit con mensaje descriptivo
git commit -m "feat(data): entrega Lab 02 - análisis redactado y seguro"
# Push a tu rama actual (para simular el sync)
git push origin fix/i18n-footer-mobile
⚠️ NUNCA hagas:
git add outputs/raw/- ¡Contiene datos sin redactar!
3. 📸 Evidencia de Cumplimiento¶
Para reclamar tu recompensa (100 XP), debes presentar pruebas.
Checklist de Entrega¶
- [ ] Archivo Redactado:
outputs/insights/analysis.jsonsin datos personales. - [ ] Commit Hash: Hash del commit que subiste al repo.
- [ ] Screenshot: Captura del diff de Git mostrando solo archivos seguros.
- [ ] Audit Log: Entrada en
outputs/audit/gitops_sync.logcon timestamp.
📝 Template para tu Pull Request
## 🔐 Lab 02 Misión Completada
- **Commit Hash:** [Insertar hash]
- **Archivos Sincronizados:** outputs/insights/analysis.json
- **Datos Sensibles Filtrados:** ✅ Sí
- **Modo GitOps:** Producción
Evidencia adjunta en /evidence folder.
4. 🛡️ Validación de Seguridad¶
Antes de hacer push, ejecuta esta validación automática para asegurar la soberanía de los datos:
Código del Validador
Este script está en scripts/validate_gitops.py y es compatible con Windows y Linux.
🆘 Problemas Comunes¶
Git rechaza mi push
- ¿Configuraste el remote correctamente? Verifica con
git remote -v - ¿Tienes permisos de escritura en el repo?
No veo archivos redactados
Asegúrate de que las variables de entorno están activas: echo $COGNITIVE_ENV
🎯 Siguiente Nivel¶
Has dominado la sincronización segura. Ahora aprende a visualizar estos datos.