Skip to content

Commit c26a7f2

Browse files
committed
update readme
1 parent 6438e07 commit c26a7f2

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

.goreleaser.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ changelog:
4545
- Merge remote-tracking branch
4646
- Merge branch
4747
- go mod tidy
48+
- update readme
4849
groups:
4950
- title: 'New Features'
5051
regexp: "^.*feat[(\\w)]*:+.*$"

README.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,44 @@
11
# SPIRE Tailscale Plugin
22

3-
> :warning: this project is still WIP and experimental (see [#1](https://github.com/jsiebens/spire-tailscale-plugin/issues/1))
3+
> :warning: this node attestation plugin relies on a Tailscale OIDC id-token feature, which is marked as Work-in-Progress and may not be available for everyone yet.
44
55
This repository contains agent and server plugins for [SPIRE](https://github.com/spiffe/spire) to allow [Tailscale](https://tailscale.com) node attestation.
66

77
## Quick Start
88

99
Before starting, create a running SPIRE deployment and add the following configuration to the agent and server.
10-
Both server and agents should be running on a Tailscale node.
10+
The agents should be running on a Tailscale node, with version __>= 1.24.0__.
1111

1212
### Agent Configuration
1313

1414
```hcl
1515
NodeAttestor "tailscale" {
16-
plugin_cmd = "/path/to/plugin_cmd"
17-
plugin_checksum = "sha256 of the plugin binary"
18-
plugin_data {
19-
}
16+
plugin_cmd = "/path/to/plugin_cmd"
17+
plugin_checksum = "sha256 of the plugin binary"
18+
plugin_data {
19+
domain_allow_list = [ "example.com" ]
20+
}
2021
}
2122
```
2223

2324
### Server Configuration
2425

2526
```hcl
2627
NodeAttestor "tailscale" {
27-
plugin_cmd = "/path/to/plugin_cmd"
28-
plugin_checksum = "sha256 of the plugin binary"
29-
plugin_data {
30-
}
28+
plugin_cmd = "/path/to/plugin_cmd"
29+
plugin_checksum = "sha256 of the plugin binary"
30+
plugin_data {
31+
}
3132
}
3233
```
3334

3435
## How it Works
3536

36-
The plugin uses the Tailscale Node public keys as the method of attestation and is inspired on the [client verification](https://tailscale.com/kb/1118/custom-derp-servers/?q=derp#optional-restricting-client-access-to-your-derp-node) in custom DERP servers.
37+
This plugin automatically attests instances using the Tailscale OIDC Token. (a Tailscale feature still in WIP)
3738
The plugin operates as follows:
3839

39-
1. Agent fetches the Tailscale Node key from the local `tailscaled` agent
40-
1. Agent sends the key to the server
41-
1. Server inspects the key and checks if it is a valid key in its Tailscale network.
42-
1. Server creates a SPIFFE ID in the form of `spiffe://<trust_domain>/spire/agent/ts/<hostname>`
40+
1. Agent fetches a Tailscale OIDC token from the local `tailscaled` agent
41+
1. Agent sends the token to the server
42+
1. Server validates the token.
43+
1. Server creates a SPIFFE ID in the form of `spiffe://<trust_domain>/spire/agent/tailscale/<hostname>`
4344
1. All done!

0 commit comments

Comments
 (0)