Commit Graph

2406 Commits

Author SHA1 Message Date
Kristoffer Dalby 6fb8d67825
Merge pull request #136 from kradalby/db-cleaning
Code, pointer, variable cleanups. And metrics!
2021-10-04 20:44:54 +01:00
Juan Font Alonso 1a41a9f2c7 Updated readme 2021-10-04 20:27:45 +02:00
Juan Font 040a18e6f8
Merge branch 'main' into magic-dns-support 2021-10-04 19:45:12 +02:00
Juan Font Alonso ec911981c2 Do not allow magicdns if not nameservers set up 2021-10-04 19:43:58 +02:00
Kristoffer Dalby f6a7564ec8 Add more test cases to prove that peers and shared peers work properly 2021-10-04 17:40:21 +00:00
Kristoffer Dalby 2eb57e6288 Clean up pointer usage consistency.
This tries to make the same functions emit and consume the same type of
data all over the application.

If a function transform data, it should emit new data, not a pointer.
2021-10-04 17:39:01 +00:00
Kristoffer Dalby 94ba5181fc Resolve merge conflict 2021-10-04 16:38:52 +00:00
Kristoffer Dalby 1d5b090579 Initial work on Prometheus metrics
This commit adds some Prometheus metrics to /metrics in headscale.

It will add the standard go metrics, some automatic gin metrics and some
initial headscale specific ones.

Some of them has been added to aid debugging #97 (loop bug)

In the future, we can use the metrics to get rid of the sleep in the
integration tests by checking that our expected number of nodes has been
registered:

```
headscale_machine_registrations_total
```
2021-10-04 16:28:07 +00:00
Juan Font Alonso ef0f7c0c09 Integration tests for MagicDNS working 2021-10-04 18:04:08 +02:00
Juan Font Alonso e60ceefea9 Fixing nil issue 2021-10-04 18:03:44 +02:00
Kristoffer Dalby ed6b5bc279
Merge pull request #141 from ptman/patch-1 2021-10-04 15:40:29 +01:00
Kristoffer Dalby d3ef39a58f Correctly use the internal docker dns and port for headscale joining 2021-10-04 14:39:52 +00:00
Kristoffer Dalby 07e32be5ce Remove host port, we only need internal ports 2021-10-04 14:39:28 +00:00
Paul Tötterman ed0b31d072
Update README.md
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2021-10-04 17:23:38 +03:00
Paul Tötterman fcc6991d62
Update README.md
Co-authored-by: Kristoffer Dalby <kradalby@kradalby.no>
2021-10-04 17:23:31 +03:00
Kristoffer Dalby c09428acca Revert "Remove docker network, it wasnt used, comment out portmapping to host"
This reverts commit 2090a13dcd.
2021-10-04 14:09:21 +00:00
Kristoffer Dalby 931ef9482b
Add checks to see if we can fetch the ip from map, remove possible null assignment 2021-10-04 14:17:05 +01:00
Kristoffer Dalby 772541afab
add comment about poor error handling when headscale isnt becoming available 2021-10-04 14:16:37 +01:00
Kristoffer Dalby 2090a13dcd
Remove docker network, it wasnt used, comment out portmapping to host 2021-10-04 14:15:20 +01:00
Kristoffer Dalby 31b4f03f96
Set integration logging to trace 2021-10-04 14:14:28 +01:00
Kristoffer Dalby 7793012409
Add error if peer api is empty 2021-10-04 14:14:12 +01:00
Paul Tötterman 566c2bc1fb
Document client OS support in a table 2021-10-04 14:58:36 +03:00
Juan Font 99efeb98f8
Merge pull request #139 from cure/fix-goreleaser-version
Make sure that goreleaser uses the appropriate version string when
2021-10-04 00:17:13 +02:00
Juan Font 836ee74e57
Merge branch 'main' into fix-goreleaser-version 2021-10-04 00:01:58 +02:00
Juan Font 06689ed726
Merge pull request #140 from qbit/buypass
Add the ability to specify the directory URL used for ACME.
2021-10-04 00:01:29 +02:00
Aaron Bieber 817cc1e567 these are not files! 2021-10-03 14:02:44 -06:00
Aaron Bieber 8fa0fe65ba Add the ability to specify registration ACME email and ACME URL. 2021-10-03 12:26:38 -06:00
Ward Vandewege 1d81333685 Make sure that goreleaser uses the appropriate version string when
building the headscale executable.
2021-10-03 14:00:08 -04:00
Kristoffer Dalby 1bddf1147b
Resolve merge conflict 2021-10-03 11:01:13 +01:00
Kristoffer Dalby 63fa475913
Merge pull request #134 from kradalby/loop-97 2021-10-02 23:13:41 +01:00
Kristoffer Dalby d637a9c302
Change ping count 2021-10-02 22:56:48 +01:00
Kristoffer Dalby 3c3189caa6
Move toNode, add type helpers, split peers and shared
This commit moves toNode to the bottom of the file, and adds a helper
function for lists of Machines to be converted.

It also adds string helpers for Machines and lists of machines.

Lastly it splits getPeers into getDirectPeers, which exist in the same
namespace, and getShared, which is nodes shared with the namespace.

getPeers is kept as a function putting together the two lists for
convenience.
2021-10-02 22:03:34 +01:00
Kristoffer Dalby 0d4a006536
Consitently use Machine pointers
This commit rewrites a bunch of the code to always use *Machine instead
of a mix of both, and a mix of tailcfg.Node and Machine.

Now we use *Machine, and if tailcfg.Node is needed, it is converted just
before needed.
2021-10-02 22:00:09 +01:00
Kristoffer Dalby 0475eb6ef7
Move DB call of pollmap to Machine inside a function 2021-10-02 21:58:28 +01:00
Kristoffer Dalby 0d1b60ad63 Merge branch 'loop-97' of github.com:kradalby/headscale into loop-97 2021-10-02 18:39:18 +01:00
Kristoffer Dalby 78a0f3ca37
Up ping timeout 2021-10-02 18:39:09 +01:00
Kristoffer Dalby 2c83eac36f
Merge branch 'main' into loop-97 2021-10-02 18:37:21 +01:00
Kristoffer Dalby 42913e2c37
Merge pull request #135 from cure/fix-README-typos
Fix a few typos in the tailscale command line arguments.
2021-10-02 17:46:25 +01:00
Kristoffer Dalby 54daa0da23
Fix spelling error 2021-10-02 17:35:39 +01:00
Ward Vandewege 0435089eba Fix a few typos in the tailscale command line arguments. 2021-10-02 10:44:52 -04:00
Kristoffer Dalby 39abc4e973
Clarify error messages for nodes that are not connected
If a node does not have an update channel, it is probably not connected,
clarify the log messages and make sure we dont print that it was updated
successfully (continue, not return)
2021-10-02 15:38:53 +01:00
Kristoffer Dalby cefe2d5bcc
Improve and clarify log entry 2021-10-02 15:30:41 +01:00
Kristoffer Dalby ed728f57e0
Remove WriteTimeout from HTTP
Golangs built in HTTP server does not allow different HTTP timeout for
different types of handlers, so we cannot have a write timeout as we
attempt to do long polling (my bad).

See linked article.

Also removed redundant server declaration
2021-10-02 15:29:27 +01:00
Kristoffer Dalby 6ffea2225d
Attempt to close failed streams
If we have a failed write toward any of our connections, attempt to
close the connection by returning "false" as in unsuccessful stream
2021-10-02 15:28:19 +01:00
Juan Font Alonso 64185cc2bc Fixed go mod 2021-10-02 15:18:05 +02:00
Juan Font 990ff153c0
Merge branch 'main' into magic-dns-support 2021-10-02 15:16:51 +02:00
Juan Font Alonso 47dcc940c0 Fixed issue in tests 2021-10-02 14:49:14 +02:00
Juan Font Alonso 8d60ae2c7e Tidy gomod 2021-10-02 13:03:41 +02:00
Juan Font Alonso 19492650d4 Fixed error on assign 2021-10-02 13:03:08 +02:00
Juan Font Alonso 36ae14bccf Send search domains 2021-10-02 12:13:19 +02:00