liminix

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

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 }