feat: rename manifest and sigs to app by default via appName parameter

This will ease the creation of scripts processing containers further.

Signed-off-by: Harald Hoyer <harald@matterlabs.dev>
This commit is contained in:
Harald Hoyer 2024-06-26 12:11:42 +02:00
parent f6c55e4229
commit 83f9cc24ee
Signed by: harald
GPG key ID: F519A1143B3FBE32
3 changed files with 17 additions and 32 deletions

View file

@ -21,6 +21,7 @@ _:
, extraPostBuild ? "" , extraPostBuild ? ""
, extraChrootCommands ? "" , extraChrootCommands ? ""
, appDir ? "/app" , appDir ? "/app"
, appName ? "app"
, sigFile ? null , sigFile ? null
, extendedPackages ? [ ] , extendedPackages ? [ ]
, customRecursiveMerge ? null , customRecursiveMerge ? null
@ -121,7 +122,7 @@ _:
set -e set -e
mkdir -p $out/{etc,var/run} mkdir -p $out/{etc,var/run}
mkdir -p $out/${appDir}/{.dcap-qcnl,.az-dcap-client} mkdir -p $out/${appDir}/{.dcap-qcnl,.az-dcap-client}
ln -s ${manifestFile} $out/${appDir}/${name}.manifest.toml ln -s ${manifestFile} $out/${appDir}/${appName}.manifest.toml
# Increase IPv4 address priority # Increase IPv4 address priority
printf "precedence ::ffff:0:0/96 100\n" > $out/etc/gai.conf printf "precedence ::ffff:0:0/96 100\n" > $out/etc/gai.conf
${ ${
@ -170,10 +171,10 @@ _:
'' ''
${extraCmd}; ${extraCmd};
if [ -n "$GRAMINE_DIRECT" ]; then if [ -n "$GRAMINE_DIRECT" ]; then
exec gramine-direct ${name}; exec gramine-direct ${appName};
else else
[[ -r /var/run/aesmd/aesm.socket ]] || restart-aesmd >&2; [[ -r /var/run/aesmd/aesm.socket ]] || restart-aesmd >&2;
exec gramine-sgx ${name}; exec gramine-sgx ${appName};
fi fi
'' ''
]; ];
@ -200,10 +201,10 @@ _:
( (
set -e set -e
cd ${appDir} cd ${appDir}
HOME=${appDir} ${nixsgx.gramine}/bin/gramine-manifest ${manifestFile} ${name}.manifest; HOME=${appDir} ${nixsgx.gramine}/bin/gramine-manifest ${manifestFile} ${appName}.manifest;
${nixsgx.gramine}/bin/gramine-sgx-sign \ ${nixsgx.gramine}/bin/gramine-sgx-sign \
--manifest ${name}.manifest \ --manifest ${appName}.manifest \
--output ${name}.manifest.sgx \ --output ${appName}.manifest.sgx \
--key ${keyfile}; --key ${keyfile};
eval "${extraChrootCommands}" eval "${extraChrootCommands}"
) )
@ -221,8 +222,8 @@ _:
includeStorePaths = false; includeStorePaths = false;
extraCommands = '' extraCommands = ''
mkdir -p app mkdir -p ${appDir}
cp ${sigFile} app/nixsgx-test-sgx-azure.sig cp ${sigFile} ${appDir}/${appName}.sig
''; '';
} }
else fromImage; else fromImage;

View file

@ -1,25 +1,6 @@
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2024 Matter Labs # Copyright (c) 2024 Matter Labs
{ lib { nixsgx }: nixsgx.nixsgx-test-sgx-dcap.override {
, pkgs container-name = "nixsgx-test-sgx-azure";
, inputs
, nixsgx
, hello
}:
pkgs.callPackage lib.nixsgx.mkSGXContainer {
name = "nixsgx-test-sgx-azure";
tag = "latest";
packages = [ hello ];
entrypoint = lib.meta.getExe hello;
isAzure = true; isAzure = true;
manifest = {
sgx = {
edmm_enable = false;
enclave_size = "32M";
max_threads = 2;
};
};
} }

View file

@ -5,15 +5,18 @@
, inputs , inputs
, nixsgx , nixsgx
, hello , hello
, isAzure ? false
, container-name ? "nixsgx-test-sgx-dcap"
, tag ? "latest"
}: }:
pkgs.callPackage lib.nixsgx.mkSGXContainer { pkgs.callPackage lib.nixsgx.mkSGXContainer {
name = "nixsgx-test-sgx-dcap"; name = container-name;
tag = "latest"; inherit tag isAzure;
packages = [ hello ]; packages = [ hello ];
entrypoint = lib.meta.getExe hello; entrypoint = lib.meta.getExe hello;
isAzure = false; extraCmd = "echo \"Starting ${container-name}\"; gramine-sgx-sigstruct-view app.sig";
manifest = { manifest = {
sgx = { sgx = {