diff --git a/share/dns/config.tf b/share/dns/config.tf index 0924b22..5e89f87 100644 --- a/share/dns/config.tf +++ b/share/dns/config.tf @@ -23,13 +23,13 @@ locals { } EOF soa-ns = <<-EOF - @ IN SOA ${var.sub-domain}.${var.domain_name}. ${var.domain_name}. ( + @ IN SOA ${var.sub_domain}.${var.domain_name}. ${var.domain_name}. ( ${formatdate("YYYYMMDDhh",timestamp())} ; Serial 4H ; Refresh 1H ; Retry 7D ; Expire 4H ) ; Negative Cache TTL - @ IN NS ${var.sub-domain}.${var.domain_name}. + @ IN NS ${var.sub_domain}.${var.domain_name}. EOF files = merge({ "Corefile" = join("\n", concat([local.begin-core],[for z in var.zones: format("file /etc/coredns/%s.db %s", z.name,z.name)],[local.end-core])) @@ -39,15 +39,15 @@ locals { "$ORIGIN ${z.name}.", local.soa-ns ], - z.domain!=""?[format("%s. IN A %s", z.name, z.domain)]:[], - z.domain6!=""?[format("%s. IN AAAA %s", z.name, z.domain6)]:[], - [for k,v in z.txt: format("%s IN TXT %s", k, v)], - [for k,v in z.hosts: format("%s IN A %s", k, v)], - [for k,v in z.hosts6: format("%s IN AAAA %s", k, v)], - [for k,v in z.alias: format("%s IN CNAME %s", k, v)], - [for mx in z.mx: format("%s IN MX %d %s", mx.name, mx.priority, mx.value)], - z.wildcard!=""?[format("*.%s. IN A %s", z.name, z.wildcard)]:[], - z.wildcard6!=""?[format("*.%s. IN AAAA %s", z.name, z.wildcard6)]:[], + lookup(z, "domain","")!=""?[format("%s. IN A %s", z.name, z.domain)]:[], + lookup(z, "domain6","")!=""?[format("%s. IN AAAA %s", z.name, z.domain6)]:[], + [for k,v in lookup(z, "txt",[]): format("%s IN TXT %s", k, v)], + [for k,v in lookup(z, "hosts",[]): format("%s IN A %s", k, v)], + [for k,v in lookup(z, "hosts6",[]): format("%s IN AAAA %s", k, v)], + [for k,v in lookup(z, "alias",[]): format("%s IN CNAME %s", k, v)], + [for mx in lookup(z, "mx",[]): format("%s IN MX %d %s", mx.name, mx.priority, mx.value)], + lookup(z, "wildcard","")!=""?[format("*.%s. IN A %s", z.name, z.wildcard)]:[], + lookup(z, "wildcard6","")!=""?[format("*.%s. IN AAAA %s", z.name, z.wildcard6)]:[], )) }]...) } diff --git a/share/dns/index.yaml b/share/dns/index.yaml index b2e72cf..78f2d63 100644 --- a/share/dns/index.yaml +++ b/share/dns/index.yaml @@ -6,12 +6,12 @@ metadata: name: dns description: null options: - domain: - default: your-company + forward: + default: 192.168.1.254 examples: - - your-company + - 192.168.1.254 type: string - sub-domain: + sub_domain: default: dns examples: - dns @@ -21,11 +21,35 @@ options: examples: - your_company.com type: string - forward: - default: 192.168.1.254 + image: + default: + pullPolicy: IfNotPresent + registry: docker.io + repository: coredns/coredns + tag: 1.11.1 examples: - - 192.168.1.254 - type: string + - pullPolicy: IfNotPresent + registry: docker.io + repository: coredns/coredns + tag: 1.11.1 + properties: + pullPolicy: + default: IfNotPresent + enum: + - Always + - Never + - IfNotPresent + type: string + registry: + default: docker.io + type: string + repository: + default: coredns/coredns + type: string + tag: + default: 1.11.1 + type: string + type: object zones: default: [] items: @@ -74,35 +98,11 @@ options: type: string type: object type: array - image: - default: - pullPolicy: IfNotPresent - registry: docker.io - repository: coredns/coredns - tag: 1.11.1 + domain: + default: your-company examples: - - pullPolicy: IfNotPresent - registry: docker.io - repository: coredns/coredns - tag: 1.11.1 - properties: - pullPolicy: - default: IfNotPresent - enum: - - Always - - Never - - IfNotPresent - type: string - registry: - default: docker.io - type: string - repository: - default: coredns/coredns - type: string - tag: - default: 1.11.1 - type: string - type: object + - your-company + type: string dependencies: [] providers: kubernetes: true