diff --git a/cli/cliui/cliui.go b/cli/cliui/cliui.go index ad8ee442b6..cc85cf352d 100644 --- a/cli/cliui/cliui.go +++ b/cli/cliui/cliui.go @@ -51,6 +51,11 @@ var ( Blue = color.Color("#5000ff") ) +// Color returns a color for the given string. +func Color(s string) termenv.Color { + return color.Color(s) +} + func isTerm() bool { return color != termenv.Ascii } diff --git a/cli/help.go b/cli/help.go index cd19ecd788..075eb14ed7 100644 --- a/cli/help.go +++ b/cli/help.go @@ -17,8 +17,10 @@ import ( "golang.org/x/crypto/ssh/terminal" "golang.org/x/xerrors" + "github.com/coder/coder/v2/buildinfo" "github.com/coder/coder/v2/cli/clibase" "github.com/coder/coder/v2/cli/cliui" + "github.com/coder/pretty" ) //go:embed help.tpl @@ -47,12 +49,28 @@ func wrapTTY(s string) string { var usageTemplate = template.Must( template.New("usage").Funcs( template.FuncMap{ + "version": func() string { + return buildinfo.Version() + }, "wrapTTY": func(s string) string { return wrapTTY(s) }, "trimNewline": func(s string) string { return strings.TrimSuffix(s, "\n") }, + "keyword": func(s string) string { + return pretty.Sprint( + pretty.FgColor(cliui.Color("#0173ff")), + s, + ) + }, + "prettyHeader": func(s string) string { + return pretty.Sprint( + pretty.FgColor( + cliui.Color("#ffb500"), + ), strings.ToUpper(s), ":", + ) + }, "typeHelper": func(opt *clibase.Option) string { switch v := opt.Value.(type) { case *clibase.Enum: @@ -71,13 +89,15 @@ var usageTemplate = template.Must( body = wordwrap.WrapString(body, uint(twidth-len(spacing))) + sc := bufio.NewScanner(strings.NewReader(body)) + var sb strings.Builder - for _, line := range strings.Split(body, "\n") { + for sc.Scan() { // Remove existing indent, if any. - line = strings.TrimSpace(line) + // line = strings.TrimSpace(line) // Use spaces so we can easily calculate wrapping. _, _ = sb.WriteString(spacing) - _, _ = sb.WriteString(line) + _, _ = sb.Write(sc.Bytes()) _, _ = sb.WriteString("\n") } return sb.String() @@ -126,9 +146,7 @@ var usageTemplate = template.Must( "flagName": func(opt clibase.Option) string { return opt.Flag }, - "prettyHeader": func(s string) string { - return cliui.Bold(s) - }, + "isEnterprise": func(opt clibase.Option) bool { return opt.Annotations.IsSet("enterprise") }, @@ -160,12 +178,6 @@ var usageTemplate = template.Must( } return sb.String() }, - "formatLong": func(long string) string { - // We intentionally don't wrap here because it would misformat - // examples, where the new line would start without the prior - // line's indentation. - return strings.TrimSpace(long) - }, "formatGroupDescription": func(s string) string { s = strings.ReplaceAll(s, "\n", "") s = s + "\n" diff --git a/cli/help.tpl b/cli/help.tpl index 97d79db936..59e1f0dce5 100644 --- a/cli/help.tpl +++ b/cli/help.tpl @@ -1,20 +1,22 @@ -{{- /* Heavily inspired by the Go toolchain formatting. */ -}} -Usage: {{.FullUsage}} +{{- /* Heavily inspired by the Go toolchain and fd */ -}} +coder {{version}} + +{{prettyHeader "Usage"}} +{{indent .FullUsage 2}} {{ with .Short }} -{{- wrapTTY . }} +{{- indent . 2 | wrapTTY }} {{"\n"}} {{- end}} {{ with .Aliases }} -{{ "\n" }} -{{ "Aliases:"}} {{ joinStrings .}} -{{ "\n" }} +{{" Aliases: "}} {{- joinStrings .}} {{- end }} {{- with .Long}} -{{- formatLong . }} +{{"\n"}} +{{- indent . 2}} {{ "\n" }} {{- end }} {{ with visibleChildren . }} @@ -34,11 +36,11 @@ Usage: {{.FullUsage}} {{- else }} {{- end }} {{- range $index, $option := $group.Options }} - {{- if not (eq $option.FlagShorthand "") }}{{- print "\n -" $option.FlagShorthand ", " -}} + {{- if not (eq $option.FlagShorthand "") }}{{- print "\n "}} {{ keyword "-"}}{{keyword $option.FlagShorthand }}{{", "}} {{- else }}{{- print "\n " -}} {{- end }} - {{- with flagName $option }}--{{ . }}{{ end }} {{- with typeHelper $option }} {{ . }}{{ end }} - {{- with envName $option }}, ${{ . }}{{ end }} + {{- with flagName $option }}{{keyword "--"}}{{ keyword . }}{{ end }} {{- with typeHelper $option }} {{ . }}{{ end }} + {{- with envName $option }}, {{ print "$" . | keyword }}{{ end }} {{- with $option.Default }} (default: {{ . }}){{ end }} {{- with $option.Description }} {{- $desc := $option.Description }} @@ -47,7 +49,7 @@ Usage: {{.FullUsage}} {{- end -}} {{- end }} {{- end }} ---- +——— {{- if .Parent }} Run `coder --help` for a list of global options. {{- else }} diff --git a/cli/testdata/coder_--help.golden b/cli/testdata/coder_--help.golden index a0915fc759..4719ad49e8 100644 --- a/cli/testdata/coder_--help.golden +++ b/cli/testdata/coder_--help.golden @@ -1,15 +1,19 @@ -Usage: coder [global-flags] +coder v0.0.0-devel -Coder v0.0.0-devel — A tool for provisioning self-hosted development environments with Terraform. - - Start a Coder server: +USAGE: + coder [global-flags] - $ coder server + Coder v0.0.0-devel — A tool for provisioning self-hosted development + environments with Terraform. + - Start a Coder server: + + $ coder server + + - Get started by creating a template from an example: + + $ coder templates init - - Get started by creating a template from an example: - - $ coder templates init - -Subcommands +SUBCOMMANDS: config-ssh Add an SSH Host entry for your workspaces "ssh coder.workspace" create Create a workspace @@ -45,43 +49,43 @@ Coder v0.0.0-devel — A tool for provisioning self-hosted development environme users Manage users version Show coder version -Global Options +GLOBAL OPTIONS: Global options are applied to all commands. They can be set using environment variables or flags. - --debug-options bool + --debug-options bool Print all options, how they're set, then exit. - --disable-direct-connections bool, $CODER_DISABLE_DIRECT_CONNECTIONS + --disable-direct-connections bool, $CODER_DISABLE_DIRECT_CONNECTIONS Disable direct (P2P) connections to workspaces. - --global-config string, $CODER_CONFIG_DIR (default: ~/.config/coderv2) + --global-config string, $CODER_CONFIG_DIR (default: ~/.config/coderv2) Path to the global `coder` config directory. - --header string-array, $CODER_HEADER + --header string-array, $CODER_HEADER Additional HTTP headers added to all requests. Provide as key=value. Can be specified multiple times. - --header-command string, $CODER_HEADER_COMMAND + --header-command string, $CODER_HEADER_COMMAND An external command that outputs additional HTTP headers added to all requests. The command must output each header as `key=value` on its own line. - --no-feature-warning bool, $CODER_NO_FEATURE_WARNING + --no-feature-warning bool, $CODER_NO_FEATURE_WARNING Suppress warnings about unlicensed features. - --no-version-warning bool, $CODER_NO_VERSION_WARNING + --no-version-warning bool, $CODER_NO_VERSION_WARNING Suppress warning when client and server versions do not match. - --token string, $CODER_SESSION_TOKEN + --token string, $CODER_SESSION_TOKEN Specify an authentication token. For security reasons setting CODER_SESSION_TOKEN is preferred. - --url url, $CODER_URL + --url url, $CODER_URL URL to a deployment. - -v, --verbose bool, $CODER_VERBOSE + -v, --verbose bool, $CODER_VERBOSE Enable verbose output. ---- +——— Report bugs and request features at https://github.com/coder/coder/issues/new diff --git a/cli/testdata/coder_agent_--help.golden b/cli/testdata/coder_agent_--help.golden index 723afce139..41e98fbe29 100644 --- a/cli/testdata/coder_agent_--help.golden +++ b/cli/testdata/coder_agent_--help.golden @@ -1,41 +1,44 @@ -Usage: coder agent [flags] +coder v0.0.0-devel -Starts the Coder workspace agent. +USAGE: + coder agent [flags] -Options - --log-human string, $CODER_AGENT_LOGGING_HUMAN (default: /dev/stderr) + Starts the Coder workspace agent. + +OPTIONS: + --log-human string, $CODER_AGENT_LOGGING_HUMAN (default: /dev/stderr) Output human-readable logs to a given file. - --log-json string, $CODER_AGENT_LOGGING_JSON + --log-json string, $CODER_AGENT_LOGGING_JSON Output JSON logs to a given file. - --log-stackdriver string, $CODER_AGENT_LOGGING_STACKDRIVER + --log-stackdriver string, $CODER_AGENT_LOGGING_STACKDRIVER Output Stackdriver compatible logs to a given file. - --auth string, $CODER_AGENT_AUTH (default: token) + --auth string, $CODER_AGENT_AUTH (default: token) Specify the authentication type to use for the agent. - --debug-address string, $CODER_AGENT_DEBUG_ADDRESS (default: 127.0.0.1:2113) + --debug-address string, $CODER_AGENT_DEBUG_ADDRESS (default: 127.0.0.1:2113) The bind address to serve a debug HTTP server. - --log-dir string, $CODER_AGENT_LOG_DIR (default: /tmp) + --log-dir string, $CODER_AGENT_LOG_DIR (default: /tmp) Specify the location for the agent log files. - --no-reap bool + --no-reap bool Do not start a process reaper. - --pprof-address string, $CODER_AGENT_PPROF_ADDRESS (default: 127.0.0.1:6060) + --pprof-address string, $CODER_AGENT_PPROF_ADDRESS (default: 127.0.0.1:6060) The address to serve pprof. - --prometheus-address string, $CODER_AGENT_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112) + --prometheus-address string, $CODER_AGENT_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112) The bind address to serve Prometheus metrics. - --ssh-max-timeout duration, $CODER_AGENT_SSH_MAX_TIMEOUT (default: 72h) + --ssh-max-timeout duration, $CODER_AGENT_SSH_MAX_TIMEOUT (default: 72h) Specify the max timeout for a SSH connection, it is advisable to set it to a minimum of 60s, but no more than 72h. - --tailnet-listen-port int, $CODER_AGENT_TAILNET_LISTEN_PORT (default: 0) + --tailnet-listen-port int, $CODER_AGENT_TAILNET_LISTEN_PORT (default: 0) Specify a static port for Tailscale to use for listening. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_config-ssh_--help.golden b/cli/testdata/coder_config-ssh_--help.golden index 2cb7d69f3e..b3c0a1f5d4 100644 --- a/cli/testdata/coder_config-ssh_--help.golden +++ b/cli/testdata/coder_config-ssh_--help.golden @@ -1,51 +1,55 @@ -Usage: coder config-ssh [flags] +coder v0.0.0-devel -Add an SSH Host entry for your workspaces "ssh coder.workspace" +USAGE: + coder config-ssh [flags] -- You can use -o (or --ssh-option) so set SSH options to be used for all your -workspaces: + Add an SSH Host entry for your workspaces "ssh coder.workspace" - $ coder config-ssh -o ForwardAgent=yes + - You can use -o (or --ssh-option) so set SSH options to be used for all + your + workspaces: + + $ coder config-ssh -o ForwardAgent=yes + + - You can use --dry-run (or -n) to see the changes that would be made: + + $ coder config-ssh --dry-run - - You can use --dry-run (or -n) to see the changes that would be made: - - $ coder config-ssh --dry-run - -Options - --coder-binary-path string, $CODER_SSH_CONFIG_BINARY_PATH +OPTIONS: + --coder-binary-path string, $CODER_SSH_CONFIG_BINARY_PATH Optionally specify the absolute path to the coder binary used in ProxyCommand. By default, the binary invoking this command ('config ssh') is used. - -n, --dry-run bool, $CODER_SSH_DRY_RUN + -n, --dry-run bool, $CODER_SSH_DRY_RUN Perform a trial run with no changes made, showing a diff at the end. - --force-unix-filepaths bool, $CODER_CONFIGSSH_UNIX_FILEPATHS + --force-unix-filepaths bool, $CODER_CONFIGSSH_UNIX_FILEPATHS By default, 'config-ssh' uses the os path separator when writing the ssh config. This might be an issue in Windows machine that use a unix-like shell. This flag forces the use of unix file paths (the forward slash '/'). - --ssh-config-file string, $CODER_SSH_CONFIG_FILE (default: ~/.ssh/config) + --ssh-config-file string, $CODER_SSH_CONFIG_FILE (default: ~/.ssh/config) Specifies the path to an SSH config. - --ssh-host-prefix string, $CODER_CONFIGSSH_SSH_HOST_PREFIX + --ssh-host-prefix string, $CODER_CONFIGSSH_SSH_HOST_PREFIX Override the default host prefix. - -o, --ssh-option string-array, $CODER_SSH_CONFIG_OPTS + -o, --ssh-option string-array, $CODER_SSH_CONFIG_OPTS Specifies additional SSH options to embed in each host stanza. - --use-previous-options bool, $CODER_SSH_USE_PREVIOUS_OPTIONS + --use-previous-options bool, $CODER_SSH_USE_PREVIOUS_OPTIONS Specifies whether or not to keep options from previous run of config-ssh. - --wait yes|no|auto, $CODER_CONFIGSSH_WAIT (default: auto) + --wait yes|no|auto, $CODER_CONFIGSSH_WAIT (default: auto) Specifies whether or not to wait for the startup script to finish executing. Auto means that the agent startup script behavior configured in the workspace template is used. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_create_--help.golden b/cli/testdata/coder_create_--help.golden index 005c913529..e24e1b4a12 100644 --- a/cli/testdata/coder_create_--help.golden +++ b/cli/testdata/coder_create_--help.golden @@ -1,32 +1,35 @@ -Usage: coder create [flags] [name] +coder v0.0.0-devel -Create a workspace +USAGE: + coder create [flags] [name] -- Create a workspace for another user (if you have permission): + Create a workspace - $ coder create / + - Create a workspace for another user (if you have permission): + + $ coder create / -Options - --parameter string-array, $CODER_RICH_PARAMETER +OPTIONS: + --parameter string-array, $CODER_RICH_PARAMETER Rich parameter value in the format "name=value". - --rich-parameter-file string, $CODER_RICH_PARAMETER_FILE + --rich-parameter-file string, $CODER_RICH_PARAMETER_FILE Specify a file path with values for rich parameters defined in the template. - --start-at string, $CODER_WORKSPACE_START_AT + --start-at string, $CODER_WORKSPACE_START_AT Specify the workspace autostart schedule. Check coder schedule start --help for the syntax. - --stop-after duration, $CODER_WORKSPACE_STOP_AFTER + --stop-after duration, $CODER_WORKSPACE_STOP_AFTER Specify a duration after which the workspace should shut down (e.g. 8h). - -t, --template string, $CODER_TEMPLATE_NAME + -t, --template string, $CODER_TEMPLATE_NAME Specify a template name. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_delete_--help.golden b/cli/testdata/coder_delete_--help.golden index ff9fee6b77..14e27bc905 100644 --- a/cli/testdata/coder_delete_--help.golden +++ b/cli/testdata/coder_delete_--help.golden @@ -1,17 +1,20 @@ -Usage: coder delete [flags] +coder v0.0.0-devel -Delete a workspace +USAGE: + coder delete [flags] -Aliases: rm + Delete a workspace -Options - --orphan bool + Aliases: rm + +OPTIONS: + --orphan bool Delete a workspace without deleting its resources. This can delete a workspace in a broken state, but may also lead to unaccounted cloud resources. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_dotfiles_--help.golden b/cli/testdata/coder_dotfiles_--help.golden index b72d47860b..14183a28d4 100644 --- a/cli/testdata/coder_dotfiles_--help.golden +++ b/cli/testdata/coder_dotfiles_--help.golden @@ -1,23 +1,26 @@ -Usage: coder dotfiles [flags] +coder v0.0.0-devel -Personalize your workspace by applying a canonical dotfiles repository +USAGE: + coder dotfiles [flags] -- Check out and install a dotfiles repository without prompts: + Personalize your workspace by applying a canonical dotfiles repository - $ coder dotfiles --yes git@github.com:example/dotfiles.git + - Check out and install a dotfiles repository without prompts: + + $ coder dotfiles --yes git@github.com:example/dotfiles.git -Options - -b, --branch string +OPTIONS: + -b, --branch string Specifies which branch to clone. If empty, will default to cloning the default branch or using the existing branch in the cloned repo on disk. - --symlink-dir string, $CODER_SYMLINK_DIR + --symlink-dir string, $CODER_SYMLINK_DIR Specifies the directory for the dotfiles symlink destinations. If empty, will use $HOME. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_list_--help.golden b/cli/testdata/coder_list_--help.golden index e4e6f5dd35..6a5d49b862 100644 --- a/cli/testdata/coder_list_--help.golden +++ b/cli/testdata/coder_list_--help.golden @@ -1,23 +1,26 @@ -Usage: coder list [flags] +coder v0.0.0-devel -List workspaces +USAGE: + coder list [flags] -Aliases: ls + List workspaces -Options - -a, --all bool + Aliases: ls + +OPTIONS: + -a, --all bool Specifies whether all workspaces will be listed or not. - -c, --column string-array (default: workspace,template,status,healthy,last built,outdated,starts at,stops after) + -c, --column string-array (default: workspace,template,status,healthy,last built,outdated,starts at,stops after) Columns to display in table output. Available columns: workspace, template, status, healthy, last built, outdated, starts at, stops after, daily cost. - -o, --output string (default: table) + -o, --output string (default: table) Output format. Available formats: table, json. - --search string (default: owner:me) + --search string (default: owner:me) Search for a workspace with a query. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_login_--help.golden b/cli/testdata/coder_login_--help.golden index bb458ca999..e2d556960e 100644 --- a/cli/testdata/coder_login_--help.golden +++ b/cli/testdata/coder_login_--help.golden @@ -1,27 +1,30 @@ -Usage: coder login [flags] +coder v0.0.0-devel -Authenticate with Coder deployment +USAGE: + coder login [flags] -Options - --first-user-email string, $CODER_FIRST_USER_EMAIL + Authenticate with Coder deployment + +OPTIONS: + --first-user-email string, $CODER_FIRST_USER_EMAIL Specifies an email address to use if creating the first user for the deployment. - --first-user-password string, $CODER_FIRST_USER_PASSWORD + --first-user-password string, $CODER_FIRST_USER_PASSWORD Specifies a password to use if creating the first user for the deployment. - --first-user-trial bool, $CODER_FIRST_USER_TRIAL + --first-user-trial bool, $CODER_FIRST_USER_TRIAL Specifies whether a trial license should be provisioned for the Coder deployment or not. - --first-user-username string, $CODER_FIRST_USER_USERNAME + --first-user-username string, $CODER_FIRST_USER_USERNAME Specifies a username to use if creating the first user for the deployment. - --use-token-as-session bool + --use-token-as-session bool By default, the CLI will generate a new session token when logging in. This flag will instead use the provided token as the session token. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_logout_--help.golden b/cli/testdata/coder_logout_--help.golden index 6fb9b92e42..9326f47410 100644 --- a/cli/testdata/coder_logout_--help.golden +++ b/cli/testdata/coder_logout_--help.golden @@ -1,10 +1,13 @@ -Usage: coder logout [flags] +coder v0.0.0-devel -Unauthenticate your local session +USAGE: + coder logout [flags] -Options - -y, --yes bool + Unauthenticate your local session + +OPTIONS: + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_netcheck_--help.golden b/cli/testdata/coder_netcheck_--help.golden index c502f6b8da..26a5623671 100644 --- a/cli/testdata/coder_netcheck_--help.golden +++ b/cli/testdata/coder_netcheck_--help.golden @@ -1,6 +1,9 @@ -Usage: coder netcheck +coder v0.0.0-devel -Print network debug information for DERP and STUN +USAGE: + coder netcheck ---- + Print network debug information for DERP and STUN + +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_ping_--help.golden b/cli/testdata/coder_ping_--help.golden index 55e5df16db..563f4cce6d 100644 --- a/cli/testdata/coder_ping_--help.golden +++ b/cli/testdata/coder_ping_--help.golden @@ -1,16 +1,19 @@ -Usage: coder ping [flags] +coder v0.0.0-devel -Ping a workspace +USAGE: + coder ping [flags] -Options - -n, --num int (default: 10) + Ping a workspace + +OPTIONS: + -n, --num int (default: 10) Specifies the number of pings to perform. - -t, --timeout duration (default: 5s) + -t, --timeout duration (default: 5s) Specifies how long to wait for a ping to complete. - --wait duration (default: 1s) + --wait duration (default: 1s) Specifies how long to wait between pings. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_port-forward_--help.golden b/cli/testdata/coder_port-forward_--help.golden index ff65b059f5..baee18ca52 100644 --- a/cli/testdata/coder_port-forward_--help.golden +++ b/cli/testdata/coder_port-forward_--help.golden @@ -1,39 +1,45 @@ -Usage: coder port-forward [flags] +coder v0.0.0-devel -Forward ports from a workspace to the local machine. For reverse port -forwarding, use "coder ssh -R". +USAGE: + coder port-forward [flags] -Aliases: tunnel + Forward ports from a workspace to the local machine. For reverse port + forwarding, use "coder ssh -R". -- Port forward a single TCP port from 1234 in the workspace to port 5678 on your -local machine: + Aliases: tunnel - $ coder port-forward --tcp 5678:1234 + - Port forward a single TCP port from 1234 in the workspace to port 5678 on + your + local machine: + + $ coder port-forward --tcp 5678:1234 + + - Port forward a single UDP port from port 9000 to port 9000 on your local + machine: + + $ coder port-forward --udp 9000 + + - Port forward multiple TCP ports and a UDP port: + + $ coder port-forward --tcp 8080:8080 --tcp 9000:3000 --udp + 5353:53 + + - Port forward multiple ports (TCP or UDP) in condensed syntax: + + $ coder port-forward --tcp + 8080,9000:3000,9090-9092,10000-10002:10010-10012 + + - Port forward specifying the local address to bind to: + + $ coder port-forward --tcp 1.2.3.4:8080:8080 - - Port forward a single UDP port from port 9000 to port 9000 on your local -machine: - - $ coder port-forward --udp 9000 - - - Port forward multiple TCP ports and a UDP port: - - $ coder port-forward --tcp 8080:8080 --tcp 9000:3000 --udp 5353:53 - - - Port forward multiple ports (TCP or UDP) in condensed syntax: - - $ coder port-forward --tcp 8080,9000:3000,9090-9092,10000-10002:10010-10012 - - - Port forward specifying the local address to bind to: - - $ coder port-forward --tcp 1.2.3.4:8080:8080 - -Options - -p, --tcp string-array, $CODER_PORT_FORWARD_TCP +OPTIONS: + -p, --tcp string-array, $CODER_PORT_FORWARD_TCP Forward TCP port(s) from the workspace to the local machine. - --udp string-array, $CODER_PORT_FORWARD_UDP + --udp string-array, $CODER_PORT_FORWARD_UDP Forward UDP port(s) from the workspace to the local machine. The UDP connection has TCP-like semantics to support stateful UDP protocols. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_publickey_--help.golden b/cli/testdata/coder_publickey_--help.golden index d6f99f3da7..886540ca7c 100644 --- a/cli/testdata/coder_publickey_--help.golden +++ b/cli/testdata/coder_publickey_--help.golden @@ -1,16 +1,19 @@ -Usage: coder publickey [flags] +coder v0.0.0-devel -Output your Coder public key used for Git operations +USAGE: + coder publickey [flags] -Aliases: pubkey + Output your Coder public key used for Git operations -Options - --reset bool + Aliases: pubkey + +OPTIONS: + --reset bool Regenerate your public key. This will require updating the key on any services it's registered with. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_rename_--help.golden b/cli/testdata/coder_rename_--help.golden index 297e96c4b6..2177c07fea 100644 --- a/cli/testdata/coder_rename_--help.golden +++ b/cli/testdata/coder_rename_--help.golden @@ -1,10 +1,13 @@ -Usage: coder rename [flags] +coder v0.0.0-devel -Rename a workspace +USAGE: + coder rename [flags] -Options - -y, --yes bool + Rename a workspace + +OPTIONS: + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_reset-password_--help.golden b/cli/testdata/coder_reset-password_--help.golden index 198025681d..e5bb70bd71 100644 --- a/cli/testdata/coder_reset-password_--help.golden +++ b/cli/testdata/coder_reset-password_--help.golden @@ -1,10 +1,13 @@ -Usage: coder reset-password [flags] +coder v0.0.0-devel -Directly connect to the database to reset a user's password +USAGE: + coder reset-password [flags] -Options - --postgres-url string, $CODER_PG_CONNECTION_URL + Directly connect to the database to reset a user's password + +OPTIONS: + --postgres-url string, $CODER_PG_CONNECTION_URL URL of a PostgreSQL database to connect to. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_restart_--help.golden b/cli/testdata/coder_restart_--help.golden index e16a6f9ff7..24d077aad3 100644 --- a/cli/testdata/coder_restart_--help.golden +++ b/cli/testdata/coder_restart_--help.golden @@ -1,16 +1,19 @@ -Usage: coder restart [flags] +coder v0.0.0-devel -Restart a workspace +USAGE: + coder restart [flags] -Options - --build-option string-array, $CODER_BUILD_OPTION + Restart a workspace + +OPTIONS: + --build-option string-array, $CODER_BUILD_OPTION Build option value in the format "name=value". - --build-options bool + --build-options bool Prompt for one-time build options defined with ephemeral parameters. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_schedule_--help.golden b/cli/testdata/coder_schedule_--help.golden index b9e8d46588..f75d882bf8 100644 --- a/cli/testdata/coder_schedule_--help.golden +++ b/cli/testdata/coder_schedule_--help.golden @@ -1,13 +1,16 @@ -Usage: coder schedule { show | start | stop | override } +coder v0.0.0-devel -Schedule automated start and stop times for workspaces +USAGE: + coder schedule { show | start | stop | override } -Subcommands + Schedule automated start and stop times for workspaces + +SUBCOMMANDS: override-stop Override the stop time of a currently running workspace instance. show Show workspace schedule start Edit workspace start schedule stop Edit workspace stop schedule ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_schedule_override-stop_--help.golden b/cli/testdata/coder_schedule_override-stop_--help.golden index da5d84210c..1878635c14 100644 --- a/cli/testdata/coder_schedule_override-stop_--help.golden +++ b/cli/testdata/coder_schedule_override-stop_--help.golden @@ -1,12 +1,15 @@ -Usage: coder schedule override-stop +coder v0.0.0-devel -Override the stop time of a currently running workspace instance. +USAGE: + coder schedule override-stop -* The new stop time is calculated from *now*. - * The new stop time must be at least 30 minutes in the future. - * The workspace template may restrict the maximum workspace runtime. + Override the stop time of a currently running workspace instance. - $ coder schedule override-stop my-workspace 90m + * The new stop time is calculated from *now*. + * The new stop time must be at least 30 minutes in the future. + * The workspace template may restrict the maximum workspace runtime. + + $ coder schedule override-stop my-workspace 90m ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_schedule_show_--help.golden b/cli/testdata/coder_schedule_show_--help.golden index c68afab451..1bba304760 100644 --- a/cli/testdata/coder_schedule_show_--help.golden +++ b/cli/testdata/coder_schedule_show_--help.golden @@ -1,12 +1,15 @@ -Usage: coder schedule show +coder v0.0.0-devel -Show workspace schedule +USAGE: + coder schedule show -Shows the following information for the given workspace: - * The automatic start schedule - * The next scheduled start time - * The duration after which it will stop - * The next scheduled stop time + Show workspace schedule ---- + Shows the following information for the given workspace: + * The automatic start schedule + * The next scheduled start time + * The duration after which it will stop + * The next scheduled stop time + +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_schedule_start_--help.golden b/cli/testdata/coder_schedule_start_--help.golden index 7420e9a31e..f90fee5fcf 100644 --- a/cli/testdata/coder_schedule_start_--help.golden +++ b/cli/testdata/coder_schedule_start_--help.golden @@ -1,20 +1,29 @@ -Usage: coder schedule start { [day-of-week] [location] | manual } +coder v0.0.0-devel -Edit workspace start schedule +USAGE: + coder schedule start { [day-of-week] [location] + | manual } -Schedules a workspace to regularly start at a specific time. -Schedule format: [day-of-week] [location]. - * Start-time (required) is accepted either in 12-hour (hh:mm{am|pm}) format, or 24-hour format hh:mm. - * Day-of-week (optional) allows specifying in the cron format, e.g. 1,3,5 or Mon-Fri. - Aliases such as @daily are not supported. - Default: * (every day) - * Location (optional) must be a valid location in the IANA timezone database. - If omitted, we will fall back to either the TZ environment variable or /etc/localtime. - You can check your corresponding location by visiting https://ipinfo.io - it shows in the demo widget on the right. + Edit workspace start schedule - - Set the workspace to start at 9:30am (in Dublin) from Monday to Friday: + Schedules a workspace to regularly start at a specific time. + Schedule format: [day-of-week] [location]. + * Start-time (required) is accepted either in 12-hour (hh:mm{am|pm}) format, + or 24-hour format hh:mm. + * Day-of-week (optional) allows specifying in the cron format, e.g. 1,3,5 or + Mon-Fri. + Aliases such as @daily are not supported. + Default: * (every day) + * Location (optional) must be a valid location in the IANA timezone + database. + If omitted, we will fall back to either the TZ environment variable or + /etc/localtime. + You can check your corresponding location by visiting https://ipinfo.io - + it shows in the demo widget on the right. + + - Set the workspace to start at 9:30am (in Dublin) from Monday to Friday: + + $ coder schedule start my-workspace 9:30AM Mon-Fri Europe/Dublin - $ coder schedule start my-workspace 9:30AM Mon-Fri Europe/Dublin - ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_schedule_stop_--help.golden b/cli/testdata/coder_schedule_stop_--help.golden index 73cb9ce2fe..508d5fe2c4 100644 --- a/cli/testdata/coder_schedule_stop_--help.golden +++ b/cli/testdata/coder_schedule_stop_--help.golden @@ -1,21 +1,28 @@ -Usage: coder schedule stop { | manual } +coder v0.0.0-devel -Edit workspace stop schedule +USAGE: + coder schedule stop { | manual } -Schedules a workspace to stop after a given duration has elapsed. - * Workspace runtime is measured from the time that the workspace build completed. - * The minimum scheduled stop time is 1 minute. - * The workspace template may place restrictions on the maximum shutdown time. - * Changes to workspace schedules only take effect upon the next build of the workspace, - and do not affect a running instance of a workspace. + Edit workspace stop schedule -When enabling scheduled stop, enter a duration in one of the following formats: - * 3h2m (3 hours and two minutes) - * 3h (3 hours) - * 2m (2 minutes) - * 2 (2 minutes) + Schedules a workspace to stop after a given duration has elapsed. + * Workspace runtime is measured from the time that the workspace build + completed. + * The minimum scheduled stop time is 1 minute. + * The workspace template may place restrictions on the maximum shutdown + time. + * Changes to workspace schedules only take effect upon the next build of the + workspace, + and do not affect a running instance of a workspace. + + When enabling scheduled stop, enter a duration in one of the following + formats: + * 3h2m (3 hours and two minutes) + * 3h (3 hours) + * 2m (2 minutes) + * 2 (2 minutes) + + $ coder schedule stop my-workspace 2h30m - $ coder schedule stop my-workspace 2h30m - ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_server_--help.golden b/cli/testdata/coder_server_--help.golden index cd23076e30..fe4a98a24d 100644 --- a/cli/testdata/coder_server_--help.golden +++ b/cli/testdata/coder_server_--help.golden @@ -1,8 +1,11 @@ -Usage: coder server [flags] +coder v0.0.0-devel -Start a Coder server +USAGE: + coder server [flags] -Subcommands + Start a Coder server + +SUBCOMMANDS: create-admin-user Create a new admin user with the given username, email and password and adds it to every organization. @@ -10,153 +13,153 @@ Start a Coder server postgres-builtin-url Output the connection URL for the built-in PostgreSQL deployment. -Options - --cache-dir string, $CODER_CACHE_DIRECTORY (default: [cache dir]) +OPTIONS: + --cache-dir string, $CODER_CACHE_DIRECTORY (default: [cache dir]) The directory to cache temporary files. If unspecified and $CACHE_DIRECTORY is set, it will be used for compatibility with systemd. - --disable-owner-workspace-access bool, $CODER_DISABLE_OWNER_WORKSPACE_ACCESS + --disable-owner-workspace-access bool, $CODER_DISABLE_OWNER_WORKSPACE_ACCESS Remove the permission for the 'owner' role to have workspace execution on all workspaces. This prevents the 'owner' from ssh, apps, and terminal access based on the 'owner' role. They still have their user permissions to access their own workspaces. - --disable-path-apps bool, $CODER_DISABLE_PATH_APPS + --disable-path-apps bool, $CODER_DISABLE_PATH_APPS Disable workspace apps that are not served from subdomains. Path-based apps can make requests to the Coder API and pose a security risk when the workspace serves malicious JavaScript. This is recommended for security purposes if a --wildcard-access-url is configured. - --swagger-enable bool, $CODER_SWAGGER_ENABLE + --swagger-enable bool, $CODER_SWAGGER_ENABLE Expose the swagger endpoint via /swagger. - --experiments string-array, $CODER_EXPERIMENTS + --experiments string-array, $CODER_EXPERIMENTS Enable one or more experiments. These are not ready for production. Separate multiple experiments with commas, or enter '*' to opt-in to all available experiments. - --postgres-url string, $CODER_PG_CONNECTION_URL + --postgres-url string, $CODER_PG_CONNECTION_URL URL of a PostgreSQL database. If empty, PostgreSQL binaries will be downloaded from Maven (https://repo1.maven.org/maven2) and store all data in the config root. Access the built-in database with "coder server postgres-builtin-url". - --ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519) + --ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519) The algorithm to use for generating ssh keys. Accepted values are "ed25519", "ecdsa", or "rsa4096". - --update-check bool, $CODER_UPDATE_CHECK (default: false) + --update-check bool, $CODER_UPDATE_CHECK (default: false) Periodically check for new releases of Coder and inform the owner. The check is performed once per day. -Client Options +CLIENT OPTIONS: These options change the behavior of how clients interact with the Coder. Clients include the coder cli, vs code extension, and the web UI. - --ssh-config-options string-array, $CODER_SSH_CONFIG_OPTIONS + --ssh-config-options string-array, $CODER_SSH_CONFIG_OPTIONS These SSH config options will override the default SSH config options. Provide options in "key=value" or "key value" format separated by commas.Using this incorrectly can break SSH to your deployment, use cautiously. - --ssh-hostname-prefix string, $CODER_SSH_HOSTNAME_PREFIX (default: coder.) + --ssh-hostname-prefix string, $CODER_SSH_HOSTNAME_PREFIX (default: coder.) The SSH deployment prefix is used in the Host of the ssh config. -Config Options +CONFIG OPTIONS: Use a YAML configuration file when your server launch become unwieldy. - -c, --config yaml-config-path, $CODER_CONFIG_PATH + -c, --config yaml-config-path, $CODER_CONFIG_PATH Specify a YAML file to load configuration from. - --write-config bool + --write-config bool Write out the current server config as YAML to stdout. -Introspection / Logging Options - --enable-terraform-debug-mode bool, $CODER_ENABLE_TERRAFORM_DEBUG_MODE (default: false) +INTROSPECTION / LOGGING OPTIONS: + --enable-terraform-debug-mode bool, $CODER_ENABLE_TERRAFORM_DEBUG_MODE (default: false) Allow administrators to enable Terraform debug output. - --log-human string, $CODER_LOGGING_HUMAN (default: /dev/stderr) + --log-human string, $CODER_LOGGING_HUMAN (default: /dev/stderr) Output human-readable logs to a given file. - --log-json string, $CODER_LOGGING_JSON + --log-json string, $CODER_LOGGING_JSON Output JSON logs to a given file. - -l, --log-filter string-array, $CODER_LOG_FILTER + -l, --log-filter string-array, $CODER_LOG_FILTER Filter debug logs by matching against a given regex. Use .* to match all debug logs. - --log-stackdriver string, $CODER_LOGGING_STACKDRIVER + --log-stackdriver string, $CODER_LOGGING_STACKDRIVER Output Stackdriver compatible logs to a given file. -Introspection / Prometheus Options - --prometheus-address host:port, $CODER_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112) +INTROSPECTION / PROMETHEUS OPTIONS: + --prometheus-address host:port, $CODER_PROMETHEUS_ADDRESS (default: 127.0.0.1:2112) The bind address to serve prometheus metrics. - --prometheus-collect-agent-stats bool, $CODER_PROMETHEUS_COLLECT_AGENT_STATS + --prometheus-collect-agent-stats bool, $CODER_PROMETHEUS_COLLECT_AGENT_STATS Collect agent stats (may increase charges for metrics storage). - --prometheus-collect-db-metrics bool, $CODER_PROMETHEUS_COLLECT_DB_METRICS (default: false) + --prometheus-collect-db-metrics bool, $CODER_PROMETHEUS_COLLECT_DB_METRICS (default: false) Collect database metrics (may increase charges for metrics storage). - --prometheus-enable bool, $CODER_PROMETHEUS_ENABLE + --prometheus-enable bool, $CODER_PROMETHEUS_ENABLE Serve prometheus metrics on the address defined by prometheus address. -Introspection / Tracing Options - --trace-logs bool, $CODER_TRACE_LOGS +INTROSPECTION / TRACING OPTIONS: + --trace-logs bool, $CODER_TRACE_LOGS Enables capturing of logs as events in traces. This is useful for debugging, but may result in a very large amount of events being sent to the tracing backend which may incur significant costs. - --trace bool, $CODER_TRACE_ENABLE + --trace bool, $CODER_TRACE_ENABLE Whether application tracing data is collected. It exports to a backend configured by environment variables. See: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md. - --trace-honeycomb-api-key string, $CODER_TRACE_HONEYCOMB_API_KEY + --trace-honeycomb-api-key string, $CODER_TRACE_HONEYCOMB_API_KEY Enables trace exporting to Honeycomb.io using the provided API Key. -Introspection / pprof Options - --pprof-address host:port, $CODER_PPROF_ADDRESS (default: 127.0.0.1:6060) +INTROSPECTION / PPROF OPTIONS: + --pprof-address host:port, $CODER_PPROF_ADDRESS (default: 127.0.0.1:6060) The bind address to serve pprof. - --pprof-enable bool, $CODER_PPROF_ENABLE + --pprof-enable bool, $CODER_PPROF_ENABLE Serve pprof metrics on the address defined by pprof address. -Networking Options - --access-url url, $CODER_ACCESS_URL +NETWORKING OPTIONS: + --access-url url, $CODER_ACCESS_URL The URL that users will use to access the Coder deployment. - --docs-url url, $CODER_DOCS_URL + --docs-url url, $CODER_DOCS_URL Specifies the custom docs URL. - --proxy-trusted-headers string-array, $CODER_PROXY_TRUSTED_HEADERS + --proxy-trusted-headers string-array, $CODER_PROXY_TRUSTED_HEADERS Headers to trust for forwarding IP addresses. e.g. Cf-Connecting-Ip, True-Client-Ip, X-Forwarded-For. - --proxy-trusted-origins string-array, $CODER_PROXY_TRUSTED_ORIGINS + --proxy-trusted-origins string-array, $CODER_PROXY_TRUSTED_ORIGINS Origin addresses to respect "proxy-trusted-headers". e.g. 192.168.1.0/24. - --redirect-to-access-url bool, $CODER_REDIRECT_TO_ACCESS_URL + --redirect-to-access-url bool, $CODER_REDIRECT_TO_ACCESS_URL Specifies whether to redirect requests that do not match the access URL host. - --secure-auth-cookie bool, $CODER_SECURE_AUTH_COOKIE + --secure-auth-cookie bool, $CODER_SECURE_AUTH_COOKIE Controls if the 'Secure' property is set on browser session cookies. - --wildcard-access-url url, $CODER_WILDCARD_ACCESS_URL + --wildcard-access-url url, $CODER_WILDCARD_ACCESS_URL Specifies the wildcard hostname to use for workspace applications in the form "*.example.com". -Networking / DERP Options +NETWORKING / DERP OPTIONS: Most Coder deployments never have to think about DERP because all connections between workspaces and users are peer-to-peer. However, when Coder cannot establish a peer to peer connection, Coder uses a distributed relay network backed by Tailscale and WireGuard. - --block-direct-connections bool, $CODER_BLOCK_DIRECT + --block-direct-connections bool, $CODER_BLOCK_DIRECT Block peer-to-peer (aka. direct) workspace connections. All workspace connections from the CLI will be proxied through Coder (or custom configured DERP servers) and will never be peer-to-peer when enabled. @@ -164,36 +167,36 @@ backed by Tailscale and WireGuard. until they are restarted after this change has been made, but new connections will still be proxied regardless. - --derp-config-path string, $CODER_DERP_CONFIG_PATH + --derp-config-path string, $CODER_DERP_CONFIG_PATH Path to read a DERP mapping from. See: https://tailscale.com/kb/1118/custom-derp-servers/. - --derp-config-url string, $CODER_DERP_CONFIG_URL + --derp-config-url string, $CODER_DERP_CONFIG_URL URL to fetch a DERP mapping on startup. See: https://tailscale.com/kb/1118/custom-derp-servers/. - --derp-force-websockets bool, $CODER_DERP_FORCE_WEBSOCKETS + --derp-force-websockets bool, $CODER_DERP_FORCE_WEBSOCKETS Force clients and agents to always use WebSocket to connect to DERP relay servers. By default, DERP uses `Upgrade: derp`, which may cause issues with some reverse proxies. Clients may automatically fallback to WebSocket if they detect an issue with `Upgrade: derp`, but this does not work in all situations. - --derp-server-enable bool, $CODER_DERP_SERVER_ENABLE (default: true) + --derp-server-enable bool, $CODER_DERP_SERVER_ENABLE (default: true) Whether to enable or disable the embedded DERP relay server. - --derp-server-region-name string, $CODER_DERP_SERVER_REGION_NAME (default: Coder Embedded Relay) + --derp-server-region-name string, $CODER_DERP_SERVER_REGION_NAME (default: Coder Embedded Relay) Region name that for the embedded DERP server. - --derp-server-stun-addresses string-array, $CODER_DERP_SERVER_STUN_ADDRESSES (default: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302) + --derp-server-stun-addresses string-array, $CODER_DERP_SERVER_STUN_ADDRESSES (default: stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302,stun3.l.google.com:19302,stun4.l.google.com:19302) Addresses for STUN servers to establish P2P connections. It's recommended to have at least two STUN servers to give users the best chance of connecting P2P to workspaces. Each STUN server will get it's own DERP region, with region IDs starting at `--derp-server-region-id + 1`. Use special value 'disable' to turn off STUN completely. -Networking / HTTP Options - --disable-password-auth bool, $CODER_DISABLE_PASSWORD_AUTH +NETWORKING / HTTP OPTIONS: + --disable-password-auth bool, $CODER_DISABLE_PASSWORD_AUTH Disable password authentication. This is recommended for security purposes in production deployments that rely on an identity provider. Any user with the owner role will be able to sign in with their @@ -202,226 +205,226 @@ backed by Tailscale and WireGuard. create-admin` command to create a new admin user directly in the database. - --disable-session-expiry-refresh bool, $CODER_DISABLE_SESSION_EXPIRY_REFRESH + --disable-session-expiry-refresh bool, $CODER_DISABLE_SESSION_EXPIRY_REFRESH Disable automatic session expiry bumping due to activity. This forces all sessions to become invalid after the session expiry duration has been reached. - --http-address string, $CODER_HTTP_ADDRESS (default: 127.0.0.1:3000) + --http-address string, $CODER_HTTP_ADDRESS (default: 127.0.0.1:3000) HTTP bind address of the server. Unset to disable the HTTP endpoint. - --max-token-lifetime duration, $CODER_MAX_TOKEN_LIFETIME (default: 876600h0m0s) + --max-token-lifetime duration, $CODER_MAX_TOKEN_LIFETIME (default: 876600h0m0s) The maximum lifetime duration users can specify when creating an API token. - --proxy-health-interval duration, $CODER_PROXY_HEALTH_INTERVAL (default: 1m0s) + --proxy-health-interval duration, $CODER_PROXY_HEALTH_INTERVAL (default: 1m0s) The interval in which coderd should be checking the status of workspace proxies. - --session-duration duration, $CODER_SESSION_DURATION (default: 24h0m0s) + --session-duration duration, $CODER_SESSION_DURATION (default: 24h0m0s) The token expiry duration for browser sessions. Sessions may last longer if they are actively making requests, but this functionality can be disabled via --disable-session-expiry-refresh. -Networking / TLS Options +NETWORKING / TLS OPTIONS: Configure TLS / HTTPS for your Coder deployment. If you're running Coder behind a TLS-terminating reverse proxy or are accessing Coder over a secure link, you can safely ignore these settings. - --strict-transport-security int, $CODER_STRICT_TRANSPORT_SECURITY (default: 0) + --strict-transport-security int, $CODER_STRICT_TRANSPORT_SECURITY (default: 0) Controls if the 'Strict-Transport-Security' header is set on all static file responses. This header should only be set if the server is accessed via HTTPS. This value is the MaxAge in seconds of the header. - --strict-transport-security-options string-array, $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS + --strict-transport-security-options string-array, $CODER_STRICT_TRANSPORT_SECURITY_OPTIONS Two optional fields can be set in the Strict-Transport-Security header; 'includeSubDomains' and 'preload'. The 'strict-transport-security' flag must be set to a non-zero value for these options to be used. - --tls-address host:port, $CODER_TLS_ADDRESS (default: 127.0.0.1:3443) + --tls-address host:port, $CODER_TLS_ADDRESS (default: 127.0.0.1:3443) HTTPS bind address of the server. - --tls-cert-file string-array, $CODER_TLS_CERT_FILE + --tls-cert-file string-array, $CODER_TLS_CERT_FILE Path to each certificate for TLS. It requires a PEM-encoded file. To configure the listener to use a CA certificate, concatenate the primary certificate and the CA certificate together. The primary certificate should appear first in the combined file. - --tls-client-auth string, $CODER_TLS_CLIENT_AUTH (default: none) + --tls-client-auth string, $CODER_TLS_CLIENT_AUTH (default: none) Policy the server will follow for TLS Client Authentication. Accepted values are "none", "request", "require-any", "verify-if-given", or "require-and-verify". - --tls-client-ca-file string, $CODER_TLS_CLIENT_CA_FILE + --tls-client-ca-file string, $CODER_TLS_CLIENT_CA_FILE PEM-encoded Certificate Authority file used for checking the authenticity of client. - --tls-client-cert-file string, $CODER_TLS_CLIENT_CERT_FILE + --tls-client-cert-file string, $CODER_TLS_CLIENT_CERT_FILE Path to certificate for client TLS authentication. It requires a PEM-encoded file. - --tls-client-key-file string, $CODER_TLS_CLIENT_KEY_FILE + --tls-client-key-file string, $CODER_TLS_CLIENT_KEY_FILE Path to key for client TLS authentication. It requires a PEM-encoded file. - --tls-enable bool, $CODER_TLS_ENABLE + --tls-enable bool, $CODER_TLS_ENABLE Whether TLS will be enabled. - --tls-key-file string-array, $CODER_TLS_KEY_FILE + --tls-key-file string-array, $CODER_TLS_KEY_FILE Paths to the private keys for each of the certificates. It requires a PEM-encoded file. - --tls-min-version string, $CODER_TLS_MIN_VERSION (default: tls12) + --tls-min-version string, $CODER_TLS_MIN_VERSION (default: tls12) Minimum supported version of TLS. Accepted values are "tls10", "tls11", "tls12" or "tls13". -OAuth2 / GitHub Options - --oauth2-github-allow-everyone bool, $CODER_OAUTH2_GITHUB_ALLOW_EVERYONE +OAUTH2 / GITHUB OPTIONS: + --oauth2-github-allow-everyone bool, $CODER_OAUTH2_GITHUB_ALLOW_EVERYONE Allow all logins, setting this option means allowed orgs and teams must be empty. - --oauth2-github-allow-signups bool, $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS + --oauth2-github-allow-signups bool, $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS Whether new users can sign up with GitHub. - --oauth2-github-allowed-orgs string-array, $CODER_OAUTH2_GITHUB_ALLOWED_ORGS + --oauth2-github-allowed-orgs string-array, $CODER_OAUTH2_GITHUB_ALLOWED_ORGS Organizations the user must be a member of to Login with GitHub. - --oauth2-github-allowed-teams string-array, $CODER_OAUTH2_GITHUB_ALLOWED_TEAMS + --oauth2-github-allowed-teams string-array, $CODER_OAUTH2_GITHUB_ALLOWED_TEAMS Teams inside organizations the user must be a member of to Login with GitHub. Structured as: /. - --oauth2-github-client-id string, $CODER_OAUTH2_GITHUB_CLIENT_ID + --oauth2-github-client-id string, $CODER_OAUTH2_GITHUB_CLIENT_ID Client ID for Login with GitHub. - --oauth2-github-client-secret string, $CODER_OAUTH2_GITHUB_CLIENT_SECRET + --oauth2-github-client-secret string, $CODER_OAUTH2_GITHUB_CLIENT_SECRET Client secret for Login with GitHub. - --oauth2-github-enterprise-base-url string, $CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL + --oauth2-github-enterprise-base-url string, $CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL Base URL of a GitHub Enterprise deployment to use for Login with GitHub. -OIDC Options - --oidc-group-auto-create bool, $CODER_OIDC_GROUP_AUTO_CREATE (default: false) +OIDC OPTIONS: + --oidc-group-auto-create bool, $CODER_OIDC_GROUP_AUTO_CREATE (default: false) Automatically creates missing groups from a user's groups claim. - --oidc-allow-signups bool, $CODER_OIDC_ALLOW_SIGNUPS (default: true) + --oidc-allow-signups bool, $CODER_OIDC_ALLOW_SIGNUPS (default: true) Whether new users can sign up with OIDC. - --oidc-auth-url-params struct[map[string]string], $CODER_OIDC_AUTH_URL_PARAMS (default: {"access_type": "offline"}) + --oidc-auth-url-params struct[map[string]string], $CODER_OIDC_AUTH_URL_PARAMS (default: {"access_type": "offline"}) OIDC auth URL parameters to pass to the upstream provider. - --oidc-client-cert-file string, $CODER_OIDC_CLIENT_CERT_FILE + --oidc-client-cert-file string, $CODER_OIDC_CLIENT_CERT_FILE Pem encoded certificate file to use for oauth2 PKI/JWT authorization. The public certificate that accompanies oidc-client-key-file. A standard x509 certificate is expected. - --oidc-client-id string, $CODER_OIDC_CLIENT_ID + --oidc-client-id string, $CODER_OIDC_CLIENT_ID Client ID to use for Login with OIDC. - --oidc-client-key-file string, $CODER_OIDC_CLIENT_KEY_FILE + --oidc-client-key-file string, $CODER_OIDC_CLIENT_KEY_FILE Pem encoded RSA private key to use for oauth2 PKI/JWT authorization. This can be used instead of oidc-client-secret if your IDP supports it. - --oidc-client-secret string, $CODER_OIDC_CLIENT_SECRET + --oidc-client-secret string, $CODER_OIDC_CLIENT_SECRET Client secret to use for Login with OIDC. - --oidc-email-domain string-array, $CODER_OIDC_EMAIL_DOMAIN + --oidc-email-domain string-array, $CODER_OIDC_EMAIL_DOMAIN Email domains that clients logging in with OIDC must match. - --oidc-email-field string, $CODER_OIDC_EMAIL_FIELD (default: email) + --oidc-email-field string, $CODER_OIDC_EMAIL_FIELD (default: email) OIDC claim field to use as the email. - --oidc-group-field string, $CODER_OIDC_GROUP_FIELD + --oidc-group-field string, $CODER_OIDC_GROUP_FIELD This field must be set if using the group sync feature and the scope name is not 'groups'. Set to the claim to be used for groups. - --oidc-group-mapping struct[map[string]string], $CODER_OIDC_GROUP_MAPPING (default: {}) + --oidc-group-mapping struct[map[string]string], $CODER_OIDC_GROUP_MAPPING (default: {}) A map of OIDC group IDs and the group in Coder it should map to. This is useful for when OIDC providers only return group IDs. - --oidc-ignore-email-verified bool, $CODER_OIDC_IGNORE_EMAIL_VERIFIED + --oidc-ignore-email-verified bool, $CODER_OIDC_IGNORE_EMAIL_VERIFIED Ignore the email_verified claim from the upstream provider. - --oidc-ignore-userinfo bool, $CODER_OIDC_IGNORE_USERINFO (default: false) + --oidc-ignore-userinfo bool, $CODER_OIDC_IGNORE_USERINFO (default: false) Ignore the userinfo endpoint and only use the ID token for user information. - --oidc-issuer-url string, $CODER_OIDC_ISSUER_URL + --oidc-issuer-url string, $CODER_OIDC_ISSUER_URL Issuer URL to use for Login with OIDC. - --oidc-group-regex-filter regexp, $CODER_OIDC_GROUP_REGEX_FILTER (default: .*) + --oidc-group-regex-filter regexp, $CODER_OIDC_GROUP_REGEX_FILTER (default: .*) If provided any group name not matching the regex is ignored. This allows for filtering out groups that are not needed. This filter is applied after the group mapping. - --oidc-scopes string-array, $CODER_OIDC_SCOPES (default: openid,profile,email) + --oidc-scopes string-array, $CODER_OIDC_SCOPES (default: openid,profile,email) Scopes to grant when authenticating with OIDC. - --oidc-user-role-default string-array, $CODER_OIDC_USER_ROLE_DEFAULT + --oidc-user-role-default string-array, $CODER_OIDC_USER_ROLE_DEFAULT If user role sync is enabled, these roles are always included for all authenticated users. The 'member' role is always assigned. - --oidc-user-role-field string, $CODER_OIDC_USER_ROLE_FIELD + --oidc-user-role-field string, $CODER_OIDC_USER_ROLE_FIELD This field must be set if using the user roles sync feature. Set this to the name of the claim used to store the user's role. The roles should be sent as an array of strings. - --oidc-user-role-mapping struct[map[string][]string], $CODER_OIDC_USER_ROLE_MAPPING (default: {}) + --oidc-user-role-mapping struct[map[string][]string], $CODER_OIDC_USER_ROLE_MAPPING (default: {}) A map of the OIDC passed in user roles and the groups in Coder it should map to. This is useful if the group names do not match. If mapped to the empty string, the role will ignored. - --oidc-username-field string, $CODER_OIDC_USERNAME_FIELD (default: preferred_username) + --oidc-username-field string, $CODER_OIDC_USERNAME_FIELD (default: preferred_username) OIDC claim field to use as the username. - --oidc-sign-in-text string, $CODER_OIDC_SIGN_IN_TEXT (default: OpenID Connect) + --oidc-sign-in-text string, $CODER_OIDC_SIGN_IN_TEXT (default: OpenID Connect) The text to show on the OpenID Connect sign in button. - --oidc-icon-url url, $CODER_OIDC_ICON_URL + --oidc-icon-url url, $CODER_OIDC_ICON_URL URL pointing to the icon to use on the OpenID Connect login button. -Provisioning Options +PROVISIONING OPTIONS: Tune the behavior of the provisioner, which is responsible for creating, updating, and deleting workspace resources. - --provisioner-force-cancel-interval duration, $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL (default: 10m0s) + --provisioner-force-cancel-interval duration, $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL (default: 10m0s) Time to force cancel provisioning tasks that are stuck. - --provisioner-daemon-poll-interval duration, $CODER_PROVISIONER_DAEMON_POLL_INTERVAL (default: 1s) + --provisioner-daemon-poll-interval duration, $CODER_PROVISIONER_DAEMON_POLL_INTERVAL (default: 1s) Time to wait before polling for a new job. - --provisioner-daemon-poll-jitter duration, $CODER_PROVISIONER_DAEMON_POLL_JITTER (default: 100ms) + --provisioner-daemon-poll-jitter duration, $CODER_PROVISIONER_DAEMON_POLL_JITTER (default: 100ms) Random jitter added to the poll interval. - --provisioner-daemon-psk string, $CODER_PROVISIONER_DAEMON_PSK + --provisioner-daemon-psk string, $CODER_PROVISIONER_DAEMON_PSK Pre-shared key to authenticate external provisioner daemons to Coder server. - --provisioner-daemons int, $CODER_PROVISIONER_DAEMONS (default: 3) + --provisioner-daemons int, $CODER_PROVISIONER_DAEMONS (default: 3) Number of provisioner daemons to create on start. If builds are stuck in queued state for a long time, consider increasing this. -Telemetry Options +TELEMETRY OPTIONS: Telemetry is critical to our ability to improve Coder. We strip all personalinformation before sending data to our servers. Please only disable telemetrywhen required by your organization's security policy. - --telemetry bool, $CODER_TELEMETRY_ENABLE (default: false) + --telemetry bool, $CODER_TELEMETRY_ENABLE (default: false) Whether telemetry is enabled or not. Coder collects anonymized usage data to help improve our product. - --telemetry-trace bool, $CODER_TELEMETRY_TRACE (default: false) + --telemetry-trace bool, $CODER_TELEMETRY_TRACE (default: false) Whether Opentelemetry traces are sent to Coder. Coder collects anonymized application tracing to help improve our product. Disabling telemetry also disables this option. -User Quiet Hours Schedule Options +USER QUIET HOURS SCHEDULE OPTIONS: Allow users to set quiet hours schedules each day for workspaces to avoid workspaces stopping during the day due to template max TTL. - --default-quiet-hours-schedule string, $CODER_QUIET_HOURS_DEFAULT_SCHEDULE + --default-quiet-hours-schedule string, $CODER_QUIET_HOURS_DEFAULT_SCHEDULE The default daily cron schedule applied to users that haven't set a custom quiet hours schedule themselves. The quiet hours schedule determines when workspaces will be force stopped due to the template's @@ -431,8 +434,8 @@ workspaces stopping during the day due to template max TTL. one hour and minute can be specified (ranges or comma separated values are not supported). -⚠️ Dangerous Options - --dangerous-allow-path-app-sharing bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SHARING +⚠️ DANGEROUS OPTIONS: + --dangerous-allow-path-app-sharing bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SHARING Allow workspace apps that are not served from subdomains to be shared. Path-based app sharing is DISABLED by default for security purposes. Path-based apps can make requests to the Coder API and pose a security @@ -440,7 +443,7 @@ workspaces stopping during the day due to template max TTL. can be disabled entirely with --disable-path-apps for further security. - --dangerous-allow-path-app-site-owner-access bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS + --dangerous-allow-path-app-site-owner-access bool, $CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS Allow site-owners to access workspace apps from workspaces they do not own. Owners cannot access path-based apps they do not own by default. Path-based apps can make requests to the Coder API and pose a security @@ -448,17 +451,17 @@ workspaces stopping during the day due to template max TTL. can be disabled entirely with --disable-path-apps for further security. -Enterprise Options +ENTERPRISE OPTIONS: These options are only available in the Enterprise Edition. - --browser-only bool, $CODER_BROWSER_ONLY + --browser-only bool, $CODER_BROWSER_ONLY Whether Coder only allows connections to workspaces via the browser. - --derp-server-relay-url url, $CODER_DERP_SERVER_RELAY_URL + --derp-server-relay-url url, $CODER_DERP_SERVER_RELAY_URL An HTTP URL that is accessible by other replicas to relay DERP traffic. Required for high availability. - --external-token-encryption-keys string-array, $CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS + --external-token-encryption-keys string-array, $CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS Encrypt OIDC and Git authentication tokens with AES-256-GCM in the database. The value must be a comma-separated list of base64-encoded keys. Each key, when base64-decoded, must be exactly 32 bytes in @@ -468,9 +471,9 @@ These options are only available in the Enterprise Edition. process of rotating keys with the `coder server dbcrypt rotate` command. - --scim-auth-header string, $CODER_SCIM_AUTH_HEADER + --scim-auth-header string, $CODER_SCIM_AUTH_HEADER Enables SCIM and sets the authentication header for the built-in SCIM server. New users are automatically created with OIDC authentication. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_server_create-admin-user_--help.golden b/cli/testdata/coder_server_create-admin-user_--help.golden index 6c95fb1954..d59e78686a 100644 --- a/cli/testdata/coder_server_create-admin-user_--help.golden +++ b/cli/testdata/coder_server_create-admin-user_--help.golden @@ -1,32 +1,35 @@ -Usage: coder server create-admin-user [flags] +coder v0.0.0-devel -Create a new admin user with the given username, email and password and adds it -to every organization. +USAGE: + coder server create-admin-user [flags] -Options - --email string, $CODER_EMAIL + Create a new admin user with the given username, email and password and adds + it to every organization. + +OPTIONS: + --email string, $CODER_EMAIL The email of the new user. If not specified, you will be prompted via stdin. - --password string, $CODER_PASSWORD + --password string, $CODER_PASSWORD The password of the new user. If not specified, you will be prompted via stdin. - --postgres-url string, $CODER_PG_CONNECTION_URL + --postgres-url string, $CODER_PG_CONNECTION_URL URL of a PostgreSQL database. If empty, the built-in PostgreSQL deployment will be used (Coder must not be already running in this case). - --raw-url bool + --raw-url bool Output the raw connection URL instead of a psql command. - --ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519) + --ssh-keygen-algorithm string, $CODER_SSH_KEYGEN_ALGORITHM (default: ed25519) The algorithm to use for generating ssh keys. Accepted values are "ed25519", "ecdsa", or "rsa4096". - --username string, $CODER_USERNAME + --username string, $CODER_USERNAME The username of the new user. If not specified, you will be prompted via stdin. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_server_postgres-builtin-serve_--help.golden b/cli/testdata/coder_server_postgres-builtin-serve_--help.golden index bb61bd8292..5635a1be9c 100644 --- a/cli/testdata/coder_server_postgres-builtin-serve_--help.golden +++ b/cli/testdata/coder_server_postgres-builtin-serve_--help.golden @@ -1,10 +1,13 @@ -Usage: coder server postgres-builtin-serve [flags] +coder v0.0.0-devel -Run the built-in PostgreSQL deployment. +USAGE: + coder server postgres-builtin-serve [flags] -Options - --raw-url bool + Run the built-in PostgreSQL deployment. + +OPTIONS: + --raw-url bool Output the raw connection URL instead of a psql command. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_server_postgres-builtin-url_--help.golden b/cli/testdata/coder_server_postgres-builtin-url_--help.golden index af6ca07dc1..047e265aea 100644 --- a/cli/testdata/coder_server_postgres-builtin-url_--help.golden +++ b/cli/testdata/coder_server_postgres-builtin-url_--help.golden @@ -1,10 +1,13 @@ -Usage: coder server postgres-builtin-url [flags] +coder v0.0.0-devel -Output the connection URL for the built-in PostgreSQL deployment. +USAGE: + coder server postgres-builtin-url [flags] -Options - --raw-url bool + Output the connection URL for the built-in PostgreSQL deployment. + +OPTIONS: + --raw-url bool Output the raw connection URL instead of a psql command. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_show_--help.golden b/cli/testdata/coder_show_--help.golden index ff4ac563d7..bb62287ad5 100644 --- a/cli/testdata/coder_show_--help.golden +++ b/cli/testdata/coder_show_--help.golden @@ -1,6 +1,9 @@ -Usage: coder show +coder v0.0.0-devel -Display details of a workspace's resources and agents +USAGE: + coder show ---- + Display details of a workspace's resources and agents + +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_speedtest_--help.golden b/cli/testdata/coder_speedtest_--help.golden index 3ed266699d..2e5a004f98 100644 --- a/cli/testdata/coder_speedtest_--help.golden +++ b/cli/testdata/coder_speedtest_--help.golden @@ -1,18 +1,21 @@ -Usage: coder speedtest [flags] +coder v0.0.0-devel -Run upload and download tests from your machine to a workspace +USAGE: + coder speedtest [flags] -Options - -d, --direct bool + Run upload and download tests from your machine to a workspace + +OPTIONS: + -d, --direct bool Specifies whether to wait for a direct connection before testing speed. - --direction up|down (default: down) + --direction up|down (default: down) Specifies whether to run in reverse mode where the client receives and the server sends. - -t, --time duration (default: 5s) + -t, --time duration (default: 5s) Specifies the duration to monitor traffic. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_ssh_--help.golden b/cli/testdata/coder_ssh_--help.golden index 74ce84d2b6..3c1b53394c 100644 --- a/cli/testdata/coder_ssh_--help.golden +++ b/cli/testdata/coder_ssh_--help.golden @@ -1,45 +1,48 @@ -Usage: coder ssh [flags] +coder v0.0.0-devel -Start a shell into a workspace +USAGE: + coder ssh [flags] -Options - -A, --forward-agent bool, $CODER_SSH_FORWARD_AGENT + Start a shell into a workspace + +OPTIONS: + -A, --forward-agent bool, $CODER_SSH_FORWARD_AGENT Specifies whether to forward the SSH agent specified in $SSH_AUTH_SOCK. - -G, --forward-gpg bool, $CODER_SSH_FORWARD_GPG + -G, --forward-gpg bool, $CODER_SSH_FORWARD_GPG Specifies whether to forward the GPG agent. Unsupported on Windows workspaces, but supports all clients. Requires gnupg (gpg, gpgconf) on both the client and workspace. The GPG agent must already be running locally and will not be started for you. If a GPG agent is already running in the workspace, it will be attempted to be killed. - --identity-agent string, $CODER_SSH_IDENTITY_AGENT + --identity-agent string, $CODER_SSH_IDENTITY_AGENT Specifies which identity agent to use (overrides $SSH_AUTH_SOCK), forward agent must also be enabled. - -l, --log-dir string, $CODER_SSH_LOG_DIR + -l, --log-dir string, $CODER_SSH_LOG_DIR Specify the directory containing SSH diagnostic log files. - --no-wait bool, $CODER_SSH_NO_WAIT + --no-wait bool, $CODER_SSH_NO_WAIT Enter workspace immediately after the agent has connected. This is the default if the template has configured the agent startup script behavior as non-blocking. DEPRECATED: Use --wait instead. - -R, --remote-forward string, $CODER_SSH_REMOTE_FORWARD + -R, --remote-forward string, $CODER_SSH_REMOTE_FORWARD Enable remote port forwarding (remote_port:local_address:local_port). - --stdio bool, $CODER_SSH_STDIO + --stdio bool, $CODER_SSH_STDIO Specifies whether to emit SSH output over stdin/stdout. - --wait yes|no|auto, $CODER_SSH_WAIT (default: auto) + --wait yes|no|auto, $CODER_SSH_WAIT (default: auto) Specifies whether or not to wait for the startup script to finish executing. Auto means that the agent startup script behavior configured in the workspace template is used. - --workspace-poll-interval duration, $CODER_WORKSPACE_POLL_INTERVAL (default: 1m) + --workspace-poll-interval duration, $CODER_WORKSPACE_POLL_INTERVAL (default: 1m) Specifies how often to poll for workspace automated shutdown. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_start_--help.golden b/cli/testdata/coder_start_--help.golden index b03c997592..f53d389fd8 100644 --- a/cli/testdata/coder_start_--help.golden +++ b/cli/testdata/coder_start_--help.golden @@ -1,16 +1,19 @@ -Usage: coder start [flags] +coder v0.0.0-devel -Start a workspace +USAGE: + coder start [flags] -Options - --build-option string-array, $CODER_BUILD_OPTION + Start a workspace + +OPTIONS: + --build-option string-array, $CODER_BUILD_OPTION Build option value in the format "name=value". - --build-options bool + --build-options bool Prompt for one-time build options defined with ephemeral parameters. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_stat_--help.golden b/cli/testdata/coder_stat_--help.golden index e2eddcb30f..6169c5e543 100644 --- a/cli/testdata/coder_stat_--help.golden +++ b/cli/testdata/coder_stat_--help.golden @@ -1,19 +1,22 @@ -Usage: coder stat [flags] +coder v0.0.0-devel -Show resource usage for the current workspace. +USAGE: + coder stat [flags] -Subcommands + Show resource usage for the current workspace. + +SUBCOMMANDS: cpu Show CPU usage, in cores. disk Show disk usage, in gigabytes. mem Show memory usage, in gigabytes. -Options - -c, --column string-array (default: host_cpu,host_memory,home_disk,container_cpu,container_memory) +OPTIONS: + -c, --column string-array (default: host_cpu,host_memory,home_disk,container_cpu,container_memory) Columns to display in table output. Available columns: host cpu, host memory, home disk, container cpu, container memory. - -o, --output string (default: table) + -o, --output string (default: table) Output format. Available formats: table, json. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_stat_cpu_--help.golden b/cli/testdata/coder_stat_cpu_--help.golden index f9cc1124b2..231e735c63 100644 --- a/cli/testdata/coder_stat_cpu_--help.golden +++ b/cli/testdata/coder_stat_cpu_--help.golden @@ -1,13 +1,16 @@ -Usage: coder stat cpu [flags] +coder v0.0.0-devel -Show CPU usage, in cores. +USAGE: + coder stat cpu [flags] -Options - --host bool + Show CPU usage, in cores. + +OPTIONS: + --host bool Force host CPU measurement. - -o, --output string (default: text) + -o, --output string (default: text) Output format. Available formats: text, json. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_stat_disk_--help.golden b/cli/testdata/coder_stat_disk_--help.golden index 4a6c0c5cf1..f8c290bb6f 100644 --- a/cli/testdata/coder_stat_disk_--help.golden +++ b/cli/testdata/coder_stat_disk_--help.golden @@ -1,16 +1,19 @@ -Usage: coder stat disk [flags] +coder v0.0.0-devel -Show disk usage, in gigabytes. +USAGE: + coder stat disk [flags] -Options - -o, --output string (default: text) + Show disk usage, in gigabytes. + +OPTIONS: + -o, --output string (default: text) Output format. Available formats: text, json. - --path string (default: /) + --path string (default: /) Path for which to check disk usage. - --prefix Ki|Mi|Gi|Ti (default: Gi) + --prefix Ki|Mi|Gi|Ti (default: Gi) SI Prefix for disk measurement. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_stat_mem_--help.golden b/cli/testdata/coder_stat_mem_--help.golden index 189d8da2c3..d30c83cbab 100644 --- a/cli/testdata/coder_stat_mem_--help.golden +++ b/cli/testdata/coder_stat_mem_--help.golden @@ -1,16 +1,19 @@ -Usage: coder stat mem [flags] +coder v0.0.0-devel -Show memory usage, in gigabytes. +USAGE: + coder stat mem [flags] -Options - --host bool + Show memory usage, in gigabytes. + +OPTIONS: + --host bool Force host memory measurement. - -o, --output string (default: text) + -o, --output string (default: text) Output format. Available formats: text, json. - --prefix Ki|Mi|Gi|Ti (default: Gi) + --prefix Ki|Mi|Gi|Ti (default: Gi) SI Prefix for memory measurement. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_state_--help.golden b/cli/testdata/coder_state_--help.golden index c23e1300dd..65da1027fd 100644 --- a/cli/testdata/coder_state_--help.golden +++ b/cli/testdata/coder_state_--help.golden @@ -1,10 +1,13 @@ -Usage: coder state +coder v0.0.0-devel -Manually manage Terraform state to fix broken workspaces +USAGE: + coder state -Subcommands + Manually manage Terraform state to fix broken workspaces + +SUBCOMMANDS: pull Pull a Terraform state file from a workspace. push Push a Terraform state file to a workspace. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_state_pull_--help.golden b/cli/testdata/coder_state_pull_--help.golden index ff99e3fe61..e9137073a0 100644 --- a/cli/testdata/coder_state_pull_--help.golden +++ b/cli/testdata/coder_state_pull_--help.golden @@ -1,10 +1,13 @@ -Usage: coder state pull [flags] [file] +coder v0.0.0-devel -Pull a Terraform state file from a workspace. +USAGE: + coder state pull [flags] [file] -Options - -b, --build int + Pull a Terraform state file from a workspace. + +OPTIONS: + -b, --build int Specify a workspace build to target by name. Defaults to latest. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_state_push_--help.golden b/cli/testdata/coder_state_push_--help.golden index 119238cb92..1271f80947 100644 --- a/cli/testdata/coder_state_push_--help.golden +++ b/cli/testdata/coder_state_push_--help.golden @@ -1,10 +1,13 @@ -Usage: coder state push [flags] +coder v0.0.0-devel -Push a Terraform state file to a workspace. +USAGE: + coder state push [flags] -Options - -b, --build int + Push a Terraform state file to a workspace. + +OPTIONS: + -b, --build int Specify a workspace build to target by name. Defaults to latest. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_stop_--help.golden b/cli/testdata/coder_stop_--help.golden index 7226537a91..9dbd992e37 100644 --- a/cli/testdata/coder_stop_--help.golden +++ b/cli/testdata/coder_stop_--help.golden @@ -1,10 +1,13 @@ -Usage: coder stop [flags] +coder v0.0.0-devel -Stop a workspace +USAGE: + coder stop [flags] -Options - -y, --yes bool + Stop a workspace + +OPTIONS: + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_templates_--help.golden b/cli/testdata/coder_templates_--help.golden index edd422dd9d..c224687d5e 100644 --- a/cli/testdata/coder_templates_--help.golden +++ b/cli/testdata/coder_templates_--help.golden @@ -1,23 +1,28 @@ -Usage: coder templates +coder v0.0.0-devel -Manage templates +USAGE: + coder templates -Aliases: template + Manage templates -Templates are written in standard Terraform and describe the infrastructure for workspaces - - Create a template for developers to create workspaces: + Aliases: template - $ coder templates create + Templates are written in standard Terraform and describe the infrastructure + for workspaces + - Create a template for developers to create workspaces: + + $ coder templates create + + - Make changes to your template, and plan the changes: + + $ coder templates plan my-template + + - Push an update to the template. Your developers can update their + workspaces: + + $ coder templates push my-template - - Make changes to your template, and plan the changes: - - $ coder templates plan my-template - - - Push an update to the template. Your developers can update their workspaces: - - $ coder templates push my-template - -Subcommands +SUBCOMMANDS: create Create a template from the current directory or as specified by flag delete Delete templates @@ -29,5 +34,5 @@ Templates are written in standard Terraform and describe the infrastructure for specified by flag versions Manage different versions of the specified template ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_templates_create_--help.golden b/cli/testdata/coder_templates_create_--help.golden index ce71793ceb..e563e63240 100644 --- a/cli/testdata/coder_templates_create_--help.golden +++ b/cli/testdata/coder_templates_create_--help.golden @@ -1,62 +1,65 @@ -Usage: coder templates create [flags] [name] +coder v0.0.0-devel -Create a template from the current directory or as specified by flag +USAGE: + coder templates create [flags] [name] -Options - --default-ttl duration (default: 24h) + Create a template from the current directory or as specified by flag + +OPTIONS: + --default-ttl duration (default: 24h) Specify a default TTL for workspaces created from this template. It is the default time before shutdown - workspaces created from this template default to this value. Maps to "Default autostop" in the UI. - -d, --directory string (default: .) + -d, --directory string (default: .) Specify the directory to create from, use '-' to read tar from stdin. - --failure-ttl duration (default: 0h) + --failure-ttl duration (default: 0h) Specify a failure TTL for workspaces created from this template. It is the amount of time after a failed "start" build before coder automatically schedules a "stop" build to cleanup.This licensed feature's default is 0h (off). Maps to "Failure cleanup"in the UI. - --ignore-lockfile bool (default: false) + --ignore-lockfile bool (default: false) Ignore warnings about not having a .terraform.lock.hcl file present in the template. - --inactivity-ttl duration (default: 0h) + --inactivity-ttl duration (default: 0h) Specify an inactivity TTL for workspaces created from this template. It is the amount of time the workspace is not used before it is be stopped and auto-locked. This includes across multiple builds (e.g. auto-starts and stops). This licensed feature's default is 0h (off). Maps to "Dormancy threshold" in the UI. - --max-ttl duration + --max-ttl duration Edit the template maximum time before shutdown - workspaces created from this template must shutdown within the given duration after starting. This is an enterprise-only feature. - -m, --message string + -m, --message string Specify a message describing the changes in this version of the template. Messages longer than 72 characters will be displayed as truncated. - --private bool + --private bool Disable the default behavior of granting template access to the 'everyone' group. The template permissions must be updated to allow non-admin users to use this template. - --provisioner-tag string-array + --provisioner-tag string-array Specify a set of tags to target provisioner daemons. - --var string-array + --var string-array Alias of --variable. - --variable string-array + --variable string-array Specify a set of values for Terraform-managed variables. - --variables-file string + --variables-file string Specify a file path with values for Terraform-managed variables. - -y, --yes bool + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_templates_delete_--help.golden b/cli/testdata/coder_templates_delete_--help.golden index e580264ba7..fe282c1683 100644 --- a/cli/testdata/coder_templates_delete_--help.golden +++ b/cli/testdata/coder_templates_delete_--help.golden @@ -1,12 +1,15 @@ -Usage: coder templates delete [flags] [name...] +coder v0.0.0-devel -Delete templates +USAGE: + coder templates delete [flags] [name...] -Aliases: rm + Delete templates -Options - -y, --yes bool + Aliases: rm + +OPTIONS: + -y, --yes bool Bypass prompts. ---- +——— Run `coder --help` for a list of global options. diff --git a/cli/testdata/coder_templates_edit_--help.golden b/cli/testdata/coder_templates_edit_--help.golden index 19dfcd2953..951615ff96 100644 --- a/cli/testdata/coder_templates_edit_--help.golden +++ b/cli/testdata/coder_templates_edit_--help.golden @@ -1,57 +1,60 @@ -Usage: coder templates edit [flags]