Terraform module to manage a Tailscale subnet relay instance on GCP
- generates auth key for device login
- manages a GCP instance runnng tailscale
module "tailscale-subnet-relay" {
source = "notablehealth/tailscale-subnet-relay/google"
# Recommend pinning every module to a specific version
# version = "x.x.x"
}
- TAILSCALE_API_KEY
- TAILSCALE_TAILNET
Name | Version |
---|---|
terraform | >= 1.4.6 |
~> 4.68 | |
tailscale | ~> 0.13.7 |
Name | Version |
---|---|
4.68.0 | |
tailscale | 0.13.7 |
No modules.
Name | Type |
---|---|
google_compute_instance.tailscale | resource |
tailscale_tailnet_key.self | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
boot_image | GCP instance boot image | string |
"ubuntu-os-cloud/ubuntu-2204-lts" |
no |
enable_display | Enable display for debugging | bool |
false |
no |
instance_description | DCP instance description | string |
"Tailscale subnet relay" |
no |
instance_labels | Label key/pairs to assign to instance | map(any) |
{} |
no |
instance_tags | List of tags to assign to instance | list(string) |
[] |
no |
machine_type | GCP instance machine type | string |
"n1-standard-1" |
no |
name | GCP instance name | string |
"tailscale" |
no |
project | GCP project ID | string |
n/a | yes |
subnetwork_cidr_ip_blocks | List of subnet cidrs to route (, separated) | string |
"" |
no |
tailscale_key_expiry | Expiration of Tailscale authentication key in seconds | number |
3600 |
no |
tailscale_repo_key | Tailscale package repository GPG key | string |
"https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg " |
no |
tailscale_repo_list | Tailscale package repository list | string |
"https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list" |
no |
tailscale_tags | List of Tailscale tags | set(string) |
[] |
no |
vpc_network_name | VPC network name where tailscale instance will be placed | string |
n/a | yes |
vpc_subnetwork_name | VPC subnet name where tailscale instance will be placed | string |
n/a | yes |
zone | GCP zone where tailscale instance will be placed | string |
n/a | yes |
Name | Description |
---|---|
id | Identifier for the instance with format projects/{{project}}/zones/{{zone}}/instances/{{name}} |
instance_id | Server-assigned unique identifier of instance |
instance_name | The name of the instance |
network_ip | The private IPv4 address assigned to the instance |
self_link | URI of the instance |