CASUPLOAD(1)
π NAME π
casupload β bestie, it's literally called casupload. that's the whole name. iconic.
β¨ SYNOPSIS β¨
casupload
π DESCRIPTION π
okay so picture this: you got files, you got dirs, and you need them in CAS. that's the whole gig. casupload takes your stuff, ships it to content-addressable storage, and then tells you the digest hash and the size of the Directory messages it made. slay.
πΈ OPTIONS πΈ
--helpβ shows you how to use it, then dips. that's it, that's the whole thing.--versionβ prints the version info and exits. [optional]--remoteβ the URL for the CAS service. [optional]--instanceβ what the CAS instance is called. [optional]--server-certβ the server TLS certificate for CAS (PEM-encoded). [optional]--client-keyβ the client private TLS key for CAS (PEM-encoded). [optional]--client-certβ the client TLS certificate for CAS (PEM-encoded). [optional]--access-tokenβ your auth token for CAS (JWT, OAuth token etc) β heads up bestie, this gets included as an HTTP Authorization bearer token. [optional]--token-reload-intervalβ how often the access token refreshes for the CAS service. [optional]--googleapi-authβ use GoogleAPIAuth for the CAS service. [optional]--credential-helperβ the credential helper executable for the CAS service. [optional]--retry-limitβ how many times we retry on gRPC errors for the CAS service. [optional]--retry-delayβ how long we wait between those retries for the CAS service. [optional]--retry-on-codeβ the gRPC status code(s), as string(s), we retry on for the CAS service, e.g.'UNKNOWN','INTERNAL'. [optional]--request-timeoutβ timeout for gRPC requests to the CAS service (set it to0to disable the timeout entirely). [optional]--min-throughputβ minimum throughput for gRPC requests to the CAS service, in bytes per seconds. the value may be suffixed withK,M,GorT. [optional]--keepalive-timeβ the gRPC keepalive pings period for the CAS service (set to0to disable keepalive pings). [optional]--load-balancing-policyβ the gRPC load balancing policy for the CAS service. valid options are'round_robin'and'grpclb'. [optional]--follow-symlinksβ follow symlinks in the inputs. [optional]--capture-mtimeβ capture the mtime of the files you're uploading. [optional]--capture-unix-modeβ capture the Unix mode of the files you're uploading. [optional]--allow-chmod-to-readβ allow a temporary chmod so we can read files that are otherwise unreadable during upload. [optional]--file-umaskβ a bit mask in octal format that turns off bits in captured unix modes of files. like,--file-umask=0222makes all files non-writable. [optional]--node-propertyβ a node property attached to the uploaded path, e.g.--node-property foo=bar. [optional]--dry-runβ calculate and print the digests, upload absolutely nothing. just vibes and math. [optional]--digest-functionβ set a custom digest function. Default:SHA256. Supported functions:SHA512,SHA384,SHA256,SHA1,MD5. [optional]--output-digest-fileβ write the output root digest to the file in the form"<HASH>/<SIZE_BYTES>". [optional]--output-tree-digest-fileβ write the output tree digest to the file in the form"<HASH>/<SIZE_BYTES>". [optional]--ignore-fileβ ignore files in the input directories that match the patterns in the specified file. the patterns format is as in.gitignoreexcept!and**are not supported. [optional]--directory-formatβ set the format to upload directories in.'--directory-format=root'will upload individually and return a digest of the root directory.'--directory-format=tree'will upload as a single tree message.'--directory-format=both'will do both. [optional]--num-upload-threadsβ the number of threads to upload blobs to the remote CAS.Default=min(hardware-concurrency*2,32). [optional]--num-digest-threadsβ the number of threads to hash files to digests.Default=min(hardware-concurrency,16). [optional]--use-localcasβ use the LocalCAS API to capture directories. heads up, this requires connecting tobuildbox-casd. [optional]--bypass-local-cacheβ skip caching blobs in the LocalCAS storage when using the LocalCAS API. this does literally nothing if--use-localcasisn't set. [optional]--cas-serverβ [Deprecated] use--remoteinstead bestie. [optional]--log-levelβ log level, one of (debug,error,info,trace,warning). [optional, default = "error"]--verboseβ sets the log level to'debug'. [optional]
π«Ά POSITIONAL π«Ά
required β you gotta give it something, no empty-handed energy.
uploads the given files and directories to CAS, then prints the digest hash and size of the corresponding Directory messages.
the files are placed in CAS subdirectories corresponding to their paths. for example, 'casupload file1.txt subdir/file2.txt' would create a CAS directory containing file1.txt and a subdirectory called subdir containing file2.txt. the way it just mirrors your whole structure, obsessed.
the directories will be uploaded individually as merkle trees. the merkle tree for a directory will contain all of the content within the directory. no crumbs left behind. β¨
example usage: casupload --remote=http://localhost:50051 foo.c foo.h
and that's the tea, bestie π¦ this was casupload version 1.4.16, dated August 2026. go forth and upload, you absolute main character π β¨
π¦ 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