certifix-client.nix (624B)
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 (builtins) filter isString split; 17 inherit (liminix.services) oneshot; 18 name = "certifix-${lib.strings.sanitizeDerivationName subject}"; 19 caCertFile = writeText "ca.crt" caCertificate; 20 secretFile = writeText "secret" secret; 21 in 22 oneshot { 23 inherit name; 24 up = '' 25 (in_outputs ${name} 26 SSL_CA_CERT_FILE=${caCertFile} ${certifix-client}/bin/certifix-client --subject ${subject} --secret ${secretFile} --key-out key --certificate-out cert ${serviceUrl} 27 ) 28 ''; 29 }