diff --git a/cmd/config.go b/cmd/config.go index 84474f4c..6b739610 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -52,8 +52,11 @@ func addConfigFlags(flags *pflag.FlagSet) { flags.Bool("branding.disableUsedPercentage", false, "disable used disk percentage graph") // NB: these are string so they can be presented as octal in the help text // as that's the conventional representation for modes in Unix. - flags.String("file-mode", fmt.Sprintf("%O", settings.DefaultFileMode), "Mode bits that new files are created with") - flags.String("dir-mode", fmt.Sprintf("%O", settings.DefaultDirMode), "Mode bits that new directories are created with") + flags.String("file-mode", fmt.Sprintf("%O", settings.DefaultFileMode), "mode bits that new files are created with") + flags.String("dir-mode", fmt.Sprintf("%O", settings.DefaultDirMode), "mode bits that new directories are created with") + + flags.Uint64("tus.chunkSize", settings.DefaultTusChunkSize, "the tus chunk size") + flags.Uint16("tus.retryCount", settings.DefaultTusRetryCount, "the tus retry count") } func getAuthMethod(flags *pflag.FlagSet, defaults ...interface{}) (settings.AuthMethod, map[string]interface{}, error) { @@ -215,6 +218,9 @@ func printSettings(ser *settings.Server, set *settings.Settings, auther auth.Aut fmt.Fprintf(w, "\tTLS Cert:\t%s\n", ser.TLSCert) fmt.Fprintf(w, "\tTLS Key:\t%s\n", ser.TLSKey) 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) + fmt.Fprintf(w, "\tRetry count:\t%d\n", set.Tus.RetryCount) fmt.Fprintln(w, "\nDefaults:") fmt.Fprintf(w, "\tScope:\t%s\n", set.Defaults.Scope) fmt.Fprintf(w, "\tHideDotfiles:\t%t\n", set.Defaults.HideDotfiles) diff --git a/cmd/config_init.go b/cmd/config_init.go index 693b6ace..47d02d8a 100644 --- a/cmd/config_init.go +++ b/cmd/config_init.go @@ -86,6 +86,16 @@ override the options.`, return err } + tusChunkSize, err := flags.GetUint64("tus.chunkSize") + if err != nil { + return err + } + + tusRetryCount, err := flags.GetUint16("tus.retryCount") + if err != nil { + return err + } + s := &settings.Settings{ Key: key, Signup: signup, @@ -102,6 +112,10 @@ override the options.`, Theme: brandingTheme, Files: brandingFiles, }, + Tus: settings.Tus{ + ChunkSize: tusChunkSize, + RetryCount: tusRetryCount, + }, } s.FileMode, err = getMode(flags, "file-mode") diff --git a/cmd/config_set.go b/cmd/config_set.go index 255ef470..c362e2e1 100644 --- a/cmd/config_set.go +++ b/cmd/config_set.go @@ -80,6 +80,10 @@ you want to change. Other options will remain unchanged.`, set.FileMode, err = getMode(flags, flag.Name) case "dir-mode": set.DirMode, err = getMode(flags, flag.Name) + case "tus.chunkSize": + set.Tus.ChunkSize, err = flags.GetUint64(flag.Name) + case "tus.retryCount": + set.Tus.RetryCount, err = flags.GetUint16(flag.Name) } })