Salkantay es un sistema de gestión de incidentes basado en IA que utiliza Google ADK para automatizar la respuesta a incidentes en infraestructura cloud.
El sistema está compuesto por cuatro servicios principales:
- API: Recibe y normaliza incidentes de múltiples fuentes
- Watcher: Detecta y publica eventos de incidentes
- Analyst: Analiza incidentes y genera planes de remediación usando IA
- Executor: Ejecuta planes de remediación de forma segura
- Go 1.22+
- Google Cloud Project con APIs habilitadas
- Docker (para containerización)
- kubectl (para despliegue en GKE)
- gcloud CLI
export GCP_PROJECT=your-gcp-project-id
export REGION=us-central1make bootstrap PROJECT=$GCP_PROJECTEsto habilitará APIs, creará service accounts, topics de Pub/Sub y configurará IAM.
gcloud artifacts repositories create salkantay \
--repository-format=docker \
--location=$REGION \
--description="Salkantay container images"make initmake testmake lintEn terminales separadas:
# API
make run-api
# Watcher
make run-watcher
# Analyst
make run-analyst
# Executor
make run-executormake local-pubsub
export PUBSUB_EMULATOR_HOST=localhost:8085export SHA=$(git rev-parse --short HEAD)
make image-api image-watcher image-analyst image-executorgcloud auth configure-docker $REGION-docker.pkg.dev
make pushmake cr-deploy-api
make cr-deploy-watcher
make cr-deploy-analyst
make cr-deploy-executorhelm upgrade --install salkantay ./deploy/gke/helm \
-n salkantay --create-namespace \
--set image.project=$GCP_PROJECT \
--set env.pubsubProject=$GCP_PROJECTmake sbommake signEl proyecto incluye GitHub Actions workflows para:
- Lint y tests automáticos
- Build y push de imágenes
- Generación de SBOM
- Firma de imágenes con cosign
- Deploy automático a Cloud Run
Configurar secrets en GitHub:
GCP_PROJECT: ID del proyecto GCPGCP_SA_KEY: Service account key (JSON)REGION: Región de GCP
salkantay/
├── cmd/ # Puntos de entrada de servicios
├── internal/ # Código interno
│ ├── app/ # Lógica de aplicación
│ ├── config/ # Configuración
│ ├── events/ # Schemas y Pub/Sub
│ ├── otel/ # Observabilidad
│ └── adk/ # Integración con Google ADK
├── templates/ # Manifiestos Kubernetes
├── infra/ # Scripts de infraestructura
├── scripts/ # Herramientas de desarrollo
└── deploy/ # Charts de Helm
MIT