koko
KoKo is a connector of JumpServer for secure connections using character protocols, supporting SSH, Telnet, Kubernetes, SFTP and database protocols
KoKo, the JumpServer connector for character protocols
KoKo is a JumpServer component that provides secure connections over character protocols such as SSH, Telnet, Kubernetes, SFTP, and database protocols.
What KoKo connects and how it is built
KoKo is a connector for JumpServer that provides secure connections using character protocols. The README states that it supports SSH, Telnet, Kubernetes, SFTP, and database protocols, and that it is implemented using Golang and Vue. The name comes from a Dota hero called Kunkka, which the README links to. The features list is short and concrete: SSH, SFTP, a web terminal, and web file management. Those four capabilities are the user facing surface of the connector, letting someone reach a target host through a browser based terminal and move files through a browser based file manager rather than a separate client. As a JumpServer component, KoKo is the piece that terminates the character protocol session and bridges it to the JumpServer core, which is why the development setup asks you to point the connector at a core host and share a bootstrap token with that core. The README keeps the description at the level of what the component does and what it is written in, without enumerating every protocol detail, so the supported set is exactly the five named at the top: SSH, Telnet, Kubernetes, SFTP, and database protocols. That focus on character protocols distinguishes KoKo from other JumpServer components that may handle graphical or API access, and it frames the project as the terminal and file transfer gateway inside the broader JumpServer architecture.
Building and deploying the server
The README gives a build then deploy flow for Linux amd64 servers. You start by cloning the repository from the jumpserver GitHub organization. You build the application by running make inside the koko project, and the README notes that a successful build automatically generates a build folder under the project that contains compressed packages for the various architectures of the current branch. To deploy, you copy the compressed package to the target server. The default package name follows the pattern koko, then the branch name, then the commit, then linux-amd64, with a tar.gz extension. You extract it with tar xzvf using that file name, create a config.yml by touching the file and referring to the config_example.yml in the repository, and then run the koko binary from inside the extracted folder. The configuration example is the place to set the core host and the bootstrap token so the connector can register with JumpServer. This make based build is the supported path for producing a runnable artifact, and the README's wording about architecture specific packages implies the same make command can target other architectures, though the usage section only walks through the linux amd64 case in detail. The Docker section adds that you can build multi platform images with Docker Buildx, which requires Docker version 19.03 or higher with the Buildx plugin enabled, using make docker.
Setting up a development environment
For development, the README splits the work into a backend server and a UI frontend. The backend step copies config_example.yml to config.yml, edits it to set CORE_HOST to http://127.0.0.1:8080 and BOOTSTRAP_TOKEN to a value that matches the core, then runs the connector with go run on the cmd/koko package, noting that Go must be installed if it is not already. The bootstrap token must be the same as the one used by the core so the two components trust each other. The frontend step moves into the ui folder, runs yarn install to fetch dependencies, and starts the dev server with npm run serve. This separation lets a developer work on the Go backend and the Vue frontend independently while both talk to the same JumpServer core. The README's acknowledgments section notes that the project depends on usql for database connections and thanks that project for its support, which is the one external dependency the document calls out by name. The contribution and usage guidance is brief compared with larger projects, which fits KoKo's role as a single component inside JumpServer rather than a standalone product. A reader who wants the full picture of how the connector fits into the platform is expected to look at JumpServer itself, since the README documents only this component's build, configuration, and development loop.
Editorial conclusion
KoKo is a GPL-3.0 licensed JumpServer connector written in Golang and Vue that you build with make and run as the koko binary after creating a config.yml that points at the JumpServer core host.
Community notes