Skip to content

Architecture

bruckins edited this page Oct 1, 2025 · 14 revisions

SSH Proxy is a service that belongs to the k8shell-io ecosystem. It provides an SSH protocol interface for SSH-compliant clients, authenticates and authorizes users using identity providers and standard protocols, provisions workspaces for users in a Kubernetes cluster, and transforms SSH protocol communication with workspace processes.

The below diagram shows a high-level architecture with SSH proxy as the core component.

Architecture

The architecture components are:

  • SSH Client - Any client that supports the SSH protocol, such as SSH CLI, VS Code with Remote-SSH extension, IntelliJ IDEA, or other SSH-capable tools.
  • SSH Proxy - Communicates with clients using the SSH protocol and transforms the communication to k8shelld gRPC API calls.
  • Identity - Provides authentication and authorization services via various identity providers and stores user identities in a database.
  • Provisioner - Provisions user workspaces in a Kubernetes cluster based on workspace blueprints, which are descriptions of workspaces including container images, resource limits, initialization scripts, and configuration.
  • k8shelld - The init process of the workspace pod that provides a gRPC API for SSH Proxy to connect to and manages system capabilities within the workspace pod.

Clone this wiki locally