Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update module github.com/juanfont/headscale to v0.23.0 - autoclosed #591

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 18, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
github.com/juanfont/headscale v0.22.3 -> v0.23.0 age adoption passing confidence

Release Notes

juanfont/headscale (github.com/juanfont/headscale)

v0.23.0

Compare Source

This release was intended to be mainly a code reorganisation and refactoring, significantly improving the maintainability of the codebase. This should allow us to improve further and make it easier for the maintainers to keep on top of the project.
However, as you all have noticed, it turned out to become a much larger, much longer release cycle than anticipated. It has ended up to be a release with a lot of rewrites and changes to the code base and functionality of Headscale, cleaning up a lot of technical debt and introducing a lot of improvements. This does come with some breaking changes,

Please remember to always back up your database between versions

Here is a short summary of the broad topics of changes:

Code has been organised into modules, reducing use of global variables/objects, isolating concerns and “putting the right things in the logical place”.

The new policy and mapper package, containing the ACL/Policy logic and the logic for creating the data served to clients (the network “map”) has been rewritten and improved. This change has allowed us to finish SSH support and add additional tests throughout the code to ensure correctness.

The “poller”, or streaming logic has been rewritten and instead of keeping track of the latest updates, checking at a fixed interval, it now uses go channels, implemented in our new notifier package and it allows us to send updates to connected clients immediately. This should both improve performance and potential latency before a client picks up an update.

Headscale now supports sending “delta” updates, thanks to the new mapper and poller logic, allowing us to only inform nodes about new nodes, changed nodes and removed nodes. Previously we sent the entire state of the network every time an update was due.

While we have a pretty good test harness for validating our changes, the changes came down to 284 changed files with 32,316 additions and 24,245 deletions and bugs are expected. We need help testing this release. In addition, while we think the performance should in general be better, there might be regressions in parts of the platform, particularly where we prioritised correctness over speed.

There are also several bugfixes that has been encountered and fixed as part of implementing these changes, particularly
after improving the test harness as part of adopting #​1460.

BREAKING
  • Code reorganisation, a lot of code has moved, please review the following PRs accordingly #​1473
  • Change the structure of database configuration, see config-example.yaml for the new structure. #​1700
    • Old structure has been remove and the configuration must be converted.
    • Adds additional configuration for PostgreSQL for setting max open, idle connection and idle connection lifetime.
  • API: Machine is now Node #​1553
  • Remove support for older Tailscale clients #​1611
    • The oldest supported client is 1.42
  • Headscale checks that at least one DERP is defined at start #​1564
    • If no DERP is configured, the server will fail to start, this can be because it cannot load the DERPMap from file or url.
  • Embedded DERP server requires a private key #​1611
  • Docker images are now built with goreleaser (ko) #​1716 #​1763
    • Entrypoint of container image has changed from shell to headscale, require change from headscale serve to serve
    • /var/lib/headscale and /var/run/headscale is no longer created automatically, see container docs
  • Prefixes are now defined per v4 and v6 range. #​1756
    • ip_prefixes option is now prefixes.v4 and prefixes.v6
    • prefixes.allocation can be set to assign IPs at sequential or random. #​1869
  • MagicDNS domains no longer contain usernames
    • This is in preperation to fix Headscales implementation of tags which currently does not correctly remove the link between a tagged device and a user. As tagged devices will not have a user, this will require a change to the DNS generation, removing the username, see #​1369 for more information.
    • use_username_in_magic_dns can be used to turn this behaviour on again, but note that this option will be removed when tags are fixed.
      • dns.base_domain can no longer be the same as (or part of) server_url.
      • This option brings Headscales behaviour in line with Tailscale.
  • YAML files are no longer supported for headscale policy. #​1792
    • HuJSON is now the only supported format for policy.
  • DNS configuration has been restructured #​2034
Changes
  • Use versioned migrations #​1644
  • Make the OIDC callback page better #​1484
  • SSH support #​1487
  • State management has been improved #​1492
  • Use error group handling to ensure tests actually pass #​1535 based on #​1460
  • Fix hang on SIGTERM #​1492 taken from #​1480
  • Send logs to stderr by default #​1524
  • Fix TS-2023-006 security UPnP issue #​1563
  • Turn off gRPC logging #​1640 fixes #​1259
  • Added the possibility to manually create a DERP-map entry which can be customized, instead of automatically creating it. #​1565
  • Add support for deleting api keys #​1702
  • Add command to backfill IP addresses for nodes missing IPs from configured prefixes. #​1869
  • Log available update as warning #​1877
  • Add autogroup:internet to Policy #​1917
  • Restore foreign keys and add constraints #​1562
  • Make registration page easier to use on mobile devices
  • Make write-ahead-log default on and configurable for SQLite #​1985
  • Add APIs for managing headscale policy. #​1792
  • Fix for registering nodes using preauthkeys when running on a postgres database in a non-UTC timezone. #​764
  • Make sure integration tests cover postgres for all scenarios
  • CLI commands (all except serve) only requires minimal configuration, no more errors or warnings from unset settings #​2109
  • CLI results are now concistently sent to stdout and errors to stderr #​2109
  • Fix issue where shutting down headscale would hang #​2113
Changelog

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner September 18, 2024 10:17
Copy link
Contributor Author

renovate bot commented Sep 18, 2024

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.23 -> 1.23.2
google.golang.org/genproto/googleapis/api v0.0.0-20240827150818-7e3bb234dfed -> v0.0.0-20240903143218-8af14fe29dc1
google.golang.org/genproto/googleapis/rpc v0.0.0-20240827150818-7e3bb234dfed -> v0.0.0-20240903143218-8af14fe29dc1

@renovate renovate bot force-pushed the renovate/github.com-juanfont-headscale-0.x branch from f688802 to a870561 Compare October 8, 2024 08:15
@renovate renovate bot force-pushed the renovate/github.com-juanfont-headscale-0.x branch from a870561 to 2dab149 Compare October 8, 2024 10:07
@renovate renovate bot changed the title fix(deps): update module github.com/juanfont/headscale to v0.23.0 fix(deps): update module github.com/juanfont/headscale to v0.23.0 - autoclosed Oct 11, 2024
@renovate renovate bot closed this Oct 11, 2024
@renovate renovate bot deleted the renovate/github.com-juanfont-headscale-0.x branch October 11, 2024 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants