Appearance
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.jsonOutput
text
PROPERTY VALUE
administrator-email [email protected]
api-rate-limit true
api-rate-limit-requests 20
authentication-type Forms
domain turbo.example.netReading 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.
