-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathconfig.ml
28 lines (24 loc) · 801 Bytes
/
config.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
open Mirage
let token =
let doc = Key.Arg.info ~doc:"slack bot token" [ "token" ] in
Key.(create "token" Arg.(required string doc))
let channel =
let doc = Key.Arg.info ~doc:"ID of the channel to send the messages to" [ "channel" ] in
Key.(create "channel" Arg.(required string doc))
let client =
let packages =
[ package "cohttp-mirage"; package "duration"; package "yojson" ]
in
main ~keys:[ key token; key channel ] ~packages "Unikernel.Client"
@@ http_client
@-> time
@-> random
@-> job
let () =
let stack = generic_stackv4v6 default_network in
let res_dns = resolver_dns stack in
let conduit = conduit_direct ~tls:true stack in
let job =
[ client $ cohttp_client res_dns conduit $ default_time $ default_random ]
in
register "friendly-unikernel" job