359 Commits

Author SHA1 Message Date
Casey Marshall
fdcd3bb574
Fix nil dereference in nodes list command.
Fixes a nil pointer dereference observed when listing nodes that have
not yet connected.

```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb931a4]

goroutine 1 [running]:
github.com/juanfont/headscale/cmd/headscale/cli.glob..func8(0x13c93e0, 0xc0004c4220, 0x0, 0x2)
	/go/src/headscale/cmd/headscale/cli/nodes.go:74 +0x364
github.com/spf13/cobra.(*Command).execute(0x13c93e0, 0xc0004c41e0, 0x2, 0x2, 0x13c93e0, 0xc0004c41e0)
	/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:856 +0x2c2
github.com/spf13/cobra.(*Command).ExecuteC(0x13ca2e0, 0xc000497110, 0xe76416, 0x6)
	/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:960 +0x375
github.com/spf13/cobra.(*Command).Execute(...)
	/go/pkg/mod/github.com/spf13/cobra@v1.1.3/command.go:897
main.main()
	/go/src/headscale/cmd/headscale/headscale.go:89 +0x805
command terminated with exit code 2
```
2021-06-19 18:20:27 -05:00
Casey Marshall
c64d756ea7
Add k8s deployment, standalone app Dockerfile.
Tested with Rancher k3s. See k8s/README.md for site configuration and
deployment instructions.

Add cert-manager, tls, remote headscale script.
2021-06-18 12:45:21 -05:00
Juan Font
a63fb6b007
Update README.me on how to clear tailscaled data (#37) 2021-06-17 14:22:38 +02:00
Juan Font Alonso
27e97cbd09 Use crosscompiling and enable CGO in goreleaser v0.1.1 2021-06-16 19:24:30 +02:00
Juan Font Alonso
39550e262c Improved readme 2021-06-16 19:05:30 +02:00
Juan Font
cfef55447f
Fix CI badge 2021-06-15 00:06:03 +02:00
Juan Font
9c276f33bd
Change the README to include the new releases 2021-06-14 22:21:54 +02:00
Juan Font
6df90a922c
Merge pull request #35 from juanfont/goreleaser
Use goreleaser to generate binary builds
v0.1.0
2021-06-14 16:20:57 +02:00
Juan Font
da8014074c Added missing goreleaser file 2021-06-14 09:17:23 +02:00
Juan Font
42e147e46f Keep make build, just as an extra test 2021-06-13 15:04:30 +02:00
Juan Font
61054638d1 Use goreleaser on new tags 2021-06-13 13:13:17 +02:00
Juan Font
e085d733d5 Rename original CI pipeline to test 2021-06-13 13:12:48 +02:00
Juan Font
6e86b2af0c
Merge pull request #34 from juanfont/fix-polling-race
Fix a race condition when a client closes the connection
2021-06-09 20:56:58 +02:00
Juan Font Alonso
5db7716be2 Reduce the mutex size when the client closes the connection 2021-06-09 20:55:25 +02:00
Juan Font Alonso
cb1a81fe4c Close the update channel when the client actually closes the connection. Fixes #32. 2021-06-08 19:19:40 +02:00
Juan Font
f2e1e42144
Merge pull request #33 from juanfont/fix-nodekey-change
Handle client sending new NodeKey
2021-06-07 09:11:12 +02:00
Juan Font Alonso
aab0bfe2d5 Removed redundant statement 2021-06-05 12:21:49 +02:00
Juan Font Alonso
47b22f3950 Minor improvement on login 2021-06-05 12:19:48 +02:00
Juan Font Alonso
d4c2870d7e Handle client sending new NodeKey (fixes #32) 2021-06-05 12:13:55 +02:00
Juan Font Alonso
0fcd92fcce Minor fix to help testing 2021-06-05 11:13:28 +02:00
Juan Font
094fde36d1
Merge pull request #31 from juanfont/improving-client-startup
Improving how headscale handles the client startup process
2021-05-30 00:05:40 +02:00
Juan Font Alonso
4be39f9b83 Improved log messages, and case That Should Never Happen 2021-05-26 21:39:57 +02:00
Juan Font Alonso
064e448d22 Improved tailnode start up handling 2021-05-24 21:59:03 +02:00
Juan Font
d1be440c89
Merge pull request #30 from cure/bugfix-and-more-tests
a bunch of smaller fixes
2021-05-24 19:52:38 +02:00
Ward Vandewege
d1c3faae5f Remove superfluous test support code. Fix bug in node list cli command.
Add tests.
2021-05-23 09:55:15 -04:00
Juan Font
6a3b171e99
Merge pull request #29 from cure/add-ephemeral-node-support
Add support for ephemeral nodes via a special type of pre-auth key.
2021-05-23 11:39:16 +02:00
Ward Vandewege
41f6740ddd Add support for ephemeral nodes via a special type of pre-auth key. Add
tests for that feature.

Other fixes: clean up a few typos in comments. Fix a bug that caused the
tests to run four times each. Be more consistent in the use of log
rather than fmt to print errors and notices.
2021-05-22 20:18:29 -04:00
Juan Font
1faed2764f
Merge pull request #28 from juanfont/sqlite-support-plus-integration
Adding SQLite support
2021-05-18 23:49:04 +02:00
Juan Font Alonso
13b7b3ee8a Fix tests 2021-05-18 23:33:18 +02:00
Juan Font Alonso
5a42bace67 Use OS-independent paths for the abs method 2021-05-18 23:33:08 +02:00
Juan Font Alonso
460a23cf2b Check for abs/rel path in db_path 2021-05-19 01:28:47 +02:00
Juan Font Alonso
b0adefc540 Remove trailing space 2021-05-19 01:20:28 +02:00
Juan Font Alonso
370fe3b192 Removed wrongly copypasted method 2021-05-16 16:47:48 +02:00
Juan Font Alonso
374a6eef7e Fixed panic when sending keep alives to a disconnected node 2021-05-15 18:12:22 +02:00
Juan Font Alonso
93a9284d84 Updated README with sqlite instructions 2021-05-15 14:38:20 +02:00
Juan Font Alonso
0b8d4a24ae minor update to gitignore 2021-05-15 14:36:56 +02:00
Juan Font Alonso
da9a07ddf3 Added tests for the sqlite-based config 2021-05-15 14:36:13 +02:00
Juan Font Alonso
216c6d85b2 Added support for sqlite as database backend 2021-05-15 14:32:26 +02:00
Juan Font
619201ec9b
Merge pull request #27 from juanfont/change-json-field
Remove dependency on Postgres' jsonb field
2021-05-15 11:59:07 +02:00
Juan Font Alonso
ad4a61cc7b update in sum 2021-05-15 00:08:22 +02:00
Juan Font Alonso
84aba256bb Added some deps + updates 2021-05-15 00:06:17 +02:00
Juan Font Alonso
e0d916bb5a Remove dependency on postgres' jsonb 2021-05-15 00:05:41 +02:00
Juan Font
e7a626d3cc
Merge pull request #26 from cure/more_tests
Add more tests
2021-05-13 09:07:53 +02:00
Ward Vandewege
be83281f58 Fix build breakage due to https://github.com/golang/go/issues/44129.
The issue was that our build pipeline uses 'go get' call to install
golint, which changed the go.mod/go.sum files (not good, but I hadn't
noticed before). Due to Golang bug #44129, this caused breakage on the
dependencies of certain modules we use.

The fix was to switch to 'go install golang.org/x/lint/golint@latest'.
The addition of '@latest' puts 'go install' in module aware mode, which
no longer changes go.mod file in the current directory. This is better,
and it also avoids bug #44129.

This commit also has a change due to `go mod tidy`. Finally, I had to
add a longer timeout for the golangci-lint installation step in the
github actions workflow, since that seems to take a bit over a minute
now.  This step is usually cached on subsequent runs, so we hadn't seen
that failure before.
2021-05-12 09:06:46 -04:00
Ward Vandewege
d2748f34aa Add more tests. 2021-05-11 20:55:36 -04:00
Juan Font
0f933c1a46
Merge pull request #24 from cure/add-destroy-namespace-command
Add a DestroyNamespace command and tests for the Namespace functions.
2021-05-09 18:33:28 +02:00
Ward Vandewege
b20b664353 Add a DestroyNamespace command and tests for the Namespace functions. 2021-05-09 11:12:39 -04:00
Juan Font
3cf599be64
Merge pull request #22 from juanfont/json-output
Added JSON-formatted output to CLI
2021-05-08 19:55:19 +02:00
Juan Font Alonso
8ad366f977 Use JsonOutput in version too 2021-05-08 17:06:36 +02:00
Juan Font Alonso
9eaac71762 Trim trailing spaces 2021-05-08 16:56:27 +02:00