certifix-client.nix (625B)
1 { 2 liminix, 3 certifix-client, 4 svc, 5 lib, 6 writeText, 7 serviceFns, 8 }: 9 { 10 caCertificate, 11 secret, 12 subject, 13 serviceUrl, 14 }: 15 let 16 inherit (liminix.services) oneshot; 17 name = "certifix-${lib.strings.sanitizeDerivationName subject}"; 18 caCertFile = writeText "ca.crt" caCertificate; 19 secretFile = writeText "secret" secret; 20 in 21 oneshot { 22 inherit name; 23 up = '' 24 (in_outputs ${name} 25 ln -sf ${caCertFile} ca-certificate 26 SSL_CERT_FILE=${caCertFile} ${certifix-client}/bin/certifix-client --subject ${subject} --secret ${secretFile} --key-out key --certificate-out certificate ${serviceUrl} 27 ) 28 ''; 29 }