Skip to content

Commit

Permalink
docs: layout tweak of caching info, remove toolchain :( and additiona…
Browse files Browse the repository at this point in the history
…l info about bazel-remote-cache (#19299)

Minor doc improvements.
  • Loading branch information
mike-geeves-oxb authored and WorkerPants committed Jun 15, 2023
1 parent 5f2da32 commit bd1ee9f
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions docs/markdown/Using Pants/remote-caching-execution.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ What is Remote Execution API?

Pants is compatible with remote caching and remote execution servers that comply with the [Remote Execution API](https://github.com/bazelbuild/remote-apis) standard ("REAPI"). The REAPI protocol is supported by several different server and client projects including Bazel and of course Pants.

REAPI servers implement several related but distinct services: (1) a "content-addressable storage" service that stores data keyed by the hash of that data (also known as a "CAS"); (2) an "action cache service" that maps process executions to their results; and (3) an "execution service" that executes processes by using the content-addressable storage service to obtain the inputs and store the outputs from running those processes.
REAPI servers implement several related but distinct services:

1. A "content-addressable storage" service that stores data keyed by the hash of that data (also known as a "CAS").
2. An "action cache service" that maps process executions to their results.
3. An "execution service" that executes processes by using the content-addressable storage service to obtain the inputs and store the outputs from running those processes.

Remote cache servers implement the CAS and action cache services. Remote execution servers implement all three services.

Expand All @@ -33,17 +37,21 @@ Server compatibility

In order to use remote caching or remote execution, Pants will need access to a server that complies with REAPI. Pants is known to work with:

**SaaS**:
- [Toolchain](https://www.toolchain.com), a remote caching service designed by several of the lead maintainers of Pants specifically to work seamlessly with it.

**Self-hosted**:
- [BuildBarn](https://github.com/buildbarn/bb-remote-execution)
- [Buildfarm](https://github.com/bazelbuild/bazel-buildfarm/)
- [BuildGrid](https://buildgrid.build/)
- [bazel-remote](https://github.com/buchgr/bazel-remote]

**Note**: Setup of a self-hosted REAPI server is beyond the scope of this documentation. All these server projects have support channels on the BuildTeamWorld Slack. [Go here to obtain an invite to that Slack.](https://bit.ly/2SG1amT)

As a more lightweight solution - for caching only - Pants can use a server providing only the CAS (content-addressable storage) service.

**Self-hosted**:

- [bazel-remote-cache](https://github.com/buchgr/bazel-remote)

Bazel Remote Cache supports local disk, S3, GCS, and Azure Blob storage options - needing only a single lightweight Docker container.

There are a few [other](https://github.com/bazelbuild/remote-apis) systems and services in this space, but
they have not, to our knowledge, been tested with Pants. Let us know if you have any experience with them!

Expand Down

0 comments on commit bd1ee9f

Please sign in to comment.