Configuration reference

Configuration keys and command-line options for Goauld

This page explains the configuration model and links to the complete generated configuration files. Every runtime key can also be supplied as a command-line option. The environment variable is formed by uppercasing the option name, replacing - with _, and adding the component prefix: GOAULD_ for the server and agent, TEALC_ for the client.

For precedence and configuration-file locations, see Variables and Configuration files.

Complete generated configuration

These files are generated from the main Goauld repository’s configuration definitions. They include every supported key, default, and source comment:

From the documentation repository, regenerate them with:

./scripts/update-config-reference.sh /path/to/Goauld

The generated files are reference snapshots for the latest documented release. Do not edit them by hand.

Server: common settings

KeyTypeEnvironment variablePurpose
age-private-keystringGOAULD_AGE_PRIVATE_KEYServer age private key. Keep it secret.
http-domainlistGOAULD_HTTP_DOMAINHTTP/WebSocket hostnames.
tls-domainlistGOAULD_TLS_DOMAINRaw TLS transport hostnames.
dns-domainstringGOAULD_DNS_DOMAINDNS transport domain.
dns-domain-altstringGOAULD_DNS_DOMAIN_ALTAlternate DNS transport domain.
http-listen-addraddressGOAULD_HTTP_LISTEN_ADDRHTTP listener, for example :80.
https-listen-addraddressGOAULD_HTTPS_LISTEN_ADDRHTTPS listener.
sshd-listen-addraddressGOAULD_SSHD_LISTEN_ADDRDirect SSH listener, for example :2222.
dns-listen-addraddressGOAULD_DNS_LISTEN_ADDRDNS listener.
quic-listen-addraddressGOAULD_QUIC_LISTEN_ADDRQUIC listener.
tlsbooleanGOAULD_TLSEnable TLS support.
quicbooleanGOAULD_QUICEnable QUIC; TLS must also be enabled.
dnsbooleanGOAULD_DNSEnable SSH over DNS.
sshbooleanGOAULD_SSHEnable the direct SSH listener.
access-tokenlistGOAULD_ACCESS_TOKENToken for /manage/ and optionally /ssh-ws/.
admin-tokenlistGOAULD_ADMIN_TOKENToken for /admin/.
allowed-ipslistGOAULD_ALLOWED_IPSIPs/CIDRs allowed to use operator endpoints.
trusted-proxieslistGOAULD_TRUSTED_PROXIESProxies trusted to provide X-Forwarded-For.
ssh-websocketbooleanGOAULD_SSH_WEBSOCKETEnable the HTTP(S)-tunneled SSH endpoint.
no-dbbooleanGOAULD_NO_DBDisable database persistence.
db-file-namepathGOAULD_DB_FILE_NAMESQLite database path.
binaries-pathpathGOAULD_BINARIES_PATHDirectory containing agent binaries.
binaries-basic-authstringGOAULD_BINARIES_BASIC_AUTHBasic Auth for binary downloads.

Client (tealc): common settings

KeyTypeEnvironment variablePurpose
serverURLTEALC_SERVERHTTP server used by the client API.
ssh-serveraddressTEALC_SSH_SERVERDirect server SSH address.
wsbooleanTEALC_WSUse SSH over the server’s WebSocket endpoint.
access-tokenstringTEALC_ACCESS_TOKENToken for /manage/.
admin-tokenstringTEALC_ADMIN_TOKENToken for /admin/.
insecurebooleanTEALC_INSECURESkip TLS certificate verification. Avoid in production.
wait-timeoutsecondsTEALC_WAIT_TIMEOUTTime to wait for an agent to come online.
config-filepathTEALC_CONFIG_FILEExplicit configuration file.
passwordstringTEALC_PASSWORDAgent static password. Prefer prompting.
promptbooleanTEALC_PROMPTPrompt for the agent password.
save-passwordbooleanTEALC_SAVE_PASSWORDSave the password in the client config.
control-masterbooleanTEALC_CONTROL_MASTERReuse an SSH connection.
verbosecounterTEALC_VERBOSEIncrease client logging.
quietbooleanTEALC_QUIETSuppress client logging.

Command-specific options are documented with each command, including SSH, file transfer, and forwarding.

Agent runtime configuration

The linked agent configuration snapshot documents the agent’s runtime YAML keys. The same values can be supplied as CLI options or as GOAULD_* environment variables. For example:

server: http://goauld.example.com
ssh-server: goauld.example.com:2222
rssh-order:
  - SSH
  - WS
keepalive: 20

Runtime values override defaults compiled into the binary. See Variables for the complete precedence order.

See Working days for weekday and activity-window scheduling, and Killswitch for duration and fixed-date termination rules.

Agent compile-time defaults

tealc compile --env accepts a separate build-variable file. These variables are embedded into the resulting binary as defaults and are not read from the agent process environment at runtime. Examples include:

AGENT__AGE_PUBLIC_KEY=age1...
AGENT__NAME=operator-defined-name
HTTP_DOMAIN=goauld.example.com
HTTP_PORT=80
SSHD_PORT=2222

Available build variables depend on the features enabled at compile time. Use tealc compile --drop-env to generate the complete build template for the current source tree. See Compile agent for build targets and examples.

Security-sensitive settings

Treat these values as secrets:

  • age-private-key
  • access-token
  • admin-token
  • password
  • binaries-basic-auth

Do not enable insecure in a production client, do not expose the admin API without IP restrictions or equivalent network controls, and do not commit configuration files containing real credentials.