Page:
Politica Actualizaciones
Clone
1
Politica Actualizaciones
groales edited this page 2025-11-30 12:10:13 +01:00
Table of Contents
- Política de Actualizaciones
- Clasificación de Servicios
- Criterios para AUTO (enable=true)
- Criterios para EXCLUSIÓN (enable=false)
- Flujo de Decisión
- Procedimiento de Revisión Semanal
- Rollback Rápido
- Versionado y Tags Recomendados
- Uso de Staging (si disponible)
- Notificaciones
- Auditoría Mensual
- Ejemplo de Etiquetado Mixto
- Buenas Prácticas Generales
Política de Actualizaciones
Esta política define qué contenedores se actualizan automáticamente con Watchtower y cuáles requieren revisión manual.
Clasificación de Servicios
| Categoría | Ejemplos | Estrategia |
|---|---|---|
| Críticos (estado + clientes) | Base de datos, Nextcloud, Vaultwarden | Manual (no auto) |
| Importancia media | Portainer, Paneles internos | Auto con etiqueta + monitorización |
| Baja criticidad / stateless | Reverse proxies, utilidades, exportadores | Auto (enable=true) |
Criterios para AUTO (enable=true)
- Contenedor es stateless o reconstruible fácilmente.
- Cambios de imagen backward compatible (semantic versioning respetado).
- Rollback sencillo (tag previo disponible).
- Ventana de mantenimiento definida (horario cron 03:30).
Criterios para EXCLUSIÓN (enable=false)
- Datos críticos sin snapshot reciente.
- Imagen con cambios mayores (major version) pendientes de pruebas.
- Dependencias delicadas (plugins, integraciones externas).
Flujo de Decisión
- Clasifica servicio: crítico / medio / bajo.
- ¿Tiene backups o es stateless? Si NO y crítico → excluir.
- ¿Versiones recientes probadas en staging? Si NO → excluir temporalmente.
- Etiqueta con
enable=truesolo tras cumplir condiciones.
Procedimiento de Revisión Semanal
- Lunes: revisar logs de Watchtower (
docker logs watchtower --tail=200). - Validar que no hubo reinicios fallidos.
- Añadir o retirar etiquetas según incidencias.
Rollback Rápido
- Identificar imagen previa:
docker image ls <repo>. - Forzar pull de versión estable anterior:
docker pull repo:tag_anterior. - Recrear contenedor:
docker compose up -d --force-recreate <servicio>. - (Opcional) Quitar etiqueta auto hasta resolver.
Versionado y Tags Recomendados
- Evitar
latesten servicios críticos; usar tags fijos (1.2.3). - Para servicios auto-actualizados, preferir tags de rama estable (
1.2,stable) evaluando changelog.
Uso de Staging (si disponible)
- Replicar compose en entorno staging.
- Activar etiqueta auto primero allí.
- Observar 24h y luego promover a producción.
Notificaciones
- Configurar Shoutrrr para recibir evento de actualización crítica.
- Nivel recomendado:
infoy reportes finales.
Auditoría Mensual
- Exportar lista de contenedores etiquetados:
docker inspect --format='{{.Name}} {{index .Config.Labels "com.centurylinklabs.watchtower.enable"}}' $(docker ps -q). - Revisar que clasificación sigue vigente.
Ejemplo de Etiquetado Mixto
services:
traefik:
labels:
- "com.centurylinklabs.watchtower.enable=true"
portainer:
labels:
- "com.centurylinklabs.watchtower.enable=true"
nextcloud:
labels:
- "com.centurylinklabs.watchtower.enable=false" # crítico, actualizar manual
db-postgres:
labels:
- "com.centurylinklabs.watchtower.enable=false" # requiere backups previos
Buenas Prácticas Generales
- Documentar excepciones (por qué un servicio está excluido).
- Revisar changelog antes de permitir major updates.
- Mantener automatización para lo repetitivo y foco humano en lo crítico.
Última actualización: Nov 2025