summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/execution_service/server_implementation.cpp
AgeCommit message (Collapse)Author
9 daysExecutionService: Use LocalApi directlyOliver Reiche
2025-03-11just execute: write pid and info files atomicallyKlaus Aehlig
2024-12-19Remove unnecessary movesOliver Reiche
2024-11-14execution_api/execution_service: Implement IWYU suggestionsPaul Cristian Sarbu
2024-09-13Check compatibility in execution services based on the hash typeMaksim Denisov
2024-09-13Pass HashFunction::Type to CapabilitiesServerMaksim Denisov
...to get the protocol type.
2024-09-13Rename Compatibility class to ProtocolTraitsMaksim Denisov
...and move it to the common stage.
2024-09-09Fix typo in OperationsServiceImpl's nameMaksim Denisov
2024-08-07Replace classic C boolean operators with keywordsMaksim Denisov
! => not; && => and, || => or
2024-07-30Pass RemoteContext to execution serverPaul Cristian Sarbu
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-22Make ServerImpl a general class, not singletonPaul Cristian Sarbu
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-05Pass StorageConfig and Storage to ServerImplMaksim Denisov
2024-07-04Replace the Auth and Auth::TLS singletonsPaul Cristian Sarbu
Use a builder pattern for creation and validation, in a manner that allows also other authentication methods to be added in the future besides the current TLS/SSL. The main Auth instances are built early and then passed by not_null const pointers, to avoid passing temporaries, replacing the previous Auth::TLS instances passed by simple nullable const pointers. Where needed, these passed Auth instances are also stored, by const ref. Tests also build Auth instances as needed, either with the default 'no certification' or from the test environment arguments.
2024-07-04Use ApiBundle's Auth::TLS instance in serve and execute serversPaul Cristian Sarbu
2024-07-04Use Auth and TLS configurations via Instance()Paul Cristian Sarbu
...to more easily keep track of changes during refactoring.
2024-06-25Pass ApiBundle to ServerImplMaksim Denisov
2024-04-08Consistently guard all POSIX C includesPaul Cristian Sarbu
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2024-02-26Initialize file chunker in mainSascha Roloff
2023-11-22Implement blob splitting protocol on just server sideSascha Roloff
2023-09-13remote: Extract port parsing in own libraryPaul Cristian Sarbu
2023-09-01fmt: Fix includes to only bring in the core APIPaul Cristian Sarbu
There is no need to use the full format API, so avoid increasing the compile time gratuitously.
2023-03-10execution service: implement WaitExecution and ↵Alberto Sartori
google::longrunning::Operations::GetOperation For each action that is executed, an entry is added to a shared thread safe cache. Once the number of operations stored exceeds twice 2^n, where n is given by the option --log-operations-threshold, at most 2^n operations will be removed, in a FIFO scheme.
2023-02-28just execute: indicate the mode started inKlaus Aehlig
2023-02-02execution-service: add new subcommand executeAlberto Sartori
This subcommand starts a single node remote execution service honoring the just native remote protocol. If the flag --compatible is provided, the execution service will honor the original remote build execution protocol. New command line args supported by this subcommand: -p,--port INT: Execution service will listen to this port. If unset, the service will listen to the first available one. --info-file TEXT: Write the used port, interface, and pid to this file in JSON format. If the file exists, it will be overwritten. -i,--interface TEXT: Interface to use. If unset, the loopback device is used. --pid-file TEXT Write pid to this file in plain txt. If the file exists, it will be overwritten. --tls-server-cert TEXT: Path to the TLS server certificate. --tls-server-key TEXT: Path to the TLS server key. Co-authored by: Klaus Aehlig <klaus.aehlig@huawei.com>