Sign inSign up

necromanoger/securevault-worker

By necromanoger

Updated 5 months ago

SecureVault Pro. Worker: procesamiento asincronico Redis BLPOP, auditoria de accesos.

Image
Developer tools
0

960

necromanoger/securevault-worker repository overview

Python Redis PostgreSQL SQLAlchemy Background No HTTP

securevault / worker-service

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.


¿Qué hace este servicio?

ResponsabilidadDetalle
Consumo de colaLee eventos del key jobs:security_events en Redis con BLPOP (non-blocking long-poll)
Expiración automáticaEvalúa periódicamente el sorted-set jobs:secret_expirations y elimina en PostgreSQL los secretos vencidos
Arranque gracefulCaptura SIGTERM / SIGINT para detener el loop sin perder mensajes en tránsito
ResilienciaManejo aislado de RedisError y JSONDecodeError — la limpieza de expirados se intenta incluso cuando la lectura de la cola falla

Stack

TecnologíaVersiónRol
Python3.11-slimRuntime base
redis-py5Cliente Redis con socket_timeout configurable
SQLAlchemy2ORM — acceso a PostgreSQL via psycopg2-binary

Variables de entorno

VariableDefaultDescripción
REDIS_HOSTredisHost del broker Redis
REDIS_PORT6379Puerto Redis
DATABASE_URLpostgresql://vault:vault@postgres:5432/vaultdbCadena de conexión PostgreSQL
WORKER_QUEUEjobs:security_eventsKey de lista Redis para eventos de seguridad
WORKER_EXPIRATION_ZSETjobs:secret_expirationsKey del sorted-set de expiración de secretos
WORKER_CLEANUP_INTERVAL30Segundos entre ciclos de limpieza de expirados
WORKER_BLPOP_TIMEOUT5Timeout (s) para BLPOP
WORKER_REDIS_SOCKET_TIMEOUT7Timeout (s) del socket Redis

Uso con Docker Compose

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.


Arquitectura del sistema

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.


Tags disponibles

TagEstadoDescripción
v1.2.1ActualVersión estable actual
v1.0AnteriorPrimera versión de producción
latestSincronizado con v1.2.1Versión estable más reciente

Recursos

Tag summary

Content type

Image

Digest

sha256:6aa5c80bd

Size

57.8 MB

Last updated

5 months ago

docker pull necromanoger/securevault-worker