summaryrefslogtreecommitdiff
path: root/src/buildtool/serve_api/serve_service/TARGETS
AgeCommit message (Collapse)Author
2025-05-20serve service: log every incoming request at debug levelKlaus Aehlig
... so that at this level, the full activity of the serve service can be monitored.
2025-03-11just serve: write pid and info files atomicallyKlaus Aehlig
2025-02-28Make statistics a separate libraryMaksim Denisov
2025-02-28Include ArtifactDigestFactory into "common" libraryMaksim Denisov
2025-02-25just serve: allow clients to access execution endpoint with a different addressAlberto Sartori
To properly use `just serve`, both the client and the serve instance must talk to the very same execution endpoint. Typically, both the client and serve can reach out to the execution endpoint via the same IP address. However, it might be possible that the client and a serve instance know the same execution endpoint by means of differnet IP addresses. For example, the client knows the execution endpoint address through an _external_ IP address, while the serve instance, deployed within the same network infrastructure, only knows the _internal_ IP address. This patch adds the subkey `"client address"` -- of the key `"execution endpoint"` -- in the serve configuration file, to specify the alternative pair `address:port` used by the client.
2025-02-19LocalApi: rename library "local" => "local_api"Maksim Denisov
2025-02-14code structure: rename symlinks_map folder to symlinksPaul Cristian Sarbu
...to remove the unnecessary link between folder name and the logic of resolve_symlinks_map.
2025-01-22serve service: honor keep_artifact_rootKlaus Aehlig
2025-01-21TreeStructure: Compute on serveMaksim Denisov
2024-12-09Move garbage_collector to a separate libraryMaksim Denisov
2024-12-09Localize error_msg argument of ParseRootMaksim Denisov
...and use expected to replace it.
2024-12-04Rename MRApiUtils to RehashUtilsMaksim Denisov
2024-11-14serve_api: Implement IWYU suggestionsPaul Cristian Sarbu
2024-10-29Clean up unused dependenciesKlaus Aehlig
2024-10-25Add dependencies explicitly that are included directlyKlaus Aehlig
... instead of relying on those dependencies being pulled in indirectly.
2024-10-25Enable compatible mode for just-mr and SourceTree serve service...Paul Cristian Sarbu
...by using the new local api that can handle any remote endpoint, irrespective of protocol. Also ensure all tests for the serve service are now being run both in native and compatible modes.
2024-10-25serve service: Set correct protocol-aware digests in responsesPaul Cristian Sarbu
When returning digests in responses, ensure they are of the type the remote would know. Compatible digests can be found vis the stored mappings from Git digests to bazel objects.
2024-10-25just-mr and SourceTree: Use new Git execution api instancePaul Cristian Sarbu
In just-mr: to instantiate the new Git api instance, both storage configs, as well as the compatible storage, need to be passed to the maps. While there, use more explicit naming schemes for the storage and CAS instances used. In serve: also acquire gc locks for the local storages when needed to instantiate the new Git api, which now has access to the CAS. In all these instances we also pass, as needed, the local api, which currently still operates only in native mode. This makes no difference currently, but will ensure less changes needed when the future compatible-aware local api will be used instead.
2024-10-25serve service: Give SourceTreeService access to both local storagesPaul Cristian Sarbu
...native and compatible, even if currently only native is active. While there, be more explicit in which storage instance is being used.
2024-10-10Remove from OSS intersecting public-private dependenciesMaksim Denisov
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-09-13Pass HashFunction::Type to ConfigurationServiceMaksim Denisov
...to get the protocol type.
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-11Use ArtifactDigestFactory in TargetServiceMaksim Denisov
...to create ArtifactDigests.
2024-09-11Use ArtifactDigestFactory in SourceTreeServiceMaksim Denisov
...to create ArtifactDigests.
2024-09-09Validate hashes in serve's targetMaksim Denisov
2024-07-30Pass ExecutionContext to GraphTraverser and Executor/RebuilderPaul Cristian Sarbu
Also update the classes documentation accordingly.
2024-07-30Use RemoteContext in serve servicesPaul Cristian Sarbu
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle.
2024-07-30Pass RemoteContext to ApiBundlePaul Cristian Sarbu
The CreateRemote method is also updated to receive all remote-related information as arguments, such that it does not have to rely on the ApiBundle internal fields which will eventually be removed.
2024-07-30target service: Properly set up the RemoteExecutionConfig instance...Paul Cristian Sarbu
...for orchestrated builds. As the dispatch list and execution properties need to be parsed, place them in a proper RemoteExecutionConfig, to be passed to the created ApiBundle instance.
2024-07-30Use LocalContext in execution and serve servicesPaul Cristian Sarbu
The context is passed by not_null const pointer in order to avoid binding to temporaries, and it or parts of it get stored by const ref where needed.
2024-07-30Pass LocalContext to LocalApiPaul Cristian Sarbu
The context is passed by not_null const pointer to avoid binding to temporaries. The LocalApi also stores the context as const ref for further access and passing it to LocalAction.
2024-07-30Pass LocalContext to ApiBundlePaul Cristian Sarbu
2024-07-22Use HashFunction functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-07-19Take shared repo-gc lock wherever neededKlaus Aehlig
2024-07-19Pass RetryConfig instance to ApiBundlePaul Cristian Sarbu
Also store a const ref for usage in setting up a fresh ApiBundle during target serve.
2024-07-19Make OperationCache a general class, not singletonPaul Cristian Sarbu
As it is used by just execute only, instantiate it inside the ExecutionServer, which reads and writes to the cache map, and pass a const ref to OperationsServer, which only queries.
2024-07-16Use RemoteExecutionConfig instances stored in ApiBundlePaul Cristian Sarbu
...wherever an ApiBundle is already being passed.
2024-07-16target service: Replace duplicated code in TC shard computationPaul Cristian Sarbu
...by using the new DescribeBackend method instead. This ensures that the TC shard computation is indeed consistent between local and serve endpoint.
2024-07-16Pass LocalExecutionConfig to TargetServicePaul Cristian Sarbu
2024-07-16Pass LocalExecutionConfig to ApiBundlePaul Cristian Sarbu
2024-07-16Add missing RemoteExecutionConfig includesPaul Cristian Sarbu
2024-07-05Pass StorageConfig and Storage to ServeMaksim Denisov
2024-07-04Use ApiBundle's Auth::TLS instance in serve and execute serversPaul Cristian Sarbu
2024-06-28Use (un)expected for serve serviceOliver Reiche
2024-06-25Remove CreateExecutionApiMaksim Denisov
2024-06-25Pass ApiBundle to SourceTreeServiceMaksim Denisov
2024-06-25Pass ApiBundle to GraphTraverserMaksim Denisov
2024-06-25Instantiate LocalApi and BazelApi at onceMaksim Denisov
...to properly fallback to local api if needed.
2024-06-18Pass ServeApi to ServeServerImpl by referenceMaksim Denisov
...instead of using singleton calls.