feat: compat code for non x86_64-linux

- do not build packages, which require `x86_64-linux`
- use Phala `dcap-qvl` crate for remote attestation, if possible
- nix: exclude `nixsgx` on non `x86_64-linux` platforms

Signed-off-by: Harald Hoyer <harald@matterlabs.dev>
This commit is contained in:
Harald Hoyer 2025-03-20 10:25:24 +01:00
parent ed808efd03
commit eb39705ff1
Signed by: harald
GPG key ID: F519A1143B3FBE32
41 changed files with 1531 additions and 519 deletions

View file

@ -1,6 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2024 Matter Labs
{ lib
, stdenv
, openssl
, curl
, dockerTools
@ -8,28 +9,31 @@
, teepot
, nixsgx
}:
dockerTools.buildLayeredImage {
name = "tdx-test";
if (stdenv.hostPlatform.isDarwin) then {
# FIXME: dockerTools.buildLayeredImage seems to be broken on Darwin
} else
dockerTools.buildLayeredImage {
name = "tdx-test";
config.Entrypoint = [ "${teepot.teepot.tdx_test}/bin/tdx-test-dcap" ];
config.Env = [
"SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt"
];
contents = buildEnv {
name = "image-root";
paths = with dockerTools;[
teepot.teepot.tdx_test
openssl.out
curl.out
nixsgx.sgx-dcap.quote_verify
nixsgx.sgx-dcap.default_qpl
usrBinEnv
binSh
caCertificates
fakeNss
config.Entrypoint = [ "${teepot.teepot.tdx_test}/bin/tdx-test" ];
config.Env = [
"SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt"
];
pathsToLink = [ "/bin" "/lib" "/etc" "/share" ];
};
}
contents = buildEnv {
name = "image-root";
paths = with dockerTools; [
teepot.teepot.tdx_test
openssl.out
curl.out
# nixsgx.sgx-dcap.quote_verify
# nixsgx.sgx-dcap.default_qpl
usrBinEnv
binSh
caCertificates
fakeNss
];
pathsToLink = [ "/bin" "/lib" "/etc" "/share" ];
};
}