BUILDBOX-CASD(1)
π¦ buildbox-casd β BUILDBOX-CASD(1) π¦
okay bestie, come SIT. this is the User Commands manual for buildbox-casd, and it's a long one so grab a snack π (this is part 1 of 2, we're not even close to done yet)
β¨ NAME β¨
buildbox-casd β literally just buildbox-casd. that's the name, that's the whole name. short, sweet, iconic π
πΈ SYNOPSIS πΈ
buildbox-casd
no args, no drama. she just runs. π
π DESCRIPTION π
so buildbox-casd is a whole buffet of flags, and fr fr there are a LOT of them. every single one is marked [optional], which is giving "no pressure, choose your own adventure". here's the full menu, no cap, nothing skipped π«Ά
π the flags π
β¨ the "all services" bunch (she does everything at once, main character energy) β¨
--helpβ shows you how to use her and dips. that's it, that's the whole flag.--versionβ prints the version info and bounces. [optional]--remoteβ the URL for all the services. one link to rule them all. [optional]--instanceβ the instance for all the services. [optional]--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β the auth token for all services (JWT, OAuth token, whatever you got), and it gets included as an HTTPAuthorizationbearer token. [optional]--token-reload-intervalβ the default access token refresh timeout. [optional]--googleapi-authβ useGoogleAPIAuthfor all services. [optional]--credential-helperβ the 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β the 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 to0to disable the timeout entirely. [optional]--min-throughputβ minimum throughput for gRPC requests for all services, in bytes per seconds. the value may be suffixed withK,M,GorT. [optional]--keepalive-timeβ the gRPC keepalive pings period for all services. set it to0to disable keepalive pings. [optional]--load-balancing-policyβ gRPC load balancing policy for all services. the valid options are'round_robin'and'grpclb'. [optional]
π§ the CAS service squad π§
--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 HTTPAuthorizationbearer token. [optional]--cas-token-reload-intervalβ access token refresh timeout for the CAS service. [optional]--cas-googleapi-authβ useGoogleAPIAuthfor 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β the 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 to0to disable the timeout. [optional]--cas-min-throughputβ minimum throughput for gRPC requests for the CAS service, in bytes per seconds. the value may be suffixed withK,M,GorT. [optional]--cas-keepalive-timeβ the gRPC keepalive pings period for the CAS service. set it to0to disable keepalive pings. [optional]--cas-load-balancing-policyβ gRPC load balancing policy for the CAS service. valid options are'round_robin'and'grpclb'. [optional]
π the local server corner π
--server-instanceβ [Deprecated] bestie, use--local-server-instanceinstead, this one is giving expired. [optional]--local-server-instanceβ create an extra local CAS server instance. super useful when--cas-remoteis specified. [optional]--digest-functionβ set a custom digest function. default:SHA256. supported functions:SHA512,SHA384,SHA256,SHA1,MD5. [optional]
π the Action Cache crew π
--ac-remoteβ URL for the Action Cache service. [optional]--ac-instanceβ name of the Action Cache instance. [optional]--ac-server-certβ server TLS certificate for Action Cache (PEM-encoded). [optional]--ac-client-keyβ client private TLS key for Action Cache (PEM-encoded). [optional]--ac-client-certβ client TLS certificate for Action Cache (PEM-encoded). [optional]--ac-access-tokenβ auth token for Action Cache (JWT, OAuth token etc), included as an HTTPAuthorizationbearer token. [optional]--ac-token-reload-intervalβ access token refresh timeout for the Action Cache service. [optional]--ac-googleapi-authβ useGoogleAPIAuthfor the Action Cache service. [optional]--ac-credential-helperβ credential helper executable for the Action Cache service. [optional]--ac-retry-limitβ retry limit for gRPC errors for the Action Cache service. [optional]--ac-retry-delayβ retry delay for gRPC errors for the Action Cache service. [optional]--ac-retry-on-codeβ the gRPC status code(s), as string(s), to retry on for the Action Cache service, e.g.,'UNKNOWN','INTERNAL'. [optional]--ac-request-timeoutβ timeout for gRPC requests for the Action Cache service. set it to0to disable the timeout. [optional]--ac-min-throughputβ minimum throughput for gRPC requests for the Action Cache service, in bytes per seconds. the value may be suffixed withK,M,GorT. [optional]--ac-keepalive-timeβ the gRPC keepalive pings period for the Action Cache service. set it to0to disable keepalive pings. [optional]--ac-load-balancing-policyβ gRPC load balancing policy for the Action Cache service. valid options are'round_robin'and'grpclb'. [optional]
π the Remote Asset gang π
--ra-remoteβ URL for the Remote Asset service. [optional]--ra-instanceβ name of the Remote Asset instance. [optional]--ra-server-certβ server TLS certificate for Remote Asset (PEM-encoded). [optional]--ra-client-keyβ client private TLS key for Remote Asset (PEM-encoded). [optional]--ra-client-certβ client TLS certificate for Remote Asset (PEM-encoded). [optional]--ra-access-tokenβ auth token for Remote Asset (JWT, OAuth token etc), included as an HTTPAuthorizationbearer token. [optional]--ra-token-reload-intervalβ access token refresh timeout for the Remote Asset service. [optional]--ra-googleapi-authβ useGoogleAPIAuthfor the Remote Asset service. [optional]--ra-credential-helperβ credential helper executable for the Remote Asset service. [optional]--ra-retry-limitβ retry limit for gRPC errors for the Remote Asset service. [optional]--ra-retry-delayβ retry delay for gRPC errors for the Remote Asset service. [optional]--ra-retry-on-codeβ the gRPC status code(s), as string(s), to retry on for the Remote Asset service, e.g.,'UNKNOWN','INTERNAL'. [optional]--ra-request-timeoutβ timeout for gRPC requests for the Remote Asset service. set it to0to disable the timeout. [optional]--ra-min-throughputβ minimum throughput for gRPC requests for the Remote Asset service, in bytes per seconds. the value may be suffixed withK,M,GorT. [optional]--ra-keepalive-timeβ the gRPC keepalive pings period for the Remote Asset service. set it to0to disable keepalive pings. [optional]--ra-load-balancing-policyβ gRPC load balancing policy for the Remote Asset service. valid options are'round_robin'and'grpclb'. [optional]
π₯ the Execution service (she runs things, literally) π₯
--exec-remoteβ URL for the Execution service. [optional]--exec-instanceβ name of the Execution instance. [optional]--exec-server-certβ server TLS certificate for Execution (PEM-encoded). [optional]--exec-client-keyβ client private TLS key for Execution (PEM-encoded). [optional]--exec-client-certβ client TLS certificate for Execution (PEM-encoded). [optional]--exec-access-tokenβ auth token for Execution (JWT, OAuth token etc), included as an HTTPAuthorizationbearer token. [optional]--exec-token-reload-intervalβ access token refresh timeout for the Execution service. [optional]--exec-googleapi-authβ useGoogleAPIAuthfor the Execution service. [optional]--exec-credential-helperβ credential helper executable for the Execution service. [optional]--exec-retry-limitβ retry limit for gRPC errors for the Execution service. [optional]--exec-retry-delayβ retry delay for gRPC errors for the Execution service. [optional]--exec-retry-on-codeβ the gRPC status code(s), as string(s), to retry on for the Execution service, e.g.,'UNKNOWN','INTERNAL'. [optional]--exec-request-timeoutβ timeout for gRPC requests for the Execution service. set it to0to disable the timeout. [optional]--exec-min-throughputβ minimum throughput for gRPC requests for the Execution service, in bytes per seconds. the value may be suffixed withK,M,GorT. [optional]--exec-keepalive-timeβ the gRPC keepalive pings period for the Execution service. set it to0to disable keepalive pings. [optional]--exec-load-balancing-policyβ gRPC load balancing policy for the Execution service. valid options are'round_robin'and'grpclb'. [optional]
π«Ά proxy, binding & local cache (the last chunk of this part, we're so close) π«Ά
--proxy-instanceβ name of the proxy instance. you can specify multiple values ofPROXY_INSTANCE[:REMOTE_INSTANCE]. ifREMOTE_INSTANCEexists, the proxy instance uses it for remote connections, and it overrides the--*instanceoptions. [optional]--bindβ bind to address:port or a UNIX socket inunix:path. multiple addresses can be specified. [optional]--unix-socket-groupβ if you're binding to a UNIX socket, this updates its group ownership. [optional]--unix-socket-modeβ if you're binding to a UNIX socket, this updates its mode in octal format, e.g.0775. [optional]--permit-keepalive-timeβ the minimum allowed time in seconds between keepalive pings coming from clients. [optional]--quota-highβ maximum local cache size (e.g.,50Gor2T). [optional]--quota-lowβ local cache size to retain on LRU expiry, either as an absolute size or as a percentage ofquota-high. [optional, default ="50%"]--reservedβ reserved disk space (the headroom that gets left whenquota-highgets automatically reduced). [optional, default ="2G"]--protect-session-blobsβ do not expire blobs created or used in the current session. [optional, default =false]
okay and that's genuinely just the top of the iceberg π§ part 2 is coming and she has more to say, so don't go anywhere bestie π
--fail-fast-during-cleanupβ bestie, the moment LRU cleanup is happening, write requests get rejected IMMEDIATELY withRESOURCE_EXHAUSTEDπ« no waiting, no queuing, just nope. (optional, default =false)--buildbox-runβ the absolute path to your runner executable, which is what switches on the local execution service β¨ (optional)--runner-argβ the args you wanna hand off tobuildbox-runwheneverbuildbox-casdruns a job π (optional)--jobsβ max number of jobs running at the same time for local execution. gather round, the limit is real π (optional, default =4)--exec-hybrid-queue-limitβ the maximum queue length for local execution when you're in a proxy instance π§ (optional)--exec-fallback-to-localβ if the remote server can't schedule what the client asked for (like, say, it's throttling y'all), it falls back to local execution π«Ά and heads up: those fallback executions are excluded from the--exec-hybrid-queue-limitvalue. You need--buildbox-runset for this to even work. (optional, default =false)--cache-failuresβ caches local actions that exited with a non-zero exit code π (optional, default =true)--findmissingblobs-cache-ttlβ how many seconds to cache the results ofFindMissingBlobs()calls when you're in proxy mode β³ (optional, default =0)--capture-allow-file-movesβ when a LocalCAS capture request has itsmove_filesflag set, this attempts to move files into the CAS instead. That's a win because it avoids a copy only when the file lives on the same filesystem as theLOCAL_CACHEdirectory AND is owned by the user running casd π
β οΈ NOTE: only turn this on if your clients can be trusted not to break the consistency of the storage. Like, for real.
(optional, default = false)
--metrics-modeβ Metrics Mode:--metrics-mode=MODEβ the options for MODE areudp://<hostname>:<port>,file:///path/to/file, andstderrπ (optional)--metrics-publish-intervalβ how often metrics get published π (optional, default =15)--metrics-prefixβ the prefix stuck onto your metric names π·οΈ (optional, default ="buildboxcasd")--read-only-remoteβ says whether casd should update the remote CAS with local build artifacts π€ (optional)--store-writable-objectsβ stores object files with writable mode (644) π (optional)--num-digest-threadsβ how many threads hash files into digests. Default =min(hardware-concurrency,16)π§΅ (optional)--num-io-threadsβ how many threads proxy CAS instances use to upload/download blobs to and from the remote CAS. Default =min(hardware-concurrency*2,64)π (optional)--shutdown-deadlineβ force-terminate pending requests this many seconds after a shutdown was requested (SIGINT/SIGTERM) β° (optional)--allow-pre-unstage-commandβ a list of absolute paths to executables that are allowed to run before staged directories get unstaged π (optional)--ac-validation-cache-ttlβ how many seconds to cache the results ofGetActionResult()validations when in proxy mode ποΈ (optional, default =0)--log-levelβ the log level. Your choices aredebug,error,info,trace,warningπ (optional, default ="error")--verboseβ just sets the log level todebugfor you, no thoughts, head empty π (optional)- Cache path β POSITIONAL (required) π
and that's the whole page, bestie, we ATE π
β¨ this was buildbox-casd version 1.4.16, hailing from August 2026, and yes, it is still living its BUILDBOX-CASD(1) main character era ππ go forth and cache responsibly π«Άπ
π¦ where this page comes from
- ubuntu stonking: buildbox 1.4.16+dfsg-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms