liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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 }