BUILDBOX-WORKER(1)

πŸ“¦
version 1.4.16 Β· 2 versions
, in ubuntu stonking

πŸ’– buildbox-worker(1) β€” User Commands πŸ’–

okay bestie, strap in. this one is A LOT and we are covering every single flag, no skipping, no "you get the idea". you DO get the idea, but you're getting the details anyway. πŸ’…


🌸 NAME 🌸

buildbox-worker β€” buildbox-worker.

that's it. that's the description. it's naming itself. queen behavior honestly. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

buildbox-worker

no arguments on the command line, bestie β€” everything this thing does, it does through flags. 🫢


✨ DESCRIPTION ✨

buildbox-worker is the little engine running your builds, and every knob it has is listed right here in this section. there are like a hundred of them. we're doing all of them. every default, every [optional], every service-specific twin of every flag. no cap. πŸ’–

πŸŽ€ the general / worker-level stuff πŸŽ€

  • --help β€” shows you the usage and exits. that's it. that's the whole job. 🫑
  • --version β€” prints the version info and peaces out. [optional]
  • --instance β€” the instance name you want handed to the Remote Workers API and the CAS servers. [optional, default = ""]
  • --digest-function β€” set a custom digest function. the supported ones are SHA512, SHA384, SHA256, SHA1, MD5. [optional, default = "SHA256"]
  • --concurrent-jobs β€” how many jobs run at once. defaults to literally one at a time, which is very "one thing at a time, we're being mindful" of it. [optional, default = 1]
  • --stop-after β€” terminate after running the given number of jobs. defaults to non-terminating, i.e. it just. keeps. going. [optional, default = -1]
  • --consecutive-errors-threshold β€” mark the worker as UNHEALTHY after N consecutive errors. disabled by default, and 0 means disabled. [optional, default = 0]
  • --priority β€” worker priority for job scheduling. lower value = more prioritized than workers with a bigger priority value. so small number, big energy. [optional, default = 0]
  • --disk-usage-health-check β€” mark the worker as UNHEALTHY if disk usage goes over the threshold. format is --disk-usage-health-check=/path:80%. you can pass it multiple times for different paths. [optional]

🌈 all-services flags (one flag to rule them all) 🌈

these are the "for all services" versions β€” set them once and they apply everywhere. 😌

  • --remote β€” URL for all services. [optional]
  • --instance β€” instance for all services. [optional] (yep, --instance shows up twice in this page. we don't make the rules, we just document them πŸ’€)
  • --server-cert β€” server TLS certificate for all services, PEM-encoded. [optional]
  • --client-key β€” client private TLS key for all services, PEM-encoded. [optional]
  • --client-cert β€” client TLS certificate for all services, PEM-encoded. [optional]
  • --access-token β€” auth token for all services (JWT, OAuth token, whatever you got). it gets included as an HTTP Authorization bearer token. [optional]
  • --token-reload-interval β€” default access token refresh timeout. [optional]
  • --googleapi-auth β€” use GoogleAPIAuth for all services. [optional]
  • --credential-helper β€” credential helper executable for all services. [optional]
  • --retry-limit β€” retry limit for gRPC errors for all services. [optional]
  • --retry-delay β€” retry delay for gRPC errors for all services. [optional]
  • --retry-on-code β€” gRPC status code(s) as string(s) to retry on for all services, e.g. 'UNKNOWN', 'INTERNAL'. [optional]
  • --request-timeout β€” timeout for gRPC requests for all services. set it to 0 to disable the timeout entirely. [optional]
  • --min-throughput β€” minimum throughput for gRPC requests for all services, in bytes per second. the value can be suffixed with K, M, G or T. [optional]
  • --keepalive-time β€” gRPC keepalive pings period for all services. set it to 0 to turn keepalive pings off. [optional]
  • --load-balancing-policy β€” gRPC load balancing policy for all services. valid options are 'round_robin' and 'grpclb'. [optional]

πŸ€– Bots service (the --bots- girlies) πŸ€–

  • --bots-remote β€” URL for the Bots service. [optional]
  • --bots-instance β€” name of the Bots instance. [optional]
  • --bots-server-cert β€” server TLS certificate for Bots, PEM-encoded. [optional]
  • --bots-client-key β€” client private TLS key for Bots, PEM-encoded. [optional]
  • --bots-client-cert β€” client TLS certificate for Bots, PEM-encoded. [optional]
  • --bots-access-token β€” auth token for Bots (JWT, OAuth token etc), included as an HTTP Authorization bearer token. [optional]
  • --bots-token-reload-interval β€” access token refresh timeout for the Bots service. [optional]
  • --bots-googleapi-auth β€” use GoogleAPIAuth for the Bots service. [optional]
  • --bots-credential-helper β€” credential helper executable for the Bots service. [optional]
  • --bots-retry-limit β€” retry limit for gRPC errors for the Bots service. [optional]
  • --bots-retry-delay β€” retry delay for gRPC errors for the Bots service. [optional]
  • --bots-retry-on-code β€” gRPC status code(s) as string(s) to retry on for the Bots service, e.g. 'UNKNOWN', 'INTERNAL'. [optional]
  • --bots-request-timeout β€” timeout for gRPC requests for the Bots service. set it to 0 to disable the timeout. [optional]
  • --bots-min-throughput β€” minimum throughput for gRPC requests for the Bots service, bytes per second. the value can be suffixed with K, M, G or T. [optional]
  • --bots-keepalive-time β€” gRPC keepalive pings period for the Bots service. 0 disables keepalive pings. [optional]
  • --bots-load-balancing-policy β€” gRPC load balancing policy for the Bots service. valid options are 'round_robin' and 'grpclb'. [optional]

πŸ“¦ CAS service (content-addressed, --cas- coded) πŸ“¦

  • --cas-remote β€” URL for the CAS service. [optional]
  • --cas-instance β€” name of the CAS instance. [optional]
  • --cas-server-cert β€” server TLS certificate for CAS, PEM-encoded. [optional]
  • --cas-client-key β€” client private TLS key for CAS, PEM-encoded. [optional]
  • --cas-client-cert β€” client TLS certificate for CAS, PEM-encoded. [optional]
  • --cas-access-token β€” auth token for CAS (JWT, OAuth token etc), included as an HTTP Authorization bearer token. [optional]
  • --cas-token-reload-interval β€” access token refresh timeout for the CAS service. [optional]
  • --cas-googleapi-auth β€” use GoogleAPIAuth for the CAS service. [optional]
  • --cas-credential-helper β€” credential helper executable for the CAS service. [optional]
  • --cas-retry-limit β€” retry limit for gRPC errors for the CAS service. [optional]
  • --cas-retry-delay β€” retry delay for gRPC errors for the CAS service. [optional]
  • --cas-retry-on-code β€” gRPC status code(s) as string(s) to retry on for the CAS service, e.g. 'UNKNOWN', 'INTERNAL'. [optional]
  • --cas-request-timeout β€” timeout for gRPC requests for the CAS service. set it to 0 to disable the timeout. [optional]
  • --cas-min-throughput β€” minimum throughput for gRPC requests for the CAS service, bytes per second. the value can be suffixed with K, M, G or T. [optional]
  • --cas-keepalive-time β€” gRPC keepalive pings period for the CAS service. 0 disables keepalive pings. [optional]
  • --cas-load-balancing-policy β€” gRPC load balancing policy for the CAS service. valid options are 'round_robin' and 'grpclb'. [optional]

🧚 LogStream service (all the --logstream- things) 🧚

  • --logstream-remote β€” URL for the LogStream service. [optional]
  • --logstream-instance β€” name of the LogStream instance. [optional]
  • --logstream-server-cert β€” server TLS certificate for LogStream, PEM-encoded. [optional]
  • --logstream-client-key β€” client private TLS key for LogStream, PEM-encoded. [optional]
  • --logstream-client-cert β€” client TLS certificate for LogStream, PEM-encoded. [optional]
  • --logstream-access-token β€” auth token for LogStream (JWT, OAuth token etc), included as an HTTP Authorization bearer token. [optional]
  • --logstream-token-reload-interval β€” access token refresh timeout for the LogStream service. [optional]
  • --logstream-googleapi-auth β€” use GoogleAPIAuth for the LogStream service. [optional]
  • --logstream-credential-helper β€” credential helper executable for the LogStream service. [optional]
  • --logstream-retry-limit β€” retry limit for gRPC errors for the LogStream service. [optional]
  • --logstream-retry-delay β€” retry delay for gRPC errors for the LogStream service. [optional]
  • --logstream-retry-on-code β€” gRPC status code(s) as string(s) to retry on for the LogStream service, e.g. 'UNKNOWN', 'INTERNAL'. [optional]
  • --logstream-request-timeout β€” timeout for gRPC requests for the LogStream service. set it to 0 to disable the timeout. [optional]
  • --logstream-min-throughput β€” minimum throughput for gRPC requests for the LogStream service, bytes per second. the value can be suffixed with K, M, G or T. [optional]
  • --logstream-keepalive-time β€” gRPC keepalive pings period for the LogStream service. 0 disables keepalive pings. [optional]
  • --logstream-load-balancing-policy β€” gRPC load balancing policy for the LogStream service. valid options are 'round_robin' and 'grpclb'. [optional]

πŸ“ Asset service (these say --ra-, don't ask) πŸ“

  • --ra-remote β€” URL for the Asset service. [optional]
  • --ra-instance β€” name of the Asset instance. [optional]
  • --ra-server-cert β€” server TLS certificate for Asset, PEM-encoded. [optional]
  • --ra-client-key β€” client private TLS key for Asset, PEM-encoded. [optional]
  • --ra-client-cert β€” client TLS certificate for Asset, PEM-encoded. [optional]
  • --ra-access-token β€” auth token for Asset (JWT, OAuth token etc), included as an HTTP Authorization bearer token. [optional]
  • --ra-token-reload-interval β€” access token refresh timeout for the Asset service. [optional]
  • --ra-googleapi-auth β€” use GoogleAPIAuth for the Asset service. [optional]
  • --ra-credential-helper β€” credential helper executable for the Asset service. [optional]
  • --ra-retry-limit β€” retry limit for gRPC errors for the Asset service. [optional]
  • --ra-retry-delay β€” retry delay for gRPC errors for the Asset service. [optional]
  • --ra-retry-on-code β€” gRPC status code(s) as string(s) to retry on for the Asset service, e.g. 'UNKNOWN', 'INTERNAL'. [optional]
  • --ra-request-timeout β€” timeout for gRPC requests for the Asset service. set it to 0 to disable the timeout. [optional]
  • --ra-min-throughput β€” minimum throughput for gRPC requests for the Asset service, bytes per second. the value can be suffixed with K, M, G or T. [optional]
  • --ra-keepalive-time β€” gRPC keepalive pings period for the Asset service. 0 disables keepalive pings. [optional]
  • --ra-load-balancing-policy β€” gRPC load balancing policy for the Asset service. valid options are 'round_robin' and 'grpclb'. [optional]

πŸ‘‘ the last three, and yes they matter πŸ‘‘

  • --max-wait-time β€” sets the maximum amount of time, in seconds, between the worker polling the Bots service. [optional, default = 60]
  • --graceful-shutdown-timeout β€” sets how many seconds to wait for ongoing executions to finish during a graceful shutdown before it escalates to a forceful shutdown. if you don't provide it, ongoing executions just run all the way to completion during graceful shutdown. [optional]
  • --preserve-update-bot-session β€” when an execution is completed, the previous UpdateBotSession RPC gets preserved. if you don't provide it, the previous RPC gets cancelled instead. [optional, default = false]

not even close to done bestie β€” this is part 1 and there is MORE. don't go anywhere. 🫢
  • --runner-use-job-instance β€” turn this on and the worker does a little βœ‚οΈ surgery on the lease ID: it splits at the last / and uses the prefix as the instance name for runner CAS and asset connections. [optional, default = false]
  • --buildbox-run β€” the absolute path to the runner executable. bestie this one is required, no skipping it 🫢 [required]
  • --runner-arg β€” extra args you wanna hand to buildbox-run whenever the worker runs a job. super handy if the buildbox-run implementation you're using vibes with non-standard options ✨ [optional]
  • --platform β€” adds a key-value pair to the 'Platform' message the worker sends to the server (peep the Remote Workers API specification for the keys and values you're allowed to use πŸ‘€). the format is literally --platform KEY=VALUE [optional]
  • --metrics-mode β€” format is --metrics-mode=MODE where MODE is one of:
    • udp://<hostname>:<port>
    • file:///path/to/file
    • stderr

[optional]

  • --metrics-publish-interval β€” how often metrics get published, the interval itself πŸ’… [optional]
  • --metrics-statsd-format β€” if you set this to any value, it's the format the statsd publisher uses when tagging is on. it supports influx, graphite and dog, and defaults to influx 🐢 [optional, default = "influx"]
  • --log-level β€” log verbosity level, aka how chatty this thing is gonna be πŸ“’ [optional, default = "info"]
  • --verbose β€” sets the log level to debug. full tea, every detail, no secrets 🍡 [optional]
  • --log-directory β€” writes logs into this directory, with filenames shaped like <program name>.<hostname>.<user name>.log.<severity level>.<date>.<time>.<pid> β€” yes it's giving extremely specific and we love that for us 🌸 [optional, default = ""]
  • --config-file β€” the absolute path to a config file πŸ“„ [optional, default = ""]

and that's the last one on the flag roster bestie, but there's one more thing sitting quietly at the end of the list, and it's a positional πŸ‘‘

  • BOT Id POSITIONAL [optional]
lowkey that's exactly how it shows up in the manpage, so I'm handing it to you character for character β€” no notes, no edits, periodt πŸ’…

<h2>okay that's a wrap πŸŽ€</h2>

you just survived the whole thing, iconic behavior honestly 🌈 this page is from buildbox-worker 1.4.16, dated August 2026, and it answers to the name BUILDBOX-WORKER(1) when it's out in public πŸ’–

now go run something, bestie, you've got this πŸ¦‹βœ¨

πŸ“¦ where this page comes from