32 lines
737 B
Text
32 lines
737 B
Text
|
let ProxmoxServer = { id : Natural }
|
||
|
|
||
|
let Protocol = < HTTP | HTTPS >
|
||
|
|
||
|
let Backend =
|
||
|
{ Type = { protocol : Protocol, host : Text, port : Natural }
|
||
|
, default = { protocol = Protocol.HTTP, port = 80 }
|
||
|
}
|
||
|
|
||
|
let Service =
|
||
|
{ Type =
|
||
|
{ name : Text
|
||
|
, hostname : Optional Text
|
||
|
, backends : List Backend.Type
|
||
|
}
|
||
|
, default = { hostname = None Text, backends = [] : List Backend.Type }
|
||
|
}
|
||
|
|
||
|
let domain = "sailmaker.fenix.lgbt"
|
||
|
|
||
|
let hostname
|
||
|
: Text -> Text
|
||
|
= \(name : Text) -> "${name}.${domain}"
|
||
|
|
||
|
let services
|
||
|
: List Service.Type
|
||
|
= [ Service::{ name = "pihole", hostname = Some (hostname "pi-hole") }
|
||
|
, Service::{ name = "heimdall" }
|
||
|
]
|
||
|
|
||
|
in services
|