Get desktop application:
View/edit binary Protocol Buffers messages
Capture files from the local filesystem. This imports the specified paths from the local filesystem into CAS. If a CAS remote is configured, the blobs are uploaded. The `bypass_local_cache` parameter is a hint to indicate whether the blobs shall be uploaded without first storing them in the local cache. The `move_files` parameter is a hint to indicate that the files could be moved into the storage. This can make capturing more efficient by avoiding copies when it is known that files will not be needed after they are imported. If a server chooses not to move them, the source files will still exist after this request. The `skip_upload` parameter is a hint to indicate that the files do not need to be uploaded to the remote CAS. This can be useful for local-only workflows where an upload step adds unnecessary latency.
A request message for [LocalContentAddressableStorage.CaptureFiles][build.buildgrid.v2.LocalContentAddressableStorage.CaptureFiles].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
The optional root path to restrict capture to a subtree. If specified, `path` will be resolved inside this root. No files outside the root will be captured.
The path(s) in the local filesystem to capture.
This is a hint whether the blobs shall be uploaded to the remote CAS without first storing them in the local cache.
The properties of path(s) in the local filesystem to capture.
Hints whether the files can be moved into the storage. If enabled, they MUST NOT be modified after issuing this request in order to guarantee consistency.
Hints whether files should be uploaded to the remote CAS. This is mutually exclusive with `bypass_local_cache`. If both `skip_upload` and `bypass_local_cache` are set, the server MUST return an InvalidArgument error.
The mask to apply to the files being captured. For example, a mask of `0222` will result in contents being captured as read-only. This is only effective when the unix_mode property is captured.
A response message for [LocalContentAddressableStorage.CaptureFiles][build.buildgrid.v2.LocalContentAddressableStorage.CaptureFiles].
The responses to the requests.
Capture a directory tree from the local filesystem. This imports the specified path from the local filesystem into CAS. If a CAS remote is configured, the blobs are uploaded. The `bypass_local_cache` parameter is a hint to indicate whether the blobs shall be uploaded without first storing them in the local cache. The `move_files` parameter is a hint to indicate that files could be moved into the storage. This can make capturing more efficient by avoiding copies when it is known that files will not be needed after they are imported. If a server chooses not to move them, the source files will still exist after this request. The `skip_upload` parameter is a hint to indicate that the files do not need to be uploaded to the remote CAS. This can be useful for local-only workflows where an upload step adds unnecessary latency.
A request message for [LocalContentAddressableStorage.CaptureTree][build.buildgrid.v2.LocalContentAddressableStorage.CaptureTree].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
The optional root path to restrict capture to a subtree. If specified, `path` will be resolved inside this root. No files outside the root will be captured.
The path(s) in the local filesystem to capture.
This is a hint whether the blobs shall be uploaded to the remote CAS without first storing them in the local cache.
The properties of path(s) in the local filesystem to capture.
Hints whether files can be moved into the storage. If enabled, they MUST NOT be modified after issuing this request in order to guarantee consistency.
The format that the localcas should use to capture the contents of output directories. In case this field is set to a value that is not supported by the localcas, the worker SHOULD interpret this field as TREE_ONLY. The localcas MAY store output directories in formats that are a superset of what was requested (e.g., interpreting DIRECTORY_ONLY as TREE_AND_DIRECTORY).
Hints whether files should be uploaded to the remote CAS. This is mutually exclusive with `bypass_local_cache`. If both `skip_upload` and `bypass_local_cache` are set, the server MUST return an InvalidArgument error.
The mask to apply to the files and directories being captured. For example, a mask of `0222` will result in contents being captured as read-only. This is only effective when the unix_mode property is captured.
A response message for [LocalContentAddressableStorage.CaptureTree][build.buildgrid.v2.LocalContentAddressableStorage.CaptureTree].
The responses to the requests.
Fetch blobs from a remote CAS to the local cache. This request is equivalent to ByteStream `Read` or `BatchReadBlobs` requests, storing the downloaded blobs in the local cache. Requested blobs that failed to be downloaded will be listed in the response. Errors: * `INVALID_ARGUMENT`: The client attempted to download more than the server supported limit. Individual requests may return the following error, additionally: * `NOT_FOUND`: The requested blob is not present in the remote CAS.
A request message for [LocalContentAddressableStorage.FetchMissingBlobs][build.buildgrid.v2.LocalContentAddressableStorage.FetchMissingBlobs].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
A list of the blobs to fetch.
A response message for [LocalContentAddressableStorage.FetchMissingBlobs][build.buildgrid.v2.LocalContentAddressableStorage.FetchMissingBlobs].
The responses to the failed requests.
Fetch the entire directory tree rooted at a node from a remote CAS to the local cache. This request is equivalent to `GetTree`, storing the `Directory` objects in the local cache. Optionally, this will also fetch all blobs referenced by the `Directory` objects, equivalent to `FetchMissingBlobs`. If no remote CAS is available, this will check presence of the entire directory tree (and optionally also file blobs) in the local cache. * `NOT_FOUND`: The requested tree is not present in the CAS or incomplete.
A request message for [LocalContentAddressableStorage.FetchTree][build.buildgrid.v2.LocalContentAddressableStorage.FetchTree].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
The digest of the root, which must be an encoded [Directory][build.bazel.remote.execution.v2.Directory] message stored in the [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
Whether to fetch blobs of files in the directory tree.
A response message for [LocalContentAddressableStorage.FetchTree][build.buildgrid.v2.LocalContentAddressableStorage.FetchTree].
(message has no fields)
Configure sandboxed clients. This returns a string that can be used as instance_name to access this service from clients running in the specified filesystem/mount namespace or chroot environment
A request message for [LocalContentAddressableStorage.GetInstanceNameForRemote][build.buildgrid.v2.LocalContentAddressableStorage.GetInstanceNameForNamespace].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
The root path of the mount namespace to restrict capture and staging. All paths in requests to the new instance will be resolved inside this root.
A response message for [LocalContentAddressableStorage.GetInstanceNameForRemote][build.buildgrid.v2.LocalContentAddressableStorage.GetInstanceNameForNamespace].
Configure remote CAS endpoint. This returns a string that can be used as instance_name to access the specified endpoint in further requests. DEPRECATED: Use `content_addressable_storage` in `GetInstanceNameForRemotes()` instead.
A request message for [LocalContentAddressableStorage.GetInstanceNameForRemote][build.buildgrid.v2.LocalContentAddressableStorage.GetInstanceNameForRemote].
The URL for the remote CAS server.
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
PEM-encoded public server certificate for https connections to the remote CAS server.
PEM-encoded private client key for https with certificate-based client authentication. If this is specified, `client_cert` must be specified as well.
PEM-encoded public client certificate for https with certificate-based client authentication. If this is specified, `client_key` must be specified as well.
A response message for [LocalContentAddressableStorage.GetInstanceNameForRemote][build.buildgrid.v2.LocalContentAddressableStorage.GetInstanceNameForRemote].
Configure remote endpoints. This returns a string that can be used as instance_name to access the specified endpoints in further requests.
A request message for [LocalContentAddressableStorage.GetInstanceNameForRemotes][build.buildgrid.v2.LocalContentAddressableStorage.GetInstanceNameForRemotes].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
A response message for [LocalContentAddressableStorage.GetInstanceNameForRemotes][build.buildgrid.v2.LocalContentAddressableStorage.GetInstanceNameForRemotes].
Query total space used by the local cache.
A request message for [LocalContentAddressableStorage.GetLocalDiskUsage][build.buildgrid.v2.LocalContentAddressableStorage.GetLocalDiskUsage].
(message has no fields)
A response message for [LocalContentAddressableStorage.GetLocalDiskUsage][build.buildgrid.v2.LocalContentAddressableStorage.GetLocalDiskUsage].
Total size used by the local cache, in bytes.
Disk quota for the local cache, in bytes. A value of 0 means no quota is set.
Retrieves the configuration details for the local CAS server. This RPC allows clients to obtain information such as the hostname, user ID, and storage root of the local CAS server.
A request message for [LocalContentAddressableStorage.GetLocalServerDetails][build.buildgrid.v2.LocalContentAddressableStorage.GetLocalServerDetails].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
A response message for [LocalContentAddressableStorage.GetLocalServerDetails][build.buildgrid.v2.LocalContentAddressableStorage.GetLocalServerDetails].
The hostname where the local CAS server is running. This is used to determine if the client is running on the same host as the server. When running on the same host, you may access the storage_root directly.
The user ID (UID) which owns the local CAS process. This is used to determine if the client is running as the same user as the server. When running as the same user, hardlinking from the storage_root is dangerous.
The absolute path to the local CAS cache directory. The storage_root contains locally stored blobs for digests in CAS. The local path to a blob has the following format: storage_root/objects/{hash[:2]}/{hash[2:]}
Stage a directory tree in the local filesystem. This makes the specified directory tree temporarily available for local filesystem access. It is implementation-defined whether this uses a userspace filesystem such as FUSE, hardlinking or a full copy. Missing blobs are fetched, if a CAS remote is configured. The staging starts when the server receives the initial request and it is ready to be used on the initial (non-error) response from the server. The server will clean up the staged directory when it either receives an additional request (with all fields unset) or when the stream is closed. The server will send an additional response after cleanup is complete.
A request message for [LocalContentAddressableStorage.StageTree][build.buildgrid.v2.LocalContentAddressableStorage.StageTree].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
The digest of the root, which must be an encoded [Directory][build.bazel.remote.execution.v2.Directory] message stored in the [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
The path in the local filesystem where the specified tree should be staged. It must either point to an empty directory or not exist yet. This is optional. If not specified, the server will choose a location. The server may require the path to be on the same filesystem as the local cache to support hardlinking. The path may be a subdirectory of another staged tree. The lifetime of this staged tree will in that case be limited to the lifetime of the parent.
The UNIX credentials of the processes that will access the staged tree. This will be used to ensure that the files have the right permissions for access without risking corruption of files in the local cache.
The path, relative to the staging directory, where a server socket should be created for access to the Remote Execution API.
The commands to run against the tree before it is cleaned. Each command must be an absolute path to an executable which can be run as `/path/to/command <path-to-stage-dir>`. The working directory of launched commands will be the same as the LocalCAS server process. The server SHOULD maintain an allowlist of commands that can be launched.
The staging mode to use for the tree. `INVALID_ARGUMENT` is returned if the server does not support the requested mode.
A response message for [LocalContentAddressableStorage.StageTree][build.buildgrid.v2.LocalContentAddressableStorage.StageTree].
The path in the local filesystem where the specified tree has been staged.
Upload blobs from the local cache to a remote CAS. This request is equivalent to `FindMissingBlobs` followed by ByteStream `Write` or `BatchUpdateBlobs` requests. Blobs that failed to be uploaded will be listed in the response. Errors: * `INVALID_ARGUMENT`: The client attempted to upload more than the server supported limit. Individual requests may return the following error, additionally: * `NOT_FOUND`: The requested blob is not present in the local cache. * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob.
A request message for [LocalContentAddressableStorage.UploadMissingBlobs][build.buildgrid.v2.LocalContentAddressableStorage.UploadMissingBlobs].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
A list of the blobs to fetch.
A response message for [LocalContentAddressableStorage.UploadMissingBlobs][build.buildgrid.v2.LocalContentAddressableStorage.UploadMissingBlobs].
The responses to the failed requests.
Upload the entire directory tree from the local cache to a remote CAS. This request is equivalent to `UploadMissingBlobs` for all blobs referenced by the specified tree (recursively). Errors: * `NOT_FOUND`: The requested tree root is not present in the local cache. * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the tree.
A request message for [LocalContentAddressableStorage.UploadTree][build.buildgrid.v2.LocalContentAddressableStorage.UploadTree].
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
The digest of the root, which must be an encoded [Directory][build.bazel.remote.execution.v2.Directory] message stored in the [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
A response message for [LocalContentAddressableStorage.UploadTree][build.buildgrid.v2.LocalContentAddressableStorage.UploadTree].
(message has no fields)
A response corresponding to a single blob that the client tried to upload.
Used in:
The path to which this response corresponds.
The digest of the captured file's content, if successful.
The result of attempting to capture and upload the file.
True if the captured file was executable, false otherwise.
A response corresponding to a single blob that the client tried to upload.
Used in:
The path to which this response corresponds.
The digest of the captured tree as an encoded [Tree][build.bazel.remote.execution.v2.Tree] proto containing the directory's contents, if successful.
The result of attempting to capture and upload the tree.
The digest of the captured directory as an encoded [Tree][build.bazel.remote.execution.v2.Directory] proto containing the directory's contents, if successful.
A response corresponding to a single blob that the client tried to download.
Used in:
The digest to which this response corresponds.
The result of attempting to download that blob.
Used in:
The URL for the remote server.
The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.
PEM-encoded public server certificate for https connections to the remote server.
PEM-encoded private client key for https with certificate-based client authentication. If this is specified, `client_cert` must be specified as well.
PEM-encoded public client certificate for https with certificate-based client authentication. If this is specified, `client_key` must be specified as well.
The path to a token for optional HTTP bearer authentication.
Access token reload interval.
Remote keepalive time. Unset or empty is treated as disabling keepalive.
The maximum number of time a request is retried on this remote A `retry_limit` of 0 indicates that there is no limit and the server can pick a retry_limit
The initial recommended retry delay before the first retry, the server might implement a backoff startegy. A `retry_delay` of unset or empty indicates that there is no delay recommended and the server can pick a retry_delay
How long to wait for a response from the remote.
If set, don't upload any blobs, action results or assets to the remote.
Used in:
Used in:
The staging mode is not specified. The LocalCAS server will use the default staging mode chosen from its configuration and environment.
The tree will be staged using libfuse.
The tree will be staged by copying or linking files from the local cache. The exact behavior depends on the filesystem, contents of the tree and the credentials of the client.
A response corresponding to a single blob that the client tried to upload.
Used in:
The digest to which this response corresponds.
The result of attempting to upload that blob.