Skip to content
jumpserverPublic

About

Chen is a JumpServer Web DB connector that supports common databases such as MySQL, MariaDB and PostgreSQL.

Topics

Resources

Stars

29 stars

Watchers

3 watching

Forks

Repository files navigation

Chen

Chen is JumpServer's database workspace. It provides SQL queries, schema browsing, result editing and data import/export through the Luna frontend. The Go backend integrates with JumpServer through Wisp for authentication, permissions and audit.

Build

Use the Go version specified in go.mod and a C compiler. PostgreSQL SQL parsing requires CGO. Build the frontend separately in the Luna repository.

make build
make test vet

To build and run the container image:

make image-ee VERSION=dev PLATFORM=linux/arm64
make run

Linux amd64 and arm64 builds include all supported database drivers, including the pure Go Db2 driver.

Run with JumpServer

Start Core and configure the bootstrap credential through the environment or a private Wisp configuration file, then run:

CORE_HOST=http://127.0.0.1:8080 ./start.sh managed

Managed mode listens on 127.0.0.1:8082. Keep registration keys in data/keys and audit state in data/go persistent; container data is under /opt/chen/data. The API is served at /chen/api/v1/ with SSE streaming. Use chen-go healthcheck for liveness and chen-go readycheck for readiness.

Run without JumpServer

Build Luna's standalone frontend using its declared Node.js and pnpm versions:

pnpm --dir ../luna install --frozen-lockfile
pnpm --dir ../luna generate:chen
mkdir -p data
cp conf/standalone_backends_example.yaml data/standalone_backends.yml
chmod 600 data/standalone_backends.yml

Edit the configuration with your database connection details, then start Chen:

make single BACKENDS=data/standalone_backends.yml WEB_DIR=../luna/.output/public

Open http://127.0.0.1:8083/luna/chen/?selector=local-pg, using a selector from the configuration. Single mode has no Core authentication; keep access limited to the intended users. The selector identifies a connection and is not a password.

Release packages

make package extracts the built image into build/chen-<version>-linux-<arch>.tar.gz. The archive includes binaries, configuration examples, licenses and this README. On a matching Linux system, extract it and run ./start.sh managed, or ./start.sh single --backends /path/to/backends.yml --web-dir /path/to/luna.

About

Chen is a JumpServer Web DB connector that supports common databases such as MySQL, MariaDB and PostgreSQL.

Topics

Resources

Stars

29 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages