This commit is contained in:
2024-01-26 14:15:46 +01:00
parent 171a75390b
commit 6351c28f1e
2 changed files with 47 additions and 47 deletions

View File

@@ -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)]:[],
))
}]...)
}

View File

@@ -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