Switch wgkey for types/key

We dont seem to need the wireguard key anymore, we generate a key on
startup based on the new library and the users fetch it from /key.

Clean up app.go and update docs
This commit is contained in:
Kristoffer Dalby 2021-11-26 23:28:06 +00:00
parent 50b47adaa3
commit c63c259d31
6 changed files with 6 additions and 29 deletions

21
app.go
View file

@ -43,7 +43,7 @@ import (
"inet.af/netaddr"
"tailscale.com/tailcfg"
"tailscale.com/types/dnstype"
"tailscale.com/types/wgkey"
"tailscale.com/types/key"
)
const (
@ -66,7 +66,6 @@ const (
type Config struct {
ServerURL string
Addr string
PrivateKeyPath string
EphemeralNodeInactivityTimeout time.Duration
IPPrefix netaddr.IPPrefix
BaseDomain string
@ -129,8 +128,8 @@ type Headscale struct {
dbString string
dbType string
dbDebug bool
publicKey *wgkey.Key
privateKey *wgkey.Private
publicKey *key.MachinePublic
privateKey *key.MachinePrivate
DERPMap *tailcfg.DERPMap
@ -148,15 +147,7 @@ type Headscale struct {
// NewHeadscale returns the Headscale app.
func NewHeadscale(cfg Config) (*Headscale, error) {
content, err := os.ReadFile(cfg.PrivateKeyPath)
if err != nil {
return nil, err
}
privKey, err := wgkey.ParsePrivate(string(content))
if err != nil {
return nil, err
}
privKey := key.NewMachine()
pubKey := privKey.Public()
var dbString string
@ -185,13 +176,13 @@ func NewHeadscale(cfg Config) (*Headscale, error) {
cfg: cfg,
dbType: cfg.DBtype,
dbString: dbString,
privateKey: privKey,
privateKey: &privKey,
publicKey: &pubKey,
aclRules: tailcfg.FilterAllowAll, // default allowall
requestedExpiryCache: requestedExpiryCache,
}
err = app.initDB()
err := app.initDB()
if err != nil {
return nil, err
}