Código abierto · Solo lectura · Apache 2.0

Encuentra qué está roto en tu clúster. Arréglalo con un Pull Request.

VenomOps explica en lenguaje claro por qué falla Kubernetes o EKS, convierte el hallazgo en el cambio mínimo de Terraform y, si quieres una segunda opinión con IA, revisa tus planes con un comité de agentes antes del apply. No modifica nada por su cuenta: la decisión siempre es de una persona.

$sudo dnf install venom

Funciona sin IA ni cuenta de AWSPaquetes firmados con GPGPlugin de kubectl para Linux, macOS y Windows

venom doctor -n venom-demo
$ venom doctor -n venom-demo
SEVERIDAD ID          RECURSO         PROBLEMA
HIGH      VD-K8S-001  crashloop       CrashLoopBackOff
HIGH      VD-K8S-002  oom             OOMKilled
HIGH      VD-K8S-003  badimage        ImagePullBackOff
HIGH      VD-K8S-005  probe-liveness  Liveness probe falla
HIGH      VD-K8S-009  irsa-mal        ARN de rol mal formado
MEDIUM    VD-K8S-007  pdb-greedy      PDB imposible de cumplir
LOW       VD-K8S-007  pdb-orphan      PDB sin Pods que cubrir

── [HIGH] VD-K8S-001 · CrashLoopBackOff en el container app
Causa probable: La aplicación terminó con un error (código 1).
Evidencia:
  • exit-code: Last state: Terminated, exitCode=1
  • log-tail: fatal: missing required env DB_HOST
Cómo arreglarlo (riesgo low): corregir la causa…

Qué hace

Tres comandos. Un mismo formato de hallazgos.

Cada comando hace una cosa y se puede encadenar con los demás: lo que uno produce, el siguiente lo entiende. Todo lo que ves en esta página es salida real.

venom doctor

Diagnostica

Explica por qué algo está roto en tu clúster y cómo arreglarlo. Solo lee: no puede modificar nada.

── [HIGH] VD-K8S-002 · OOMKilled
Evidencia:
  • exitCode=137, restartCount=4
  • limits.memory=32Mi
Cómo arreglarlo:
  Subir limits.memory de
  32Mi a 64Mi
venom fix

Corrige

Convierte un hallazgo en un Pull Request con el cambio mínimo en Terraform. Nunca lo mezcla: lo revisa una persona.

--- a/main.tf
+++ b/main.tf
        limits = {
-         memory = "32Mi"
+         memory = "64Mi"
        }

Branch: fix/vd-k8s-002-oom
Risk:   low
venom review

Revisa

Un comité de agentes revisa tu plan de Terraform, debate y deja por escrito los desacuerdos y los riesgos aceptados. Es la única función que necesita IA.

Hallazgos finales: 10 (7 high, 3 medium)
Desacuerdos registrados: 8
Riesgos aceptados: 2

reliability: «falta redundancia en IGW»
security:    desacuerda
cost:        desacuerda
→ Resuelto: un IGW por región es
  la arquitectura correcta

Sobre la IA

Lo esencial funciona sin IA y sin cuenta de AWS.

Diagnosticar, corregir y actualizar son funciones deterministas: dan el mismo resultado cada vez y no envían nada fuera de tu red. La IA es un extra opcional en tres sitios, y solo se usa si la pides.

Sin IA · siempre disponible

Lo que no la necesita

  • venom doctor: nueve reglas con causa, evidencia y pasos para arreglarlo
  • venom fix: cuatro arreglos deterministas, siempre como Pull Request
  • venom update: descarga la última versión y verifica su firma

Funcionan sin salida a internet (salvo update), sin credenciales de AWS y sin enviar datos a ningún modelo.

Con IA · solo si la pides

Lo que la usa

  • --explain: explicación ampliada de cada hallazgo. Valor modesto: reformula lo que la regla ya dice
  • --agent: un borrador de arreglo para hallazgos sin regla. Se revisa siempre en el PR
  • venom review: la única que la necesita. Una segunda opinión, no un veredicto

Usan Amazon Bedrock en tu cuenta, sin modelo por defecto y con los secretos enmascarados antes de enviar nada.

Qué aporta de verdad, qué datos salen y qué necesitas

Cómo funciona

Del síntoma al cambio revisado, sin que nada se aplique solo.

La información fluye en una sola dirección y cada paso termina en una persona. Lo que lee el clúster nunca escribe; lo que propone un cambio nunca lo aplica.

Flujo de VenomOps Tu clúster se lee en modo solo lectura con venom doctor, que produce hallazgos. venom fix convierte un hallazgo en un Pull Request que revisa una persona. Un plan de Terraform pasa por venom review, que produce un informe para esa misma persona. Los hallazgos del clúster pueden servir de contexto a la revisión. Tu clúster Kubernetes / EKS venom doctor diagnostica venom fix propone el arreglo Pull Request cambio mínimo Una persona decide revisa el PR o lee el informe plan.json terraform show -json venom review comité de agentes Informe desacuerdos y riesgos solo lectura hallazgos diff hallazgos como contexto (opcional) La IA solo interviene en venom review y, si la pides, con --explain o --agent. Los secretos se enmascaran antes de enviar nada.
■ Herramientas de VenomOps ■ Decisión humana Línea discontinua: contexto opcional

Cómo identificar problemas

Cada hallazgo trae la prueba, la causa y el arreglo.

No es una lista de alertas: cada hallazgo se explica solo. Sabes qué es, dónde está, por qué lo creemos y qué hacer, sin tener que encadenar get, describe, logs y events.

  1. Severidad e identificadorDe critical a info. Cada regla tiene un ID estable (VD-K8S-005) que puedes buscar, filtrar o ignorar.
  2. El recurso afectadoEl Pod, nodo, PDB o ServiceAccount exacto, con su namespace.
  3. La causa probableEn lenguaje claro y con la consecuencia: aquí, que el kubelet reinicia el contenedor cada vez.
  4. La evidenciaLo que se observó de verdad: estado, eventos, configuración. Es lo que te permite fiarte del diagnóstico o rebatirlo.
  5. Cómo arreglarlo y con qué riesgoPasos concretos, un nivel de riesgo y enlaces a la documentación oficial.
VD-K8S-005 · probes fallando
① [HIGH] VD-K8S-005 · La probe de liveness falla
② Recurso: Pod venom-demo/probe-liveness
③ Causa probable: El endpoint de la probe devuelve
   404: la ruta configurada no existe. El kubelet
   reinicia el contenedor cada vez que falla.
④ Evidencia:
   • restartCount=3
   • liveness probe failed (x4): statuscode: 404
   • probe-config: httpGet /no-existe:8080,
     periodSeconds=3, failureThreshold=1
⑤ Cómo arreglarlo (riesgo low):
   1. Corregir el path de la probe para que
      coincida con el endpoint de salud real.
   2. Verificar si la ruta cambió entre versiones.

Qué detecta

Nueve situaciones de Kubernetes y EKS que quitan el sueño.

Cada una tiene su página con el síntoma, la evidencia, cómo confirmarlo tú a mano con comandos de solo lectura y cómo arreglarlo.

Ver el catálogo completo

Diseñado para ser seguro

Los límites están en el código, no solo en las instrucciones.

Una herramienta que trabaja cerca de producción no puede confiar en que un prompt se porte bien. Estas garantías se hacen cumplir con código y tests.

Solo lectura

El lector del clúster solo expone get y list. Un test falla si algo emite otro verbo.

Nunca un apply

Solo puede ejecutar terraform init, validate y plan. Cualquier otra orden lanza una excepción.

Decide una persona

Abre Pull Requests, nunca los mezcla ni empuja a main. Cada PR lleva su lista de revisión.

La IA, solo si la pides

Sin --explain, --agent o venom review no hay ninguna llamada de IA. Y no hay modelo por defecto.

Secretos enmascarados

Claves de AWS, tokens, contraseñas e IDs de cuenta se ocultan antes de enviar nada a un modelo o escribirlo en un PR.

Paquetes firmados

El repositorio y los paquetes llevan firma GPG, y se rechazan los manipulados. Está probado, no solo declarado.

Leer las garantías en detalle

Instalación

En un minuto, sin Python ni dependencias.

Los paquetes incluyen todo lo necesario. Elige tu sistema:

RHEL 9, Rocky, AlmaLinux y Amazon Linux 2023, en x86_64 y aarch64. Todo: venom y kubectl-venom_doctor.

bash
sudo tee /etc/yum.repos.d/venom.repo <<'REPO'
[venom]
name=VenomOps
baseurl=https://cloudvipers.github.io/VenomOps/rpm/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://cloudvipers.github.io/VenomOps/venom-repo.asc
REPO
sudo dnf install venom

La primera vez, dnf muestra la huella de la clave: debe ser A7BE 1F5E 03EC 7AA9 C797 A9DE 3237 E8D7 9E6E 29C5.

Guía de instalación completa Cómo se usa