mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
perf(cli): optimize CPU consumption of help pages (#9607)
This change reduces the CPU consumption of --help by ~50%. Also, this change removes ANSI escape codes from our golden files. I don't think those were worth the inability to parallelize golden file tests and global state fragility.
This commit is contained in:
+119
-119
@@ -1,11 +1,11 @@
|
||||
coder v0.0.0-devel
|
||||
|
||||
[93mUSAGE:[0m
|
||||
USAGE:
|
||||
coder server [flags]
|
||||
|
||||
Start a Coder server
|
||||
|
||||
[93mSUBCOMMANDS:[0m
|
||||
SUBCOMMANDS:
|
||||
create-admin-user Create a new admin user with the given username,
|
||||
email and password and adds it to every
|
||||
organization.
|
||||
@@ -13,153 +13,153 @@ coder v0.0.0-devel
|
||||
postgres-builtin-url Output the connection URL for the built-in
|
||||
PostgreSQL deployment.
|
||||
|
||||
[93mOPTIONS:[0m
|
||||
[96m--[0m[96mcache-dir[0m string, [96m$CODER_CACHE_DIRECTORY[0m (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.
|
||||
|
||||
[96m--[0m[96mdisable-owner-workspace-access[0m bool, [96m$CODER_DISABLE_OWNER_WORKSPACE_ACCESS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mdisable-path-apps[0m bool, [96m$CODER_DISABLE_PATH_APPS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mswagger-enable[0m bool, [96m$CODER_SWAGGER_ENABLE[0m
|
||||
--swagger-enable bool, $CODER_SWAGGER_ENABLE
|
||||
Expose the swagger endpoint via /swagger.
|
||||
|
||||
[96m--[0m[96mexperiments[0m string-array, [96m$CODER_EXPERIMENTS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mpostgres-url[0m string, [96m$CODER_PG_CONNECTION_URL[0m
|
||||
--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".
|
||||
|
||||
[96m--[0m[96mssh-keygen-algorithm[0m string, [96m$CODER_SSH_KEYGEN_ALGORITHM[0m (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".
|
||||
|
||||
[96m--[0m[96mupdate-check[0m bool, [96m$CODER_UPDATE_CHECK[0m (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.
|
||||
|
||||
[93mCLIENT OPTIONS:[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96mssh-config-options[0m string-array, [96m$CODER_SSH_CONFIG_OPTIONS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mssh-hostname-prefix[0m string, [96m$CODER_SSH_HOSTNAME_PREFIX[0m (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.
|
||||
|
||||
[93mCONFIG OPTIONS:[0m
|
||||
CONFIG OPTIONS:
|
||||
Use a YAML configuration file when your server launch become unwieldy.
|
||||
|
||||
[96m-[0m[96mc[0m, [96m--[0m[96mconfig[0m yaml-config-path, [96m$CODER_CONFIG_PATH[0m
|
||||
-c, --config yaml-config-path, $CODER_CONFIG_PATH
|
||||
Specify a YAML file to load configuration from.
|
||||
|
||||
[96m--[0m[96mwrite-config[0m bool
|
||||
--write-config bool
|
||||
|
||||
Write out the current server config as YAML to stdout.
|
||||
|
||||
[93mINTROSPECTION / LOGGING OPTIONS:[0m
|
||||
[96m--[0m[96menable-terraform-debug-mode[0m bool, [96m$CODER_ENABLE_TERRAFORM_DEBUG_MODE[0m (default: false)
|
||||
INTROSPECTION / LOGGING OPTIONS:
|
||||
--enable-terraform-debug-mode bool, $CODER_ENABLE_TERRAFORM_DEBUG_MODE (default: false)
|
||||
Allow administrators to enable Terraform debug output.
|
||||
|
||||
[96m--[0m[96mlog-human[0m string, [96m$CODER_LOGGING_HUMAN[0m (default: /dev/stderr)
|
||||
--log-human string, $CODER_LOGGING_HUMAN (default: /dev/stderr)
|
||||
Output human-readable logs to a given file.
|
||||
|
||||
[96m--[0m[96mlog-json[0m string, [96m$CODER_LOGGING_JSON[0m
|
||||
--log-json string, $CODER_LOGGING_JSON
|
||||
Output JSON logs to a given file.
|
||||
|
||||
[96m-[0m[96ml[0m, [96m--[0m[96mlog-filter[0m string-array, [96m$CODER_LOG_FILTER[0m
|
||||
-l, --log-filter string-array, $CODER_LOG_FILTER
|
||||
Filter debug logs by matching against a given regex. Use .* to match
|
||||
all debug logs.
|
||||
|
||||
[96m--[0m[96mlog-stackdriver[0m string, [96m$CODER_LOGGING_STACKDRIVER[0m
|
||||
--log-stackdriver string, $CODER_LOGGING_STACKDRIVER
|
||||
Output Stackdriver compatible logs to a given file.
|
||||
|
||||
[93mINTROSPECTION / PROMETHEUS OPTIONS:[0m
|
||||
[96m--[0m[96mprometheus-address[0m host:port, [96m$CODER_PROMETHEUS_ADDRESS[0m (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.
|
||||
|
||||
[96m--[0m[96mprometheus-collect-agent-stats[0m bool, [96m$CODER_PROMETHEUS_COLLECT_AGENT_STATS[0m
|
||||
--prometheus-collect-agent-stats bool, $CODER_PROMETHEUS_COLLECT_AGENT_STATS
|
||||
Collect agent stats (may increase charges for metrics storage).
|
||||
|
||||
[96m--[0m[96mprometheus-collect-db-metrics[0m bool, [96m$CODER_PROMETHEUS_COLLECT_DB_METRICS[0m (default: false)
|
||||
--prometheus-collect-db-metrics bool, $CODER_PROMETHEUS_COLLECT_DB_METRICS (default: false)
|
||||
Collect database metrics (may increase charges for metrics storage).
|
||||
|
||||
[96m--[0m[96mprometheus-enable[0m bool, [96m$CODER_PROMETHEUS_ENABLE[0m
|
||||
--prometheus-enable bool, $CODER_PROMETHEUS_ENABLE
|
||||
Serve prometheus metrics on the address defined by prometheus address.
|
||||
|
||||
[93mINTROSPECTION / TRACING OPTIONS:[0m
|
||||
[96m--[0m[96mtrace-logs[0m bool, [96m$CODER_TRACE_LOGS[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96mtrace[0m bool, [96m$CODER_TRACE_ENABLE[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mtrace-honeycomb-api-key[0m string, [96m$CODER_TRACE_HONEYCOMB_API_KEY[0m
|
||||
--trace-honeycomb-api-key string, $CODER_TRACE_HONEYCOMB_API_KEY
|
||||
Enables trace exporting to Honeycomb.io using the provided API Key.
|
||||
|
||||
[93mINTROSPECTION / PPROF OPTIONS:[0m
|
||||
[96m--[0m[96mpprof-address[0m host:port, [96m$CODER_PPROF_ADDRESS[0m (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.
|
||||
|
||||
[96m--[0m[96mpprof-enable[0m bool, [96m$CODER_PPROF_ENABLE[0m
|
||||
--pprof-enable bool, $CODER_PPROF_ENABLE
|
||||
Serve pprof metrics on the address defined by pprof address.
|
||||
|
||||
[93mNETWORKING OPTIONS:[0m
|
||||
[96m--[0m[96maccess-url[0m url, [96m$CODER_ACCESS_URL[0m
|
||||
NETWORKING OPTIONS:
|
||||
--access-url url, $CODER_ACCESS_URL
|
||||
The URL that users will use to access the Coder deployment.
|
||||
|
||||
[96m--[0m[96mdocs-url[0m url, [96m$CODER_DOCS_URL[0m
|
||||
--docs-url url, $CODER_DOCS_URL
|
||||
Specifies the custom docs URL.
|
||||
|
||||
[96m--[0m[96mproxy-trusted-headers[0m string-array, [96m$CODER_PROXY_TRUSTED_HEADERS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mproxy-trusted-origins[0m string-array, [96m$CODER_PROXY_TRUSTED_ORIGINS[0m
|
||||
--proxy-trusted-origins string-array, $CODER_PROXY_TRUSTED_ORIGINS
|
||||
Origin addresses to respect "proxy-trusted-headers". e.g.
|
||||
192.168.1.0/24.
|
||||
|
||||
[96m--[0m[96mredirect-to-access-url[0m bool, [96m$CODER_REDIRECT_TO_ACCESS_URL[0m
|
||||
--redirect-to-access-url bool, $CODER_REDIRECT_TO_ACCESS_URL
|
||||
Specifies whether to redirect requests that do not match the access
|
||||
URL host.
|
||||
|
||||
[96m--[0m[96msecure-auth-cookie[0m bool, [96m$CODER_SECURE_AUTH_COOKIE[0m
|
||||
--secure-auth-cookie bool, $CODER_SECURE_AUTH_COOKIE
|
||||
Controls if the 'Secure' property is set on browser session cookies.
|
||||
|
||||
[96m--[0m[96mwildcard-access-url[0m url, [96m$CODER_WILDCARD_ACCESS_URL[0m
|
||||
--wildcard-access-url url, $CODER_WILDCARD_ACCESS_URL
|
||||
Specifies the wildcard hostname to use for workspace applications in
|
||||
the form "*.example.com".
|
||||
|
||||
[93mNETWORKING / DERP OPTIONS:[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96mblock-direct-connections[0m bool, [96m$CODER_BLOCK_DIRECT[0m
|
||||
--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.
|
||||
@@ -167,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.
|
||||
|
||||
[96m--[0m[96mderp-config-path[0m string, [96m$CODER_DERP_CONFIG_PATH[0m
|
||||
--derp-config-path string, $CODER_DERP_CONFIG_PATH
|
||||
Path to read a DERP mapping from. See:
|
||||
https://tailscale.com/kb/1118/custom-derp-servers/.
|
||||
|
||||
[96m--[0m[96mderp-config-url[0m string, [96m$CODER_DERP_CONFIG_URL[0m
|
||||
--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/.
|
||||
|
||||
[96m--[0m[96mderp-force-websockets[0m bool, [96m$CODER_DERP_FORCE_WEBSOCKETS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mderp-server-enable[0m bool, [96m$CODER_DERP_SERVER_ENABLE[0m (default: true)
|
||||
--derp-server-enable bool, $CODER_DERP_SERVER_ENABLE (default: true)
|
||||
Whether to enable or disable the embedded DERP relay server.
|
||||
|
||||
[96m--[0m[96mderp-server-region-name[0m string, [96m$CODER_DERP_SERVER_REGION_NAME[0m (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.
|
||||
|
||||
[96m--[0m[96mderp-server-stun-addresses[0m string-array, [96m$CODER_DERP_SERVER_STUN_ADDRESSES[0m (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.
|
||||
|
||||
[93mNETWORKING / HTTP OPTIONS:[0m
|
||||
[96m--[0m[96mdisable-password-auth[0m bool, [96m$CODER_DISABLE_PASSWORD_AUTH[0m
|
||||
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
|
||||
@@ -205,221 +205,221 @@ backed by Tailscale and WireGuard.
|
||||
create-admin` command to create a new admin user directly in the
|
||||
database.
|
||||
|
||||
[96m--[0m[96mdisable-session-expiry-refresh[0m bool, [96m$CODER_DISABLE_SESSION_EXPIRY_REFRESH[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mhttp-address[0m string, [96m$CODER_HTTP_ADDRESS[0m (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.
|
||||
|
||||
[96m--[0m[96mmax-token-lifetime[0m duration, [96m$CODER_MAX_TOKEN_LIFETIME[0m (default: 876600h0m0s)
|
||||
--max-token-lifetime duration, $CODER_MAX_TOKEN_LIFETIME (default: 876600h0m0s)
|
||||
The maximum lifetime duration users can specify when creating an API
|
||||
token.
|
||||
|
||||
[96m--[0m[96mproxy-health-interval[0m duration, [96m$CODER_PROXY_HEALTH_INTERVAL[0m (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.
|
||||
|
||||
[96m--[0m[96msession-duration[0m duration, [96m$CODER_SESSION_DURATION[0m (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.
|
||||
|
||||
[93mNETWORKING / TLS OPTIONS:[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96mstrict-transport-security[0m int, [96m$CODER_STRICT_TRANSPORT_SECURITY[0m (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.
|
||||
|
||||
[96m--[0m[96mstrict-transport-security-options[0m string-array, [96m$CODER_STRICT_TRANSPORT_SECURITY_OPTIONS[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mtls-address[0m host:port, [96m$CODER_TLS_ADDRESS[0m (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.
|
||||
|
||||
[96m--[0m[96mtls-cert-file[0m string-array, [96m$CODER_TLS_CERT_FILE[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mtls-client-auth[0m string, [96m$CODER_TLS_CLIENT_AUTH[0m (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".
|
||||
|
||||
[96m--[0m[96mtls-client-ca-file[0m string, [96m$CODER_TLS_CLIENT_CA_FILE[0m
|
||||
--tls-client-ca-file string, $CODER_TLS_CLIENT_CA_FILE
|
||||
PEM-encoded Certificate Authority file used for checking the
|
||||
authenticity of client.
|
||||
|
||||
[96m--[0m[96mtls-client-cert-file[0m string, [96m$CODER_TLS_CLIENT_CERT_FILE[0m
|
||||
--tls-client-cert-file string, $CODER_TLS_CLIENT_CERT_FILE
|
||||
Path to certificate for client TLS authentication. It requires a
|
||||
PEM-encoded file.
|
||||
|
||||
[96m--[0m[96mtls-client-key-file[0m string, [96m$CODER_TLS_CLIENT_KEY_FILE[0m
|
||||
--tls-client-key-file string, $CODER_TLS_CLIENT_KEY_FILE
|
||||
Path to key for client TLS authentication. It requires a PEM-encoded
|
||||
file.
|
||||
|
||||
[96m--[0m[96mtls-enable[0m bool, [96m$CODER_TLS_ENABLE[0m
|
||||
--tls-enable bool, $CODER_TLS_ENABLE
|
||||
Whether TLS will be enabled.
|
||||
|
||||
[96m--[0m[96mtls-key-file[0m string-array, [96m$CODER_TLS_KEY_FILE[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mtls-min-version[0m string, [96m$CODER_TLS_MIN_VERSION[0m (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".
|
||||
|
||||
[93mOAUTH2 / GITHUB OPTIONS:[0m
|
||||
[96m--[0m[96moauth2-github-allow-everyone[0m bool, [96m$CODER_OAUTH2_GITHUB_ALLOW_EVERYONE[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96moauth2-github-allow-signups[0m bool, [96m$CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS[0m
|
||||
--oauth2-github-allow-signups bool, $CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS
|
||||
Whether new users can sign up with GitHub.
|
||||
|
||||
[96m--[0m[96moauth2-github-allowed-orgs[0m string-array, [96m$CODER_OAUTH2_GITHUB_ALLOWED_ORGS[0m
|
||||
--oauth2-github-allowed-orgs string-array, $CODER_OAUTH2_GITHUB_ALLOWED_ORGS
|
||||
Organizations the user must be a member of to Login with GitHub.
|
||||
|
||||
[96m--[0m[96moauth2-github-allowed-teams[0m string-array, [96m$CODER_OAUTH2_GITHUB_ALLOWED_TEAMS[0m
|
||||
--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: <organization-name>/<team-slug>.
|
||||
|
||||
[96m--[0m[96moauth2-github-client-id[0m string, [96m$CODER_OAUTH2_GITHUB_CLIENT_ID[0m
|
||||
--oauth2-github-client-id string, $CODER_OAUTH2_GITHUB_CLIENT_ID
|
||||
Client ID for Login with GitHub.
|
||||
|
||||
[96m--[0m[96moauth2-github-client-secret[0m string, [96m$CODER_OAUTH2_GITHUB_CLIENT_SECRET[0m
|
||||
--oauth2-github-client-secret string, $CODER_OAUTH2_GITHUB_CLIENT_SECRET
|
||||
Client secret for Login with GitHub.
|
||||
|
||||
[96m--[0m[96moauth2-github-enterprise-base-url[0m string, [96m$CODER_OAUTH2_GITHUB_ENTERPRISE_BASE_URL[0m
|
||||
--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.
|
||||
|
||||
[93mOIDC OPTIONS:[0m
|
||||
[96m--[0m[96moidc-group-auto-create[0m bool, [96m$CODER_OIDC_GROUP_AUTO_CREATE[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-allow-signups[0m bool, [96m$CODER_OIDC_ALLOW_SIGNUPS[0m (default: true)
|
||||
--oidc-allow-signups bool, $CODER_OIDC_ALLOW_SIGNUPS (default: true)
|
||||
Whether new users can sign up with OIDC.
|
||||
|
||||
[96m--[0m[96moidc-auth-url-params[0m struct[map[string]string], [96m$CODER_OIDC_AUTH_URL_PARAMS[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-client-cert-file[0m string, [96m$CODER_OIDC_CLIENT_CERT_FILE[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96moidc-client-id[0m string, [96m$CODER_OIDC_CLIENT_ID[0m
|
||||
--oidc-client-id string, $CODER_OIDC_CLIENT_ID
|
||||
Client ID to use for Login with OIDC.
|
||||
|
||||
[96m--[0m[96moidc-client-key-file[0m string, [96m$CODER_OIDC_CLIENT_KEY_FILE[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96moidc-client-secret[0m string, [96m$CODER_OIDC_CLIENT_SECRET[0m
|
||||
--oidc-client-secret string, $CODER_OIDC_CLIENT_SECRET
|
||||
Client secret to use for Login with OIDC.
|
||||
|
||||
[96m--[0m[96moidc-email-domain[0m string-array, [96m$CODER_OIDC_EMAIL_DOMAIN[0m
|
||||
--oidc-email-domain string-array, $CODER_OIDC_EMAIL_DOMAIN
|
||||
Email domains that clients logging in with OIDC must match.
|
||||
|
||||
[96m--[0m[96moidc-email-field[0m string, [96m$CODER_OIDC_EMAIL_FIELD[0m (default: email)
|
||||
--oidc-email-field string, $CODER_OIDC_EMAIL_FIELD (default: email)
|
||||
OIDC claim field to use as the email.
|
||||
|
||||
[96m--[0m[96moidc-group-field[0m string, [96m$CODER_OIDC_GROUP_FIELD[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96moidc-group-mapping[0m struct[map[string]string], [96m$CODER_OIDC_GROUP_MAPPING[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-ignore-email-verified[0m bool, [96m$CODER_OIDC_IGNORE_EMAIL_VERIFIED[0m
|
||||
--oidc-ignore-email-verified bool, $CODER_OIDC_IGNORE_EMAIL_VERIFIED
|
||||
Ignore the email_verified claim from the upstream provider.
|
||||
|
||||
[96m--[0m[96moidc-ignore-userinfo[0m bool, [96m$CODER_OIDC_IGNORE_USERINFO[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-issuer-url[0m string, [96m$CODER_OIDC_ISSUER_URL[0m
|
||||
--oidc-issuer-url string, $CODER_OIDC_ISSUER_URL
|
||||
Issuer URL to use for Login with OIDC.
|
||||
|
||||
[96m--[0m[96moidc-group-regex-filter[0m regexp, [96m$CODER_OIDC_GROUP_REGEX_FILTER[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-scopes[0m string-array, [96m$CODER_OIDC_SCOPES[0m (default: openid,profile,email)
|
||||
--oidc-scopes string-array, $CODER_OIDC_SCOPES (default: openid,profile,email)
|
||||
Scopes to grant when authenticating with OIDC.
|
||||
|
||||
[96m--[0m[96moidc-user-role-default[0m string-array, [96m$CODER_OIDC_USER_ROLE_DEFAULT[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96moidc-user-role-field[0m string, [96m$CODER_OIDC_USER_ROLE_FIELD[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96moidc-user-role-mapping[0m struct[map[string][]string], [96m$CODER_OIDC_USER_ROLE_MAPPING[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-username-field[0m string, [96m$CODER_OIDC_USERNAME_FIELD[0m (default: preferred_username)
|
||||
--oidc-username-field string, $CODER_OIDC_USERNAME_FIELD (default: preferred_username)
|
||||
OIDC claim field to use as the username.
|
||||
|
||||
[96m--[0m[96moidc-sign-in-text[0m string, [96m$CODER_OIDC_SIGN_IN_TEXT[0m (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.
|
||||
|
||||
[96m--[0m[96moidc-icon-url[0m url, [96m$CODER_OIDC_ICON_URL[0m
|
||||
--oidc-icon-url url, $CODER_OIDC_ICON_URL
|
||||
URL pointing to the icon to use on the OpenID Connect login button.
|
||||
|
||||
[93mPROVISIONING OPTIONS:[0m
|
||||
PROVISIONING OPTIONS:
|
||||
Tune the behavior of the provisioner, which is responsible for creating,
|
||||
updating, and deleting workspace resources.
|
||||
|
||||
[96m--[0m[96mprovisioner-force-cancel-interval[0m duration, [96m$CODER_PROVISIONER_FORCE_CANCEL_INTERVAL[0m (default: 10m0s)
|
||||
--provisioner-force-cancel-interval duration, $CODER_PROVISIONER_FORCE_CANCEL_INTERVAL (default: 10m0s)
|
||||
Time to force cancel provisioning tasks that are stuck.
|
||||
|
||||
[96m--[0m[96mprovisioner-daemon-poll-interval[0m duration, [96m$CODER_PROVISIONER_DAEMON_POLL_INTERVAL[0m (default: 1s)
|
||||
--provisioner-daemon-poll-interval duration, $CODER_PROVISIONER_DAEMON_POLL_INTERVAL (default: 1s)
|
||||
Time to wait before polling for a new job.
|
||||
|
||||
[96m--[0m[96mprovisioner-daemon-poll-jitter[0m duration, [96m$CODER_PROVISIONER_DAEMON_POLL_JITTER[0m (default: 100ms)
|
||||
--provisioner-daemon-poll-jitter duration, $CODER_PROVISIONER_DAEMON_POLL_JITTER (default: 100ms)
|
||||
Random jitter added to the poll interval.
|
||||
|
||||
[96m--[0m[96mprovisioner-daemon-psk[0m string, [96m$CODER_PROVISIONER_DAEMON_PSK[0m
|
||||
--provisioner-daemon-psk string, $CODER_PROVISIONER_DAEMON_PSK
|
||||
Pre-shared key to authenticate external provisioner daemons to Coder
|
||||
server.
|
||||
|
||||
[96m--[0m[96mprovisioner-daemons[0m int, [96m$CODER_PROVISIONER_DAEMONS[0m (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.
|
||||
|
||||
[93mTELEMETRY OPTIONS:[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96mtelemetry[0m bool, [96m$CODER_TELEMETRY_ENABLE[0m (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.
|
||||
|
||||
[93mUSER QUIET HOURS SCHEDULE OPTIONS:[0m
|
||||
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.
|
||||
|
||||
[96m--[0m[96mdefault-quiet-hours-schedule[0m string, [96m$CODER_QUIET_HOURS_DEFAULT_SCHEDULE[0m
|
||||
--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
|
||||
@@ -429,8 +429,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).
|
||||
|
||||
[93m⚠️ DANGEROUS OPTIONS:[0m
|
||||
[96m--[0m[96mdangerous-allow-path-app-sharing[0m bool, [96m$CODER_DANGEROUS_ALLOW_PATH_APP_SHARING[0m
|
||||
⚠️ 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
|
||||
@@ -438,7 +438,7 @@ workspaces stopping during the day due to template max TTL.
|
||||
can be disabled entirely with --disable-path-apps for further
|
||||
security.
|
||||
|
||||
[96m--[0m[96mdangerous-allow-path-app-site-owner-access[0m bool, [96m$CODER_DANGEROUS_ALLOW_PATH_APP_SITE_OWNER_ACCESS[0m
|
||||
--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
|
||||
@@ -446,17 +446,17 @@ workspaces stopping during the day due to template max TTL.
|
||||
can be disabled entirely with --disable-path-apps for further
|
||||
security.
|
||||
|
||||
[93mENTERPRISE OPTIONS:[0m
|
||||
ENTERPRISE OPTIONS:
|
||||
These options are only available in the Enterprise Edition.
|
||||
|
||||
[96m--[0m[96mbrowser-only[0m bool, [96m$CODER_BROWSER_ONLY[0m
|
||||
--browser-only bool, $CODER_BROWSER_ONLY
|
||||
Whether Coder only allows connections to workspaces via the browser.
|
||||
|
||||
[96m--[0m[96mderp-server-relay-url[0m url, [96m$CODER_DERP_SERVER_RELAY_URL[0m
|
||||
--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.
|
||||
|
||||
[96m--[0m[96mexternal-token-encryption-keys[0m string-array, [96m$CODER_EXTERNAL_TOKEN_ENCRYPTION_KEYS[0m
|
||||
--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
|
||||
@@ -466,7 +466,7 @@ These options are only available in the Enterprise Edition.
|
||||
process of rotating keys with the `coder server dbcrypt rotate`
|
||||
command.
|
||||
|
||||
[96m--[0m[96mscim-auth-header[0m string, [96m$CODER_SCIM_AUTH_HEADER[0m
|
||||
--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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user