---
id: "tailscale"
type: "component"
kind: "vpn-gateway"
provider: "default"
category: "edge"
docs: "https://tailscale.com/kb/1018/acls"
url: "https://localhost:3000/catalogue/components/tailscale"
---

# Tailscale

Hosted coordination plane over a WireGuard mesh; a new tailnet starts with an allow-all policy.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [VPN gateway](https://localhost:3000/catalogue/kinds/vpn-gateway) |
| Category | Edge |
| Official docs | [https://tailscale.com/kb/1018/acls](https://tailscale.com/kb/1018/acls) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `activeActive` | boolean | — | no | false | **false** |
| `bgp` | boolean | — | no | false | **false** |
| `defaultAcl` | enum | `allow-all`, `custom` | no | "allow-all" | inherited |
| `exitNode` | boolean | — | no | false | inherited |
| `managed` | boolean | — | no | false | **true** |
| `peerType` | enum | `site-to-site`, `point-to-site`, `cloud-to-cloud` | no | — | **"point-to-site"** |
| `subnetRouter` | boolean | — | no | false | inherited |
| `throughputMbps` | integer | — | no | — | inherited |
| `topology` | enum | `mesh`, `hub-and-spoke` | no | "mesh" | inherited |
| `tunnelType` | enum | `ipsec`, `ssl`, `wireguard` | no | — | **"wireguard"** |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 18

- [VPN Gateway](https://localhost:3000/catalogue/components/alibaba-vpn-gateway.md) `alibaba-vpn-gateway` — alibabacloud
- [AWS Client VPN](https://localhost:3000/catalogue/components/aws-client-vpn.md) `aws-client-vpn` — aws
- [AWS Site-to-Site VPN](https://localhost:3000/catalogue/components/aws-site-to-site-vpn.md) `aws-site-to-site-vpn` — aws
- [Azure VPN Gateway](https://localhost:3000/catalogue/components/azure-vpn-gateway.md) `azure-vpn-gateway` — azure
- [NetBird](https://localhost:3000/catalogue/components/netbird.md) `netbird` — default
- [OpenVPN](https://localhost:3000/catalogue/components/openvpn.md) `openvpn` — default
- [strongSwan](https://localhost:3000/catalogue/components/strongswan.md) `strongswan` — default
- [Submariner](https://localhost:3000/catalogue/components/submariner.md) `submariner` — default
- [Generic VPN gateway](https://localhost:3000/catalogue/components/vpn-gateway.md) `vpn-gateway` — default
- [WireGuard](https://localhost:3000/catalogue/components/wireguard.md) `wireguard` — default
- [ZeroTier](https://localhost:3000/catalogue/components/zerotier.md) `zerotier` — default
- [Cloud VPN](https://localhost:3000/catalogue/components/google-cloud-vpn.md) `google-cloud-vpn` — gcp
- [IBM Cloud VPN for VPC](https://localhost:3000/catalogue/components/ibm-vpn-gateway.md) `ibm-vpn-gateway` — ibm
- [Client VPN for VPC](https://localhost:3000/catalogue/components/ibm-vpn-server.md) `ibm-vpn-server` — ibm
- [Site-to-Site VPN](https://localhost:3000/catalogue/components/oci-site-to-site-vpn.md) `oci-site-to-site-vpn` — oci
- [Neutron VPNaaS](https://localhost:3000/catalogue/components/openstack-neutron-vpnaas.md) `openstack-neutron-vpnaas` — openstack
- [Client Gateway](https://localhost:3000/catalogue/components/outscale-client-gateway.md) `outscale-client-gateway` — outscale
- [Virtual Gateway](https://localhost:3000/catalogue/components/outscale-virtual-gateway.md) `outscale-virtual-gateway` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "tailscale", component: "tailscale" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Tailscale: hosted coordination plane over a WireGuard data plane. Devices form a
# peer-to-peer mesh (tailnet) with end-to-end encryption; per "Tailnet policy file",
# a new tailnet uses the default allow-all policy until ACLs are written.
schemaVersion: "1"
type: "component"
id: "tailscale"
kind: "vpn-gateway"
provider: "default"
docs: "https://tailscale.com/kb/1018/acls"
defaults:
  managed: true
  tunnelType: "wireguard"
  peerType: "point-to-site"
  bgp: false
  activeActive: false
properties:
  topology:
    type: "enum"
    values: ["mesh", "hub-and-spoke"]
    default: "mesh"
  defaultAcl:
    type: "enum"
    values: ["allow-all", "custom"]
    default: "allow-all"
  exitNode:
    type: "boolean"
    default: false
  subnetRouter:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/tailscale
