120 lines
2.6 KiB
HCL
120 lines
2.6 KiB
HCL
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
|
|
}
|
|
}
|
|
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
|
|
}
|
|
}
|
|
} |