!RROtHmAaQIkiJzJZZE:nixos.org

NixOS Infrastructure

390 Members
Next Infra call: 2024-07-11, 18:00 CEST (UTC+2) | Infra operational issues backlog: https://github.com/orgs/NixOS/projects/52 | See #infra-alerts:nixos.org for real time alerts from Prometheus.120 Servers

Load older messages


SenderMessageTime
28 Jan 2025
@k900:0upti.meK900I don't think this is a good idea08:47:50
@k900:0upti.meK900nix-community is very much outside the security boundary for nixpkgs08:48:01
@k900:0upti.meK900So building anything on that infra opens us up to all kinds of trusting-trust fun08:48:33
@hexa:lossy.networkhexaI can see x86_64-linux:big-parallel jobs running, and quite a lot of others, so I think it is indeed working12:18:44
@vcunat:matrix.orgVladimír Čunát Sadly you can't configure different --cores, but at least something. 12:19:59
@hexa:lossy.networkhexaYeah, that's not possible for remote builds at all sadly12:21:03
@joerg:thalheim.ioMic92I don't see how this is security relevant. We don't use any builds results for NixOS infra just now and this wouldn't need to change.14:05:13
@joerg:thalheim.ioMic92* I don't see how this is security relevant. We don't use any builds results of github actions for NixOS infra just now and this wouldn't need to change.14:05:24
@joerg:thalheim.ioMic92It's just testing.14:05:30
@joerg:thalheim.ioMic92I think it's a bit expensive having to maintain separate {x86_64,arm64}-{darwin,linux} for the nix and NixOS infra repository just for a few builds every now and than. Not just in terms of maintaining server cost but also people's time.14:08:07
@sliedes:hacklab.fiSami Liedes joined the room.15:21:30
@sliedes:hacklab.fiSami LiedesHey. I've been toying with an idea. It started from a foray into all kinds of modern processor trusted enclave features, but ended up at something which I think is much simpler. Currently I think all the builds happen on centrally managed infrastructure, right? (Does Nix actually have physical servers, or is it some cloud hosted thing?) I realized that with only a little cleverness it should be feasible to have people securely donate compute time to builds, although in practice I'd limit it to well known cloud instances. (Then there is a policy question of what to trust for official builds.) I don't know if this would be an interesting feature, but I can imagine there have been instances where someone has got a PR merged and would like to pay $1/€1 to get it built sooner, with no downsides that I can see if that comes from extra capacity. This, I believe, could be done by having a blessed VM image for building and use Googles/Azures/whatever vTPM features to attest that it's a VM with a specific hash, given input with a specific hash (what to build), and that it produced an output with a specific hash. Essentially this would get signed by the cloud vendor. This model trusts the cloud vendor and its security. Something similar-ish could be done on untrusted hardware using AMD SEV-SNP (modern EPYCs) or Intel TDX (some Xeons), but IIUC serious hardware attacks are still largely outside their threat model. They could be used as an add-on to the cloud attestation if that is desired (albeit running on such hardware probably has an extra cost, and I don't know how much better in practice it is to trust Intel or AMD, especially with a cloud provider that would certainly have the expertise for serious attacks :-.15:34:25
@sliedes:hacklab.fiSami Liedes* Hey. I've been toying with an idea. It started from a foray into all kinds of modern processor trusted enclave features, but ended up at something which I think is much simpler. Currently I think all the builds happen on centrally managed infrastructure, right? (Does Nix actually have physical servers, or is it some cloud hosted thing?) I realized that with only a little cleverness it should be feasible to have people securely donate compute time to builds, although in practice I'd limit it to well known cloud instances. (Then there is a policy question of what to trust for official builds.) I don't know if this would be an interesting feature, but I can imagine there have been instances where someone has got a PR merged and would like to pay $1/€1 to get it built sooner, with no downsides that I can see if that comes from extra capacity. This, I believe, could be done by having a blessed VM image for building and use Googles/Azures/whatever vTPM features to attest that it's a VM with a specific hash, given input with a specific hash (what to build), and that it produced an output with a specific hash. Essentially this would get signed by the cloud vendor. This model trusts the cloud vendor and its security. Something similar-ish could be done on untrusted hardware using AMD SEV-SNP (modern EPYCs) or Intel TDX (some Xeons), but IIUC serious hardware attacks are still largely outside their threat model. They could be used as an add-on to the cloud attestation if that is desired (albeit running on such hardware probably has an extra cost, and I don't know how much better in practice it is to trust Intel or AMD, especially with a cloud provider that would certainly have the expertise for serious attacks :-).15:35:08
@k900:0upti.meK900CPU time is not the bottleneck 15:37:37
@k900:0upti.meK900At least most of the time 15:37:42
@sliedes:hacklab.fiSami LiedesAh. What is?15:37:46
@k900:0upti.meK900Hydra 15:37:56
@sliedes:hacklab.fiSami LiedesAnd Hydra is not CPU-bound?15:38:11
@k900:0upti.meK900Evaluation is very intensive on RAM, especially for NixOS tests 15:38:16
@k900:0upti.meK900And the Hydra coordinator machine is often CPU bound 15:38:31
@k900:0upti.meK900But throwing more builders at it won't change that 15:38:39
@k900:0upti.meK900In fact it'll make it worse 15:38:43
@sliedes:hacklab.fiSami LiedesAh, so tests.15:38:44
@sliedes:hacklab.fiSami LiedesWell, I guess there's no reason why that same couldn't be used for test-runners? Unless I still misunderstand gravely where the bottleneck is.15:39:04
@k900:0upti.meK900No, tests are just particularly expensive to evaluate because they contain nested nixpkgs instantiations15:39:15
@k900:0upti.meK900Evaluation needs to happen on a single machine 15:39:24
@k900:0upti.meK900Which is the coordinator 15:39:27
@k900:0upti.meK900And it has to be the coordinator unless Hydra is majorly rewritten 15:39:40
@sliedes:hacklab.fiSami LiedesAh, I see. And it runs those in a single thread? Or, one evaluation at a time?15:40:22
@sliedes:hacklab.fiSami LiedesBecause it wants to guarantee that whatever gets out there passes.15:41:00

Show newer messages


Back to Room ListRoom Version: 6