BUILDBOX-RUN(1)

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

✨ NAME ✨

buildbox-run β€” bestie, it's literally just called buildbox-run πŸ’– (yes the manpage name section is that iconic and that short, no cap)


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the vibe: you run it like this 🫢

usage: debian/buildbox/usr/bin/buildbox-run [OPTIONS]

and then it does its little runner thing. now let's get into the options, because there are so many and I am obsessed with every single one πŸ’…

  • --help β€” prints this message and then dips. bye! πŸ‘‹
  • --version β€” prints version info and exits. the classic.
  • --action=PATH β€” the path where we read the input Action from πŸ“₯
  • --action-result=PATH β€” the path where we write the output ActionResult to πŸ“€
  • --log-level=LEVEL β€” log verbosity, default is info. your choices are trace/debug/info/warning/error. pick your fighter ✨
  • --verbose β€” sets the log level to debug, aka chaos mode (affectionate) πŸ›
  • --digest-function β€” sets the digest function πŸ”
  • --log-directory=DIR β€” write logs into this directory, with filenames shaped like debian/buildbox/usr/bin/buildbox-run.<hostname>.<username>.log.<severity level>.<date>.<time>.<pid> πŸ“
  • --disable-localcas β€” do not use LocalCAS protocol methods, periodt 🚫
  • --workspace-path=PATH β€” the location on disk that the runner uses as root when it executes jobs 🏠
  • --stdout-file=FILE β€” file to redirect the command's stdout into πŸŽ€
  • --stderr-file=FILE β€” file to redirect the command's stderr into πŸ™ˆ
  • --no-logs-capture β€” do not capture and upload whatever got written to stdout and stderr. no receipts, we move on πŸ’…
  • --collect-execution-stats β€” gathers execution_stats.proto metrics and attaches the digest of the message in CAS to ActionResult.execution_metadata.auxiliary_metadata πŸ“Š
  • --validate-parameters β€” only checks whether all the required parameters are being passed and that no unknown options were given. exits with a status code holding the result (0 if it all worked out) βœ…
  • --post-action-command=COMMAND β€” a command to run once the action is done. it can take one parameter, which is the path to the staged directory. heads up bestie: these commands are blocking if --disable-localcas is set 😭
  • --output-bypass-local-cache β€” skips caching output blobs in the LocalCAS storage when you're using the LocalCAS API. lowkey important: this has no effect if --disable-localcas is set 🧊
  • --staging-mode=MODE β€” how to stage directories and files when handling StageTreeRequest. valid values: [fuse, copy-or-link, default], and default would favor fuse if it's available πŸ—‚οΈ
  • --graceful-shutdown-seconds=SECONDS β€” how long to wait after sending a SIGTERM to the executed command because of a timeout or runner shutdown. by default a SIGKILL is sent immediately πŸ’€ (fr fr, no grace period unless you ask for one)
  • --remote=URL β€” URL for the CAS service 🌐
  • --instance=NAME β€” name of the CAS instance 🏷️
  • --server-cert=PATH β€” public server certificate for TLS (PEM-encoded) πŸ”’
  • --client-key=PATH β€” private client key for TLS (PEM-encoded) πŸ—οΈ
  • --client-cert=PATH β€” public client certificate for TLS (PEM-encoded) πŸ“œ
  • --access-token=PATH β€” access Token for authentication (like JWT, OAuth access token, etc). it gets included as an HTTP Authorization bearer token πŸ‘‘
  • --token-reload-interval=MINUTES β€” time to wait before refreshing the access token from disk again. you can optionally add suffixes: M (minutes), H (hours). if you don't add a suffix, the value defaults to minutes ⏰
  • --googleapi-auth β€” uses GoogleAPIAuth when this flag is set 🌈
  • --credential-helper=PATH β€” path to the credential helper executable for dynamic authentication. Example: --credential-helper=/usr/bin/helper 🧚
  • --retry-limit=INT β€” how many times to retry on grpc errors πŸ”
  • --retry-delay=MILLISECONDS β€” how long to wait before the first grpc retry ⏳
  • --retry-on-code β€” which gRPC status code(s) to retry on πŸ“Ÿ
  • --request-timeout=SECONDS β€” how long to wait for gRPC request responses βŒ›
  • --min-throughput=BPS β€” minimum throughput in bytes per second. the value may be suffixed with K, M, G or T πŸš€
  • --keepalive-time=SECONDS β€” the period after which a keepalive ping is sent πŸ’“
  • --load-balancing-policy β€” which grpc load balancing policy to use. valid options are round_robin and grpclb βš–οΈ
  • --ra-remote=URL β€” URL for the Asset service πŸ“¦
  • --ra-instance=NAME β€” name of the Asset instance 🏷️
  • --ra-server-cert=PATH β€” public server certificate for TLS (PEM-encoded) πŸ”’
  • --ra-client-key=PATH β€” private client key for TLS (PEM-encoded) πŸ—οΈ
  • --ra-client-cert=PATH β€” public client certificate for TLS (PEM-encoded) πŸ“œ
  • --ra-access-token=PATH β€” access Token for authentication (like JWT, OAuth access token, etc). it gets included as an HTTP Authorization bearer token πŸ‘‘
  • --ra-token-reload-interval=MINUTES β€” time to wait before refreshing the access token from disk again. you can optionally add suffixes: M (minutes), H (hours). if you don't add a suffix, the value defaults to minutes ⏰
  • --ra-googleapi-auth β€” uses GoogleAPIAuth when this flag is set 🌈
  • --ra-credential-helper=PATH β€” path to the credential helper executable for dynamic authentication. Example: --credential-helper=/usr/bin/helper 🧚
  • --ra-retry-limit=INT β€” how many times to retry on grpc errors πŸ”
  • --ra-retry-delay=MILLISECONDS β€” how long to wait before the first grpc retry ⏳
  • --ra-retry-on-code β€” which gRPC status code(s) to retry on πŸ“Ÿ
  • --ra-request-timeout=SECONDS β€” how long to wait for gRPC request responses βŒ›
  • --ra-min-throughput=BPS β€” minimum throughput in bytes per second. the value may be suffixed with K, M, G or T πŸš€
  • --ra-keepalive-time=SECONDS β€” the period after which a keepalive ping is sent πŸ’“
  • --ra-load-balancing-policy β€” which grpc load balancing policy to use. valid options are round_robin and grpclb βš–οΈ
  • --nested-instance=NAME β€” the instance to use for nested remote execution πŸͺ†
  • --nested-ac-enable-update β€” allows action cache updates for nested remote execution πŸ”„
  • --bind-mount=HOSTPATH:PATH β€” bind mount a file or directory from the host into the sandbox πŸͺ’
  • --enable-tmp-outputs β€” allow capturing outputs under the /tmp directory in the sandbox πŸ—ƒοΈ
  • --ro-bind-mount=[CONTENT:]HOST_PATH:CHROOT_PATH β€” bind a read-only path from HOST_PATH on the host filesystem to CHROOT_PATH inside the constructed chroot. if CONTENT is set, the bind only happens if the action has a property inject=CONTENT πŸ”
  • --oci-auth-token=PATH β€” path to the authentication token file for private registries 🐳
  • --num-parallel-layer-threads=N β€” set the number of parallel threads for OCI layer processing. Default: min(hardware-concurrency, 8) 🧡

and that's the whole page bestie, you ate that πŸ’…βœ¨

mwah πŸ’– this was buildbox-run 1.4.16, from August 2026 β€” see you in the next manpage, iykyk πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from