You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Workload identity federation requires the `id-token: write` [permission setting](https://docs.github.com/en/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-cloud-providers#adding-permissions-settings) for the workflow:
46
+
47
+
```yaml
48
+
permissions:
49
+
id-token: write # This is required for the tailscale action to request a JWT from GitHub
50
+
```
51
+
52
+
OIDC federated identity credentials used for this purpose must have the [`auth_keys` scope.][kb-trust-credentials-scopes]
53
+
54
+
tags is a comma-separated list of one or more [Tags][kb-tags]
55
+
for the node. At least one tag is required: a federated identity is not associated
56
+
with any of the Users on the tailnet, it has to Tag its nodes.
57
+
58
+
> [!IMPORTANT]
59
+
> Tailscale version `1.90.1` or later is required for workload identity federation.
31
60
32
61
## Prerequisites
33
62
34
63
Before using the Tailscale GitHub Action, ensure you have the following:
35
64
36
-
1. A Tailscale account with <Role>Owner, Admin, or Network admin</Role> permissions.
65
+
1. A Tailscale account with Owner, Admin, or Network admin permissions.
37
66
1. A GitHub repository that you have admin access to (required to set up the GitHub Action).
38
-
1. At least one configured [tag][kb-tags].
39
-
1. An [OAuth client][kb-oauth-clients] ID and secret OR an [auth key][kb-auth-keys].
67
+
1. At least one configured [tag][kb-tags] if using OAuth or workload identity federation.
68
+
1. An [OAuth client][kb-oauth-clients] ID and secret, [federated identity][kb-workload-identity-federation] client ID and audience, OR an [auth key][kb-auth-keys].
40
69
1. A runner image version >= 2.237.1 (required to support running Node.js 24).
41
70
42
71
## Eventual consistency
@@ -55,22 +84,21 @@ You can do this by adding a list of hosts to ping to the action configuration:
55
84
ping: 100.x.y.z,my-machine.my-tailnet.ts.net
56
85
```
57
86
58
-
or with the [tailscale ping](https://tailscale.com/kb/1080/cli#ping) command if you do not know the peers at the time of installing Tailscale in the workflow:
87
+
or with the [tailscale ping][kb-cli-ping] command if you do not know the peers at the time of installing Tailscale in the workflow:
59
88
60
89
```bash
61
90
tailscale ping my-target.my-tailnet.ts.net
62
91
```
63
92
64
-
The `ping` option will wait up to to 3 minutes for a connection (direct or relayed).
93
+
The `ping` option will wait up to 3 minutes for a connection (direct or relayed).
65
94
66
95
## Tailnet Lock
67
96
68
-
If you are using this Action in a [Tailnet
69
-
Lock](https://tailscale.com/kb/1226/tailnet-lock) enabled network, you need to:
97
+
If you are using this Action in a [Tailnet Lock][kb-tailnet-lock] enabled network, you need to:
70
98
71
-
- Authenticate using an ephemeral reusable [pre-signed auth key](https://tailscale.com/kb/1226/tailnet-lock#add-a-node-using-a-pre-signed-auth-key)
99
+
- Authenticate using an ephemeral reusable [pre-signed auth key][kb-tailnet-lock-pre-signed]
72
100
rather than an OAuth client.
73
-
- Specify a [state directory](https://tailscale.com/kb/1278/tailscaled#flags-to-tailscaled) for the
101
+
- Specify a [state directory][kb-tailscaled-flags] for the
74
102
client to store the Tailnet Key Authority data in.
75
103
76
104
```yaml
@@ -139,4 +167,18 @@ the GitHub Action leaves tailscale binaries installed but stops the tailscale ba
139
167
140
168
### requested tags [tag:mytag] are invalid or not permitted
141
169
142
-
You may encounter this error when using an OAuth client. OAuth clients must have the [`auth_keys` scope](https://tailscale.com/kb/1215/oauth-clients#scopes) with one or more [tags](https://tailscale.com/kb/1068/acl-tags/), and the tags specified with `tags` must match all tags on the OAuth client.
170
+
You may encounter this error when using a trust credential (OAuth client or OIDC federated identity).
171
+
Trust credentials must have the writable [`auth_keys` scope][kb-trust-credentials-scopes] with one or more [tags][kb-tags],
172
+
and the tags specified with `tags` must match all tags on the trust credential or be tags owned by the tags on the trust credential.
0 commit comments