Skip to content

Architecture Overview

SSH-KLM is built on a modern, scalable architecture designed for enterprise SSH key management.

PrincipleDescription
Security FirstZero-trust architecture, encryption at rest and in transit
ScalabilityHorizontal scaling for thousands of hosts
High AvailabilityNo single point of failure
ExtensibilityPlugin architecture for integrations
┌─────────────────────────────────────────────────────────────┐
│ CLIENT LAYER │
│ Web UI │ CLI │ SDK (Node/Python/Go) │ REST API │
└─────────────────────────┬───────────────────────────────────┘
│ HTTPS/WSS
┌─────────────────────────▼───────────────────────────────────┐
│ API GATEWAY │
│ Load Balancer │ Rate Limiting │ Authentication │ TLS │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────▼───────────────────────────────────┐
│ APPLICATION LAYER │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ API Server │ │ API Server │ │ API Server │ │
│ │ (Node 1) │ │ (Node 2) │ │ (Node N) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────▼───────────────────────────────────┐
│ WORKER LAYER │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Discovery │ │ Rotation │ │ Notification│ │
│ │ Workers │ │ Workers │ │ Workers │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────┬───────────────────────────────────┘
┌─────────────────────────▼───────────────────────────────────┐
│ DATA LAYER │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ S3/Blob │ │
│ │ (Primary) │ │ (Cache) │ │ (Backups) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
┌─────────────────────────▼───────────────────────────────────┐
│ AGENT LAYER │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ │ Agent N │ │
│ │ Host A │ │ Host B │ │ Host C │ │ Host N │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────┘
  • Protocol: gRPC over mTLS
  • Heartbeat: Every 30 seconds
  • Data: Key inventory, status updates
  • Protocol: gRPC over mTLS
  • Commands: Rotation tasks, discovery triggers
ModelUse CaseComponents
Single NodeDevelopment, POCAll-in-one container
StandardSmall-medium deploymentsSeparate API, workers, DB
EnterpriseLarge scale, HAClustered everything