Skip to content

Commit 02745e2

Browse files
authored
tsig for nn (#215)
* tsig for nn * deploy * update to knot 3.3 * fix * fix * fix * fix * fix * fix * fix * clean
1 parent db64c01 commit 02745e2

File tree

9 files changed

+54
-1
lines changed

9 files changed

+54
-1
lines changed

.github/workflows/deploy_dns_environment.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ env:
2727
TF_VAR_tsig_key_10_r630_01: "${{ secrets.TF_VAR_TSIG_KEY_10_R630_01 }}"
2828
TF_VAR_tsig_key_713_r640_01: "${{ secrets.TF_VAR_TSIG_KEY_713_R640_01 }}"
2929
TF_VAR_tsig_key_doh: "${{ secrets.TF_VAR_TSIG_KEY_DOH }}"
30+
TF_VAR_tsig_key_nn: "${{ secrets.TF_VAR_TSIG_KEY_NN }}"
3031
# Credentials for deployment to AWS
3132
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
3233
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
deb [signed-by=/usr/share/keyrings/cznic-labs-pkg.gpg] https://pkg.labs.nic.cz/knot-dns bookworm main
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Package: knot knot-* libdnssec* libzscanner* libknot* python3-libknot*
2+
Pin-Priority: 1001
3+
Pin: version 3.4.6

infra/ansible/roles/knot_authoritative/tasks/main.yaml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
- name: Download knot gpg key
2+
ansible.builtin.get_url:
3+
url: https://pkg.labs.nic.cz/gpg
4+
dest: /usr/share/keyrings/cznic-labs-pkg.gpg
5+
mode: "0644"
6+
owner: root
7+
group: root
8+
9+
- name: Setup knot apt repo
10+
ansible.builtin.copy:
11+
src: cznic-labs-knot-dns.list
12+
dest: /etc/apt/sources.list.d/cznic-labs-knot-dns.list
13+
mode: "644"
14+
owner: root
15+
group: root
16+
17+
- name: Pin knot package
18+
ansible.builtin.copy:
19+
src: knot.apt.preferences.txt
20+
dest: /etc/apt/preferences.d/knot
21+
mode: "644"
22+
owner: root
23+
group: root
24+
125
- name: Install deps
226
ansible.builtin.apt:
327
lock_timeout: 240
@@ -10,7 +34,7 @@
1034
- python3-pip
1135
- python3.11-venv
1236
- dnsutils
13-
- knot
37+
- knot=3.4.6-cznic.1~bookworm
1438

1539
- name: Knot DNS Config
1640
ansible.builtin.template:

infra/ansible/roles/knot_authoritative/templates/knot.conf.j2

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ key:
5050
- id: doh.mesh.nycmesh.net.
5151
algorithm: hmac-sha512
5252
secret: {{ TSIG_KEY_DOH }}
53+
- id: nn.mesh.nycmesh.net.
54+
algorithm: hmac-sha512
55+
secret: {{ TSIG_KEY_NN }}
5356
- id: ha.mesh.nycmesh.net.
5457
algorithm: hmac-sha512
5558
secret: {{ TSIG_KEY_HOMEASSISTANT }}
@@ -109,6 +112,12 @@ acl:
109112
update-owner-match: equal
110113
update-owner-name: acme-challenge.doh.mesh.nycmesh.net.
111114
key: doh.mesh.nycmesh.net.
115+
- id: acl-update-nn
116+
action: update
117+
update-type: [TXT]
118+
update-owner-match: pattern
119+
update-owner-name: acme-challenge.*.nn.mesh.nycmesh.net.
120+
key: nn.mesh.nycmesh.net.
112121
- id: acl-update-ha
113122
action: update
114123
update-type: [TXT]
@@ -125,6 +134,7 @@ zone:
125134
acl: acl-update-doh
126135
- domain: nn.mesh.nycmesh.net
127136
file: nn.zone
137+
acl: acl-update-nn
128138
- domain: ha.mesh.nycmesh.net
129139
file: ha.mesh.nycmesh.net.zone
130140
acl: acl-update-ha

infra/terraform/dns.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ module "some_mesh_dns_servers" {
3737
tsig_key_713_r640_01 = var.tsig_key_713_r640_01
3838
tsig_key_ha = var.tsig_key_ha
3939
tsig_key_doh = var.tsig_key_doh
40+
tsig_key_nn = var.tsig_key_nn
4041
enable_doh = var.enable_doh
4142
main_auth_server_ip = var.main_auth_server_ip
4243
mesh_stub_resolver = var.mesh_stub_resolver

infra/terraform/mesh_dns_servers/ansible.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ resource "ansible_group" "knot-authoritative" {
3131
TSIG_KEY_10_R630_01 = var.tsig_key_10_r630_01
3232
TSIG_KEY_713_R640_01 = var.tsig_key_713_r640_01
3333
TSIG_KEY_DOH = var.tsig_key_doh
34+
TSIG_KEY_NN = var.tsig_key_nn
3435
TSIG_KEY_HOMEASSISTANT = var.tsig_key_ha
3536
}
3637
}

infra/terraform/mesh_dns_servers/vars.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,12 @@ variable "tsig_key_doh" {
218218
sensitive = true
219219
}
220220

221+
variable "tsig_key_nn" {
222+
type = string
223+
description = "TSIG key for the nn.mesh.nycmesh.net zone"
224+
sensitive = true
225+
}
226+
221227
variable "tsig_key_ha" {
222228
type = string
223229
description = "TSIG key for the ha.mesh.nycmesh.net zone"

infra/terraform/vars.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,12 @@ variable "tsig_key_doh" {
217217
sensitive = true
218218
}
219219

220+
variable "tsig_key_nn" {
221+
type = string
222+
description = "TSIG key for the nn.mesh.nycmesh.net zone"
223+
sensitive = true
224+
}
225+
220226
variable "tsig_key_ha" {
221227
type = string
222228
description = "TSIG key for the ha.mesh.nycmesh.net zone"

0 commit comments

Comments
 (0)