ansible/dhall/inventory.dhall
2024-11-25 23:03:32 -05:00

36 lines
1 KiB
Text

let ip = ./ip.dhall
let Host = ./Host.dhall
let servers = ./servers.dhall
let render =
\(host : Host.Host) ->
let domain = "sailmaker.fenix.lgbt"
let renderAddress =
\(address : Host.Address) ->
merge
{ ip = \(ip : ip.Address) -> ip.address
, dhcp = "${host.name}.${domain}"
}
address
in { ansible_host = renderAddress host.address }
in { servers.hosts
=
{ reason = render servers.reason, nomadix = render servers.nomadix }
, appliances.hosts.ipowerswitch = render servers.ipowerswitch
, virtual.hosts
=
{ pihole = render servers.pihole
, wireguard = render servers.wireguard
, lldap = render servers.lldap
, traefik = render servers.traefik
, homeassistant = render servers.homeassistant
, mqtt = render servers.mqtt
, heimdall = render servers.heimdall
}
, sailmaker.children = { servers = {}, appliances = {}, virtual = {} }
}