nix/coordinator: support specific private SSH keys
Signed-off-by: Raito Bezarius <raito@lix.systems>
This commit is contained in:
parent
9f98533dd7
commit
94e3d7aeda
|
@ -310,6 +310,7 @@ class GitWithRetry(steps.Git):
|
||||||
|
|
||||||
def nix_eval_config(
|
def nix_eval_config(
|
||||||
project: GerritProject,
|
project: GerritProject,
|
||||||
|
gerrit_private_key: str,
|
||||||
worker_names: list[str],
|
worker_names: list[str],
|
||||||
supported_systems: list[str],
|
supported_systems: list[str],
|
||||||
eval_lock: util.MasterLock,
|
eval_lock: util.MasterLock,
|
||||||
|
@ -326,7 +327,8 @@ def nix_eval_config(
|
||||||
repourl="git://git@git.lix.systems/lix-project/lix",
|
repourl="git://git@git.lix.systems/lix-project/lix",
|
||||||
mode="full",
|
mode="full",
|
||||||
retry=[60, 60],
|
retry=[60, 60],
|
||||||
timeout=3600
|
timeout=3600,
|
||||||
|
sshPrivateKey=gerrit_private_key
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
drv_gcroots_dir = util.Interpolate(
|
drv_gcroots_dir = util.Interpolate(
|
||||||
|
@ -570,12 +572,20 @@ def config_for_project(
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
gerrit_private_key = None
|
||||||
|
with open('/var/lib/buildbot/master/id_gerrit', 'r') as f:
|
||||||
|
gerrit_private_key = f.read()
|
||||||
|
|
||||||
|
if gerrit_private_key is None:
|
||||||
|
raise RuntimeError('No gerrit private key to fetch the repositories')
|
||||||
|
|
||||||
config["builders"].extend(
|
config["builders"].extend(
|
||||||
[
|
[
|
||||||
# Since all workers run on the same machine, we only assign one of them to do the evaluation.
|
# Since all workers run on the same machine, we only assign one of them to do the evaluation.
|
||||||
# This should prevent exessive memory usage.
|
# This should prevent exessive memory usage.
|
||||||
nix_eval_config(
|
nix_eval_config(
|
||||||
project,
|
project,
|
||||||
|
gerrit_private_key,
|
||||||
worker_names,
|
worker_names,
|
||||||
supported_systems=nix_supported_systems,
|
supported_systems=nix_supported_systems,
|
||||||
worker_count=nix_eval_worker_count,
|
worker_count=nix_eval_worker_count,
|
||||||
|
@ -670,6 +680,7 @@ class GerritNixConfigurator(ConfiguratorBase):
|
||||||
gerrit_server: str,
|
gerrit_server: str,
|
||||||
gerrit_user: str,
|
gerrit_user: str,
|
||||||
gerrit_port: int,
|
gerrit_port: int,
|
||||||
|
gerrit_sshkey_path: str,
|
||||||
url: str,
|
url: str,
|
||||||
nix_supported_systems: list[str],
|
nix_supported_systems: list[str],
|
||||||
nix_eval_worker_count: int | None,
|
nix_eval_worker_count: int | None,
|
||||||
|
@ -686,7 +697,7 @@ class GerritNixConfigurator(ConfiguratorBase):
|
||||||
self.nix_eval_max_memory_size = nix_eval_max_memory_size
|
self.nix_eval_max_memory_size = nix_eval_max_memory_size
|
||||||
self.nix_eval_worker_count = nix_eval_worker_count
|
self.nix_eval_worker_count = nix_eval_worker_count
|
||||||
self.nix_supported_systems = nix_supported_systems
|
self.nix_supported_systems = nix_supported_systems
|
||||||
self.gerrit_change_source = GerritChangeSource(gerrit_server, gerrit_user, gerritport=gerrit_port)
|
self.gerrit_change_source = GerritChangeSource(gerrit_server, gerrit_user, gerritport=gerrit_port, identity_file=gerrit_sshkey_path)
|
||||||
self.url = url
|
self.url = url
|
||||||
self.cachix = cachix
|
self.cachix = cachix
|
||||||
if outputs_path is None:
|
if outputs_path is None:
|
||||||
|
|
Loading…
Reference in a new issue