mirror of
https://github.com/matter-labs/teepot.git
synced 2025-07-22 15:34:48 +02:00
feat: use nixsgx nix function to create containers
It refactors the way the SGX containers are built. This removes all `Dockerfile` and gramine manifest files. It also enables a single recipe for azure and non-azure variants. Additionally the `teepot-crate.nix` is now the inherited recipe to build the rust `teepot` crate. Signed-off-by: Harald Hoyer <harald@matterlabs.dev>
This commit is contained in:
parent
93e3e73d56
commit
d0c5950c0e
30 changed files with 337 additions and 897 deletions
|
@ -1,48 +1,7 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
# Copyright (c) 2024 Matter Labs
|
||||
{ pkgs
|
||||
, nixsgx
|
||||
, curl
|
||||
, teepot
|
||||
, bash
|
||||
, coreutils
|
||||
, openssl
|
||||
}:
|
||||
let manifest = ./tee-self-attestation-test.manifest.toml;
|
||||
in pkgs.dockerTools.buildLayeredImage {
|
||||
name = "teepot-self-attestation-test-sgx-dcap";
|
||||
tag = "base";
|
||||
|
||||
config.Entrypoint = [ "/bin/sh" "-c" ];
|
||||
|
||||
contents = pkgs.buildEnv {
|
||||
name = "image-root";
|
||||
|
||||
paths = with pkgs.dockerTools; with nixsgx;[
|
||||
bash
|
||||
coreutils
|
||||
openssl.out
|
||||
curl.out
|
||||
teepot.teepot.tee_self_attestation_test
|
||||
gramine
|
||||
restart-aesmd
|
||||
sgx-dcap.quote_verify
|
||||
sgx-dcap.default_qpl
|
||||
sgx-psw
|
||||
usrBinEnv
|
||||
binSh
|
||||
caCertificates
|
||||
fakeNss
|
||||
];
|
||||
pathsToLink = [ "/bin" "/lib" "/etc" "/share" "/app" ];
|
||||
postBuild = ''
|
||||
mkdir -p $out/{app,etc}
|
||||
mkdir -p $out/app/{.dcap-qcnl,.az-dcap-client}
|
||||
mkdir -p $out/var/run
|
||||
mkdir -p $out/${nixsgx.sgx-psw.out}/aesm/
|
||||
ln -s ${curl.out}/lib/libcurl.so $out/${nixsgx.sgx-psw.out}/aesm/
|
||||
cp ${manifest} $out/app/tee-self-attestation-test.manifest.toml
|
||||
printf "precedence ::ffff:0:0/96 100\n" > $out/etc/gai.conf
|
||||
'';
|
||||
};
|
||||
{ teepot }:
|
||||
teepot.container-self-attestation-test-sgx-azure.override {
|
||||
container-name = "teepot-self-attestation-test-sgx-dcap";
|
||||
isAzure = false;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue