sgx: factor out aesmd
Signed-off-by: Harald Hoyer <harald@hoyer.xyz>
This commit is contained in:
parent
0b9fb35062
commit
f1899875ce
30
modules/nixos/sgx/aesmd_dcap/default.nix
Normal file
30
modules/nixos/sgx/aesmd_dcap/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ options, config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
with lib.metacfg;
|
||||
let
|
||||
cfg = config.metacfg.aesmd_dcap;
|
||||
in
|
||||
{
|
||||
options.metacfg.aesmd_dcap = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable aesmd in dcap mode.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
metacfg = {
|
||||
nix.extra-substituters = {
|
||||
"https://nixsgx.cachix.org".key = "nixsgx.cachix.org-1:tGi36DlY2joNsIXOlGnSgWW0+E094V6hW0umQRo/KoE=";
|
||||
};
|
||||
};
|
||||
services.aesmd = {
|
||||
enable = true;
|
||||
quoteProviderLibrary = pkgs.nixsgx.sgx-dcap.default_qpl;
|
||||
};
|
||||
systemd.services.aesmd = {
|
||||
environment.LD_LIBRARY_PATH = lib.mkForce (lib.makeLibraryPath [ pkgs.nixsgx.sgx-dcap.default_qpl pkgs.curl.out ]);
|
||||
serviceConfig.BindReadOnlyPaths = [
|
||||
"/etc/sgx_default_qcnl.conf"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -14,9 +14,23 @@ with lib.metacfg;
|
|||
base.enable = true;
|
||||
nix-ld.enable = true;
|
||||
nix.enable = true;
|
||||
aesmd_dcap.enable = true;
|
||||
user.extraGroups = [ "docker" "sgx" ];
|
||||
};
|
||||
|
||||
environment.etc."sgx_default_qcnl.conf".text = ''
|
||||
{
|
||||
"pccs_url": "https://192.168.122.1:8081/sgx/certification/v4/"
|
||||
"use_secure_cert": false,
|
||||
"collateral_service": "https://api.trustedservices.intel.com/sgx/certification/v4/",
|
||||
"retry_times": 6,
|
||||
"retry_delay": 10,
|
||||
"pck_cache_expire_hours": 168,
|
||||
"verify_collateral_cache_expire_hours": 168,
|
||||
"local_cache_only": false
|
||||
}
|
||||
'';
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
system.autoUpgrade = {
|
||||
|
@ -30,8 +44,6 @@ with lib.metacfg;
|
|||
|
||||
networking.wireless.enable = false; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
services.aesmd.enable = true;
|
||||
|
||||
powerManagement.cpuFreqGovernor = "ondemand";
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
|
|
|
@ -14,6 +14,7 @@ in
|
|||
gui.enable = false;
|
||||
nix-ld.enable = true;
|
||||
nix.enable = true;
|
||||
aesmd_dcap.enable = true;
|
||||
pccs.enable = true;
|
||||
pccs.secret = config.sops.secrets.pccs.path;
|
||||
podman.enable = true;
|
||||
|
@ -33,17 +34,6 @@ in
|
|||
security.tpm2.enable = false;
|
||||
security.tpm2.abrmd.enable = false;
|
||||
|
||||
services.aesmd = {
|
||||
enable = true;
|
||||
quoteProviderLibrary = pkgs.nixsgx.sgx-dcap.default_qpl;
|
||||
};
|
||||
systemd.services.aesmd = {
|
||||
environment.LD_LIBRARY_PATH = lib.mkForce (lib.makeLibraryPath [ pkgs.nixsgx.sgx-dcap.default_qpl pkgs.curl.out ]);
|
||||
serviceConfig.BindReadOnlyPaths = [
|
||||
"/etc/sgx_default_qcnl.conf"
|
||||
];
|
||||
};
|
||||
|
||||
services.pcscd.enable = true;
|
||||
|
||||
powerManagement.cpuFreqGovernor = "ondemand";
|
||||
|
|
Loading…
Reference in a new issue