Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8bac317

Browse files
committed
Update Tailscale ACL; Terraform fmt
1 parent 21b9c5b commit 8bac317

File tree

5 files changed

+37
-15
lines changed

5 files changed

+37
-15
lines changed

terraform/tailscale/acl.tf

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,30 @@ resource "tailscale_acl" "acl" {
44
"tagOwners": {
55
"${local.tags.server}": [], // Not used for any ACL yet
66
"${local.tags.initrd}": [],
7-
"${local.tags.ssh}": []
7+
"${local.tags.ssh}": [],
8+
"${local.tags.router}": [],
9+
"${local.tags.subnet}": []
810
},
9-
"acls": [
11+
"grants": [
1012
{
1113
// Allow all members to connect to any node
12-
"action": "accept",
13-
"src": [
14-
"autogroup:member"
15-
],
16-
"dst": [
17-
"*:*"
18-
]
14+
"src": [ "autogroup:member" ],
15+
"dst": [ "*" ],
16+
"ip": [ "*" ]
1917
},
18+
{
19+
// Allow routers to connect to any node
20+
"src": [ "${local.tags.router}" ],
21+
"dst": [ "*" ],
22+
"ip": [ "*" ]
23+
}
2024
],
25+
"autoApprovers": {
26+
"exitNode": [ "tag:router" ],
27+
"routes": {
28+
"192.168.0.0/16": [ "tag:subnet" ]
29+
}
30+
},
2131
"ssh": [
2232
{
2333
"action": "accept",
@@ -50,7 +60,17 @@ resource "tailscale_acl" "acl" {
5060
"${local.tags.initrd}:2222",
5161
"100.113.5.10:80"
5262
]
53-
}
63+
},
64+
{
65+
// A router also should be able to access any node
66+
"src": "${local.tags.router}",
67+
"allow": [
68+
"${local.tags.initrd}:2222",
69+
"${local.tags.ssh}:22",
70+
"${local.tags.router}:443",
71+
"100.113.5.10:80"
72+
]
73+
},
5474
],
5575
"sshTests": [
5676
{

terraform/tailscale/backend.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ terraform {
22
backend "s3" {
33
key = "homelab/tailscale/terraform.tfstate"
44
}
5-
}
5+
}

terraform/tailscale/data.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
data "tailscale_device" "server" {
22
hostname = var.server_hostname
3-
}
3+
}

terraform/tailscale/keys.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,4 @@ resource "onepassword_item" "tailscale_oauth_clients" {
5353
}
5454
}
5555
}
56-
}
56+
}

terraform/tailscale/locals.tf

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
locals {
22
tags = {
33
ssh = "tag:ssh",
4+
initrd = "tag:initramfs",
45
server = "tag:server",
5-
initrd = "tag:initramfs"
6+
router = "tag:router",
7+
subnet = "tag:subnet"
68
}
7-
}
9+
}

0 commit comments

Comments
 (0)