Module Logs_syslog_mirage_tls

Logs reporter via syslog using MirageOS and TLS

Please read Logs_syslog first.

module Tls (CLOCK : Mirage_clock.PCLOCK) (STACK : Tcpip.Stack.V4V6) (KV : Mirage_kv.RO) : sig ... end

TLS reporter

Example usage

To install a Mirage syslog reporter, sending via TLS to localhost, use the following snippet:

module Main (S : Tcpip.Stack.V4V6) (CLOCK : Mirage_clock.PCLOCK) (KEYS : Mirage_kv.RO)
  module TLS  = Tls_mirage.Make(S.TCP)
  module X509 = Tls_mirage.X509(KEYS)(CLOCK)

  module LT = Logs_syslog_mirage_tls.Tls(CLOCK)(S)(KEYS)

  let start s _ kv =
    let ip = Ipaddr.V4 (Ipaddr.V4.of_string_exn "127.0.0.1") in
    LT.create s kv ~hostname ip () >>= function
      | Ok r -> Logs.set_reporter r ; Lwt.return_unit
      | Error e -> Lwt.fail_invalid_arg e
end