diff options
103 files changed, 1569 insertions, 23 deletions
diff --git a/.settings.sh b/.settings.sh index 020dcbd..38b5e20 100644 --- a/.settings.sh +++ b/.settings.sh @@ -8,6 +8,9 @@ export ANSIBLE_CONFIG=$basedir/ansible/ansible.cfg echo "Adding bin/ to path" PATH="$basedir/bin:$PATH" +#echo "Adding bin/.tmp/asdf-data/shims/ to path" +#PATH="$basedir/bin/.tmp/asdf-data/shims:$PATH" + if [[ ! -r .vault ]] then echo "Missing .vault" diff --git a/ansible/inventory b/ansible/inventory index 17f3ec7..4e2d0b2 100644 --- a/ansible/inventory +++ b/ansible/inventory @@ -41,9 +41,15 @@ all: biwia: ansible_host: biwia.vpn.trygvis.io lhn2pi: + ansible_host: lhn2pi.vpn.trygvis.io lhn2ix: kv24ix: + node1: + ansible_host: 9859f51e-1e3e-4c05-a826-b7fbe18d91be.pub.instances.scw.cloud + node2: + ansible_host: 927624a8-7824-444d-903d-8507eb1e0669.pub.instances.scw.cloud + zh2569.rsync.net: ansible_user: zh2569 @@ -163,4 +169,26 @@ all: hash: knot: + tnet: + hosts: + akili: + astyanax: + hash: + knot: + kv24ix: + lhn2ix: + lhn2pi: + node1: + node2: + + tnet_bird: + hosts: + akili: + astyanax: + hash: + knot: + lhn2pi: + node1: + node2: + # vim: set filetype=yaml: diff --git a/bin/asdf b/bin/asdf new file mode 100755 index 0000000..aa36c16 --- /dev/null +++ b/bin/asdf @@ -0,0 +1,23 @@ +#!/bin/bash + +set -euo pipefail + +v="0.14.0" + +basedir="${0%/*}" +self="${0##*/}" + +url="https://github.com/asdf-vm/asdf/archive/refs/tags/v$v.tar.gz" +dir="$basedir/.tmp" +bin="$dir/$self-$v/bin/$self" + +if [ ! -x "$bin" ] +then + rm -rf "$dir" + mkdir -p "${dir}" + curl -L "$url" | tar xfz - -C $dir +fi + +export ASDF_DATA_DIR="$dir/asdf-data" + +exec "$bin" "${@}" diff --git a/bin/requirements.txt b/bin/requirements.txt index a3669d5..8a3e290 100644 --- a/bin/requirements.txt +++ b/bin/requirements.txt @@ -1 +1,2 @@ ansible==8.4.0 +gns3fy==0.8.0 diff --git a/terraform/dns/trygvis.tf b/terraform/dns/trygvis.tf index 659d56a..01b6cec 100644 --- a/terraform/dns/trygvis.tf +++ b/terraform/dns/trygvis.tf @@ -89,6 +89,13 @@ resource "linode_domain_record" "mw" { target = "trygvis.io" } +resource "linode_domain_record" "unifi" { + domain_id = linode_domain.root.id + name = "unifi" + record_type = "CNAME" + target = "trygvis.io" +} + # Aliases for vs.trygvis.io resource "linode_domain_record" "nextcloud" { domain_id = linode_domain.root.id @@ -110,10 +117,3 @@ resource "linode_domain_record" "owncloud" { record_type = "CNAME" target = "vs.trygvis.io" } - -resource "linode_domain_record" "unifi" { - domain_id = linode_domain.root.id - name = "unifi" - record_type = "CNAME" - target = "vs.trygvis.io" -} diff --git a/terraform/unifi-controller/README.md b/terraform/unifi-controller/README.md new file mode 100644 index 0000000..66f0fb0 --- /dev/null +++ b/terraform/unifi-controller/README.md @@ -0,0 +1,9 @@ +# Mongo init + +After the mongo database has been started the first time, execute the output of: + + terraform output -json|jq -r .mongo_init_js.value + +in a mongo shell: + + docker exec -it unifi-mongo mongo diff --git a/terraform/unifi-controller/main.tf b/terraform/unifi-controller/main.tf index 915685a..f5f7b0a 100644 --- a/terraform/unifi-controller/main.tf +++ b/terraform/unifi-controller/main.tf @@ -28,14 +28,15 @@ provider "docker" { locals { domain_name = "unifi.vpn.trygvis.io" - docker_image_controller = "lscr.io/linuxserver/unifi-controller:8.0.24" - docker_image_mongo = "mongo:3.6" + docker_image_controller = "lscr.io/linuxserver/unifi-controller:8.0.24-mongoless" + docker_image_mongo = "mongo:7.0" + mongo_database = "unifi" mongo_username = "unifi" - mongo_password = data.sops_file_entry.mongo_password + mongo_password = data.sops_file_entry.mongo_password.data } data "sops_file_entry" "mongo_password" { - source_file = "../../sops.yml" + source_file = "sops.yml" data_key = "mongo_password" } diff --git a/terraform/unifi-controller/mongo.tf b/terraform/unifi-controller/mongo.tf index 747b3b1..98b4e36 100644 --- a/terraform/unifi-controller/mongo.tf +++ b/terraform/unifi-controller/mongo.tf @@ -1,5 +1,5 @@ -resource "docker_network" "unifi-mongo" { - name = "unifi-mongo" +resource "docker_network" "unifi" { + name = "unifi" } data "docker_registry_image" "mongo" { @@ -21,7 +21,7 @@ resource "docker_container" "unifi-mongo" { hostname = "unifi-mongo" networks_advanced { - name = docker_network.unifi-mongo.name + name = docker_network.unifi.name } volumes { @@ -29,3 +29,20 @@ resource "docker_container" "unifi-mongo" { container_path = "/data/db" } } + +output "mongo_init_js" { + sensitive = true + value = <<-EOF + db.getSiblingDB("${local.mongo_database}"). + createUser({ + user: "${local.mongo_database}", + pwd: "${local.mongo_password}", + roles: [{role: "dbOwner", db: "${local.mongo_database}"}]}); + + db.getSiblingDB("${local.mongo_database}_stat"). + createUser({ + user: "${local.mongo_database}", + pwd: "${local.mongo_password}", + roles: [{role: "dbOwner", db: "${local.mongo_database}_stat"}]}); + EOF +} diff --git a/terraform/unifi-controller/sops.yml b/terraform/unifi-controller/sops.yml index daf5231..ce815b2 100644 --- a/terraform/unifi-controller/sops.yml +++ b/terraform/unifi-controller/sops.yml @@ -1,4 +1,4 @@ -mongo_password: ENC[AES256_GCM,data:4GK/9eCD/tuhDTgAnvn4nim6zB8q476MG4SYzp4SuxcTK0uUdPKdMj0uWAUySYnFI+hNINSMm5ujZ6PXUdLxE2X04t52Dtm5DoVXgZTrP8WHXz2RHGrVElJ6LABVji3mmh4+Ug==,iv:5j89FCkB9sr85tRzo9qeVUjrqvgZOEihBstXNWgbTOA=,tag:V27pawBT6NqX3V0iAeu7NA==,type:str] +mongo_password: ENC[AES256_GCM,data:BdrzXzqlYf0LO0ru361m/ZIqErFT/yRl+2pdsmFZNYyrgrZN+3q9aZoMCSva1E6w4xGbMmjG6WSgQlf+yRIlb6k9q0yFSPE9gbfhESILrSuO2McVjSO0KCK7+nI3b9nlb2Lp2A==,iv:yNNWskWG2lAZZOp8HgWomAgFg1BdXQ1zH/SmMnQVSkQ=,tag:OxpdBIr47OUpEqj+hmyKMw==,type:str] sops: kms: [] gcp_kms: [] @@ -8,14 +8,32 @@ sops: - recipient: age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlRFptMlVVRWFQbjlwb2tj - NmtEV29HMm82SjdKTDE4N2pSOUpvRzBOcDAwCnBOcnlKS0dCQjRxc0VzY3pEVyt1 - K2hRZGpqL3p1ejZJM2xyTDFocnFSMW8KLS0tIEx0cVpOUHVrZTErTXBGKyt2Rmx5 - Q3NYajIxUFNwUDZ6bW1XT1NWak8vaVkK0IoF+EoQA7AAXmfVICs8wIxJrhlTDKkc - cRc2o70ARquivCo/SuYg1f/097BhOucm1lLXfCATvzi5GvMwqXvcTg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPbUlUNnlVVDZBMGFyT2cy + djZMbjVUa2UxRlRzNzVMNmNWQkFRSWlselc4CjV5dU5QUGtrTWpqL2k2L29wSjRI + ak9ZL2hDb3F0UHFkZDVmV2lxVjVRVG8KLS0tIGIyNDF3cTRRTTZ4R1oyVHU5YUVJ + Y09WN2EvVDZwTExybms2UmJEN0h1OUkKJLGAUByueidNKz9LrRLUzkAhT3+mczz6 + 10JVToEgm5+N95zEXBiZtaNftvGYU6eVqHtwFyVm3lbO7VBYpvhRNQ== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-05-20T04:48:47Z" - mac: ENC[AES256_GCM,data:BbX2yJsTcmgoY1lL+isa85eBN8OK4BM7wZsuwAJtOsxMDEHYmzJiF4AjKnSoTWqdCLy2PhpUPfLmsunfODhfoiCmfjqr69WHP+fktPK9RRaa+bBGGXAc6/GBWBuvlhmgvy0LKRa9DrCPLOF0lwrEvmur89THCUu6HW60aguO3E0=,iv:C3VFYOdMGh8M4KbS1K0zq8cwmsrjZFkih74use0omdQ=,tag:arLY4XlgJ3Z8fFdXeHBAHw==,type:str] + - recipient: age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAvMnVTcno3emdKRWUvL25j + MjEzN0pMUktPcjU3QW5CeEtYL2dFS1ZMdW13CjJVT0FOWTBUOWVCa0tEZE4yM1lx + d2F0TjAvaDBvcmdkR0pHV0c5KzRqdzgKLS0tIDR6TThRdWtMSzdkL2FHKytCNU8r + WHc3OWM0b0lSMGRUM2NnNmdocnNiRVkKko4z88f5PzmVzxfB8Zi/zZhccvxqYqym + nvd7uja8Ght+DpT/stYIrYyu0lyBOTVirwTIaEHr5bKUY1d+TwwP/g== + -----END AGE ENCRYPTED FILE----- + - recipient: age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4a29XdEZkdkZuU0M3MGpU + YkJRbjdWOWpmdjQyUHY5VDBqUTRYUk9LR21BCkxjOUU4Mmg4NXZwVnRJYWp4NnZr + a0xUS3pQTjJNam5qQXhhZUkxaW5nVWsKLS0tIFJ3eFJxbytPQkZJKzF2MGorVmlr + LzVLTE1qZkp0YUhFT3h2dktuMnJGZE0KnirLt0k2g2XqqIKIu6nNNIoZMF25Ir7E + EFjv/k/kKVLPesrdtfwKRCLQqtQjV0j1qtqPOKoUDcrE3zxs4r4gaA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2024-05-20T07:04:41Z" + mac: ENC[AES256_GCM,data:hjDc7d8/8dwEb23Xb16WBsoEOE7hepyLYz2n2DW6aKT14RLOAxB85kP8Ibwb0tC4DqwNkCqOWJ6WxhHrZA2IKE4co6bsD8uc6atM2EgRm6Xctgr2lqvYMr7WtPFKIQF+/K7358i7vf/tyvtdvNINVuBXVra5LcxVTSVyUIb1m+w=,iv:VKDovzX5RO9RIjm85JlfsNE5sd+TVYRh8FbFJHIZpgw=,tag:tbdoa4Cow5jYEVvP9LXEiQ==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.7.3 diff --git a/terraform/unifi-controller/unifi.tf b/terraform/unifi-controller/unifi.tf index 699628b..8e6c7d7 100644 --- a/terraform/unifi-controller/unifi.tf +++ b/terraform/unifi-controller/unifi.tf @@ -12,7 +12,7 @@ resource "docker_image" "unifi-controller" { } resource "docker_volume" "unifi-controller" { - name = "unifi-controller" + name = "unifi-controller-new" } resource "docker_container" "unifi-controller" { @@ -26,6 +26,10 @@ resource "docker_container" "unifi-controller" { name = data.docker_network.traefik.name } + networks_advanced { + name = docker_network.unifi.name + } + dynamic "ports" { for_each = [ # Taken from https://fleet.linuxserver.io/image?name=linuxserver/unifi-controller @@ -65,6 +69,7 @@ resource "docker_container" "unifi-controller" { { label = "traefik.http.routers.unifi-controller.tls.certresolver", value = "linode" }, { label = "traefik.http.services.unifi-controller.loadbalancer.server.port", value = "8443" }, { label = "traefik.http.services.unifi-controller.loadbalancer.server.scheme", value = "https" }, + { label = "traefik.docker.network", value = "traefik" }, # { label = "traefik.http.services.unifi-controller.loadbalancer.passHostHeader", value = "false" }, ] content { @@ -76,6 +81,12 @@ resource "docker_container" "unifi-controller" { env = [ "PUID=1000", "PGID=1000", + "TZ=Europe/Oslo", "MEM_LIMIT=default", + "MONGO_USER=${local.mongo_username}", + "MONGO_PASS=${local.mongo_password}", + "MONGO_HOST=${docker_container.unifi-mongo.hostname}", + "MONGO_PORT=27017", + "MONGO_DBNAME=${local.mongo_database}", ] } diff --git a/tnet/bird-deploy.yml b/tnet/bird-deploy.yml new file mode 100644 index 0000000..ed7cecf --- /dev/null +++ b/tnet/bird-deploy.yml @@ -0,0 +1,26 @@ +- hosts: tnet_bird + tasks: + - become: yes + copy: + dest: "/etc/bird/{{ item }}" + src: "{{ inventory_hostname }}/{{ item }}" + owner: bird + group: bird + mode: 0640 + register: bird_conf + loop: + - bird-tnet-pre.conf + - bird-tnet.conf + + - systemd: + state: reloaded + service: bird + when: bird_conf.changed + become: yes + handlers: + - name: systemctl reload bird + become: yes + systemd: + name: bird + state: reloaded + diff --git a/tnet/bird-gen.yml b/tnet/bird-gen.yml new file mode 100644 index 0000000..9fa71b1 --- /dev/null +++ b/tnet/bird-gen.yml @@ -0,0 +1,25 @@ +- name: Remove old configuration + hosts: localhost + connection: local + gather_facts: False + tasks: + - file: + path: files + state: absent + changed_when: False + +- name: Generate Bird configuration + hosts: tnet_bird + connection: local + gather_facts: False + tasks: + - file: + path: files/{{ inventory_hostname }} + state: directory + changed_when: False + - template: + src: "{{ item }}.j2" + dest: "files/{{ inventory_hostname }}/{{ item }}" + loop: + - bird-tnet-pre.conf + - bird-tnet.conf diff --git a/tnet/bird-install.yml b/tnet/bird-install.yml new file mode 100644 index 0000000..49aed92 --- /dev/null +++ b/tnet/bird-install.yml @@ -0,0 +1,11 @@ +- hosts: + - tnet_bird + tasks: + - name: Install bird2 + become: yes + vars: + items: + - bird2 + apt: + install_recommends: no + name: "{{ items }}" diff --git a/tnet/files/akili/bird-tnet-pre.conf b/tnet/files/akili/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/akili/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/akili/bird-tnet.conf b/tnet/files/akili/bird-tnet.conf new file mode 100644 index 0000000..f9b9d08 --- /dev/null +++ b/tnet/files/akili/bird-tnet.conf @@ -0,0 +1,38 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_hash from tnet_tpl { + neighbor fdb1:4242:3538:ffff:ca85:f812:3935:5fba; + interface "tnet-hash"; +} + +protocol bgp tnet_knot from tnet_tpl { + neighbor fdb1:4242:3538:ffff:59d7:cf77:8b5d:761a; + interface "tnet-knot"; +} diff --git a/tnet/files/astyanax/bird-tnet-pre.conf b/tnet/files/astyanax/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/astyanax/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/astyanax/bird-tnet.conf b/tnet/files/astyanax/bird-tnet.conf new file mode 100644 index 0000000..d697e54 --- /dev/null +++ b/tnet/files/astyanax/bird-tnet.conf @@ -0,0 +1,38 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_hash from tnet_tpl { + neighbor fe80:a0fd:89e4:42c6:f617:7398:abf4:b516; + interface "tnet-hash"; +} + +protocol bgp tnet_knot from tnet_tpl { + neighbor fe80:6728:53fc:fc81:40b3:9beb:8336:ba56; + interface "tnet-knot"; +} diff --git a/tnet/files/hash/bird-tnet-pre.conf b/tnet/files/hash/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/hash/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/hash/bird-tnet.conf b/tnet/files/hash/bird-tnet.conf new file mode 100644 index 0000000..16ce2cc --- /dev/null +++ b/tnet/files/hash/bird-tnet.conf @@ -0,0 +1,56 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_astyanax from tnet_tpl { + neighbor fe80:a0fd:89e4:42c6:f617:7398:abf4:b517; + interface "tnet-astyanax"; + + rr client; +} + +protocol bgp tnet_knot from tnet_tpl { + neighbor fe80:3b20:4cb0:5315:22a:c7de:a45b:8a7c; + interface "tnet-knot"; + + rr client; +} + +protocol bgp tnet_node1 from tnet_tpl { + neighbor fe80:a026:6ec2:b356:21c5:b51:22b9:a1df; + interface "tnet-node1"; + + rr client; +} + +protocol bgp tnet_node2 from tnet_tpl { + neighbor fe80:a7a6:c1a8:c261:232e:7d67:fc27:7c8d; + interface "tnet-node2"; + + rr client; +} diff --git a/tnet/files/knot/bird-tnet-pre.conf b/tnet/files/knot/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/knot/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/knot/bird-tnet.conf b/tnet/files/knot/bird-tnet.conf new file mode 100644 index 0000000..fcecc19 --- /dev/null +++ b/tnet/files/knot/bird-tnet.conf @@ -0,0 +1,49 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_hash from tnet_tpl { + neighbor fe80:3b20:4cb0:5315:22a:c7de:a45b:8a7d; + interface "tnet-hash"; + + rr client; +} + +protocol bgp tnet_node1 from tnet_tpl { + neighbor fe80:58eb:3930:1815:2a6d:8918:70c9:96f3; + interface "tnet-node1"; + + rr client; +} + +protocol bgp tnet_node2 from tnet_tpl { + neighbor fe80:9dd8:abac:cf05:aea3:dc03:4c74:32db; + interface "tnet-node2"; + + rr client; +} diff --git a/tnet/files/lhn2pi/bird-tnet-pre.conf b/tnet/files/lhn2pi/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/lhn2pi/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/lhn2pi/bird-tnet.conf b/tnet/files/lhn2pi/bird-tnet.conf new file mode 100644 index 0000000..864ad0b --- /dev/null +++ b/tnet/files/lhn2pi/bird-tnet.conf @@ -0,0 +1,38 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_hash from tnet_tpl { + neighbor fe80:6195:1d43:9655:35f7:9dba:798c:26b8; + interface "tnet-hash"; +} + +protocol bgp tnet_knot from tnet_tpl { + neighbor fdb1:4242:3538:ffff:374e:2c7d:319e:e526; + interface "tnet-knot"; +} diff --git a/tnet/files/node1/bird-tnet-pre.conf b/tnet/files/node1/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/node1/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/node1/bird-tnet.conf b/tnet/files/node1/bird-tnet.conf new file mode 100644 index 0000000..88bd6f8 --- /dev/null +++ b/tnet/files/node1/bird-tnet.conf @@ -0,0 +1,38 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_hash from tnet_tpl { + neighbor fe80:a026:6ec2:b356:21c5:b51:22b9:a1de; + interface "tnet-hash"; +} + +protocol bgp tnet_knot from tnet_tpl { + neighbor fe80:58eb:3930:1815:2a6d:8918:70c9:96f2; + interface "tnet-knot"; +} diff --git a/tnet/files/node2/bird-tnet-pre.conf b/tnet/files/node2/bird-tnet-pre.conf new file mode 100644 index 0000000..7994dfe --- /dev/null +++ b/tnet/files/node2/bird-tnet-pre.conf @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() # -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/files/node2/bird-tnet.conf b/tnet/files/node2/bird-tnet.conf new file mode 100644 index 0000000..99dfc5e --- /dev/null +++ b/tnet/files/node2/bird-tnet.conf @@ -0,0 +1,38 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} + +protocol bgp tnet_hash from tnet_tpl { + neighbor fe80:a7a6:c1a8:c261:232e:7d67:fc27:7c8c; + interface "tnet-hash"; +} + +protocol bgp tnet_knot from tnet_tpl { + neighbor fe80:9dd8:abac:cf05:aea3:dc03:4c74:32da; + interface "tnet-knot"; +} diff --git a/tnet/host_vars/akili/bird.yml b/tnet/host_vars/akili/bird.yml new file mode 100644 index 0000000..b59526c --- /dev/null +++ b/tnet/host_vars/akili/bird.yml @@ -0,0 +1,3 @@ +tnet_bird_peers: + hash: + knot: diff --git a/tnet/host_vars/akili/wg.yml b/tnet/host_vars/akili/wg.yml new file mode 100644 index 0000000..b666d8f --- /dev/null +++ b/tnet/host_vars/akili/wg.yml @@ -0,0 +1,7 @@ +tnet_wg: + hash: + endpoint: hash.trygvis.io:51002 + address: fdb1:4242:3538:ffff:ca85:f812:3935:5fbb + knot: + endpoint: knot.inamo.no:51004 + address: fdb1:4242:3538:ffff:59d7:cf77:8b5d:761a diff --git a/tnet/host_vars/astyanax/bird.yml b/tnet/host_vars/astyanax/bird.yml new file mode 100644 index 0000000..b59526c --- /dev/null +++ b/tnet/host_vars/astyanax/bird.yml @@ -0,0 +1,3 @@ +tnet_bird_peers: + hash: + knot: diff --git a/tnet/host_vars/astyanax/wg.yml b/tnet/host_vars/astyanax/wg.yml new file mode 100644 index 0000000..e12db34 --- /dev/null +++ b/tnet/host_vars/astyanax/wg.yml @@ -0,0 +1,7 @@ +tnet_wg: + knot: + endpoint: knot.inamo.no:51006 + address: fe80:6728:53fc:fc81:40b3:9beb:8336:ba57 + hash: + endpoint: hash.trygvis.io:51004 + address: fe80:a0fd:89e4:42c6:f617:7398:abf4:b517 diff --git a/tnet/host_vars/hash/bird.yml b/tnet/host_vars/hash/bird.yml new file mode 100644 index 0000000..17cb4cd --- /dev/null +++ b/tnet/host_vars/hash/bird.yml @@ -0,0 +1,9 @@ +tnet_bird_peers: + astyanax: + rr_client: true + knot: + rr_client: true + node1: + rr_client: true + node2: + rr_client: true diff --git a/tnet/host_vars/hash/wg.yml b/tnet/host_vars/hash/wg.yml new file mode 100644 index 0000000..c7d9363 --- /dev/null +++ b/tnet/host_vars/hash/wg.yml @@ -0,0 +1,21 @@ +tnet_wg: + knot: + port: 51001 + endpoint: knot.trygvis.io:51001 + # address: fdb1:4242:3538:ffff:410b:dabe:1a0d:6843 + address: fe80:3b20:4cb0:5315:22a:c7de:a45b:8a7d + akili: + port: 51002 + address: fdb1:4242:3538:ffff:ca85:f812:3935:5fba + lhn2pi: + port: 51003 + address: fe80:6195:1d43:9655:35f7:9dba:798c:26b8 + astyanax: + port: 51004 + address: fe80:a0fd:89e4:42c6:f617:7398:abf4:b516 + node1: + port: 51005 + address: fe80:a026:6ec2:b356:21c5:b51:22b9:a1de + node2: + port: 51006 + address: fe80:a7a6:c1a8:c261:232e:7d67:fc27:7c8c diff --git a/tnet/host_vars/knot/bird.yml b/tnet/host_vars/knot/bird.yml new file mode 100644 index 0000000..0c1d73b --- /dev/null +++ b/tnet/host_vars/knot/bird.yml @@ -0,0 +1,7 @@ +tnet_bird_peers: + hash: + rr_client: true + node1: + rr_client: true + node2: + rr_client: true diff --git a/tnet/host_vars/knot/wg.yml b/tnet/host_vars/knot/wg.yml new file mode 100644 index 0000000..6fe932e --- /dev/null +++ b/tnet/host_vars/knot/wg.yml @@ -0,0 +1,28 @@ +tnet_wg: + hash: + port: 51001 + endpoint: hash.trygvis.io:51001 + # address: fdb1:4242:3538:ffff:410b:dabe:1a0d:6842 + address: fe80:3b20:4cb0:5315:22a:c7de:a45b:8a7c + lhn2ix: + port: 51002 + address: fdb1:4242:3538:ffff:18b7:d3ec:5608:db9a + kv24ix: + port: 51003 + address: fdb1:4242:3538:ffff:ea4:11cb:863:5252 + akili: + port: 51004 + address: fdb1:4242:3538:ffff:59d7:cf77:8b5d:761a + lhn2pi: + port: 51005 + #address: fe80:440a:607e:b685:c955:93ae:29f8:dcd8 + address: fdb1:4242:3538:ffff:374e:2c7d:319e:e526 + astyanax: + port: 51006 + address: fe80:6728:53fc:fc81:40b3:9beb:8336:ba56 + node1: + port: 51007 + address: fe80:58eb:3930:1815:2a6d:8918:70c9:96f2 + node2: + port: 51008 + address: fe80:9dd8:abac:cf05:aea3:dc03:4c74:32da diff --git a/tnet/host_vars/kv24ix/bird.yml b/tnet/host_vars/kv24ix/bird.yml new file mode 100644 index 0000000..e20c45a --- /dev/null +++ b/tnet/host_vars/kv24ix/bird.yml @@ -0,0 +1,2 @@ +tnet_bird_peers: + knot: diff --git a/tnet/host_vars/kv24ix/wg.yml b/tnet/host_vars/kv24ix/wg.yml new file mode 100644 index 0000000..9cfdc5d --- /dev/null +++ b/tnet/host_vars/kv24ix/wg.yml @@ -0,0 +1,2 @@ +tnet_wg: + knot: diff --git a/tnet/host_vars/lhn2ix/bird.yml b/tnet/host_vars/lhn2ix/bird.yml new file mode 100644 index 0000000..e20c45a --- /dev/null +++ b/tnet/host_vars/lhn2ix/bird.yml @@ -0,0 +1,2 @@ +tnet_bird_peers: + knot: diff --git a/tnet/host_vars/lhn2ix/wg.yml b/tnet/host_vars/lhn2ix/wg.yml new file mode 100644 index 0000000..5a279e8 --- /dev/null +++ b/tnet/host_vars/lhn2ix/wg.yml @@ -0,0 +1,4 @@ +tnet_wg: + knot: + endpoint: knot.trygvis.io:51002 + address: fdb1:4242:3538:ffff:18b7:d3ec:5608:db9b diff --git a/tnet/host_vars/lhn2pi/bird.yml b/tnet/host_vars/lhn2pi/bird.yml new file mode 100644 index 0000000..b59526c --- /dev/null +++ b/tnet/host_vars/lhn2pi/bird.yml @@ -0,0 +1,3 @@ +tnet_bird_peers: + hash: + knot: diff --git a/tnet/host_vars/lhn2pi/wg.yml b/tnet/host_vars/lhn2pi/wg.yml new file mode 100644 index 0000000..f9e741f --- /dev/null +++ b/tnet/host_vars/lhn2pi/wg.yml @@ -0,0 +1,8 @@ +tnet_wg: + knot: + endpoint: knot.inamo.no:51005 + #address: fe80:440a:607e:b685:c955:93ae:29f8:dcd9 + address: fdb1:4242:3538:ffff:374e:2c7d:319e:e527 + hash: + endpoint: hash.trygvis.io:51003 + address: fe80:6195:1d43:9655:35f7:9dba:798c:26b9 diff --git a/tnet/host_vars/node1/bird.yml b/tnet/host_vars/node1/bird.yml new file mode 100644 index 0000000..b59526c --- /dev/null +++ b/tnet/host_vars/node1/bird.yml @@ -0,0 +1,3 @@ +tnet_bird_peers: + hash: + knot: diff --git a/tnet/host_vars/node1/wg.yml b/tnet/host_vars/node1/wg.yml new file mode 100644 index 0000000..dfacbf2 --- /dev/null +++ b/tnet/host_vars/node1/wg.yml @@ -0,0 +1,7 @@ +tnet_wg: + knot: + endpoint: knot.inamo.no:51007 + address: fe80:58eb:3930:1815:2a6d:8918:70c9:96f3 + hash: + endpoint: hash.trygvis.io:51005 + address: fe80:a026:6ec2:b356:21c5:b51:22b9:a1df diff --git a/tnet/host_vars/node2/bird.yml b/tnet/host_vars/node2/bird.yml new file mode 100644 index 0000000..b59526c --- /dev/null +++ b/tnet/host_vars/node2/bird.yml @@ -0,0 +1,3 @@ +tnet_bird_peers: + hash: + knot: diff --git a/tnet/host_vars/node2/wg.yml b/tnet/host_vars/node2/wg.yml new file mode 100644 index 0000000..891c15a --- /dev/null +++ b/tnet/host_vars/node2/wg.yml @@ -0,0 +1,7 @@ +tnet_wg: + knot: + endpoint: knot.inamo.no:51008 + address: fe80:9dd8:abac:cf05:aea3:dc03:4c74:32db + hash: + endpoint: hash.trygvis.io:51006 + address: fe80:a7a6:c1a8:c261:232e:7d67:fc27:7c8d diff --git a/tnet/keys/wg-akili-hash.pub b/tnet/keys/wg-akili-hash.pub new file mode 100644 index 0000000..54c4a15 --- /dev/null +++ b/tnet/keys/wg-akili-hash.pub @@ -0,0 +1 @@ +uZJxM8xNPv0xEKR/Bjvh3YvrZ+WhSVbwYiui9Ebxqgs=
\ No newline at end of file diff --git a/tnet/keys/wg-akili-hash.sops.key b/tnet/keys/wg-akili-hash.sops.key new file mode 100644 index 0000000..f15f21f --- /dev/null +++ b/tnet/keys/wg-akili-hash.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:V110Ccs/U6xpiP8PgqADDlpZkRuRRdl5YRFfcKMgpUnMOBd7HBG+eey1nXg=,iv:RtXxF1n4c8kRjz6OwhFIgW8npvrqnzH8TagF18DzxIM=,tag:Pkgwl/+DiEsewbmm9pv4lw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwcEVYd0xZYktWWkZGMlFN\nSWxCN00yajJxTW5UaWNCRm5aZW8wVm1TR3hzCnVvTUJqNVFlZDNhTXNpMGdPSWR3\nMGY2QjZEL0VQU09NMXEwQTk3aTVnTEkKLS0tIC9SWHhMVGdzcjBkcFR3SWx5MGxY\ncGE0NmdrQXdwRWZmU2VuVTR1czkvQUEKjlcfHSXRDkCyYGb6GYP2m9phnQ29yXDb\nZfrnhNR1ffQhgX4sxA9LK0EPObbtU3ES1y2qtLnxu9h3f4VoXYAoyQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlMStSRVVZUmJqYy90eG9y\neFpRMDVBTGNGbzNoVEkwc1JZUVF0dXczUkYwClZzbkIrc3o3ME5POStiSGtiWk5E\nRlVDRTZpUFA1ZmFHNExKOWxZZE5laTgKLS0tIEdmRFN6YTZwQzAyNnllZzNLRFVi\ndkVMcWVadkI4V0I4eHhENWlJbWNWN28Ks1dEwr4ITIvTzAq2JKyyzGrR44Go+tyB\nFdV4zG4yg+msiyZTr25bf7x6gfBl5ZlsC6/8vGamGTIqE+gwY1TWeQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAra0hqZkZ4SFRydEJvSTk0\nc3pvSzU3NitxQ3Z5THVoVCtXSGRUaXdYbXlJCkR2TUpLVHdmV0dNOWNqbEJlRi8z\nb1VjYmh0ZVF1dDVVbFdYMjltQmpwQW8KLS0tIHFBOFd0N0thVGZDSXhkYjVldGJo\nRC9Oc1Z0ZWRNOUN2enNTNnlzZ0ZGUmsKPN9AIJPcByDbpj5pyF0Ju/AuEWakwY2B\nZtfBrIdeY15QqhR14UMMHZx1GKhFHXL8zTiqK2Grba8CJU6QW/GhOA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T20:37:57Z", + "mac": "ENC[AES256_GCM,data:Ow12TSR6K1N11nZYqd40Ts6lP0W3ouOeegeyYfcFeZbZDYDO4rURAQ1gynax9oRhOaY3PLi9epylCyv78NcRj3kgUwRshQwjivLu39vtyzIcFHcOKavhNWOF9qYQfKqXrda0XG5maEM2Dug5y8XwGcWGb0r77gKGO+qF1Af3iVA=,iv:bNapVzPDOvL9d6wkqTOZ3TQ7upA3yUMkwtdIZYMmaYg=,tag:sAi2AnML8CiWq3flb10Rug==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-akili-knot.pub b/tnet/keys/wg-akili-knot.pub new file mode 100644 index 0000000..f82cdf0 --- /dev/null +++ b/tnet/keys/wg-akili-knot.pub @@ -0,0 +1 @@ +uqLqW/p9YNKPis9VHPSDw1SI3gGk82RfB8InUHJJnVU=
\ No newline at end of file diff --git a/tnet/keys/wg-akili-knot.sops.key b/tnet/keys/wg-akili-knot.sops.key new file mode 100644 index 0000000..ab70c23 --- /dev/null +++ b/tnet/keys/wg-akili-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:cNZ2gyUWrlzaJCwpMSGCNB9HcStR9ofE8aKCN+cfsnD7AohyI7Vv1jDORhY=,iv:OiHlTQyluYLWV7Gd7Gt/mxEgWBZPYGIx/GMtr5ARYtY=,tag:eOpPrbZlWx+LINt1dP6fEA==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzNjV0TjlsYmlUQnV1Tlll\nUHZ1ZERqcFRUQjN6YStpWjNtTCtFK3NLckZnCm9hbWloVDR6WDE2aklySXJlajZ5\nYUNHL3hEU2QxTXV6SXoyL1RTc1A1WFEKLS0tIDFXQ1AxV0J4c21KMWJBanJ2Z3hP\nQy9pSndpczhlcHFkb0tvdGVUL2ZJK0EKb0maRHgJ3cj4Bmr9nKmoS7LTgEMIzLyE\nh+v9YGkpsCwuhqLStQvgukXalYrsRnswzBbnxmH50GEkx1Kgs9UCbA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzSzJUOGN1cFhVQVVCRlVn\nMXhvaGFLOFV6R1A3N3Y0ZUorQXBLa29hTFR3CnlWQkxHQ3lNU1YvZmh4TVRoTHdD\ncmZnaVFKUUNEeUplcEZmeDFHb3NGQXMKLS0tIGk4b0JybmtSRmdUdTUxSU5QdDFu\nWnRMWGw5WUdWWGtLeTlPc2w1dUZZRUEKOHSD0VXSlJWNMKPuz2kK0T4LZHaLyse+\ngg/iiABrkwqSTce0ZnmzTZmRozoaw4j8R17ItJJ/Va0/DphC/sTB4A==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKVUZ0SHZhUUViMkoyV1hF\nN1R6UDhIbGJFa2NXcTg4cGdad2p4dnlTODNjCkN5N2lmWWNhU2UveGd6NSs5YTJF\nWW5UT1E0NG93emw2Ry84bVlhU1A0WWMKLS0tIDJma2txSUE1QStOaVVmNXR0WTg2\nK2NCZm9YQ1ZuNlU3bzJkWitpMjg0aTAK20zIf831MYEanBh/m2lD0lzXgnnT167J\nmu8XWlEMhQx7kPP8xeXK5fm/83roiSQkSFOBc2mJPb1V6Qab12UyLg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T20:37:59Z", + "mac": "ENC[AES256_GCM,data:bx9NrGS5lqRfX6KcWRLGk+zGAsbEXa3UBsTmAXLzyrhucpVsjYY/FwsBQIaumYf9M9gXTxyxN5uJt6b7dw3T/wcd0FwRSCh6RCXaHTHIrAmSdRRXNsTvqkSldDfqwoV19l+Ac2xjEMP8Px5bDlKfkWn7dAClq86RiS8lEIss27M=,iv:uNKp2qaAWYk7eRkSbZ9Y6YmuYVOZxH1Ss45KDVAu1Mc=,tag:t3tm52skvtTQHfwkCKnGlQ==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-astyanax-hash.pub b/tnet/keys/wg-astyanax-hash.pub new file mode 100644 index 0000000..ffb18eb --- /dev/null +++ b/tnet/keys/wg-astyanax-hash.pub @@ -0,0 +1 @@ +2jK29ZGV0w8QqSHen7htQRSo+LOi9aInpVNOhDvHYyo=
\ No newline at end of file diff --git a/tnet/keys/wg-astyanax-hash.sops.key b/tnet/keys/wg-astyanax-hash.sops.key new file mode 100644 index 0000000..c6d83e9 --- /dev/null +++ b/tnet/keys/wg-astyanax-hash.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:U7DjvVKNTUiLu2JNVaK9U7ZPe0tLGrsE7t+gBxNx54LtZOhpE5IAB24W6bw=,iv:AjYCx/Cbz/J0aJud9w1M3wTYyMqlhUepkP/+U0dBBbQ=,tag:6tndRl4NYvOFLUOKjqdqFw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtYWdTVmxhbXJqZWdHWTF4\nc1A5QzJISktxNFlYRUZ5RnJrL2dUZ2xzTVc4CjdrZkNQOWk5cjVmeWd1Yzh2d0xS\nNFlRTEx1SHVndE9ZZFRCak9Ob293YU0KLS0tIGtRZG5mbXZBbVZ6eEFibDMwcWNP\nWnF2Sm8wTzdWSUQ2Z0ovUHMvODUwcVUKF702nc2+onyIzJghWgSccdsUVCh9PGNO\nWFAZkHxJigDxxTcHbCVgOaWcdSjm9uEEr/WgaV1/AKb1mr8XuFD5aA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqWUdYQUhMOFkxWXNuaytx\nUnQwWTRmd1g2TjlxU0pYTzhkWWRMNUZPTEZRCnlySHp4WE1DTi9JbnhUbWp0dXc1\nSFdXQ1gvSmovcDNBcExzNmFQNGdRTHcKLS0tIE9TeU4xNVpheUVpNDVtUHlhUEdQ\nSktNbEFhQy9wNU5DVVVYZVdmTVpUTUEKo237Wski/vLYoOqQ6CQVxmHe5TRMve9s\nih2/fccnndI5w3T4jHD6845BUhQfID0oUAwcPYB6vFFftXdwGkkwTA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3MmNvOThZNW1oREY0clZJ\nUkExQ1kzTng3QUJ1bS8zR2ZEaGZQZjNIWkhFCjlWSFdDa1VKbm9oZ3FFMGRqbGRF\nNXJkMWFXK0tFOEZ0eE52c2J1TmZ0cDQKLS0tIFQxMUxwUWpyY1MwR1I5MzJLazht\nR1dWTXphV3FMb1BOTkhpVUJWc1QvdTgKQoVzaFyvhcOye4UfWW9/okOjCq7Ug89h\nsbgexaK4ZfU1NoW0Nw4jZppFSEYm70NELqRnFZv4JFz5Fn72yih5Yg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-10T19:59:41Z", + "mac": "ENC[AES256_GCM,data:iwDbEy59/Kau8sO57xtyZeJrHjAkuocuXVFoaYnCsGpyUt5JbxZTn74CigB3g6RLgkgo4Irs7XNk1C8yYX7Dbe/XYMvlme3TbRsaOTVaATpeUHsx6OCbJKq4oXyckCd4Sr3W5UAklwTA/SOGAK/xaDFga3yH/82GMRLGN43jfTA=,iv:4tudziwm9GBj9v64og4sJZjDb0v7thNSNEinf2gdGCk=,tag:9DbZoyCfADyqJxsUKCiphQ==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-astyanax-knot.pub b/tnet/keys/wg-astyanax-knot.pub new file mode 100644 index 0000000..20d1d81 --- /dev/null +++ b/tnet/keys/wg-astyanax-knot.pub @@ -0,0 +1 @@ +KWChc+gz5ZT4cQUHyNXjNOBjQtsAMLp5LbGugbbCdWQ=
\ No newline at end of file diff --git a/tnet/keys/wg-astyanax-knot.sops.key b/tnet/keys/wg-astyanax-knot.sops.key new file mode 100644 index 0000000..583a944 --- /dev/null +++ b/tnet/keys/wg-astyanax-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:VpRrCM4sq/KzhQweoDgoNztngR+Q5x4YIUDpmRnEXelgFlkkqfU+e3uhVIY=,iv:XmUxvdiN8iOXpCqzEibf7zazQccNRsZ28fsTRTUm3HA=,tag:OBCk2nSh7/7/G/B29MIQ+Q==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIc0U4TWt0NnpXcG1QZy9H\nbHZGZkR6eDEvOXgvWXRQZU5vckZXOEhwWFFzCnY0Wi9LVWo2WENxcWVDZGZGMisv\nZ0pVN1ZsMWlPVngwcDVST29WUFd2MEkKLS0tIEdWREdWUDgwWXJ4VXpDaWVVRzJP\nQ0FiTDBtVjAzMkZ6U0NqcXVqaWlhZGsKYNsVHJmtK8M5E9XR3L7S/clptPOWhPiY\nrGfkJkXWXoztikkavCxtPfrGBHmYfL5uvm9B9x0nmU9YKjby3kTULA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYZkpCTE8raW1vTFgzMjky\nUjREdkpGalhaNGRCTFQvbzUrQjIvLzhoUGswCitaRjJYcXl6aXN2THNXWjU5S2U5\nbzIwN1pmNnVXZlh6ZGRmK1IzMmQ3SHcKLS0tIGxWSUFscUFyWVJlOEFRQTFnbWl0\nN2VWc2prOUNGRWdOcDUxSTVNMXNDVFUK+KpEQGhWDNtGPx4iwmkIoV3nlQLQdxmr\nRyMpsqzUT4zX+2hPvQ41ms+fe2yYCU6rLGCHCmZPkoWFoj2dYCbjJg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3UlIxcFpLRW8xR0NpUHlO\nTVh6TUJYbWJYTWtqakNJdXZXOHJMeDhBVlc0ClU1dXdwZ3VCUjBOWHpDOVRhV3Vn\nU2FvY0NMRkFpNWhOdlEwREUydWU5S2sKLS0tIEZjaDBzUmY5VldSa3pnSXI5OTNJ\naHhodndRR1IwTCtib1ZGMitzc0cyVFUKet7sSTJ0sH1Sk0CR++eDy0f87Rb4EIQv\nb/fF79LcinxA3J32k3yvSV56quAHYcnm9vY4oTSeYERIJPyo5ChNpA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-10T19:59:39Z", + "mac": "ENC[AES256_GCM,data:f0fp/6L2G9/hCTI/L3NPLkbCaJMcip350BkWu/HvMbvScYj9GPj/bh4wAWF5JO0xZ4whtfv/DJ2UBwDxicQuqiR0acUruYNLOx6Y64qC9b69Z7mpllXre+lr3wC9D1YlMm4HkkhW9HOWI6+77Y0QOwRuYomTqQ5LJVxKVlufbL8=,iv:VT6tkuCi+ru0N322ZjD+C08K3B542gZb8kULc5+4UtA=,tag:5sbCMAksvCz2x/5k7OFI/Q==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-hash-akili.pub b/tnet/keys/wg-hash-akili.pub new file mode 100644 index 0000000..4079fee --- /dev/null +++ b/tnet/keys/wg-hash-akili.pub @@ -0,0 +1 @@ +Oa9mD1qPdy6gCilUqmJt6te4Hijr5WxxkVvOP/wgax8=
\ No newline at end of file diff --git a/tnet/keys/wg-hash-akili.sops.key b/tnet/keys/wg-hash-akili.sops.key new file mode 100644 index 0000000..551867e --- /dev/null +++ b/tnet/keys/wg-hash-akili.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:EhG7qFeYIUWj0G1FSaQHM3MIpbEBAm0H5N/3/40WkIFrkm1Haw/gwkPYHfY=,iv:xZzNX4pVmVyAhgDqYjsaE1yB9CBC8ZyO0HWYEBrO96M=,tag:LB4kYpDKHUwjVSK7et73pw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyelloN2U4cmxBRDNiK1My\nUm1LSGdvck9FK21uYXNGNUhrZ0NmQ1YvRHhZCnQwTWpWNzBLLzdYMU1nZnJXQTVo\nL204RUh5R1N5aWp0OU9GTGVZTG5QUkUKLS0tIHAvb0Q3WUt6czRuR21kQnU2bEt4\ncXExRXVpSlYrMHZiaG5FdzdyQnNlTVEK+vnwouWjW4cEAfLJSE/R511y1PB+dbVW\nc+AEeYHmkq2mJww6ZOy0vdbZip2K4PUgQes+Nfqj6CCC8dw/3/vHog==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1Wm9wUDRuR3QyMmJ1aXR0\nSmVOSTA3MnpiVkRuanJUNTVWNFhRY2hTQ1NjCkh6Q1laenljQnhCTGlFZm9Vb2RL\nYXNURTkzeXlXRzVOcmNrV3BtMkR0R1UKLS0tIEpkKzdzdjFoYzRJRy9VazFPNmow\nNjRkT2xlcVdZZmZ4ekdaaHRuSHJBUHMK1tiwjUIJ8udRdXRoMIeYhA7PxvE0W1HK\n247FWlIv8h3G1X+9q66O5JQheQPSSv1e3XeR3Cj1tQ4d78FkGtCLjw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1Yms4bmcxaExzWThhN1FL\ncStCc0dRK3NyRXV3ck5KTllQVTF0QXdEa3pRCjV3MEozWkRjT21CS1Z0RG1rNUMy\nUlpiRUJ5ai8wbEZGUEpueTVvYklPSW8KLS0tIGVMNnpuWWp0bks3OEFHOEk3M1Y2\nbnFGd0duUHYzUVlGZnIrTGNGVnArMDQKVtlC1EJLnpaEBGFj74YgFfJabX7fYPU6\nMepy31bqarzH+DDpPpzlUb+3FvrD8zBT70R7XYAOJSJ5p0WqcZ23+A==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T20:38:00Z", + "mac": "ENC[AES256_GCM,data:9zvcm8W5NSEswBe9ulq0z12VaiRBX6+Z3gruHaOf637PNh3TicjRTQEp+Kifi+fWPQc/HnuLtu4vB1dtWvIBXu0BdnDh580ap5AU9AJD30Dhb1f00gj772j3K/koBdkjapnr7EYNe3QcqltFmrPIqutUA26UHOZxy2Pw2nzdCHo=,iv:xrHHE2pIACxMX9U+ZvJPoD980z5RQE8F/Ab27/iIbFs=,tag:2LvZZ/xK16IKr9FPwhqRug==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-hash-astyanax.pub b/tnet/keys/wg-hash-astyanax.pub new file mode 100644 index 0000000..60d4fca --- /dev/null +++ b/tnet/keys/wg-hash-astyanax.pub @@ -0,0 +1 @@ +BGi5yh2d+iBlrx70Te3mBB4A5quTYDZWfVlJg652oQ8=
\ No newline at end of file diff --git a/tnet/keys/wg-hash-astyanax.sops.key b/tnet/keys/wg-hash-astyanax.sops.key new file mode 100644 index 0000000..46cfe7f --- /dev/null +++ b/tnet/keys/wg-hash-astyanax.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:yXPqVOMGnHR30SY+U3vwTURs8BUnl2lSZyKVniXkArhr4HnDeXAGc40pwaQ=,iv:WKU801BA5geRDndYQlCQnMtr+j/8kEjVq7KwcGvyulo=,tag:XXisbXNm8fqkucSsyDoN6A==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBINEFIWmhKeStGbytsVjdH\nN0Zqb1k4cXJTRzB6NEtBaElJV1YvVVR6ZUZ3Ck9sNklvZW9wbTFJSGdidGVETmZU\ncEI0VldzdUpPc2JnVTYxclpWMTFtNXcKLS0tIHpHd0c4dDZ0RHpSVGJRN3FSb0NK\nWW1KUjcwdndxRWtpZGgwSmpiYW1LSXMKKRyEaVRujQ0bFVrPenOEElRK1lS15UJL\ntW6NPqcoJyD1XP8/cdAikWo746y/lb4KfQNnrLJXBhNlk5u80epmvg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYdS9DOEZaS245SUxxazkv\ndTdsRWJ1dlpCVGVKWC95cTEzTlhubk9jMnpNCk0wZE5GalM0QXRSbHcvcS9zOTdK\nWXBKdFJrUjdWMU9CVzVTaGpScmZmbDAKLS0tIGpPbjZVcWwyR2F1L2VsWjRESE5C\nZTY2bENDNzkxQmp0TXk2QXVKZmxuOU0K0kVVc8uTsZJtWhe1ZGAajPlbFBhJmQgY\nZrRiyHyRIXvbmn7EE9/QwfLsz/ddLj845nMSUIx899aQ+C+DMDn3Fg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTaXM5R2pLWitFODFYc1Bu\nTWUyem9aR1JHWHJuUTZwcFdKT21CSFg0dmc0ClN0QkkxSS9IeHRjaXpHeVpjUGE4\neVBCak9wQUJ0ZUVFK21CcEFPaDhEVGMKLS0tIGZ0U1VkRzhyZXJZb0hBcU5mUm0x\nMHpXUXNPczlJRlJVemZEYVdTSkx3NU0KxeVSaUWzN4JWxdwn20eCVq60VLxKM4Jx\nyfjuqIs+Pxfwa2vbfYlDCEibCb4d8MmIFkUTSEtT6udV6tQQ0wdzpA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-10T19:58:36Z", + "mac": "ENC[AES256_GCM,data:fFydJYNnLSToHYU5NAMZcfEeb1ij19BSY0XE9q/KbJjufxJWPpJ8Yv2y123CWvP7J9lYipI4y4hOCgr251PdnDsx667CABzaZFTCgU7hB6tnw3kqa8NGnj2sGL0mIufU+t+ZtWC8UOWJRH3Xh6EkGG7Z+AmPPE0y467oHeLH2M4=,iv:jWWszyfAnJ3dAxoVqEHmRPHq9NXh5rI3dIETOYPo7Gc=,tag:6RXsLVJkG+9OsQckF3et2Q==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-hash-knot.pub b/tnet/keys/wg-hash-knot.pub new file mode 100644 index 0000000..c335281 --- /dev/null +++ b/tnet/keys/wg-hash-knot.pub @@ -0,0 +1 @@ +o2Sd8hYsjNjZzu0ZceI0DQN3kprqBZhI7++RZvALOjs=
\ No newline at end of file diff --git a/tnet/keys/wg-hash-knot.sops.key b/tnet/keys/wg-hash-knot.sops.key new file mode 100644 index 0000000..2f3e303 --- /dev/null +++ b/tnet/keys/wg-hash-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:mnf7NKfDpxPxXgdjDpD95Cu4033Tix8t/1PQZ5OiAf2hDz4Bt+8RVxLfzpk=,iv:UCbBghUvEcZ7G02puSPG+JzQpj/ptk9NmRVgnRZTioQ=,tag:gr0QSJreqtygFArS7Awjag==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByY3gycTVqbC9rMjRPZjI4\nM2tkRHExZXhFUHNHSDFqWExQYjd3T21La1FrCit6K3RNdXRGUjA4V24xYk9YQ2RR\nQUlMRW5vUEFBTHRZNEgrSkUyV0tFS2cKLS0tIDlsY1FYUThIblNXZURNNmpCQnNa\nTWZuaXRQbkRIaHBuYVIvMnFHWUhDelEKINqzPypfaqFslJtwTvCw8BvAJX+cjbVz\nnG2veTKodry+wb9SFCTnsa5a7b3cCoClaxaPTntr7oNNH8/YUAjkMw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBSm1NNkdvNmhLQ20wd0E0\nNkhSSURSUzFqeXVLWlJmUmY2eGtOdjRPRUFNCmMvTW9XNi8ySHJUVlJocy9XTEUx\ncUJuLzhxWnBhNDh6d3lqcUdkVzNMdncKLS0tIFR2a3BxRm92dVQ1cFA4bEo0SnhW\nM3lXZUdhRU5IK0hpbmZIQlAycVl4TkEK1CNX0qD0pWBWceBlMA08JIw22I+qmDTM\nBTW38Wqw/iZJFnpre7lvO80w/5YooIc9VPlanB0JnMpuXXXDftkm8Q==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3ZmcrSXlrL1piOXo1MUp4\nczFXTFlNMGlWY01PSS9zMEtCY3ZwTnE2OXdjClQ0Q3RXK0dhb2Z5UzBvRlRJWE96\nYndaVUk3ZjZGbjdiTUtDdUdKTU00Y3cKLS0tIFFtYXVVbGJaekdtYVh3aXB1Qkht\nK0lNd0haZ2ZkZXllOXNRT2hKaThsRmcKOW5NjQIgJwzeNysy54M08SiH26P2rhld\nIF9LgAtm0PqLycsPqfIZb4xvAdgmGtF/Y6nFtB3Y5K88BarwwP2rjA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T19:47:27Z", + "mac": "ENC[AES256_GCM,data:xSFXtUCQ5gAtT642727t9qg+q9KL25u1Q3viux/zCVORpPSkTeu3E8sB0EhieibjkxV9BFVGjues4RMOR0ZR5BlG6u0K/vY3S6liNvrDq8mXyiwzNccZPSe5pfhPPFTm5aoec09KcDmrT7PJLiEcIzQ8ohj1eR81/ImAjCRVxLU=,iv:QFuMmlprq6eMw86VAv5TVcFnOJxEUYWhgr0KnkqTrYc=,tag:sHzUvITqKHGuQdmnCB5TUQ==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-hash-lhn2pi.pub b/tnet/keys/wg-hash-lhn2pi.pub new file mode 100644 index 0000000..6343506 --- /dev/null +++ b/tnet/keys/wg-hash-lhn2pi.pub @@ -0,0 +1 @@ +BQxtKCHLZptTkwqt+2KAQpMFB6ar1Iy5PzrGGlJ7ZHg=
\ No newline at end of file diff --git a/tnet/keys/wg-hash-lhn2pi.sops.key b/tnet/keys/wg-hash-lhn2pi.sops.key new file mode 100644 index 0000000..871bf0b --- /dev/null +++ b/tnet/keys/wg-hash-lhn2pi.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:tRBEaYfLvWXzHBaFL6ddXMTr1K+SOZQudP9gPK+08FMtrvMuBlGu8jB8290=,iv:PC/YD9mcY0k4dXDDWPPOosNfmedYG8I95fW+fvKARe0=,tag:ofBqln0gSK6oGwtYean6mQ==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0QmlpbktNL2dXK21vTzlX\nbDQ1SnhkbWNwWHRPeC9OVnVlQ2M5cHVEdEJVCmM3a3AvcmNvamdRc2krRFJRUWpn\nTWFSS3JQRHYyNFRzZlNtOFNseHByZTgKLS0tIEZrc0VKeng1WUowWURTV0ZmT2E2\ncGxodE14V2hKTllPOWJyYlhCak1Pc1kK/cA9FRw7so34vlRaI42s3YHgpl2HAyv6\nOH3kWg4faOZzztYPZhbH6JJQxJHIPZ4pA7uUdmqnGolpdJ4oISnUWA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZ2xZaU1aZWRKMzBvSW90\nWURnVThCVmlKZTFkbGorRENmS3I2SmZsUTNJCmllbFpuV21yUlBDZVB2YS90TkVu\ndWRvSWhxR0NrNkdtWWVadk5oWmlNeG8KLS0tIEQ3V1M2OHZxd1Nsa1lldFRFeXdM\nSCtIQmtiY25KdUFoMEduN0l0Z1J6eDQKhUamnGxm9SgectJzLlm3IXQx9T/nloTs\nggh1pT3TkfaoL6tBMQy9yZWbdyMDFLwenKapYGBcYlw7gZtsydPU4g==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMWldwcXhER3NXeEZvZ0pD\nTzVXR1d1OGlvTkVUSlY5N3N6cnRTTDBIcEdBClFmS2VlbG5xazlvKzZmZXRYQVA4\ncFlHakRrZmhHV0VuR0NmQW90Q0VyYWcKLS0tIHdtek1ZL2I3Wm5nN1hlcjJpaWY3\nUDYzL0IzUGhrY0RLRWgyTjFXaTJQQncK/82KcYV+CmY9LwTtTWnEfwiIp3jujJpx\ntK0lTJLEH4gzYjjjsXOUY82xZUuYOLz5La8BVfiKzSwKGwAXUyGF8Q==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:27:29Z", + "mac": "ENC[AES256_GCM,data:WAUrsn0PPsWk3MXmVwPuhrZy/D9F5GdvJv3h5FEKpzbeEb+XpTIlmD/GMxqKYGTj1JXhFT+s8QXEjjEa4lR7AGUryhsJe5Tkh5I+etPf4ePAd75cixNMmCmqHxWiA6fR9OqJDbPuXbHYnbrVgp1T+9tXCCZMEoh/YTjmFfWSDJ8=,iv:cSF9AW0kpjKgcXUZpb4KWuLPJyfe6vA9vdXH9f19anM=,tag:53dj6ZWGD98o4PVNvAzdrQ==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-hash-node1.pub b/tnet/keys/wg-hash-node1.pub new file mode 100644 index 0000000..8e33ba3 --- /dev/null +++ b/tnet/keys/wg-hash-node1.pub @@ -0,0 +1 @@ +1cNynnx5gPRzgr6JNCPqzlfQP1SuRc4XN3wlWxbIVF4=
\ No newline at end of file diff --git a/tnet/keys/wg-hash-node1.sops.key b/tnet/keys/wg-hash-node1.sops.key new file mode 100644 index 0000000..7982e74 --- /dev/null +++ b/tnet/keys/wg-hash-node1.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:J4ZEwFTTSOcMCUNbBxeufrHRg75BmlTVv0gPs7xVdB9RtnQ+G859ZdDARSk=,iv:dEqxGTSmnWjZzc8kirfyTkJfewUVcPejbzG9RDQnG4Y=,tag:SdiX98tkWOW7oAcxLMJv9g==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMUkYyZjZ2NUd2dXd1QWZk\nYms0UDJKajYyb3VnOHdCVDVZVWdVTGF0VDNzCkE4V2dIN2V4MWUycXBLem94aFNu\nTERTZ0xHN1FwK0w0SVNkMGJOcUx6aGMKLS0tIG9OdG1xL1pLM1NtS2pQV0J2bGFR\nZ1dJWDhjcnNkREh3aXlHa29teUU4UWcKj62Piukjg3hk2MWvXRhkmAznsQgclqST\no6gored5zOcjZg+RFZd5RgLvNQxxwR/5dfZPyBXfjPIQi2+g7UJDfQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5ems3RGdWZ0V5NVVMdHpa\nZDM4Nm05QTJjMWx6QXZqbUIxZFlIOUF0WDJZCkV0OWxIOXJUcnc0R3BMNEFSTks2\nbjRCb0lIRWJqRkcwc25nVDArNWRtSmMKLS0tIHZEbzl5N2NaNGduQ1ROK2Mvand4\naTQrbFA0L05hbGxUNDRQb0lScll3NjAKTjRRiBpoHW9kLZS0YiZ3ZKK+gjBzErNU\n64/LLgZIsKrWnXDxM1szVf0wDfx5j2VvzjE8yDszd0N4iXzobjwt9w==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhbGl4bnZNNHVXQmxtNjZy\nenpyYXBobEwwQUx0Z05DSzNvM2pkb281NkY4ClV5djRJTm91MmQvNE1JY0QrNXNj\nN1YxNldBZFdhRVlLSmROaitKMzkzWDAKLS0tIElNbm5lbGFDMHE1N1owMTFhektq\nY0Y2VU5SeVQ5c09wRm41dVhxZW5VMEUKKCL9H1dKgWaFg6KpDjPy4QXAQDAYfO6W\nxh/eX5I3OvpAHSVvTGL0LVQVBI9Md27f9UZIKIXOEMrrborMtmTqjg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-11T08:37:25Z", + "mac": "ENC[AES256_GCM,data:d2q6CE/Um1sEZ+Tbg0xYTSvl3/aEUdo0M+8rAh24IlM3p4au9mEHGk4WzT+fyxYnmAAeLFyf+XMcGP4nil7dut0Z22fTOBrgehpkMobbHEIqOhMa3d3I9WyV4h4AQHMyWWjZhTVk7uVCym7qiRD91ucR3vG/ax3aKRb43OYx+ZE=,iv:GauMpvYiClHwjQEYPlI5/vaUst6+eOdo5+8L8b7VZeY=,tag:kNJ2fSH5Z++PehOWQYJMSw==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-hash-node2.pub b/tnet/keys/wg-hash-node2.pub new file mode 100644 index 0000000..877b702 --- /dev/null +++ b/tnet/keys/wg-hash-node2.pub @@ -0,0 +1 @@ +X2rEOlHyKs62HW0nAaIHEZFTprGXhLb2de/hAQcbFng=
\ No newline at end of file diff --git a/tnet/keys/wg-hash-node2.sops.key b/tnet/keys/wg-hash-node2.sops.key new file mode 100644 index 0000000..4fc6c33 --- /dev/null +++ b/tnet/keys/wg-hash-node2.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:4GvFf7qZz4uH4scmvpSN0x5ei8XoDW/raxwIRPH1Y6+9wnj7zmVELIPytCI=,iv:7S16T48B5x8B28WXCpNwVArVIucDeGOilOgw/nUBdN4=,tag:oOHo2KT044rDhvRQnvsB+A==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLQTJ4ZEFKN3IyY0VLVU1R\ndnZadTByc3I2d1h3Q2xZQkZPL1FNcWI0V2dJClVOdnNIaTljNXQzQU4xZXNIMFBi\nR01mZHVtWjZUTjVtZGN3SkJYWTk0NW8KLS0tIFBMdnl2Rk91aGhOd0FWMytFblow\ncWlKN0FhN2ZsRWJtMFNnU2llK21HWHcKPOP3SG4DdnseZjaOPQXBsqtxYo2NBQfK\n9hyqlhD02AzP7XGrf++YS8FJ3nqOrJ/NV5cYeOEDCMTDqQ1DVwLXFg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2Q1hNbVZ3UjJlL2RLUTY2\ndHNWZTVlaHpuM3djWE9UTzlBN1VmSVBBaW1ZCnM4M0hrblI0UmxJYXhjT2lmTWlU\nVkVIdVIzUWN1LzV3Q0hVM3lkcWgwejAKLS0tIEFPSit5UGRCeks4NXhDSE9XNXFE\nc3FTYmUyaW1GdW5YbHFhN2U3Yis2QTgKuJAdQqbxWrm86Lsn+xv5XQNxiE+krq9z\n6PoViqeLVqP54D4TGsQ7HBWD5k+mK1IbHdiSrf6lCw2AIiZOQXACdw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpSUJIVVNlN3Bac3M4cFlS\nVHUwM2FNRnY1bFFxb1Z4RE1aYnVoK3NxT1djCmVnSUJ0cGZ0WStPZXY4Y05LVkxt\nd1hIQ0V6VWYwWi9WVnVpUVExbU5tZzAKLS0tIDgzcmEzUnMvcXNES2kxKzlHRUpt\nRERyelpQaXVVTHI3WitXT3hkbFhmOGsKq4MW9Pdngt2L0/Jyhj9IRIT8t2/a0OXQ\nhpi1zBq8pyyqgsOXTornPYHmRAtPNULetzFbV3l+JWajHeemCA7jLA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-11T08:37:26Z", + "mac": "ENC[AES256_GCM,data:hMv9t+1GswxvoHlNUEH+EGJesDRTolk2PMWDkk9GggOxbkMxZS+Unl/79Hj+nheclsWkxIAI6CG1Sr4/qiGdB3yX39s7O/LgiXnNV6yYirVJ+Qrs3T3oRM1HCk9Y5odb42bqW+QoCdEhn4pJk1oL1n8ZrjpEzE1cf9ChAhNRRzY=,iv:JzmYGLYfH920z0XZJVH+ZNCr+FlRu+VnC2iPnCiydHg=,tag:YclQ/r9YlgC2xb9Ng4UIQQ==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-akili.pub b/tnet/keys/wg-knot-akili.pub new file mode 100644 index 0000000..883226b --- /dev/null +++ b/tnet/keys/wg-knot-akili.pub @@ -0,0 +1 @@ +1HVM+oZOB23MszWwpxFSJasFiaKPDJxTK/HC2MGvtHo=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-akili.sops.key b/tnet/keys/wg-knot-akili.sops.key new file mode 100644 index 0000000..132546a --- /dev/null +++ b/tnet/keys/wg-knot-akili.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:DCuYkK/UwFVDELXIiW/oe7iQmdM04w+LGvLp/T8Tw+u23lvbHmqi7FadMlo=,iv:gbAmJsCgKu1DbusG8yDakXWeb/RwGxwNZewa2TgVXSc=,tag:Q7dWAJbwwzyqPkP5cf5UUw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDL2ZmU1haSjRvbVgzYTh5\nM1JZMVhCSjVTZW5aY29FNHZCUVpPMTU5Vmp3CkUya2k5Nk9jTmVNY0JQcHNWZHZX\neVBUeFJWa0dRYWRsS1VsTWEwQmNzcjAKLS0tIHc2Y2R5UFMrdmpXSTU3OC9xamtG\nWEpLWi91Zy8zRmdQUTFBN1plTWpIQlkKT8mxUZd7BokAmWzB5CfaRquW307Zj+52\nkYD75YSq5WBvMkj0QGGkklyFM7syH9WBA9+J2t0XKPilz4OUEizAnQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5aFd5cnRqN3hYRDc0Zi80\nUHM4L2F0NFMvN3ZISjc1b0JtSUhlTE01SG1BCjZ3djV0UFBpVWQ3em1memQ0anUy\nZS9sU05zalVIV3Q1M2dtY3FodHZ3SVEKLS0tIGFBSDV2eG9XOStYVGdRUk1SeWI0\nMEJkR3dEbUV6TEtHd3I3MlJTbEc0SVEKFb764pOkVIyPdzVYTVNnfBb24OyxSzlV\n+D/gZnSlZHIEqKGhNr2nqjN8d/T4hDVPLL5nEP11UW+JZWSGe+W22g==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5VEY2Ykh6Z1BacTY3OWlO\nZDBEd090OWZFU2swMHNlOHVGQkNvV3Uxa2pNCk5vT1pEb2RrREgrUXFZQnJIZ3pi\nZSs3RzVjL2R5VDZkM0w0TEs1dHp1NHcKLS0tIEtFVVdqNm9tK2wrb1JHbGMyNGJT\nZFFOeUlobVVZaUNvY0xERllxL1hSSzAKvas55nnIeJrw2lQGrRXXWjF4XmCY2eKP\nYlisBF46n7DBIWg5UHlpYd+2Wl+VJ837JacuLm/GxEWOBm82B9/w4A==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T20:38:02Z", + "mac": "ENC[AES256_GCM,data:kflt/laP/0Q6iXqKe8pVBNdZxXH2SNFLsSLHHqhFpvdUlJIJDnC2v34HV74l1yWxjgOP2Vamaj7Pi8mx4/S8OrwcWfOBrGDRFpv8GBv6usT8VbzWGj281IQWy+8Zl0QMiCC2KhZbo6+R2V7CXg5PLSbDLhyPCeYKiG+HgfRVjy0=,iv:pVSrFsIjOSeMLOrYzsA2ry80gG85cfUrtTDjje6Iri8=,tag:+xE1NU5tWh60/jF1df/87Q==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-astyanax.pub b/tnet/keys/wg-knot-astyanax.pub new file mode 100644 index 0000000..0b8e3f0 --- /dev/null +++ b/tnet/keys/wg-knot-astyanax.pub @@ -0,0 +1 @@ +525whc+XR9Ap6LDokB2s1Thi4z4yoYTK1Ydt5eGL7UA=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-astyanax.sops.key b/tnet/keys/wg-knot-astyanax.sops.key new file mode 100644 index 0000000..f37cdef --- /dev/null +++ b/tnet/keys/wg-knot-astyanax.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:2TWTRIEcWiSV3JU5nRdtyLn9/YhTkvRub0DQdFmTAPGEyOMzVdH60O4KmJE=,iv:D16FvT1fe+iNSICjpTocedN7+n3OEKvDprhbV8gI+hM=,tag:uwrHeKTENoKFYDxct1kxUg==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzRDhNNmZyMmtreE1wRG1W\ndEdKT1NKMXpwdWVtS0ZtQmpiRWlZZ2pTUFNvCkRwSUVsZU93SmNDTStFR2xWcmlR\nMWh6Vno4UkgyUWhrL3ZURFF0dEVPclkKLS0tIGpYV2JCb2tTMkRKTUwvZXAvdVlP\nTTEwd2NlZDRXNkRSNm9pTW1TdWlUQWMK5P3HXSBQMdme204AMV+FN/4hCU/sTVCL\njFijpIH+caa05fX+DJyDTIYNof8w5i4G47/RbxW/3MEhhBiZki32ZA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwMVEvU0ZYeGhyQVNwNDhP\nMzN2VVlNWjVhWUVrK1ArMUtlMUZFb2RtRUhvCktSZi9qZUVuVTNMclNic3QyOXIy\nNHFDSGh1VXpnV3RjNXpLWkptdkJjQUEKLS0tIDF0bGQvYUkvWnhNS2w4Z1F2anNQ\nd0M3WXViRzE1YmFkREUwV1dzanJzZTQKh3dJMFnb/3xSi5I4+cciU6IbyCKHg51+\nGlZ9BAmartSdIngC1EBmJXijFJWGKKQFYAvJ6Xeux9yyNNx1sf+/mg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLLzZudHJvelRwL2x5clph\nMDZoY2hhS1dDT0Z6YWpPWHNoN0ZYY1d3WEhJCmVXZDhnQkZsWEI1dThKSnB0czVj\nVll0bTZsOUZ6MHU4WHVINTk3eSsvVFkKLS0tIGE3Y2FLMUxCUlRyNTRFYXJySHdn\nUTIvcUtGOENLeUtwVFZqM3daOFRtbkkKNMNwBZLRv/0lvT/Usb8oI/RlfHsTVK5k\nRZcTZ43j8q0X0XOs58CEsFCLYZ/kJrQOBYsigMXuNbIz3Hx9UuZRFQ==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-10T19:58:39Z", + "mac": "ENC[AES256_GCM,data:K41peTVBE1JJLtdX+mNcTbK62mwxIAfhf0XmVGQ7E+2ELWxaoCo/A4z54czcK08v4tK3BObYIRMLCY2bn69BnYFWB/vyoeBz4tBT8MHf7jgCTd3nfmFr1W/8f4Tl+qx1mtz8ZS5+tZ93N/9etcnwoQBwiGjZeKbtL7ZuKwsKU7w=,iv:W2AvDxha9G0ThAeSebRhYsT/iqTmoTCdRzVi4pEyq3k=,tag:lCQj5jdx2CNZtUi37HvEQw==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-hash.pub b/tnet/keys/wg-knot-hash.pub new file mode 100644 index 0000000..f45d6e5 --- /dev/null +++ b/tnet/keys/wg-knot-hash.pub @@ -0,0 +1 @@ +BXwzEhXje5q6I6KaW5K5hw9r1VIg5aTX2C69QHXclAM=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-hash.sops.key b/tnet/keys/wg-knot-hash.sops.key new file mode 100644 index 0000000..a16d2a4 --- /dev/null +++ b/tnet/keys/wg-knot-hash.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:JoTKd/50zDFXaSNLX77GIUX3mICPU5i00PfGls0mhW/l6nxSwH/pNk5mHd4=,iv:N+veTN0KtS/1+xLVYw5uiR5eu6iD3TyVwhunJ2sHKVI=,tag:0DeTbaNJefz9xJETFNXMbA==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1UzNxYUVPaEpYcU5LVzFr\nQS81Y2FCZm5aeTRPa1dMamdyWFFGaVM2MEM4CnVjRjlPTC9ZZFVDNDBGbzM4cEJz\nUGhOR1lKd2QwMVFXT3BoblBjc0ljdVkKLS0tIElvVkFvV2toYkQ5V29YamFKd0ha\nMTFkTGhtV0QzaE1GcGNZODBzTWxxY0UKaoArs4gGtPCUgwSG+gjzWiG75BaOct0E\nYZ12bHoBrHzgWvhKT3aFTa9JPrimry1Ycc3b/bsOtst/RCZoLkWisg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRMkpsd3BQaWVnWk1malFz\nMGFCYlhRRDNlZ3V5U3FkQjZETk5NZDhhUVVFCnk5TnlHVHdHMjVCL1pKRTVpT0U1\nTDhNS2MyRlNOS3BPRVMvb1k0a1NHWUEKLS0tIGVzRzRIOEF1cDQ0eDRhOEtnOXFy\ndXpEWjBZWXhHbzVBdC9RWHR1WlRwcjgKtEFv/8FUGlO6Xc+dxAJxdYV7U5AvW0i1\n/z7Hel0tVqq5hTyZYwYWBm0/tj1bCPIhPisxu+6Eb1T4WuPGeylCpA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTUFBDY3lkTC9rajdYLzhO\ncldBNnVDNldBcGcya2dNNGZoVW5uNW1IOXl3CmU5MXZ3YUtwVDFyL2lTbCtHaytn\nUGYrYnVQOFU2YWlsejBZQ0hlZlNCK0UKLS0tIGRrRmlFbkJWMnRRZ2o5V28vSDV4\nSU9hNU1tdFJza2FqdjY1T0RCdHkxWFUKVRBnS2OCCfNko5E0qn1Iu28FKQJlR7oV\npP6k1npvtsCGMej37WANxoQt/zu0DM725nqYtxSnSzW73+3t6BbnXA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T19:47:28Z", + "mac": "ENC[AES256_GCM,data:WRl6YpdJnJDGMnW2K09259uK3viVuVW2A2RaLs/NF3mVFIs+tTwUyQl5CN0b+9ajv28zjolrlzlKLR3eGsEtOmWXz/edrsOjjAif0k6G4mHdfYYgFbrSDo6zPZ1WGxMBFXY1UEnfW9QrObZnrQuCJu6NzsAsSXdxrCrkcVc82TY=,iv:OK8aZIgDI7mXcCtV8IqUca2kn3wtGd7K2xdJTL3ADEo=,tag:bCGVhQCotE5YbBY35Z5J9Q==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-kv24ix.pub b/tnet/keys/wg-knot-kv24ix.pub new file mode 100644 index 0000000..6a2c4a5 --- /dev/null +++ b/tnet/keys/wg-knot-kv24ix.pub @@ -0,0 +1 @@ +eF8DIAyneOlhEzyriFB528IUsnYqy/b5398i0SW06g4=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-kv24ix.sops.key b/tnet/keys/wg-knot-kv24ix.sops.key new file mode 100644 index 0000000..d016498 --- /dev/null +++ b/tnet/keys/wg-knot-kv24ix.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:VxjIdJCQwGls2p5Jf+fzAbddlloSO0aE9O/4+Ppnt2bAOupWeJoJXyjVRrk=,iv:WCsLtYlHuMl7r5eiMSEG53QC+fhRavBcFsWX7m8AyJY=,tag:xHiF4qexD870jV8L+cMVxw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdFVDc0JuRVBJTHRYbDRr\ncWtmb2FiTVNWeHNBQ01SNXRsY0hvbHBYT3hJClRmREVMTWJBRWFFSWcxN3k3Zjh3\nWjZrU1B6N1IzVTBremxKVUlsU1piazgKLS0tIE0weXNvRUVoWHdzdEdNZFlmMFgy\nLzNBQWlBM3lrVWFnSlVXa09DNGwyaDAKK47W4d9/T8oDStAWosS7/hcLY1mbem2I\nqS0ucoZ4TMks89i0VjACQb3JQhPu0y+AYgcQPReubIJ4Dzmor1jBqA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjVXMrY0FheHdNOGxpbCtl\nVmtjMmlsTnlsejFhSnFtMjNTNTJZMWcwRW4wCmVVTnVDRGxxQVNiMGRuVVh4aWVh\nc2ZCUTFpT3hFMGZ2MTRaM2htU1NES3cKLS0tIHhRdDQybjRzclVDUXZVb2s5dWRG\naXVBTWN2Ri9pRVZGWkprYmI5WHNoYTgKX0m8jpah18hOXoADUmkFGJLJOubfIeF2\nmF1Zrn4X5oBbdx2btsS+hF87v0kAfud0PxAJ88RKLaaTKH1m8mWmUw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSY1NrR3JaVjVQTDdRMmZY\nTXhMR0hyVk1SY3MxS3RVYjN4S0ZFNTliMlhRCjkwSmN0ZUZTc2JkK2JEQTk0cmVl\nb3NtUmVQSnB4anFkd3MyMzJEcnlEVEEKLS0tIGRFdDBJcDVvN1VYQ3VLck9MSndO\nNFFUbUhGVmJyK2w1MVlUMkI0eUtxc2MKshnjp8+4hmsMb2PWyRkm0qCSEwAsTDsJ\ndkg3+OcYgQbAgWClduqixOperyrFXq56em9Zqzp4U6PtsiOAXdJb0w==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T19:47:31Z", + "mac": "ENC[AES256_GCM,data:8EU4lmMji15AiqgWq3lcO0BFsJLTNag6mYnhzif2PgW3wdSOdS0h2LUuK6xmJT6shoxWesZJAJr52t1ZmbBkg/m3bLGmKqO1Sn/NwvCkMbusJQ3UT4eqjgFPXPHr/ANGdbjweqXiSRMUxv4VPFBBdC5q4B1yuLOxW2jrfW+4GqY=,iv:nsm4PtyVYvmSmBOFh3FEsEKrDIKA4DZly6oKWp2qD8U=,tag:GfM/qNtyJHCXWNV4L9ijjg==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-lhn2ix.pub b/tnet/keys/wg-knot-lhn2ix.pub new file mode 100644 index 0000000..aa9e6c3 --- /dev/null +++ b/tnet/keys/wg-knot-lhn2ix.pub @@ -0,0 +1 @@ +Up8+DhBlMp+/fpaxyGDQBnH/4tZnHojcAKZWCr5sSAk=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-lhn2ix.sops.key b/tnet/keys/wg-knot-lhn2ix.sops.key new file mode 100644 index 0000000..b1e94ae --- /dev/null +++ b/tnet/keys/wg-knot-lhn2ix.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:urDBiYxF67OouS2m+Ic0UwCr3ixjgLa5qQ/erLi3KNwE5bpQzBIWm/qJ0vk=,iv:CIshvfp8SB/hJSOc2usNLbkF8fZxG+hBBIbAZ6E/8Go=,tag:yxp28B7we/TOO5LPfs6rCQ==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4b2dGUmxFRGpSWitNOE5M\nbG95Q2xXUC9BOHBCdEgyZkRsNFR5T3oySENvClV5cGlocEVUZFFHRkY4MmJ6eldw\nTTdybzgwTHFrQXZkMGQ4YURQYlNHN3cKLS0tIDY0OWRoRVJuRVZQaFVhVTNTOHUy\nd29XaU9BVXF1Qk5aWHpHdVhIQnJaZFUKv51CGt19sYjlxvjHlDxA8xMEWqUnZLt7\nSNPwYJmU/M+RnzC275mf6r3Oir9MyJ/lRKk+f+3E5KGUXfJ4uMUYVA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4aG1MeC9DamQrYzJpZEhL\nK1NmNWtHLzFKSHRBdXdSM1pCV21XaFN0bEJFCnU5ZXNWSHA5U1Y4Znd5bjR1bVY0\nZGVDZUdZcnZIdG01Q05yUTNUbk1kQTQKLS0tIFVobGhWbyt4UU9DVU9TdWpWYzdC\nWjJjOFpRU1pnS1A1ZW4wSWJ6T094UEEKrZW1Xu2ksUKbVoEZ8jmGidqG1/KL/30h\nZcMyWksLEqsSjIgFNk2sijLm1SRu5b95aSRUdVwjz399XvGvOmOq8w==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYZ1Zpc0xPaUlna1NpZStj\nTXJHUmh4am9OaG1LUEc3SFRiY3FuL3ZsQ2gwCnQySVhQMFROZWU2Z0VyRmJvejRv\nTEtTRlBveUNJcXZQbHJQeER0N3dxT1EKLS0tIGVsWk8xeENkTEljbTVZcHl0c3Bi\nTXNQeW9UUGxaS21iTDluVno1cGpmLzAKqj/RqwN1wMV6w5jze7XN+eyJRFl5PgcV\n0Sjgvafd4ZLo0Z68eWiZhlFJjinZZRhRCeJkWoiyDF5OAYued4vgdQ==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T19:47:30Z", + "mac": "ENC[AES256_GCM,data:nIAGqjXRHc2+uetcePOujQ4ozRaWUnNg2PiUdvYsqy2ZNrwVNv1Ztg2Kq+PHRSeS8lVNFFCfX5e4XM855Rtxc+h39pvY+di6SGNwmegw0nwr0kiiTRgAJQ/eDzYDRa3HysMDQ/+bGsMcVIyQSbO6NAkbXpgP8YhfLSCmXHBhXL8=,iv:W8IpX4COziuawD9bD41/O7cLkP+WEo69UH18/s/idhk=,tag:6OFdJaTA95u5hoxDYRnqMw==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-lhn2pi.pub b/tnet/keys/wg-knot-lhn2pi.pub new file mode 100644 index 0000000..664046d --- /dev/null +++ b/tnet/keys/wg-knot-lhn2pi.pub @@ -0,0 +1 @@ +thn+prYWRPGr2BCmAImAlFGVrg13Fc2oJaa29Z3kpC4=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-lhn2pi.sops.key b/tnet/keys/wg-knot-lhn2pi.sops.key new file mode 100644 index 0000000..9472949 --- /dev/null +++ b/tnet/keys/wg-knot-lhn2pi.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:03CLCq+oq30zggntti0F6J2yuRfSGjiG8/HFj96L+I5bOahoxSYb5nYy4Nk=,iv:flQSnNjBrztGbuzfKGt84Zsza0Ba7Oe0c9xG+k4L9W4=,tag:sZm+tgA8OJr1v/tuNSS5gA==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVjNnQ3lqdmcwU0Vpc0t6\nbTVCMVc2clBRdVZWZ0RtUi84NzFndUpZOERZCkFiY3R2VDJwSEM4ZTdUdWVKSzdu\nL2ZzOUNNKzVtUWVkamlGN2hKM2lWQXcKLS0tIEpjZ1Q5bTQ5QjcwN0NnQ0pPdlZp\nTTNGZUo1cEI3cXJwZkdxQWwzWStuK0UKRG0jI4q6zAGuWlTohiY41VURa8tZLMjK\nUIrNsGK7AZTTD7q5loiWyio7hvwADfbibQKmn0g3kcxP1ay/zZzlFw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTeHdQUkJEWTlkQzIrNGpO\nbGVCSTFocjhiSXIxSEdOUC9mZ3B0WGZKc1ZJCmxlQlVMSGtrWkl4MUl6QUsvdFJK\nVTdrWFc0WlZUTjNQbzNVWnRySGkzVjQKLS0tIEFEYk10TmpkbGQ2Y2wyT3NkVmcx\nSWI0a3E4Vk5BSEs2SitvOURtYysvaE0KEByA6yjwCabCwUJz11Tf5KwTguqtoQcq\nYUa/+UF3zc28VXa75YiYJwp2cUBF+dhJ0u+RFjpZbYwcmYwu/qhpbw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCS2F1YW01MUtJMm5PL2lK\nQUV5Y0xlenBVZkhFaVl5cjBmdi9nRzlRbGl3Ckp5aEpLcitpNTFDVW5UTXNvaFZI\naGR4NTIzMUNzSTF3MXkyUVl5WTMzRGcKLS0tIE40ZmNhbTVWOWhEVDNhU09HL2px\naG1CWENMbS9SRUVjL2NuV0ZjcVIvRncKCltU/czqpz86Dknj3tam8lM1jMjZ418d\nFCa76/7Zqg1XOrdZvoGTclb6gVhiIfqOfEfYNTNLuQsXL0J9xUpUJA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:27:32Z", + "mac": "ENC[AES256_GCM,data:rO8+CxG+08F7eVP+AKDwoFXP0VM6agB9PX8ZL6yqYMjZbeRc+syKwTe5oZkzFFcsbnbDB1iu19csz2u8u2x1hAQiJMWHuKPB7t/mc0N4ZG4mxZPo5hdIbFEyb4LAkqvVYQqkjWeT58nXu45N00/ZwmGbJkw0Kfn0pGXIKHs3/FM=,iv:MxAEJjZbWvjR8uhjfwFUewvxoOHSuzhXQH93HMpAwPQ=,tag:5SZqAg9RGA2x/a9mGkl9bw==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-node1.pub b/tnet/keys/wg-knot-node1.pub new file mode 100644 index 0000000..1507a5f --- /dev/null +++ b/tnet/keys/wg-knot-node1.pub @@ -0,0 +1 @@ +thONllLZCmXl09Fpj0hJXMC71RL5fBUWYL1pSvQFDhE=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-node1.sops.key b/tnet/keys/wg-knot-node1.sops.key new file mode 100644 index 0000000..7612836 --- /dev/null +++ b/tnet/keys/wg-knot-node1.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:kDjtgcIJwZdtUmzeZ+HtEM2FPYF+W9gWCm55vdSxC3scA6MoxNBRSxw4uQg=,iv:4K18STAhTTxtpAnQCHaNYbVlg+M8iyxAX9sYbeetvWw=,tag:PcVWrkISwxvnBXSoFwJ0Bg==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0ZVdCNFdSd05jTHo0c1Fm\nYUpPcXA4ODJ6cUdHUGxNUVc3UVpMVmFjM0Y4CjN4ajB2aE9oVEc5blk2OEJaRW1y\nUjVxUlI2bUVvZGpEOWRpMTRGMnZGRWsKLS0tIDQySDlRU0lIdjExZkkrMTFaNTFs\nRnBrVXN1WUxBbTBjUm9BQ0pTOWRXMEkKmkogKiY+AN+6MTuu1cj8l9Xw/Jzt+sXC\njpnl99+hAp0WmUV5+tqq3jGyzURuYpkoG+qX19jcVxMhwCx0A+JJZg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUcGxKS0VCWk1NOTR5ZVB2\nZUpKaWMrbGVqREZLVG1mZk9WSU43YXhwVjBBCkJRc2QvcmhFNFUyaTFKbVhOc3RM\nY0RZTVY5TEJYQTEyM20wS2NJMDEyYWMKLS0tIGJZRE16a2pEb2Q1ZmFTNTJiWVo1\nb0ZGM0xMeC85bWM4VHU3RWhKczE3Z28Karpa7UyGJmwGcy+dTnie+tYRo99YME0h\n8c/0oWNIQYKuNU0LvmXLaCXfANWNoW++MEYcj8ctTH8stOScqZ20wA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6QnpkdytmUGpwM1ZHSXd5\neEpMM3VZK3p0YTdhN2QwazhMTThYYU50NFZnCjVmWWxsSHpSa2x1OHlSU2liOTUr\nVHJYWWpZbXlwVDc1N3NLODJtaTFjM2cKLS0tIEZ4TExVVDBiT0diL3dlL1JzNzdn\nbG1NS3lDQmJWSlNLamlhejVsU2MvWkUKi/LFKOdgK3SKTwP2LdiWd4egqYI5+xAi\nHOWnFQGnljXuQlRXBHv20fq0QwWm8wPJnzg7QK4wNVAWAjZwQXeMXg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-11T08:37:28Z", + "mac": "ENC[AES256_GCM,data:5uwz5pswuas/97KI8n4fm/+sjshkNHdRlS3k28xRftcNRsTi/k9Z1omhfLlwKKL3D/955UyHnnV86XvZPQfCxPm/I/5HbpFMyqKP4g88wSxN7poI+CBM+PNCeN/HHb0oIbq7Z72vq3VTI4Prs2V3/i1E5LE+4Sx4IFE2lmP9gjI=,iv:XG4uF8aqGBjKN7yTNWptmQtQjT05eOE/J8zTrOD8dGw=,tag:HpOf1YyQl36SJw0DpgW//w==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-knot-node2.pub b/tnet/keys/wg-knot-node2.pub new file mode 100644 index 0000000..8c9f071 --- /dev/null +++ b/tnet/keys/wg-knot-node2.pub @@ -0,0 +1 @@ +4shyuJgqiQsaRZG0zuD3WWEJP2eEzNSpt2vfcUXqikg=
\ No newline at end of file diff --git a/tnet/keys/wg-knot-node2.sops.key b/tnet/keys/wg-knot-node2.sops.key new file mode 100644 index 0000000..3395667 --- /dev/null +++ b/tnet/keys/wg-knot-node2.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:/yNbyRXzUhx5OJBiSsV0sGY4n85fBLV4wFBsbM2sHOO4FkvBQOKXRfEeNHI=,iv:x0Zcv+f17YYoGGN5lXSHBTta3+8eX8NrnmSeKf2t0gc=,tag:uBjDTRMrhuceisM0V0eH+g==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaT25BVjBxUk5IdlVRNmZS\ndXFRVTJkdFdRMEJMdnQ1eWxMcTMwSGRWMGpVCndNVm1seHJpSnk0R1A5TVB5bFlE\nbjdHK1owNm5Bc25PK2czdHJHMys5NUUKLS0tIDhZdUVybmNkN25XUU9wbVZxSHZ2\nenFxM0t3V2RXKzRWZ25sVzJaUU9Hd0UKIaW5AiVahrrVim0whQTFE4YjEh2Rel5r\nm5rgebK9IdjwG6iUWQlnC+xaZFcqSyp6S+rGLBg/Axg2aAJpCUVcIg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRTzhoMHlVcjBFdFAvRVpi\ndlpuTzFuOGNaaG5EbG0wNWRtY3ZBSEkwQ0RNCnM0V2JyNHZNblJCOXlOWFNYQTFm\nc2VtTmt4c21Ma2Z4VDdubm5YYkpkU3MKLS0tIEtlQStSR05Nb3h5L1FkcFJ2Tjd1\naStFTWlzMVBLVnAxSWRoYjZPdUN0UFkKVgByyiUXtgDi1Z1AivQsNA6lUKwB9iQM\nh7ch10JBPSNVrjXisdxU3qoBeuOKl9ZmTue/aR1clvJqkhDN5BzX8g==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWQ2FSZ0NocWlaemZPT3NW\nU3pwOFdZVlZzTGVsNHlMa2J2SzBleWJIdTM4CnZYTFVtdFErNyt4QnIzVGdsekxy\nZjZmR1lKZDRDbnZCQ3V4TEd1VTE1SVEKLS0tIGRPNGhnMjVKZnpwN2kvbkhNL1Nw\nOFN1azRiTVg3VndBWFREYVAzdFFEK0UKngv/lSquans6wzi3qEAaOXdTttWsayKb\nhicgFbKmwdcI6oW39PfkZLm9G+1/sBSDeEBCO/ysgygR5Qn2oG55dw==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-11T08:37:28Z", + "mac": "ENC[AES256_GCM,data:COfWtS5eOQ5cG9cqQyhwyjntpjbo7vzk5g/Gs7/wGZOInxp6eVSGMSxCr7hxaHNZDpcYgMYiAHOoo4GRCQIm0nalryzPd5oLPLZKzNlRdlnpvxQuk8JOB+WPXf3kz5SbjfMU3fLt1/msdGAafZ/sOB9agRozLOc7LBPX1XyTZ4o=,iv:Zw5/T/mSKbh8VSlfbx7xxx72e7j0AILCXx9UglqY+IE=,tag:ZzKtg5bpbz84dJt4lFprIA==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-kv24ix-knot.pub b/tnet/keys/wg-kv24ix-knot.pub new file mode 100644 index 0000000..a284de0 --- /dev/null +++ b/tnet/keys/wg-kv24ix-knot.pub @@ -0,0 +1 @@ +NwSTfO3BMPW/td3XH3Gmdqp67AK342XpoBeytPvwFHE=
\ No newline at end of file diff --git a/tnet/keys/wg-kv24ix-knot.sops.key b/tnet/keys/wg-kv24ix-knot.sops.key new file mode 100644 index 0000000..be0f038 --- /dev/null +++ b/tnet/keys/wg-kv24ix-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:4DNUBxKEICekLRDvs3lY01lg5jZzgXz8UODrnJdfKjeMfj0ga3mXrhnDd8g=,iv:gty+DdxQrrryx0ubslGhmbKdgIOhrPIvQPbljKnxGaU=,tag:s/DyEiQOuPD5f9ZR5Or/3A==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrRERlZEFTdnd4K3o3VjZr\neEpjeFZqU1VZRVJpeDBjczU1Y0FZMS9RdUdVCjJtVmx5YXNUUklYVWR2NktyMmtx\nT1BQVGNGY1VaRStIQ2RkZ0MwdE1YVE0KLS0tIEkrVDhpZFM2TGFaQlphanNXOXlV\nR1owNWtuTUh3cUNORzNESE1ZeWxPZ00KZgGhMQWRSWLxs4ckqZY7F2k9uOIO3yxm\nPIp/M7id+FWaDiIO3WbHxy3i5WJHZjGDc92gekXDmkHkqOElb/aSeA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5d0FGNVR0djV6U3BCdWRC\ndFBid2xxYVpjdEpRR3NCcHBPN0o1TTRxNVRjCmQ0NmY0Wk9FYUxlNEhWQmNMalhO\nOTFPNVkyQnAyU2NtY0JsZTBtYks0QTQKLS0tIE0wTUtNOHVSM3NwcG42cGwxYnZV\nNE91M3lJWVkrbFRlOGQzTlArWmQ4cWMKJHQV7bB+X4iViLB6abufC0fSEAeffVYb\nbIdmT5At0cEQ8KC/6q0nzs/l9Slq2BuctZU9+ilBolX30WOU0X5E7Q==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGWEU0QlRXN01nOUovV0U4\nUlA0cUllSTk3U0VRenp0LzRxQU45cU9HZVM0CmF2b2JWclg3cWFLWUswQlJ3SkxV\nQ0FQNTNJSjduekNZQVBPcWlBOHh0c1EKLS0tIGgxNkZLK0FQeFV1a0s0VkNRTzgv\nQys1MTA4Lzg3a0p3cDlXaGlNK3o5dm8K6evHsM38eJLrEwrxIFyhjZaStZ46K7eC\nabU1kSru8yi43sHCtvhAQIK6fiZsu2xpMV+3bPHJvWuzLL3M1enh4A==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-05T19:47:27Z", + "mac": "ENC[AES256_GCM,data:XrcylVlNHLGdsnTMBIDKO8WXX6ztkyPT3Nv9WeR2Oz7J1m5AZlO/q4NXzC+hxqau/Vm86xn1Ll5dURr8/s6sVK8osWNzCGXxDH6hwIpZ6phScWI7QYSmvcZ3qNNZPntRFhlCyGIk/Wq6hqJ/kDPUR8FF7nDA21Kxtgscyjm3vv8=,iv:KRuTisD2tK1qUP1bwCul5iLOsfhI+duPK+9w7xn784g=,tag:OmSv1HOpV4wgH97CaRfeZg==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-lhn2ix-knot.pub b/tnet/keys/wg-lhn2ix-knot.pub new file mode 100644 index 0000000..089a618 --- /dev/null +++ b/tnet/keys/wg-lhn2ix-knot.pub @@ -0,0 +1 @@ +zgg36xUxWplgQc7TcxRlzKsF8yiJKNc+aip2iMAchwc= diff --git a/tnet/keys/wg-lhn2ix-knot.sops.key b/tnet/keys/wg-lhn2ix-knot.sops.key new file mode 100644 index 0000000..559ab65 --- /dev/null +++ b/tnet/keys/wg-lhn2ix-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:RymowvC3ItSfOeYddkVVz8lbhxffh1atHmgsGZuA7iqaU6byuatlEZ1Sm/+t,iv:n6QIROfhaKi5lR/2hXciPqf14Z1kPB25wCuvs1oM5L0=,tag:AiiOjawOYlXxygsa0AJDNw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBORkowY3lmeExVZU9Mdklj\naDJnYWlKbmdzeDZRSXgyOEdrOUhHRWxXbkFNCkJ4S2E3M011ZVliUHU4amJVcENq\nMHpreE9sR0IwSStVQ281TFFLKzRmMG8KLS0tIGpPKzJIeTB3T05IeTVXRnp6S0s1\nQWdwRjdnMGZETTFPTVhIVHRKL2owSk0KKb7CzGkJmsvvcqPFopMAWbxfPc3m0WFE\nYTis7zioBu5GZsMSCeKsE5ZBV7c0zW0QqnKdJ1tb+QWwe2WaiSf+7A==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0MVIxcXA0NHRpT3hVK1d1\nRnRaTUQ5MWltMkdoWnZWWXBsRXpJWkdJdlRFCkZ1b0hUOVkvRUJ6ZklLWHhyQ2tJ\nTGRXMW5BQ3phci9XRHBrQ2E5Sytua2MKLS0tIDBHS08wYVpZbWh4OUZlNlpNVE9U\nRUNxTXlmTW93TDhPZE5DaHFEanBmK0EKrBzJy8wiUvWf1kLjmxPZf9EQO2n7pgTG\nbfINNQA9+Cg432ws8u1tE3xNiKJaCynAlzInVd7aaxteZKQ86dCthQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVVXNnb0VKRUdSYjlyZzBB\nZXJzSUltR3pubWUvWis5SEw5bjdSa2NTM1NVCkFDSEYra05Ibk9vRmpOVnJhY2Ux\nV1ZvVEFpUjhTMjNRbHAwK1ZKM1BTUTAKLS0tIHY0T2FuVTNQUDNlQ1RqV21XeFV0\nOWplbFRYMFNOZkdiSGt4NXJxM3ZTaUEKkkucGDCxRF6EdOm8Nj3DpU79mjcoshTQ\nFXb9w70edvYVf55ImFE2tsCbP/O/IBZcq5me6jwe7Dvomd2iTBCnGA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-08T19:30:55Z", + "mac": "ENC[AES256_GCM,data:piTXwlYoyoQrAVY4hWpVeJoeNdLDphVbsMT6FeTN0wYh2JwzSey+wW2eSOdtgEEj4hUAs6BVAbeM4apZUHfOlJu0TNf89OV2dLEm08FPBzxFE3wvamzP7sUAEkyFnJOU+zIZES6UStm07OjzYDjxeQV7d6tvUj/YIOL01DuwjN0=,iv:VtOXxF37Gd2mQZhwY0XdLLBSYR6JairmSsat9QF8/84=,tag:7z5+egwADcLAkrsNbUxpdg==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-lhn2pi-hash.pub b/tnet/keys/wg-lhn2pi-hash.pub new file mode 100644 index 0000000..56338bc --- /dev/null +++ b/tnet/keys/wg-lhn2pi-hash.pub @@ -0,0 +1 @@ +ymXw3gfqTax/V3yjmgeTsbheI3W6csJx10Fbs9jENRs=
\ No newline at end of file diff --git a/tnet/keys/wg-lhn2pi-hash.sops.key b/tnet/keys/wg-lhn2pi-hash.sops.key new file mode 100644 index 0000000..a7d5161 --- /dev/null +++ b/tnet/keys/wg-lhn2pi-hash.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:u2rmEIA2HyZpALzVhgX5dbqbfITacWxKpAKuPcem5gfUBAFtqb2LcmifSlU=,iv:7yN2XDzm0t51laTNte+ShmtvS06a6MQE2Gby7l4/+sc=,tag:dr+YWAmL/F+PEmoTmBaWdQ==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3cG9qYXdHdVREeGx2V3hO\nam9zSlFyU3J2NWFGT2JPcGhpUDBMc0tsOFFJClZPeVNkWVJEOVRyaUFISWsrd09T\nSGViZEFaS2FHWXY4UXh1c2hGWDNhYm8KLS0tIHlnZ05vdnpJb3pzMnJjMGd3VVBn\nclU0WGwyVnhZeFMzZlI4TUdGbndhVFkKTu4buOBaZ6XExPBKYPF5px7paSde7Pfh\nOcz47kw1tUZULEfz/WWPyfTYIpA2Ma2fuI91eg+q60wd8hTN1YufCw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsczZOR3E1QjFJN1dwa0xu\nQmZaRUFjWVd6RGdSajhsOXRmWDNxcWlPTjFRCmhEL2hFRzNPMW5OSERIeGI1VTBG\nU0RBSENPSUxqQjlnZndGdytIQUszOVUKLS0tIEJPR2RJNlNpZ296YUExMHd6SHJy\nOHkvNUI1bEpBb0tScHk4d3VWL04vZ3cK1SII823BAPLefSUAlPP5JlL66kfpRU42\nkf6ueQGTB7L98JsbMdEh87TBvJPwgkySWFMybqHXFP1DvBOPV8FXXA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLVEdtRElPM1JIYXRKUk9n\nOENtRVd4S25oQStEZHpBbDlPRVJRMnFjejNvCnh6ZFFqUGQ3NVFwREdyYzVUcVNa\nVkoyTFQxaityZDJRQkU3UUQ2WnVvUlUKLS0tIEY5c2tyc3RmSjJwY0RuVVljMURw\nSnVMMDBzajRuYWxOcXAybGlzbXhyR00KQ1Y5nIHHxnqTGrVEWzVQzDDhSdj7Pniw\nbIPsF8N/OVly1iXdFrmrMeaQnrGQzX3PaHzUlEaclWvqOQCWO/WDJQ==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:23:56Z", + "mac": "ENC[AES256_GCM,data:Ms7l1nRpNSLGBOvsPxYzaP7m13OtTc8TV32PS+LsX05TL+sPC5eeTq3k96qwbUQ4JTl7hdRQ01tKPuYLXZT+x7oL51DFvHvfrA0Ov2zQHsaxlltZ1GBzf40FPdSqpyjvUta641G0khy0ayTdiE5nP2QbUqIMoNXeQZCv80NTxb8=,iv:DyOjwzZr4zdLujmXLW1t8Sd6MQ3dcY2G6nSztbAkPLE=,tag:G0C7JmToaWihwFjbmJkBjQ==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-lhn2pi-knot.pub b/tnet/keys/wg-lhn2pi-knot.pub new file mode 100644 index 0000000..84ce44a --- /dev/null +++ b/tnet/keys/wg-lhn2pi-knot.pub @@ -0,0 +1 @@ +wSdMApZR9qy8bRFWJLA8ydI0ecnbBhldp2owuh2TDDI=
\ No newline at end of file diff --git a/tnet/keys/wg-lhn2pi-knot.sops.key b/tnet/keys/wg-lhn2pi-knot.sops.key new file mode 100644 index 0000000..daf9c29 --- /dev/null +++ b/tnet/keys/wg-lhn2pi-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:7DEU5LGC62dhhlEd413UwUB7an1OrEp4RVB1f7mYVmrXqruM3wbwY7V8g3o=,iv:BfM9bBeHO8fYRsySkQXkn0DciXVDe7IbLLGmsmd2aok=,tag:NtVVLsL3Cr+WboBJVsTq/g==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrSk1ISVU5d0E0ald2NmhU\nS2dNazRRQVExODBPM0VGSjc4S1Q0NDhMYnlNCnhYb2Jvejc0YzNiMzFka0FvbWlH\nclNGb2MzMFRhY2t4TUFsb2dwREJ1aWsKLS0tIDNoUjFQNDVHeG5ia3NqRGdiQ1Fr\nVVhObTJ2WWEwS2NLQk9pQzQ2YWc1aGsKVoM3E9RfpliTkBlbol0zAcmS8+cvh0uu\nmvcDGC80IGGBP+YaMsQD+RJq+R+IEhX0EbGgqka+CeXaaNnKiW/hig==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNRFRKNjdzOW9SQXBWTDM1\nTzYvWWFzOGZPczN1cEMrY0tTVEROd2ljQjBJCjM1TTZVL3VFY1NTSXUvSkdlMHZX\nVTI2QmFqbW9qZkd0VmRBQURHYlI0UlUKLS0tIDdnYjNucTBWeTdPK2RDL0hVNWJk\nWGlwV2NqUGpRYzgzYVJ4QS8ydll5UXcKki5iqRKGTGYBZoFREqBCqXcEEkHTyHUM\nGKu6iNzl6TbEsAGZAle9S0xUVdA7aoVqkpzoLew3NMretlM3PoZ/og==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQZXpKOWx6b29jWE5TVEFH\nZHJOYko1WnBSWHNMNTFNYWRndHR5YXNWT0QwClpyOXJDWW5rN1RQTlE0ZDhleGVp\ncG1pV2t4eEpBZjE4cmhJQU1uclZzY1kKLS0tIEFjL3FoNkxiWnlSOW0yMFNEWURj\nZjM3cUs5elZodnJGajdEcGw3L2pTcXMKohaoY7MGQynLr1B1peUoEmipknyJlPEQ\nQRIsR4fFmhDa6yOo5uryG8y7Q83m7HrCij2N49o8svf4RQXoVoSzkg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:23:53Z", + "mac": "ENC[AES256_GCM,data:fITkaXRTBzQvV4lFH2IZg3341xCF7WtoX4KXC7udRhjkwe09INMzGZX3hOihwIXljgZYGXqJW0MzfqbzvX2EKHURx7mmfJbWPSdhoGu2dEnJrpSVnlPhuAXaqBaRV3MyACZhvnmyjmoXyCaaIQCgd+RZP4tzmFgjFtu3M9uvg1U=,iv:odCTCemCSL/HQqb7pHGw2+WJodY8mb7VgqOeA8Qm7Ig=,tag:rTEpcebHPr4Vk0UPmIo18Q==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-node1-hash.pub b/tnet/keys/wg-node1-hash.pub new file mode 100644 index 0000000..4bbd8e1 --- /dev/null +++ b/tnet/keys/wg-node1-hash.pub @@ -0,0 +1 @@ +/Ov197jncsnaBm2Yn3MBUBrrz5jheAVjgpxsNYoTRS0=
\ No newline at end of file diff --git a/tnet/keys/wg-node1-hash.sops.key b/tnet/keys/wg-node1-hash.sops.key new file mode 100644 index 0000000..8e2c716 --- /dev/null +++ b/tnet/keys/wg-node1-hash.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:j8LAzxtyd4SoVzi2ig/YtgW6G5pHKxrPD2N61SzXq3sFdFWANg/4l0EMg74=,iv:Pn3H7Fu3H2KPXWTM8ncWej3KZFGJ4x42aj61SRgCe9Y=,tag:D5mcZezJOnIYJW6ABc8iCw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKc0drbURPT1lFQWRyL2FG\nME12VDEwODV6UFhCdXk4QlVVQXdiRjV0akFnCkdEK1NMMEt0QVlVVFkzeGRCRGQw\ncDkydzVsYjJBYU5SdnhmV1lybGtNclUKLS0tIHpwYnFrMFlHcVJEYXJqWXpwMjJu\nSUMxYVBoZUxTSVdKRWQ4RkNvOW1xUUEKy9gky3IgaDROuPRKrJ7dNiuXjWo0Gipa\nBJhtDg/emS1A12q1E5/801hAhksPXBZc5Cil46MnHsUBTgLcEsJQEQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBreEd5TENmck45dyt5ZFQ4\nbUJhdWZDaGpaUVNWT01BTytJT3l4czVrUWxjCkpJdlNUQ084UVd3T3JUdGs4RlVH\nenhLK2ZEY3IzM2ZQYy91R2tJcWlxSzAKLS0tIFlOSTdwUXk5K2FubFIwaFQ1RU1Y\nMkNKRG1hZG4yL0dhWGRNSEs5UVFIVXMKf1i8AR392jtJbDMLvJ7cIdv11mAENTuX\nTQSfD9RClRFsY03Imh8KYvZlwB0MI+q4pV/hgldU1c+7uX2ctOZoCw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhOTBHWkwzcUU5WnRHM0xs\nMC9DVlQyQjJLMEUrQnQ1WjVYazJGbm8wRnh3Cm85VXRBMWtyZmpKdWFmWGoybWtO\nUzd4bkhWNGZtTlpuR3NJbERuQmxVVDAKLS0tIGxyeUdOaitVVzhIRGRvNjdNenF1\nZDdmZXlwdDU3ZFdvRVd3cWhUNmRVL2MKthry9brj6iurA3iO7eeIT3R44oFjzR8C\nLl6AxDwwURkoynefizdrjZ8xnIUbOeoCxPlWKZ0eZcGAX10ZV8nSvA==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:22:49Z", + "mac": "ENC[AES256_GCM,data:oiQs7BY1zwF6HAEwMkz4nWV4zv2c7shtABtFR4tiwfSs3nWm55OS2LaJ5Je59z3TI1CS2dbaaU0yV/MQS4rEjN4XJatXSLLGN3Xr0W6OoUKbwU6q3ktrEGH5PiRJ7dJeTWyHg+eP/7YIKoeani8kugwszG9e+b7JQY5DYfxi3JQ=,iv:M4qNz2Y9Xmj0QqfUT6w1p9onEqlJdR36RhOI0QE0JxE=,tag:g+WKOD3W14AB0fewTPbwOw==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-node1-knot.pub b/tnet/keys/wg-node1-knot.pub new file mode 100644 index 0000000..3c4833d --- /dev/null +++ b/tnet/keys/wg-node1-knot.pub @@ -0,0 +1 @@ +kE+eMVy+NoPlM+i70ZGg369Aef/OdaMFk2WrWYxXyyc=
\ No newline at end of file diff --git a/tnet/keys/wg-node1-knot.sops.key b/tnet/keys/wg-node1-knot.sops.key new file mode 100644 index 0000000..80ede02 --- /dev/null +++ b/tnet/keys/wg-node1-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:jtxfzs0fHZ74yo+e5yZ2X9CVGrJj7yTegBM/C3TreWRGPgQBnVlN4xKu0LM=,iv:DInwhViiCiLmO62/VlUQ1N4zLFGrqD9Gy78ytzGh2V4=,tag:YHiupWOq3Rdhu+JbjpnO2g==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQTdNeWdBMWc0TEttWmZS\nWTlSbDlKWFFwZUhtMkVuNWxTM1M2S2I0TG1vCmpQS2IyOTRxV3c5VU5ySGFVeXIr\namJUWnhRZjNYakcveFllUjRmVVllaE0KLS0tIGZ5ZTlGWXRDLzdqcElIUGhUZlY1\nRHdRdW0yTklQNmtZby9GUGE1NlZZamcKSiZ1FJDWp6zu/eDDX0fL7zAyGm/McOND\nPjrzrNgE7f1s2DokO9JlpXd0FOFARbXzBkui7I8z9L+kK3cVKFZnJg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMcHdaQWRiRGsxY29nQ0Vt\nZHpMMlhQYXpHc1hmc0IwN1RKek9lRnVScHk0CmpGRWR5bFBzdDRyOVMyMWRQdDBi\nekkxZ2JLb1FVZVgvUnRCbVYxZGFlVlUKLS0tIGpwMHNxR0tpTUMzbE9rTEdSTy9k\nNXdYbnN6MmdPcng5UDM5b3hDL3lnbGMKxET/pWHXjGsqW7MMGGGHrTNxSyZbVHkW\nujtaVvOiFaDvuMXDH4M5F/XB6xI5b2nayhKllWEv796hec8IWtgAtQ==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBhVHNzTXdHTnQ0dW9HcFJR\nQ0tqMVBHMERzKzM2UzRoU2VLTnJOY1VIQXlzCnZSb3ZvK2hBT1RwaWh5VXBGKzhR\na3E1VjhrdnhyVUxCRDkvUit2MG9yT1EKLS0tIDhDMmlKeVZ2d29xYWF3blh1a0Qz\nZllCbTJNQlRLVWxnTm8xL2ovckRBc2cKj+1pGlPM8jKI2V4FtPuu97und33proBZ\nl/++XfhOZ2sJw+1cawn85wIKcDW+YxQNqoN2hXCzsIadq4YvMTLtvg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:22:46Z", + "mac": "ENC[AES256_GCM,data:89f44cS/RHP+/LSfmkycZcpytNvijGC2KSqxr000eORdOBBCtL6F2YjfrTXYcZBUm6ROqPeRXJXiswJ5uDevCuc78nIfMASzrDLKWJSxxv551uB98hlJ3/dtDoBvAH2tDdN9Yn0dpTmIcL/uHyFMDLCQ6we1GBMcp3WwN99FlWM=,iv:/39nYzPAdEyaivjX+uVTbCZP25RpZ92eCsRJ9YXhWcM=,tag:B1KF0htZ4wYJ+QMM8Pi8XA==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-node2-hash.pub b/tnet/keys/wg-node2-hash.pub new file mode 100644 index 0000000..5ee38e6 --- /dev/null +++ b/tnet/keys/wg-node2-hash.pub @@ -0,0 +1 @@ +PuATSsueI3tabhX2r93zMrP0mF4uK298xBbWl8CnAXo=
\ No newline at end of file diff --git a/tnet/keys/wg-node2-hash.sops.key b/tnet/keys/wg-node2-hash.sops.key new file mode 100644 index 0000000..1ba1b96 --- /dev/null +++ b/tnet/keys/wg-node2-hash.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:mgxmsY9tfZZrpG4/6F8tIompGg5oenEs7V7X4Ndqly4Li/fzusVYjVzRZ6A=,iv:sqT9EyzDvm2MaJyLMST1m4yngm+sQGU6F9TelVHG0/A=,tag:4u6a0vfZ0RS2ENpXE0/yFw==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuaGwySHA0Sno2KzU0NWFo\nc0Fxbmg5bUJtN2hyKzlHS1dLNGVWQ09kbHk0CmtwdnY5VHRtdDBKYVQybks1R2tu\nU3JLZFhRUEZ4NkVDSDIvWDlyNTRKT1UKLS0tIExMaC9yRjFiSnhsU3NVVk5IVW1p\nNmJ4TGdYMXhWZjVRVm1LTHZ1RzhiLzAKG9Iw3faSAxtr0+snH1rGQuUql8PdDd1w\nmzxBg4jssFbypm6iIPNhQaU6xdVEGRxIPbODSF+Lf0kQm7cMcmLsjw==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCZFQyMG5DeldiSFYrNTlt\ncmU1OXkzZ0dvazNWTHhaMmVqbzJ4cU5ZS0MwCkhSMFE2Vk1CSXBHUWlGTWRzQnND\nRlhBeWgzRjEwOHlwNUNBN3QxSmZwQTQKLS0tIFpiTURTSU85WkN5QmlyTDhNdzVj\nR0QwbkJrTHo0S0lka0pXZEFpRzA5aFEKJFlLoumD5lerCGD/mQ9Y7U9CIvFAIYFe\nMeEZifwKVh63qfiyLeki5Mu2OA0NllAb/VvDgjheayxa6DTQcGhzYg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMZmp6RWZBSXp2RjdOQlhq\naGpDaCtpamJ2ZUxzOEtHT0JqMXNHYTJxTVRvCmJDd0wwYUpsb3hNMDZKS3o5cE9q\nWm8xcEF6VDhjRENHUWJqN1lPYWE0MnMKLS0tIEwwdVFXbG5Qd1Y0cTlJT0Y2Y1gw\nS3ZFV1RrOE5aUDlQcittd012ak5EUmcK0LQKyh4/KAe9z0jVQftMi1Va+jAebYHF\nNVenCd0b5BkcaTxNAJX5aci3w/u75B5Pr5Rvsi8Ey9OVZxw/EtWZzg==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:22:49Z", + "mac": "ENC[AES256_GCM,data:cSJEkxCIBe3V6ZHlSMLW9ucjCaVpcVOw18dkWrFoy4lVDYWEFOIZM4r8FPfvOd/gOLBTh4c69+vCZwtY//flmCv9qK1VgQoNp93N/v9jvaYn30nMSDkIJ7NfIaGCXIGlpf4492fkloIZU0pp8zDyOtVy0aDFyveMMtZO4Mdqzlg=,iv:8G7k6MofjgKuXNFMkWhhU1JfTovoGteGKSUqgkSnuCM=,tag:+RjxDwLL7funW159CyEEKg==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/keys/wg-node2-knot.pub b/tnet/keys/wg-node2-knot.pub new file mode 100644 index 0000000..5163617 --- /dev/null +++ b/tnet/keys/wg-node2-knot.pub @@ -0,0 +1 @@ +DNO7GiwgVGQlFN7eZd4da/X61rjVOhqzsw1wp2ZExC8=
\ No newline at end of file diff --git a/tnet/keys/wg-node2-knot.sops.key b/tnet/keys/wg-node2-knot.sops.key new file mode 100644 index 0000000..1e10145 --- /dev/null +++ b/tnet/keys/wg-node2-knot.sops.key @@ -0,0 +1,28 @@ +{ + "data": "ENC[AES256_GCM,data:qNS/hJSIEX56fBLqIHdYqfuJnXhAdHCquWjIbbiYWyK4qer8nHUiN/ECEDY=,iv:nGN1fZ5IUwE/lnc40lpVPsO1eWdZJNM6a7tdEMuvzB4=,tag:cKnpRqGF60L5rJyc5JdOTA==,type:str]", + "sops": { + "kms": null, + "gcp_kms": null, + "azure_kv": null, + "hc_vault": null, + "age": [ + { + "recipient": "age13wv3rp0varlg4nvt3tca48fq8u9q3mc6yfdekjeapcmc7kaq4dysrzcmv3", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBVmR2aE9WaStDOUlYSTdD\nQldoaENPU3E1VllKUlNiRFc3L3ZDNkJVaXpZClR6ZFZyNVdvVTJhbCtOTnJuK2ls\nVzA3dGt4MXgzeHJtbzZoQlJMVzNsMkUKLS0tIE9oMllEVmpwV1dGSUhya3lTY1NS\nZjZWQkFnczJqN0huemw4cktDY25RT3MKWp1XKVo1VoyOqmJYID0VcWsUtybtsZXV\n2XCVXdnMsgNPHwOj9z9XYJW4bYmrLqwGmy49rHPk4MVD17PqIFOHPA==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1mvh832crygenu5tu5njtraraet656rzwnawuasjggvs999dc9ueqj9qclw", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsYWJKOVIrY0FsWWppdFdI\nZmFpTHgzUnUzbCtLMVdiVjRMTlRmOTdzcmtZCkZENHBtYUk5WUMvN0JBTTFpQk0v\nSmlGZDhFNWs0VXBmTUdWd1lZRkRJTmcKLS0tIEh0NTlwOFp3eUhvbVRZa2lXc1hF\neHVyWks5OTFrK0FmQTdzaWdJV2RhbmsK0u9aewnuhSLJ1dnrB7xVy7MyTPxHZUMl\nA7KA6YStAlZ1j1IRkhWATbcA20NMPvlBrdfhXSsTUPOapRKywoIrQg==\n-----END AGE ENCRYPTED FILE-----\n" + }, + { + "recipient": "age1teasctdpkatekpsa47q58d3ugwyyqcuj5v9udtusk7ca9sfv694sw057a5", + "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQVy9VOUk3b3N4L3g0UXNa\namtxaTZYRE0zUE1SWG13Q0hqdjBWK3hsTEdzCjBMc3hWRmE4Z3dhdWdVU2xMTGtY\nUXA2dlFRU2hYemZFN1g2d1JJNjJsQVUKLS0tIEczdEtoVGhVVnI0YVJ5TXBDRUsz\nTXFtYlpQY25nRlA1Mm9TSkFkYk1Xb1UKgNrWy+yhx6/GnQuRqAX7Ylvgw2plfzE3\nk9UVn2YK8QuG2ztskc9ONooFXj2xFaHuhKz77nOY8uKjya9X5sG49A==\n-----END AGE ENCRYPTED FILE-----\n" + } + ], + "lastmodified": "2024-06-09T07:22:46Z", + "mac": "ENC[AES256_GCM,data:FsyFuwmYnMXY7QkOqrJH99fCsnuH3uMJxiZQHt05PuPAI9lBEpTMtm3bY4jjC/EH+RE2qdAM49Nx6KwSXJenbQtz6rHNV0nChA3ThP2eW0KweG8MVtAC1icwFVijErNmPqkiWoVhLUT61sLDY2cwEvKR7e0gNOO9EH4fBw1exPA=,iv:hsJknC0oki5iKcqbEDPRxjxviYmJKqtNVACptJQqMbI=,tag:5eh6owOTs9P01eUtnUYL6w==,type:str]", + "pgp": null, + "unencrypted_suffix": "_unencrypted", + "version": "3.7.3" + } +}
\ No newline at end of file diff --git a/tnet/templates/bird-tnet-pre.conf.j2 b/tnet/templates/bird-tnet-pre.conf.j2 new file mode 100644 index 0000000..ba012cf --- /dev/null +++ b/tnet/templates/bird-tnet-pre.conf.j2 @@ -0,0 +1,7 @@ +define tnet = fdb1:4242:3538::/48; +define tnet_router = fdb1:4242:3538:ffff::/64; + +function is_tnet() -> bool +{ + return net ~ tnet && ! (net ~ tnet_router); +} diff --git a/tnet/templates/bird-tnet.conf.j2 b/tnet/templates/bird-tnet.conf.j2 new file mode 100644 index 0000000..57e557a --- /dev/null +++ b/tnet/templates/bird-tnet.conf.j2 @@ -0,0 +1,39 @@ +template bgp tnet_tpl { + local as 4242423538; + neighbor internal; + + direct; + + password "trygvis"; + + ipv6 { + next hop self; + import filter { + if is_tnet() then { + print proto, ": import accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": import reject, reason=not tnet"; reject; + }; + # newer bird's only + # import keep filtered; + export filter { + if is_tnet() then { + print proto, ": export accept, net=", net, ", from=", from, ", gw=", gw; + accept; + } + print proto, ": export reject, reason=not tnet"; reject; + }; + }; +} +{% for p in tnet_bird_peers|default([])|sort %} + +protocol bgp tnet_{{ p }} from tnet_tpl { + neighbor {{ hostvars[p].tnet_wg[inventory_hostname].address }}; + interface "tnet-{{ p }}"; +{% if tnet_bird_peers[p].rr_client|default(False) %} + + rr client; +{% endif %} +} +{% endfor %} diff --git a/tnet/wg-keys-genkey.yml b/tnet/wg-keys-genkey.yml new file mode 100644 index 0000000..fe0e976 --- /dev/null +++ b/tnet/wg-keys-genkey.yml @@ -0,0 +1,26 @@ +- set_fact: + priv: "{{ lookup('community.sops.sops', 'keys/wg-{{ inventory_hostname }}-{{ item.key }}.sops.key', empty_on_not_exist=true) }}" +- when: priv == "" + block: + - name: wg genkey + shell: wg genkey + register: new_priv + + - name: wg pubkey + shell: + cmd: wg pubkey + stdin: "{{ new_priv.stdout }}" + register: new_pub + + - debug: + msg: "{{ new_pub.stdout }}" + + - name: Save Wireguard key + community.sops.sops_encrypt: + path: "keys/wg-{{ inventory_hostname }}-{{ item.key }}.sops.key" + content_text: "{{ new_priv.stdout }}" + + - name: Save Wireguard public key + copy: + dest: "keys/wg-{{ inventory_hostname }}-{{ item.key }}.pub" + content: "{{ new_pub.stdout }}" diff --git a/tnet/wg-keys.yml b/tnet/wg-keys.yml new file mode 100644 index 0000000..1980b97 --- /dev/null +++ b/tnet/wg-keys.yml @@ -0,0 +1,12 @@ +- name: Generate Wireguard keys + hosts: tnet + connection: local + gather_facts: False + tasks: +# - debug: +# msg: | +# ansible_host={{ ansible_host }} +# inventory_hostname={{ inventory_hostname }} + - name: Create Wireguard keys + loop: "{{ tnet_wg|default([])|dict2items }}" + include_tasks: wg-keys-genkey.yml diff --git a/tnet/wg-links-link.yml b/tnet/wg-links-link.yml new file mode 100644 index 0000000..6f1bb87 --- /dev/null +++ b/tnet/wg-links-link.yml @@ -0,0 +1,53 @@ +- notify: systemctl restart systemd-networkd + become: yes + file: + path: "/etc/systemd/network/50-tnet-{{ inventory_hostname }}-{{ item.key }}.netdev" + state: absent + +- name: "Make netdev for {{ inventory_hostname }} -> {{ item.key }}" + notify: systemctl restart systemd-networkd + become: yes + copy: + dest: "/etc/systemd/network/50-tnet-{{ item.key }}.netdev" + owner: systemd-network + group: adm + mode: 0640 + content: | + [NetDev] + Name=tnet-{{ item.key }} + Kind=wireguard + Description=tnet link to {{ item.key }} + + [WireGuard] + PrivateKey={{ lookup('community.sops.sops', 'keys/wg-{{ inventory_hostname }}-{{ item.key }}.sops.key') }} + {% if item.value.port is defined %} + ListenPort={{ item.value.port }} + {% endif %} + + [WireGuardPeer] + PublicKey={{ lookup('file', 'keys/wg-{{ item.key }}-{{ inventory_hostname }}.pub') }} + AllowedIPs=::/0 + {% if item.value.endpoint is defined %} + Endpoint={{ item.value.endpoint }} + PersistentKeepalive=60 + {% endif %} + +- notify: systemctl restart systemd-networkd + become: yes + file: + path: "/etc/systemd/network/50-tnet-{{ inventory_hostname }}-{{ item.key }}.network" + state: absent + +- name: "Make network for {{ inventory_hostname }} -> {{ item.key }}" + notify: systemctl restart systemd-networkd + become: yes + copy: + dest: "/etc/systemd/network/50-tnet-{{ item.key }}.network" + owner: systemd-network + group: adm + content: | + [Match] + Name=tnet-{{ item.key }} + + [Network] + Address={{ item.value.address }}/64 diff --git a/tnet/wg-links.yml b/tnet/wg-links.yml new file mode 100644 index 0000000..a050547 --- /dev/null +++ b/tnet/wg-links.yml @@ -0,0 +1,12 @@ +- name: Install Wireguard links + hosts: tnet + tasks: + - loop: "{{ tnet_wg|default([])|dict2items }}" + include_tasks: wg-links-link.yml + handlers: + # Has to be restart for now, hash doesn't support reloading networkd + - name: systemctl restart systemd-networkd + become: yes + systemd: + name: systemd-networkd + state: restarted |