table of contents
| CASUPLOAD(1) | User Commands | CASUPLOAD(1) |
NAME¶
casupload - casupload
SYNOPSIS¶
casupload
DESCRIPTION¶
- --help
- Display usage and exit.
- --version
- Print version information and exit. [optional]
- --remote
- URL for the CAS service [optional]
- --instance
- Name of the CAS instance [optional]
- --server-cert
- Server TLS certificate for CAS (PEM-encoded) [optional]
- --client-key
- Client private TLS key for CAS (PEM-encoded) [optional]
- --client-cert
- Client TLS certificate for CAS (PEM-encoded) [optional]
- --access-token
- Authentication token for CAS (JWT, OAuth token etc), will be included as an HTTP Authorization bearer token [optional]
- --token-reload-interval
- Access token refresh timeout for CAS service [optional]
- --googleapi-auth
- Use GoogleAPIAuth for CAS service [optional]
- --credential-helper
- Credential helper executable for CAS service [optional]
- --retry-limit
- Retry limit for gRPC errors for CAS service [optional]
- --retry-delay
- Retry delay for gRPC errors for CAS service [optional]
- --retry-on-code
- gRPC status code(s) as string(s) to retry on for CAS service e.g., 'UNKNOWN', 'INTERNAL' [optional]
- --request-timeout
- Timeout for gRPC requests for CAS service (set to 0 to disable timeout) [optional]
- --min-throughput
- Minimum throughput for gRPC requests for CAS service, bytes per seconds. The value may be suffixed with K, M, G or T. [optional]
- --keepalive-time
- gRPC keepalive pings period for CAS service (set to 0 to disable keepalive pings) [optional]
- --load-balancing-policy
- gRPC load balancing policy for CAS service (valid options are 'round_robin' and 'grpclb') [optional]
- --follow-symlinks
- Follow symlinks in the inputs [optional]
- --capture-mtime
- Capture mtime of files to be uploaded [optional]
- --capture-unix-mode
- Capture Unix mode of files to be uploaded [optional]
- --allow-chmod-to-read
- Allow temporary chmod to read unreadable files during upload [optional]
- --file-umask
- Bit mask in the octal format to turn off bits in captured unix modes of files, e.g. --file-umask=0222 makes all files non-writable [optional]
- --node-property
- Node property attached to the uploaded path, e.g. --node-property foo=bar [optional]
- --dry-run
- Calculate and print digests, do not upload anything [optional]
- --digest-function
- Set a custom digest function. Default: SHA256 Supported functions: SHA512, SHA384, SHA256, SHA1, MD5 [optional]
- --output-digest-file
- Write output root digest to the file in the form "<HASH>/<SIZE_BYTES>" [optional]
- --output-tree-digest-file
- Write 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. 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 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. This requires connecting to buildbox-casd. [optional]
- --bypass-local-cache
- Skip caching blobs in the LocalCAS storage when using the LocalCAS API. This has no effect if `--use-localcas` isn't set. [optional]
- --cas-server
- [Deprecated] Use --remote [optional]
- --log-level
- Log level (debug, error, info, trace, warning) [optional, default = "error"]
- --verbose
- Set log level to 'debug' [optional] POSITIONAL [required]
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 directories will be uploaded individually as merkle trees. The merkle tree for a directory will contain all of the content within the directory.
Example usage: casupload --remote=http://localhost:50051 foo.c foo.h
| March 2026 | casupload 1.4.0 |