locals { // Definition of the Kubernetes service (templater compatible) ServiceMatchBox = { ConfigFiles = [ { destination = "/etc/dnsmasq.d/pxe.conf" source = "dnsmasq.d/ipxe.conf.pktpl.hcl" mode = "600" owner = "root" group = "root" }, { destination = "/etc/dnsmasq-hosts.conf" source = "dnsmasq.d/dnsmasq-hosts.conf.pktpl.hcl" mode = "600" owner = "dnsmasq" group = "root" }, { destination = "/etc/conf.d/matchbox" source = "conf.d/matchbox.conf.pktpl.hcl" mode = "600" owner = "root" group = "root" }, { destination = "/etc/init.d/matchbox" source = "init.d/matchbox.pktpl.hcl" mode = "700" owner = "root" group = "root" } ] Repositories = { AlpineEdgeTesting = { type = "apk" name = "testing" url = "http://mirrors.ircam.fr/pub/alpine/edge/testing" enabled = true } AlpineEdgeCommunity = { type = "apk" name = "testing" url = "http://mirrors.ircam.fr/pub/alpine/edge/community" enabled = true } } Packages = { dnsmasq = { name = "dnsmasq" action = "install" } terraform = { name = "terraform" action = "install" } git = { name = "git" action = "install" } kubectl = { name = "kubectl" action = "install" } gpg = { name = "gpg" action = "install" } } Vars = { PXE = { DHCPMode = "proxy" DNSDomain = "cadoles.com" ListenInterface = "eth0" GreetingMessage = "Cadoles PXE Boot Server" DelayTime = "5" BootingMessage = "Booting from network the Cadoles way" DHCPRangeStart = "" DHCPRangeEnd = "" DHCPLeaseDuration = "1h" TFTPRoot = "/var/lib/tftpboot" } MatchBox = { Hostname = "mb.cadoles.com" HTTPPort = "8080" gRPCPort = "8081" LogLevel = "info" } ETH0 = { IP = "" DNS = "" GATEWAY = "" } Set = { Hostname = "matchbox" } } Users = {} Daemons = { matchbox = { name = "matchbox" type = "auto" enabled = true } dnsmasq = { name = "dnsmasq" type = "auto" enabled = true } local = { name = "local" type = "auto" enabled = true } } } // Definition of the Kubernetes full configuration (with all the services) MatchBox = { Name = "matchbox" Globals = local.Globals Services = { MatchBox = local.ServiceMatchBox } } }