CASUPLOAD(1)

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

πŸ’– 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 to 0 to 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 with K, M, G or T. [optional]
  • --keepalive-time β€” the gRPC keepalive pings period for the CAS service (set to 0 to 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=0222 makes 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 .gitignore except ! 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 to buildbox-casd. [optional]
  • --bypass-local-cache β€” skip caching blobs in the LocalCAS storage when using the LocalCAS API. this does literally nothing if --use-localcas isn't set. [optional]
  • --cas-server β€” [Deprecated] use --remote instead 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