Configuring

The client

Two things, both optional if your defaults already work.

Variable Purpose
OTISK_HOST The host to talk to, as git@host or git@host:port
OTISK_SSH_COMMAND The ssh invocation to use

otisk host set git@git.otisk.dev records the host so you do not have to set it every time; otisk host prints what is recorded. The user defaults to git and the port to 22, so a host serving on 22 needs neither: otisk host set git.otisk.dev says the same thing.

For ssh, otisk honours OTISK_SSH_COMMAND and falls back to GIT_SSH_COMMAND, so a key or option set that already works for git needs no second configuration.

The gateway

Read from the environment; see .env.example in the repository.

Variable Purpose
OTISK_DATABASE_URL PostgreSQL connection string
OTISK_S3_ENDPOINT Object store endpoint
OTISK_S3_ACCESS_KEY / OTISK_S3_SECRET_KEY Object store credentials
OTISK_S3_BUCKET Bucket holding repository data
OTISK_S3_USE_SSL Whether to use TLS to the object store
OTISK_CACHE_DIR Local repository cache; safe to delete
OTISK_SSH_HOST_KEY Gateway host key; generated if absent
OTISK_SSH_ADDR Gateway listen address (default :2222)
OTISK_ENV_FILE Alternative path to the env file (default .env)

A service refuses to start when a value it requires is missing, naming every absent variable at once.

Credentials and configuration live on the host and never in the build artefact: the binary you install contains nothing about where it will run.