Skip to content

Commit 5a36222

Browse files
authored
docs: include default in flags (#882)
1 parent d9012c8 commit 5a36222

File tree

3 files changed

+46
-41
lines changed

3 files changed

+46
-41
lines changed

.github/workflows/publish-technical-documentation-next.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ concurrency:
99
on:
1010
push:
1111
branches:
12-
- main
12+
- master
1313
paths:
1414
- "docs/sources/**"
1515
workflow_dispatch:

docs/sources/flags.md

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -50,99 +50,99 @@ This is a verbatim copy of the output of the `grafana-image-renderer server --he
5050
```
5151
--browser.flag=<string> / --browser.flags=<string> [${BROWSER_FLAG}]
5252
Flags to pass to the browser. These are syntaxed `${flag}` or `${flag}=${value}`. [config: browser.flag]
53-
--browser.gpu [${BROWSER_GPU}]
53+
--browser.gpu [default: false] [${BROWSER_GPU}]
5454
Enable GPU support in the browser. [config: browser.gpu]
5555
--browser.header=<string> / --browser.headers=<string> [${BROWSER_HEADER}]
5656
Headers to add to every request the browser makes. Syntax is `${key}=${value}`. May be repeated. [config: browser.header]
57-
--browser.max-height=<int> [${BROWSER_MAX_HEIGHT}]
57+
--browser.max-height=<int> [default: 3000] [${BROWSER_MAX_HEIGHT}]
5858
The maximum height of the browser viewport. Requests cannot request a larger height than this, except for when capturing full-page screenshots. Negative means ignored. [config: browser.max-height]
59-
--browser.max-width=<int> [${BROWSER_MAX_WIDTH}]
59+
--browser.max-width=<int> [default: 3000] [${BROWSER_MAX_WIDTH}]
6060
The maximum width of the browser viewport. Requests cannot request a larger width than this. Negative means ignored. [config: browser.max-width]
61-
--browser.min-height=<int> [${BROWSER_MIN_HEIGHT}]
61+
--browser.min-height=<int> [default: 500] [${BROWSER_MIN_HEIGHT}]
6262
The minimum height of the browser viewport. This is the default height in requests. [config: browser.min-height]
63-
--browser.min-width=<int> [${BROWSER_MIN_WIDTH}]
63+
--browser.min-width=<int> [default: 1000] [${BROWSER_MIN_WIDTH}]
6464
The minimum width of the browser viewport. This is the default width in requests. [config: browser.min-width]
65-
--browser.namespaced [${BROWSER_NAMESPACED}]
65+
--browser.namespaced [default: false] [${BROWSER_NAMESPACED}]
6666
Enable namespacing the browser. This requires Linux and the CAP_SYS_ADMIN and CAP_SYS_CHROOT capabilities, or a privileged user. [config: browser.namespaced]
67-
--browser.page-scale-factor=<float> [${BROWSER_PAGE_SCALE_FACTOR}]
67+
--browser.page-scale-factor=<float> [default: 1] [${BROWSER_PAGE_SCALE_FACTOR}]
6868
The page scale factor of the browser. [config: browser.page-scale-factor]
69-
--browser.path=<string> [${BROWSER_PATH}]
69+
--browser.path=<string> [default: "chromium"] [${BROWSER_PATH}]
7070
The path to the browser's binary. This is resolved against PATH. [config: browser.path]
71-
--browser.portrait [${BROWSER_PORTRAIT}]
71+
--browser.portrait [default: false] [${BROWSER_PORTRAIT}]
7272
Use a portrait viewport instead of the default landscape. [config: browser.portrait]
73-
--browser.readiness.disable-dom-hashcode-wait [${BROWSER_READINESS_DISABLE_DOM_HASHCODE_WAIT}]
73+
--browser.readiness.disable-dom-hashcode-wait [default: false] [${BROWSER_READINESS_DISABLE_DOM_HASHCODE_WAIT}]
7474
Disable waiting for the DOM to stabilize (i.e. not change) before capturing. [config: browser.readiness.disable-dom-hashcode-wait]
75-
--browser.readiness.disable-network-wait [${BROWSER_READINESS_DISABLE_NETWORK_WAIT}]
75+
--browser.readiness.disable-network-wait [default: false] [${BROWSER_READINESS_DISABLE_NETWORK_WAIT}]
7676
Disable waiting for network requests to finish before capturing. [config: browser.readiness.disable-network-wait]
77-
--browser.readiness.disable-query-wait [${BROWSER_READINESS_DISABLE_QUERY_WAIT}]
77+
--browser.readiness.disable-query-wait [default: false] [${BROWSER_READINESS_DISABLE_QUERY_WAIT}]
7878
Disable waiting for queries to finish before capturing. [config: browser.readiness.disable-query-wait]
79-
--browser.readiness.dom-hashcode-timeout=<duration> [${BROWSER_READINESS_DOM_HASHCODE_TIMEOUT}]
79+
--browser.readiness.dom-hashcode-timeout=<duration> [default: 0s] [${BROWSER_READINESS_DOM_HASHCODE_TIMEOUT}]
8080
How long to wait before giving up on the DOM stabilizing (i.e. not changing). If <= 0, the timeout is disabled. [config: browser.readiness.dom-hashcode-timeout]
81-
--browser.readiness.give-up-on-all-queries=<duration> [${BROWSER_READINESS_GIVE_UP_ON_ALL_QUERIES}]
81+
--browser.readiness.give-up-on-all-queries=<duration> [default: 0s] [${BROWSER_READINESS_GIVE_UP_ON_ALL_QUERIES}]
8282
How long to wait before giving up on all running queries. If <= 0, the give-up is disabled. [config: browser.readiness.give-up-on-all-queries]
83-
--browser.readiness.give-up-on-first-query=<duration> [${BROWSER_READINESS_GIVE_UP_ON_FIRST_QUERY}]
83+
--browser.readiness.give-up-on-first-query=<duration> [default: 3s] [${BROWSER_READINESS_GIVE_UP_ON_FIRST_QUERY}]
8484
How long to wait before giving up on a first query being registered. If <= 0, the give-up is disabled. [config: browser.readiness.give-up-on-first-query]
85-
--browser.readiness.iteration-interval=<duration> [${BROWSER_READINESS_ITERATION_INTERVAL}]
85+
--browser.readiness.iteration-interval=<duration> [default: 100ms] [${BROWSER_READINESS_ITERATION_INTERVAL}]
8686
How long to wait between each iteration of checking whether the page is ready. Must be positive. [config: browser.readiness.iteration-interval]
87-
--browser.readiness.network-idle-timeout=<duration> [${BROWSER_READINESS_NETWORK_IDLE_TIMEOUT}]
87+
--browser.readiness.network-idle-timeout=<duration> [default: 0s] [${BROWSER_READINESS_NETWORK_IDLE_TIMEOUT}]
8888
How long to wait before giving up on the network being idle. If <= 0, the timeout is disabled. [config: browser.readiness.network-idle-timeout]
89-
--browser.readiness.prior-wait=<duration> [${BROWSER_READINESS_PRIOR_WAIT}]
89+
--browser.readiness.prior-wait=<duration> [default: 1s] [${BROWSER_READINESS_PRIOR_WAIT}]
9090
The time to wait before checking for how ready the page is. This lets you force the webpage to take a beat and just do its thing before the service starts looking for whether it's time to render anything. If <= 0, this is disabled. [config: browser.readiness.prior-wait]
91-
--browser.readiness.timeout=<duration> [${BROWSER_READINESS_TIMEOUT}]
91+
--browser.readiness.timeout=<duration> [default: 30s] [${BROWSER_READINESS_TIMEOUT}]
9292
The maximum time to wait for a web-page to become ready (i.e. no longer loading anything). If <= 0, the timeout is disabled. [config: browser.readiness.timeout]
93-
--browser.readiness.wait-for-n-query-cycles=<int> [${BROWSER_READINESS_WAIT_FOR_N_QUERY_CYCLES}]
93+
--browser.readiness.wait-for-n-query-cycles=<int> [default: 1] [${BROWSER_READINESS_WAIT_FOR_N_QUERY_CYCLES}]
9494
The number of readiness checks that must pass consecutively before considering the page ready. [config: browser.readiness.wait-for-n-query-cycles]
95-
--browser.sandbox [${BROWSER_SANDBOX}]
95+
--browser.sandbox [default: false] [${BROWSER_SANDBOX}]
9696
Enable the browser's sandbox. Sets the `no-sandbox` flag to `false` for you. [config: browser.sandbox]
97-
--browser.time-between-scrolls=<duration> [${BROWSER_TIME_BETWEEN_SCROLLS}]
97+
--browser.time-between-scrolls=<duration> [default: 50ms] [${BROWSER_TIME_BETWEEN_SCROLLS}]
9898
The time between scroll events when capturing a full-page screenshot. [config: browser.time-between-scrolls]
99-
--browser.time-zone=<string> / --browser.timezone=<string> / --browser.tz=<string> [${BROWSER_TIMEZONE}, ${TZ}]
99+
--browser.time-zone=<string> / --browser.timezone=<string> / --browser.tz=<string> [default: "Etc/UTC"] [${BROWSER_TIMEZONE}, ${TZ}]
100100
The timezone for the browser to use, e.g. 'America/New_York'. [config: browser.timezone]
101101
--help / -h
102102
show help
103-
--log.level=<string> [${LOG_LEVEL}]
103+
--log.level=<string> [default: "info"] [${LOG_LEVEL}]
104104
The minimum level to log at (enum: debug, info, warn, error) [config: log.level]
105-
--rate-limit.disabled [${RATE_LIMIT_DISABLED}]
105+
--rate-limit.disabled [default: false] [${RATE_LIMIT_DISABLED}]
106106
Disable rate limiting entirely. [config: rate-limit.disabled]
107-
--rate-limit.headroom=<uint> [${RATE_LIMIT_HEADROOM}]
107+
--rate-limit.headroom=<uint> [default: 33554432] [${RATE_LIMIT_HEADROOM}]
108108
The amount of memory (in bytes) to leave as headroom after allocating memory for browser processes. Set to 0 to disable headroom. [config: rate-limit.headroom]
109-
--rate-limit.max-available=<uint> [${RATE_LIMIT_MAX_AVAILABLE}]
109+
--rate-limit.max-available=<uint> [default: 0] [${RATE_LIMIT_MAX_AVAILABLE}]
110110
The maximum amount of memory (in bytes) available to processes. If more memory exists, only this amount is used. 0 disables the maximum. [config: rate-limit.max-available]
111-
--rate-limit.max-limit=<uint> [${RATE_LIMIT_MAX_LIMIT}]
111+
--rate-limit.max-limit=<uint> [default: 0] [${RATE_LIMIT_MAX_LIMIT}]
112112
The maximum number of requests to permit. Ratelimiting will reject requests if the number of currently running requests is at or above this value. Set to 0 to disable maximum. The v4 service used 5 by default. [config: rate-limit.max-limit]
113-
--rate-limit.min-limit=<uint> [${RATE_LIMIT_MIN_LIMIT}]
113+
--rate-limit.min-limit=<uint> [default: 3] [${RATE_LIMIT_MIN_LIMIT}]
114114
The minimum number of requests to permit. Ratelimiting will not reject requests if the number of currently running requests is below this value. Set to 0 to disable minimum (not recommended). [config: rate-limit.min-limit]
115-
--rate-limit.min-memory-per-browser=<uint> [${RATE_LIMIT_MIN_MEMORY_PER_BROWSER}]
115+
--rate-limit.min-memory-per-browser=<uint> [default: 67108864] [${RATE_LIMIT_MIN_MEMORY_PER_BROWSER}]
116116
The minimum amount of memory (in bytes) each browser process is expected to use. Set to 0 to disable the minimum. [config: rate-limit.min-memory-per-browser]
117-
--rate-limit.process-tracker.decay=<int> [${RATE_LIMIT_PROCESS_TRACKER_DECAY}]
117+
--rate-limit.process-tracker.decay=<int> [default: 5] [${RATE_LIMIT_PROCESS_TRACKER_DECAY}]
118118
The decay factor N to use in slow-moving averages of process statistics, where `avg = ((N-1)*avg + new) / N`. Must be at least 1. [config: rate-limit.process-tracker.decay]
119-
--rate-limit.process-tracker.interval=<duration> [${RATE_LIMIT_PROCESS_TRACKER_INTERVAL}]
119+
--rate-limit.process-tracker.interval=<duration> [default: 50ms] [${RATE_LIMIT_PROCESS_TRACKER_INTERVAL}]
120120
How often to sample process statistics on the browser processes. Must be >= 1ms. [config: rate-limit.process-tracker.interval]
121-
--server.addr=<string> [${SERVER_ADDR}]
121+
--server.addr=<string> [default: ":8081"] [${SERVER_ADDR}]
122122
The address to listen on for HTTP requests. [config: server.addr]
123-
--server.auth-token=<string> / --server.auth-tokens=<string> / --server.token=<string> / --server.tokens=<string> [${AUTH_TOKEN}]
123+
--server.auth-token=<string> / --server.auth-tokens=<string> / --server.token=<string> / --server.tokens=<string> [default: "-"] [${AUTH_TOKEN}]
124124
The X-Auth-Token header value that must be sent to the service to permit requests. May be repeated. [config: server.auth-token]
125125
--server.cert-file=<string> / --server.cert=<string> / --server.certificate-file=<string> / --server.certificate=<string> [${SERVER_CERTIFICATE_FILE}]
126126
A path to a TLS certificate file to use for HTTPS. If not set, HTTP is used. [config: server.certificate-file]
127127
--server.key-file=<string> / --server.key=<string> [${SERVER_KEY_FILE}]
128128
A path to a TLS key file to use for HTTPS. [config: server.key-file]
129-
--server.min-tls-version=<string> [${SERVER_MIN_TLS_VERSION}]
129+
--server.min-tls-version=<string> [default: "1.2"] [${SERVER_MIN_TLS_VERSION}]
130130
The minimum TLS version to accept for HTTPS connections. (enum: 1.0, 1.1, 1.2, 1.3) [config: server.min-tls-version]
131131
--tracing.client-certificate=<string> [${TRACING_CLIENT_CERTIFICATE}]
132132
A path to a PEM-encoded client certificate to use for mTLS when connecting to the tracing endpoint over gRPC or HTTPS. [config: tracing.client_certificate]
133133
--tracing.client-key=<string> [${TRACING_CLIENT_KEY}]
134134
A path to a PEM-encoded client key to use for mTLS when connecting to the tracing endpoint over gRPC or HTTPS. [config: tracing.client_key]
135-
--tracing.compressor=<string> [${TRACING_COMPRESSOR}]
135+
--tracing.compressor=<string> [default: "none"] [${TRACING_COMPRESSOR}]
136136
The compression algorithm to use when sending traces. (enum: none, gzip) [config: tracing.compressor]
137137
--tracing.endpoint=<string> [${TRACING_ENDPOINT}]
138138
The tracing endpoint to send spans to. Use grpc://, http://, or https:// to specify the protocol (grpc:// is implied). [config: tracing.endpoint]
139139
--tracing.header=<string> / --tracing.headers=<string> [${TRACING_HEADER}]
140140
A header to add to requests to the tracing endpoint. Syntax is `${key}=${value}`. May be repeated. This is useful for things like authentication. [config: tracing.header]
141-
--tracing.insecure [${TRACING_INSECURE}]
141+
--tracing.insecure [default: false] [${TRACING_INSECURE}]
142142
Whether to skip TLS verification when connecting. If set, the scheme in the endpoint is overridden to be insecure. [config: tracing.insecure]
143-
--tracing.service-name=<string> [${TRACING_SERVICE_NAME}]
143+
--tracing.service-name=<string> [default: "grafana-image-renderer"] [${TRACING_SERVICE_NAME}]
144144
The service name to use in traces. [config: tracing.service_name]
145-
--tracing.timeout=<duration> [${TRACING_TIMEOUT}]
145+
--tracing.timeout=<duration> [default: 10s] [${TRACING_TIMEOUT}]
146146
The timeout for requests to the tracing endpoint. [config: tracing.timeout]
147147
--tracing.trusted-certificate=<string> [${TRACING_TRUSTED_CERTIFICATE}]
148148
A path to a PEM-encoded certificate to use as a trusted root when connecting to the tracing endpoint over gRPC or HTTPS. [config: tracing.trusted_certificate]

scripts/help-documentation/main.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,16 @@ func flagString(flag cli.Flag) (string, error) {
138138
}
139139
slices.Sort(envVars)
140140

141+
var defaultText string
142+
if docFlag.IsDefaultVisible() && docFlag.GetValue() != "" {
143+
defaultText = fmt.Sprintf(" [default: %v]", docFlag.GetValue())
144+
}
145+
141146
namesStr := strings.Join(names, " / ")
142147
var envVarsStr string
143148
if len(envVars) > 0 {
144149
envVarsStr = fmt.Sprintf(" [%s]", strings.Join(envVars, ", "))
145150
}
146151

147-
return fmt.Sprintf("%s%s\n %s", namesStr, envVarsStr, docFlag.GetUsage()), nil
152+
return fmt.Sprintf("%s%s%s\n %s", namesStr, defaultText, envVarsStr, docFlag.GetUsage()), nil
148153
}

0 commit comments

Comments
 (0)