SecureVault Pro. Worker: procesamiento asincronico Redis BLPOP, auditoria de accesos.
960
Proceso en segundo plano de SecureVault Pro — consume eventos de seguridad de forma asíncrona desde Redis y gestiona la expiración automática de secretos directamente en PostgreSQL.
| Responsabilidad | Detalle |
|---|---|
| Consumo de cola | Lee eventos del key jobs:security_events en Redis con BLPOP (non-blocking long-poll) |
| Expiración automática | Evalúa periódicamente el sorted-set jobs:secret_expirations y elimina en PostgreSQL los secretos vencidos |
| Arranque graceful | Captura SIGTERM / SIGINT para detener el loop sin perder mensajes en tránsito |
| Resiliencia | Manejo aislado de RedisError y JSONDecodeError — la limpieza de expirados se intenta incluso cuando la lectura de la cola falla |
| Tecnología | Versión | Rol |
|---|---|---|
| Python | 3.11-slim | Runtime base |
| redis-py | 5 | Cliente Redis con socket_timeout configurable |
| SQLAlchemy | 2 | ORM — acceso a PostgreSQL via psycopg2-binary |
| Variable | Default | Descripción |
|---|---|---|
REDIS_HOST | redis | Host del broker Redis |
REDIS_PORT | 6379 | Puerto Redis |
DATABASE_URL | postgresql://vault:vault@postgres:5432/vaultdb | Cadena de conexión PostgreSQL |
WORKER_QUEUE | jobs:security_events | Key de lista Redis para eventos de seguridad |
WORKER_EXPIRATION_ZSET | jobs:secret_expirations | Key del sorted-set de expiración de secretos |
WORKER_CLEANUP_INTERVAL | 30 | Segundos entre ciclos de limpieza de expirados |
WORKER_BLPOP_TIMEOUT | 5 | Timeout (s) para BLPOP |
WORKER_REDIS_SOCKET_TIMEOUT | 7 | Timeout (s) del socket Redis |
worker:
image: necromanoger/securevault-worker:v1.2.1
environment:
REDIS_HOST: redis
DATABASE_URL: postgresql://vault:vault@postgres:5432/vaultdb
depends_on:
- redis
- postgres
restart: unless-stopped
ℹ️ Este servicio no expone ningún puerto HTTP. Es un proceso de fondo puro que se integra con
vault-service, el cual publica los eventos en Redis.
vault-service ──── publica eventos ────► Redis (FastAPI API) jobs:security_events │ BLPOP │ ▼ worker-service (este servicio) │ SQLAlchemy │ ▼ PostgreSQL (secretos)
El Worker opera de forma desacoplada — Vault Service escribe en Redis y el Worker procesa de forma independiente, sin bloquear las operaciones de la API.
| Tag | Estado | Descripción |
|---|---|---|
v1.2.1 | ✅ Actual | Versión estable actual |
v1.0 | Anterior | Primera versión de producción |
latest | Sincronizado con v1.2.1 | Versión estable más reciente |
| 📦 Repositorio | github.com/johngutierrez80/Securevault-pro |
| 📖 Manual Técnico | docs/02_Manual_Tecnico.md |
| 🔒 Seguridad y Riesgos | docs/04_Seguridad_y_Riesgos.md |
Content type
Image
Digest
sha256:6aa5c80bd…
Size
57.8 MB
Last updated
5 months ago
docker pull necromanoger/securevault-worker