-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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.