Skip to content

ts settings ​

Read and change server-wide settings. Bare prints every setting, one argument reads one, two arguments write one.

Usage ​

text
ts settings [<property> [<value>]]

Description ​

Property names are lower-case and hyphenated: api-rate-limit, support-link, ticket-long-life-timeout. ts settings with no arguments lists them all with their current values, which is the quickest way to find the name you want.

A setting that has never been set takes its built-in default; reading it alone prints (unset), and the listing leaves its value blank. A write prints the value as the server stored it, which can differ from what you typed: a URL gains its scheme, a flag is spelled true or false, and a domain loses a pasted scheme. To clear one, pass an empty string as a separate argument:

bash
ts settings support-link ""

Settings that hold secrets or large embedded images — encryption keys, the signing key, the portal logo blobs, the license — are not readable or writable here. Use ts license for the license and the Administration site for portal artwork.

authentication-type and authentication-provider follow the sign-in page, so they can be read but not set. They name the first provider on the sign-in page that a sign-in can start through, and authentication-type reads Forms when the page offers none. To change them, change which providers the sign-in page shows, with ts identity-source set <source> show-on-sign-in-page (see ts identity-source) or under Identity → Authentication in the Administration site.

A write that does not change the value is not recorded, so re-running a configuration script does not fill the audit log with no-ops. Real changes are recorded with the previous and new values.

Examples ​

bash
# What is configurable, and what is it now
ts settings

# Read one
ts settings support-link

# Change one
ts settings support-link https://help.example.net

# Clear one
ts settings support-link ""

# Turn on rate limiting and set the ceiling
ts settings api-rate-limit true
ts settings api-rate-limit-requests 20

# Capture the whole configuration for review
ts settings --format=json > settings.json

Output ​

text
PROPERTY                  VALUE
administrator-email       [email protected]
api-rate-limit            true
api-rate-limit-requests   20
authentication-type       Forms
domain                    turbo.example.net

Reading one property prints only its value, so it substitutes directly:

bash
DOMAIN=$(ts settings domain)

Exit Codes ​

0 on success. -1 when the server refuses the value, including any write to a setting that follows the sign-in page, to one that holds a secret, or to a name the server does not know. -6 when the property read is not recognized. -5 when the account is not a Server Administrator.

  • ts server — Per-server settings, as opposed to server-wide ones.
  • ts audit — Who changed a setting, and from what.