fix: add tokenExpirationTime to quick setup, config init, and config set

Fixes issue where token expiration time from config file was not saved
to database during initial setup, causing Docker deployments to ignore
the tokenExpirationTime setting.

Changes:
- Add TokenExpirationTime to quick setup initialization (cmd/root.go)
- Add TokenExpirationTime to config init command (cmd/config_init.go)
- Add token-expiration-time support to config set command (cmd/config_set.go)
- Display token expiration time in config cat output (cmd/config.go)

All initialization paths now properly read and save token expiration
settings from config files, environment variables, and CLI flags.

Fixes #3718, #3150, #2554, #2553
Related to #2753
This commit is contained in:
Brian Fromm 2025-11-15 08:36:13 -07:00
parent f89435c068
commit 3592a03f15
4 changed files with 22 additions and 15 deletions

View File

@ -217,6 +217,7 @@ func printSettings(ser *settings.Server, set *settings.Settings, auther auth.Aut
fmt.Fprintf(w, "\tAddress:\t%s\n", ser.Address)
fmt.Fprintf(w, "\tTLS Cert:\t%s\n", ser.TLSCert)
fmt.Fprintf(w, "\tTLS Key:\t%s\n", ser.TLSKey)
fmt.Fprintf(w, "\tToken Expiration Time:\t%s\n", ser.TokenExpirationTime)
fmt.Fprintf(w, "\tExec Enabled:\t%t\n", ser.EnableExec)
fmt.Fprintln(w, "\nTUS:")
fmt.Fprintf(w, "\tChunk size:\t%d\n", set.Tus.ChunkSize)

View File

@ -168,15 +168,18 @@ override the options.`,
return err
}
tokenExpirationTime := getStringParam(flags, "token-expiration-time")
ser := &settings.Server{
Address: address,
Socket: socket,
Root: root,
BaseURL: baseURL,
TLSKey: tlsKey,
TLSCert: cert,
Port: port,
Log: log,
Address: address,
Socket: socket,
Root: root,
BaseURL: baseURL,
TLSKey: tlsKey,
TLSCert: cert,
Port: port,
Log: log,
TokenExpirationTime: tokenExpirationTime,
}
err = d.store.Settings.Save(s)

View File

@ -50,6 +50,8 @@ you want to change. Other options will remain unchanged.`,
ser.Port, err = getString(flags, flag.Name)
case "log":
ser.Log, err = getString(flags, flag.Name)
case "token-expiration-time":
ser.TokenExpirationTime, err = getString(flags, flag.Name)
case "hide-login-button":
set.HideLoginButton, err = getBool(flags, flag.Name)
case "signup":

View File

@ -456,13 +456,14 @@ func quickSetup(flags *pflag.FlagSet, d pythonData) error {
}
ser := &settings.Server{
BaseURL: getStringParam(flags, "baseurl"),
Port: getStringParam(flags, "port"),
Log: getStringParam(flags, "log"),
TLSKey: getStringParam(flags, "key"),
TLSCert: getStringParam(flags, "cert"),
Address: getStringParam(flags, "address"),
Root: getStringParam(flags, "root"),
BaseURL: getStringParam(flags, "baseurl"),
Port: getStringParam(flags, "port"),
Log: getStringParam(flags, "log"),
TLSKey: getStringParam(flags, "key"),
TLSCert: getStringParam(flags, "cert"),
Address: getStringParam(flags, "address"),
Root: getStringParam(flags, "root"),
TokenExpirationTime: getStringParam(flags, "token-expiration-time"),
}
err = d.store.Settings.SaveServer(ser)