public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/headscale] f44: update to 0.29.2
@ 2026-07-07 13:57 Jonathan Wright
  0 siblings, 0 replies; only message in thread
From: Jonathan Wright @ 2026-07-07 13:57 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/headscale
Branch : f44
Commit : b20443a8b666070afb2115e68478b904f67be9b7
Author : Jonathan Wright <jonathan@almalinux.org>
Date   : 2026-07-07T08:53:09-05:00
Stats  : +294/-183 in 5 file(s)
URL    : https://src.fedoraproject.org/rpms/headscale/c/b20443a8b666070afb2115e68478b904f67be9b7?branch=f44

Log:
update to 0.29.2

---
diff --git a/.gitignore b/.gitignore
index 80ff526..4f7f5e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /headscale-0.26.1-vendored.tar.zst
 /headscale-0.28.0-vendored.tar.zst
+/headscale-0.29.2-vendored.tar.zst

diff --git a/config.yaml b/config.yaml
index ea0b086..5ff24ce 100644
--- a/config.yaml
+++ b/config.yaml
@@ -18,25 +18,17 @@ server_url: http://127.0.0.1:8080
 # listen_addr: 0.0.0.0:8080
 listen_addr: 127.0.0.1:8080
 
-# Address to listen to /metrics and /debug, you may wantAdd commentMore actions
+# Address to listen to /metrics and /debug, you may want
 # to keep this endpoint private to your internal network
+# Use an empty value to disable the metrics listener.
 metrics_listen_addr: 127.0.0.1:9090
 
-# Address to listen for gRPC.
-# gRPC is used for controlling a headscale server
-# remotely with the CLI
-# Note: Remote access _only_ works if you have
-# valid certificates.
-#
-# For production:
-# grpc_listen_addr: 0.0.0.0:50443
-grpc_listen_addr: 127.0.0.1:50443
-
-# Allow the gRPC admin interface to run in INSECURE
-# mode. This is not recommended as the traffic will
-# be unencrypted. Only enable if you know what you
-# are doing.
-grpc_allow_insecure: false
+# CIDR(s) of reverse proxies (e.g. 127.0.0.1/32) whose
+# True-Client-IP, X-Real-IP and X-Forwarded-For headers should
+# be honoured. Empty (default) ignores those headers; setting
+# this without a proxy in front lets clients spoof their logged
+# source IP.
+trusted_proxies: []
 
 # The Noise section includes specific configuration for the
 # TS2021 Noise protocol
@@ -49,18 +41,29 @@ noise:
 # List of IP prefixes to allocate tailaddresses from.
 # Each prefix consists of either an IPv4 or IPv6 address,
 # and the associated prefix length, delimited by a slash.
-# It must be within IP ranges supported by the Tailscale
-# client - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48.
-# See below:
-# IPv6: https://github.com/tailscale/tailscale/blob/22ebb25e833264f58d7c3f534a8b166894a89536/net/tsaddr/tsaddr.go#LL81C52-L81C71
+#
+# WARNING: These prefixes MUST be subsets of the standard Tailscale ranges:
+#   - IPv4: 100.64.0.0/10 (CGNAT range)
+#   - IPv6: fd7a:115c:a1e0::/48 (Tailscale ULA range)
+#
+# Using a SUBSET of these ranges is supported and useful if you want to
+# limit IP allocation to a smaller block (e.g., 100.64.0.0/24).
+#
+# Using ranges OUTSIDE of CGNAT/ULA is NOT supported and will cause
+# undefined behaviour. The Tailscale client has hard-coded assumptions
+# about these ranges and will break in subtle, hard-to-debug ways.
+#
+# See:
 # IPv4: https://github.com/tailscale/tailscale/blob/22ebb25e833264f58d7c3f534a8b166894a89536/net/tsaddr/tsaddr.go#L33
-# Any other range is NOT supported, and it will cause unexpected issues.
+# IPv6: https://github.com/tailscale/tailscale/blob/22ebb25e833264f58d7c3f534a8b166894a89536/net/tsaddr/tsaddr.go#LL81C52-L81C71
 prefixes:
-  v6: fd7a:115c:a1e0::/48
   v4: 100.64.0.0/10
+  v6: fd7a:115c:a1e0::/48
 
   # Strategy used for allocation of IPs to nodes, available options:
-  # - sequential (default): assigns the next free IP from the previous given IP.
+  # - sequential (default): assigns the next free IP from the previous given
+  #   IP. A best-effort approach is used and Headscale might leave holes in the
+  #   IP range or fill up existing holes in the IP range.
   # - random: assigns the next free IP from a pseudo-random IP generator (crypto/rand).
   allocation: sequential
 
@@ -68,8 +71,7 @@ prefixes:
 # connection cannot be established.
 # https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp
 #
-# headscale needs a list of DERP servers that can be presented
-# to the clients.
+# Headscale needs a list of DERP servers that can be presented to the clients.
 derp:
   server:
     # If enabled, runs the embedded DERP server and merges it into the rest of the DERP config
@@ -85,6 +87,9 @@ derp:
     region_code: "headscale"
     region_name: "Headscale Embedded DERP"
 
+    # Only allow clients associated with this server access
+    verify_clients: true
+
     # Listens over UDP at the configured address for STUN connections - to help with NAT traversal.
     # When the embedded DERP server is enabled stun_listen_addr MUST be defined.
     #
@@ -102,7 +107,7 @@ derp:
 
     # For better connection stability (especially when using an Exit-Node and DNS is not working),
     # it is possible to optionally add the public IPv4 and IPv6 address to the Derp-Map using:
-    ipv4: 1.2.3.4
+    ipv4: 198.51.100.1
     ipv6: 2001:db8::1
 
   # List of externally available DERP maps encoded in JSON
@@ -111,9 +116,9 @@ derp:
 
   # Locally available DERP map files encoded in YAML
   #
-  # This option is mostly interesting for people hosting
-  # their own DERP servers:
-  # https://tailscale.com/kb/1118/custom-derp-servers/
+  # This option is mostly interesting for people hosting their own DERP servers:
+  # https://tailscale.com/docs/reference/derp-servers/custom-derp-servers
+  # https://headscale.net/stable/ref/derp/
   #
   # paths:
   #   - /etc/headscale/derp-example.yaml
@@ -128,10 +133,47 @@ derp:
   update_frequency: 3h
 
 # Disables the automatic check for headscale updates on startup
-disable_check_updates: false
+disable_check_updates: true
+
+# Node lifecycle configuration.
+node:
+  # Default key expiry for non-tagged nodes, regardless of registration method
+  # (auth key, CLI, web auth). Tagged nodes are exempt and never expire.
+  #
+  # This is the base default. OIDC can override this via oidc.expiry.
+  # If a client explicitly requests a specific expiry, the client value is used.
+  #
+  # Setting the value to "0" means no default expiry (nodes never expire unless
+  # explicitly expired via `headscale nodes expire`).
+  #
+  # Tailscale SaaS uses 180d; set to a positive duration to match that behaviour.
+  #
+  # Default: 0 (no default expiry)
+  expiry: 0
 
-# Time before an inactive ephemeral node is deleted?
-ephemeral_node_inactivity_timeout: 30m
+  ephemeral:
+    # Time before an inactive ephemeral node is deleted.
+    inactivity_timeout: 30m
+
+  # HA subnet router health probing.
+  #
+  # When HA routes exist (2+ nodes advertising the same prefix), headscale
+  # pings each HA node every probe_interval via the Noise channel. If a node
+  # fails to respond within probe_timeout it is marked unhealthy and the
+  # primary role moves to the next healthy node. A node that later responds
+  # is marked healthy again but does NOT reclaim primary (avoids flapping).
+  #
+  # Worst-case detection time is probe_interval + probe_timeout (15s default).
+  # No-op when no HA routes exist. Set probe_interval to 0 to disable.
+  routes:
+    ha:
+      # How often to ping HA subnet routers. Set to 0 to disable probing.
+      # Must be >= 2s when enabled.
+      probe_interval: 10s
+
+      # How long to wait for a ping response before marking a node unhealthy.
+      # Must be >= 1s and less than probe_interval.
+      probe_timeout: 5s
 
 database:
   # Database type. Available options: sqlite, postgres
@@ -164,6 +206,11 @@ database:
     # https://www.sqlite.org/wal.html
     write_ahead_log: true
 
+    # Maximum number of WAL file frames before the WAL file is automatically checkpointed.
+    # https://www.sqlite.org/c3ref/wal_autocheckpoint.html
+    # Set to 0 to disable automatic checkpointing.
+    wal_autocheckpoint: 1000
+
   # # Postgres config
   # Please note that using Postgres is highly discouraged as it is only supported for legacy reasons.
   # See database.type for more information.
@@ -183,12 +230,12 @@ database:
   #   ssl: false
 
 ### TLS configuration
-#
-## Let's encrypt / ACME
-#
-# headscale supports automatically requesting and setting up
+# See: https://headscale.net/stable/ref/tls/
+
+## Let's Encrypt / ACME
+# Headscale supports automatically requesting and setting up
 # TLS for a domain with Let's Encrypt.
-#
+
 # URL to ACME directory
 acme_url: https://acme-v02.api.letsencrypt.org/directory
 
@@ -198,15 +245,14 @@ acme_email: ""
 # Domain name to request a TLS certificate for:
 tls_letsencrypt_hostname: ""
 
-# Path to store certificates and metadata needed by
-# letsencrypt
-# For production:
+# Path to store certificates and metadata needed by letsencrypt
 tls_letsencrypt_cache_dir: /var/lib/headscale/cache
 
 # Type of ACME challenge to use, currently supported types:
 # HTTP-01 or TLS-ALPN-01
 # See [docs/tls.md](docs/tls.md) for more information
 tls_letsencrypt_challenge_type: HTTP-01
+
 # When HTTP-01 challenge is chosen, letsencrypt must set up a
 # verification endpoint, and it will be listening on:
 # :http = port 80
@@ -217,30 +263,33 @@ tls_cert_path: ""
 tls_key_path: ""
 
 log:
+  # Valid log levels: panic, fatal, error, warn, info, debug, trace
+  level: info
+
   # Output formatting for logs: text or json
   format: text
   level: info
 
 ## Policy
-# headscale supports Tailscale's ACL policies.
-# Please have a look to their KB to better
-# understand the concepts: https://tailscale.com/kb/1018/acls/
+# Headscale supports a wide range of Tailscale policy features such as ACLs and
+# Grants. Please have a look at their docs to better understand the concepts:
+# ACLs: https://tailscale.com/docs/features/access-control/acls
+# Grants: https://tailscale.com/docs/features/access-control/grants
 policy:
   # The mode can be "file" or "database" that defines
-  # where the ACL policies are stored and read from.
+  # where the policies are stored and read from.
   mode: file
-  # If the mode is set to "file", the path to a
-  # HuJSON file containing ACL policies.
+
+  # If the mode is set to "file", the path to a HuJSON file containing policies.
   path: ""
 
 ## DNS
 #
 # headscale supports Tailscale's DNS configuration and MagicDNS.
-# Please have a look to their KB to better understand the concepts:
+# Please have a look to their docs to better understand the concepts:
 #
-# - https://tailscale.com/kb/1054/dns/
-# - https://tailscale.com/kb/1081/magicdns/
-# - https://tailscale.com/blog/2021-09-private-dns-with-magicdns/
+# - https://tailscale.com/docs/features/magicdns
+# - https://tailscale.com/blog/2021-09-private-dns-with-magicdns
 #
 # Please note that for the DNS configuration to have any effect,
 # clients must have the `--accept-dns=true` option enabled. This is the
@@ -250,13 +299,12 @@ policy:
 # Setting _any_ of the configuration and `--accept-dns=true` on the
 # clients will integrate with the DNS manager on the client or
 # overwrite /etc/resolv.conf.
-# https://tailscale.com/kb/1235/resolv-conf
+# https://tailscale.com/docs/reference/faq/dns-resolv-conf
 #
 # If you want stop Headscale from managing the DNS configuration
 # all the fields under `dns` should be set to empty values.
 dns:
-  # Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/).
-  # Only works if there is at least a nameserver defined.
+  # Whether to use MagicDNS
   magic_dns: true
 
   # Defines the base domain to create the hostnames for MagicDNS.
@@ -266,8 +314,8 @@ dns:
   # `hostname.base_domain` (e.g., _myhost.example.com_).
   base_domain: example.com
 
-  # Whether to use the local DNS settings of a node (default) or override theAdd commentMore actions
-  # local DNS settings and force the use of Headscale's DNS configuration.
+  # Whether to use the local DNS settings of a node or override the local DNS
+  # settings (default) and force the use of Headscale's DNS configuration.
   override_local_dns: false
 
   # List of DNS servers to expose to clients.
@@ -278,14 +326,13 @@ dns:
       - 2606:4700:4700::1111
       - 2606:4700:4700::1001
 
-      # NextDNS (see https://tailscale.com/kb/1218/nextdns/).
+      # NextDNS (see https://tailscale.com/docs/integrations/nextdns).
       # "abc123" is example NextDNS ID, replace with yours.
       # - https://dns.nextdns.io/abc123
 
-    # Split DNS (see https://tailscale.com/kb/1054/dns/),
+    # Split DNS (see https://tailscale.com/docs/reference/dns-in-tailscale#restricted-nameservers),
     # a map of domains and which DNS server to use for each.
-    split:
-      {}
+    split: {}
       # foo.bar.com:
       #   - 1.1.1.1
       # darp.headscale.net:
@@ -298,7 +345,7 @@ dns:
 
   # Extra DNS records
   # so far only A and AAAA records are supported (on the tailscale side)
-  # See https://github.com/juanfont/headscale/blob/main/docs/dns-records.md#Limitations
+  # See: https://headscale.net/stable/ref/dns/
   extra_records: []
   #   - name: "grafana.myvpn.example.com"
   #     type: "A"
@@ -306,7 +353,6 @@ dns:
   #
   #   # you can also put it in one line
   #   - { name: "prometheus.myvpn.example.com", type: "A", value: "100.64.0.3" }
-
   #
   # Alternatively, extra DNS records can be loaded from a JSON file.
   # Headscale processes this file on each change.
@@ -317,37 +363,37 @@ dns:
 unix_socket: /var/run/headscale/headscale.sock
 unix_socket_permission: "0770"
 
-#
-# headscale supports experimental OpenID connect support,
-# it is still being tested and might have some bugs, please
-# help us test it.
 # OpenID Connect
+# https://headscale.net/stable/ref/oidc/
 # oidc:
+#   # Block startup until the identity provider is available and healthy.
 #   only_start_if_oidc_is_available: true
+#
+#   # OpenID Connect Issuer URL from the identity provider
 #   issuer: "https://your-oidc.issuer.com/path"
+#
+#   # Client ID from the identity provider
 #   client_id: "your-oidc-client-id"
+#
+#   # Client secret generated by the identity provider
+#   # Note: client_secret and client_secret_path are mutually exclusive.
 #   client_secret: "your-oidc-client-secret"
 #   # Alternatively, set `client_secret_path` to read the secret from the file.
 #   # It resolves environment variables, making integration to systemd's
 #   # `LoadCredential` straightforward:
 #   client_secret_path: "${CREDENTIALS_DIRECTORY}/oidc_client_secret"
-#   # client_secret and client_secret_path are mutually exclusive.
-#
-#   # The amount of time from a node is authenticated with OpenID until it
-#   # expires and needs to reauthenticate.
-#   # Setting the value to "0" will mean no expiry.
-#   expiry: 180d
 #
 #   # Use the expiry from the token received from OpenID when the user logged
-#   # in, this will typically lead to frequent need to reauthenticate and should
-#   # only been enabled if you know what you are doing.
-#   # Note: enabling this will cause `oidc.expiry` to be ignored.
+#   # in. This will typically lead to frequent need to reauthenticate and should
+#   # only be enabled if you know what you are doing.
+#   # Note: enabling this will cause `node.expiry` to be ignored for
+#   # OIDC-authenticated nodes.
 #   use_expiry_from_token: false
 #
-#   # Customize the scopes used in the OIDC flow, defaults to "openid", "profile" and "email" and add custom query
-#   # parameters to the Authorize Endpoint request. Scopes default to "openid", "profile" and "email".
-#
-#   scope: ["openid", "profile", "email", "custom"]
+#   # The OIDC scopes to use, defaults to "openid", "profile" and "email".
+#   # Custom scopes can be configured as needed, be sure to always include the
+#   # required "openid" scope.
+#   scope: ["openid", "profile", "email"]
 #
 #   # Only verified email addresses are synchronized to the user profile by
 #   # default. Unverified emails may be allowed in case an identity provider
@@ -355,20 +401,24 @@ unix_socket_permission: "0770"
 #   # not required.
 #   email_verified_required: true
 #
+#   # Provide custom key/value pairs which get sent to the identity provider's
+#   # authorization endpoint.
 #   extra_params:
 #     domain_hint: example.com
 #
-#   # List allowed principal domains and/or users. If an authenticated user's domain is not in this list, the
-#   # authentication request will be rejected.
-#
+#   # Only accept users whose email domain is part of the allowed_domains list.
 #   allowed_domains:
 #     - example.com
-#   # Note: Groups from keycloak have a leading '/'
-#   allowed_groups:
-#     - /headscale
+#
+#   # Only accept users whose email address is part of the allowed_users list.
 #   allowed_users:
 #     - alice@example.com
 #
+#   # Only accept users which are members of at least one group in the
+#   # allowed_groups list.
+#   allowed_groups:
+#     - /headscale
+#
 #   # Optional: PKCE (Proof Key for Code Exchange) configuration
 #   # PKCE adds an additional layer of security to the OAuth 2.0 authorization code flow
 #   # by preventing authorization code interception attacks
@@ -376,34 +426,55 @@ unix_socket_permission: "0770"
 #   pkce:
 #     # Enable or disable PKCE support (default: false)
 #     enabled: false
+#
 #     # PKCE method to use:
 #     # - plain: Use plain code verifier
 #     # - S256: Use SHA256 hashed code verifier (default, recommended)
 #     method: S256
-#
-#   # Map legacy users from pre-0.24.0 versions of headscale to the new OIDC users
-#   # by taking the username from the legacy user and matching it with the username
-#   # provided by the OIDC. This is useful when migrating from legacy users to OIDC
-#   # to force them using the unique identifier from the OIDC and to give them a
-#   # proper display name and picture if available.
-#   # Note that this will only work if the username from the legacy user is the same
-#   # and there is a possibility for account takeover should a username have changed
-#   # with the provider.
-#   # When this feature is disabled, it will cause all new logins to be created as new users.
-#   # Note this option will be removed in the future and should be set to false
-#   # on all new installations, or when all users have logged in with OIDC once.
-#   map_legacy_users: false
 
 # Logtail configuration
-# Logtail is Tailscales logging and auditing infrastructure, it allows the control panel
-# to instruct tailscale nodes to log their activity to a remote server.
+# Logtail is Tailscales logging and auditing infrastructure, it allows the
+# control panel to instruct tailscale nodes to log their activity to a remote
+# server. To disable logging on the client side, please refer to:
+# https://tailscale.com/docs/features/logging#opt-out-of-client-logging
 logtail:
-  # Enable logtail for this headscales clients.
-  # As there is currently no support for overriding the log server in headscale, this is
+  # Enable logtail for tailscale nodes of this Headscale instance.
+  # As there is currently no support for overriding the log server in Headscale, this is
   # disabled by default. Enabling this will make your clients send logs to Tailscale Inc.
   enabled: false
 
-# Enabling this option makes devices prefer a random port for WireGuard traffic over the
-# default static port 41641. This option is intended as a workaround for some buggy
-# firewall devices. See https://tailscale.com/kb/1181/firewalls/ for more information.
-randomize_client_port: false
+# Taildrop configuration
+# Taildrop is the file sharing feature of Tailscale, allowing nodes to
+# send files to each other.
+# https://tailscale.com/docs/features/taildrop
+taildrop:
+  # Enable or disable Taildrop tailnet-wide. When disabled, headscale
+  # withholds `https://tailscale.com/cap/file-sharing` from every
+  # node's CapMap.
+  enabled: true
+
+# Default node auto-update behaviour. When enabled, every node's
+# CapMap carries `default-auto-update: [true]` so clients that have
+# not made a local opt-in / opt-out choice run auto-updates by
+# default. Setting it back to false flips the default for future
+# clients; clients that already stored the value locally keep their
+# choice.
+auto_update:
+  enabled: false
+
+# Advanced performance tuning parameters.
+# The defaults are carefully chosen and should rarely need adjustment.
+# Only modify these if you have identified a specific performance issue.
+#
+# tuning:
+#   # Maximum number of pending registration entries in the auth cache.
+#   # Oldest entries are evicted when the cap is reached.
+#   #
+#   # register_cache_max_entries: 1024
+#
+#   # NodeStore write batching configuration.
+#   # The NodeStore batches write operations before rebuilding peer relationships,
+#   # which is computationally expensive. Batching reduces rebuild frequency.
+#   #
+#   # node_store_batch_size: 100
+#   # node_store_batch_timeout: 500ms

diff --git a/headscale.service b/headscale.service
index 00f2392..9f28dd2 100644
--- a/headscale.service
+++ b/headscale.service
@@ -8,6 +8,7 @@ Type=simple
 User=headscale
 Group=headscale
 ExecStart=/usr/bin/headscale serve
+ExecReload=/usr/bin/kill -HUP $MAINPID
 Restart=always
 RestartSec=5
 

diff --git a/headscale.spec b/headscale.spec
index 9477bd3..bf076e5 100644
--- a/headscale.spec
+++ b/headscale.spec
@@ -9,7 +9,7 @@
 An open source, self-hosted implementation of the Tailscale control server.}
 
 Name:           headscale
-Version:        0.28.0
+Version:        0.29.2
 Release:        1%{?dist}
 Summary:        Self-hosted implementation of the Tailscale control server
 
@@ -45,31 +45,35 @@ Provides:       bundled(golang(github.com/chasefleming/elem-go)) = v0.31.0
 # ISC
 Provides:       bundled(golang(github.com/coder/websocket)) = v1.8.14
 # Apache-2.0
-Provides:       bundled(golang(github.com/coreos/go-oidc/v3)) = v3.17.0
+Provides:       bundled(golang(github.com/coreos/go-oidc/v3)) = v3.18.0
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/creachadair/command)) = v0.2.0
+Provides:       bundled(golang(github.com/creachadair/command)) = v0.2.6
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/creachadair/flax)) = v0.0.5
+Provides:       bundled(golang(github.com/creachadair/flax)) = v0.0.6
 # ISC
 Provides:       bundled(golang(github.com/davecgh/go-spew)) = v1.1.2~0.20180830191138~d8f796af33cc
 # Apache-2.0 OR MIT
 Provides:       bundled(golang(github.com/docker/docker)) = v28.5.2+incompatible
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/fsnotify/fsnotify)) = v1.9.0
+Provides:       bundled(golang(github.com/fsnotify/fsnotify)) = v1.10.1
 # MIT
 Provides:       bundled(golang(github.com/glebarez/sqlite)) = v1.11.0
 # MIT
-Provides:       bundled(golang(github.com/go-gormigrate/gormigrate/v2)) = v2.1.5
+Provides:       bundled(golang(github.com/go-chi/chi/v5)) = v5.3.0
+# MIT
+Provides:       bundled(golang(github.com/go-chi/metrics)) = v0.1.1
+# MIT
+Provides:       bundled(golang(github.com/go-gormigrate/gormigrate/v2)) = v2.1.6
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/go-json-experiment/json)) = v0.0.0~20251027170946~4849db3c2f7e
+Provides:       bundled(golang(github.com/go-json-experiment/json)) = v0.0.0~20260601182631~00ed12fed2a6
 # MIT
 Provides:       bundled(golang(github.com/gofrs/uuid/v5)) = v5.4.0
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/google/go-cmp)) = v0.7.0
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/gorilla/mux)) = v1.8.1
-# BSD-3-Clause
-Provides:       bundled(golang(github.com/grpc-ecosystem/grpc-gateway/v2)) = v2.27.7
+Provides:       bundled(golang(github.com/grpc-ecosystem/grpc-gateway/v2)) = v2.29.0
+# MPL-2.0
+Provides:       bundled(golang(github.com/hashicorp/golang-lru/v2)) = v2.0.7
 # MIT
 Provides:       bundled(golang(github.com/jagottsicher/termcolor)) = v1.0.2
 # MIT
@@ -83,17 +87,19 @@ Provides:       bundled(golang(github.com/pkg/profile)) = v1.7.0
 # Apache-2.0 OR BSD-3-Clause
 Provides:       bundled(golang(github.com/prometheus/client_golang)) = v1.23.2
 # Apache-2.0
-Provides:       bundled(golang(github.com/prometheus/common)) = v0.67.5
+Provides:       bundled(golang(github.com/prometheus/common)) = v0.68.1
 # MIT
-Provides:       bundled(golang(github.com/pterm/pterm)) = v0.12.82
+Provides:       bundled(golang(github.com/pterm/pterm)) = v0.12.83
 # Apache-2.0
-Provides:       bundled(golang(github.com/puzpuzpuz/xsync/v4)) = v4.4.0
+Provides:       bundled(golang(github.com/puzpuzpuz/xsync/v4)) = v4.5.0
+# 0BSD
+Provides:       bundled(golang(github.com/realclientip/realclientip-go)) = v1.0.0
 # MIT
-Provides:       bundled(golang(github.com/rs/zerolog)) = v1.34.0
+Provides:       bundled(golang(github.com/rs/zerolog)) = v1.35.1
 # MIT
-Provides:       bundled(golang(github.com/samber/lo)) = v1.52.0
+Provides:       bundled(golang(github.com/samber/lo)) = v1.53.0
 # Apache-2.0
-Provides:       bundled(golang(github.com/sasha-s/go-deadlock)) = v0.3.6
+Provides:       bundled(golang(github.com/sasha-s/go-deadlock)) = v0.3.9
 # Apache-2.0
 Provides:       bundled(golang(github.com/spf13/cobra)) = v1.10.2
 # MIT
@@ -101,29 +107,29 @@ Provides:       bundled(golang(github.com/spf13/viper)) = v1.21.0
 # MIT
 Provides:       bundled(golang(github.com/stretchr/testify)) = v1.11.1
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/tailscale/hujson)) = v0.0.0~20250605163823~992244df8c5a
+Provides:       bundled(golang(github.com/tailscale/hujson)) = v0.0.0~20260302212456~ecc657c15afd
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/tailscale/squibble)) = v0.0.0~20251104223530~a961feffb67f
+Provides:       bundled(golang(github.com/tailscale/squibble)) = v0.0.0~20260411062017~141f5d618bc4
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/tailscale/tailsql)) = v0.0.0~20260105194658~001575c3ca09
+Provides:       bundled(golang(github.com/tailscale/tailsql)) = v0.0.0~20260522170732~77aec5aabc76
 # MIT
 Provides:       bundled(golang(github.com/tcnksm/go-latest)) = v0.0.0~20170313132115~e3007ae9052e
 # BSD-3-Clause
 Provides:       bundled(golang(go4.org/netipx)) = v0.0.0~20231129151722~fdeea329fbba
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/crypto)) = v0.47.0
+Provides:       bundled(golang(golang.org/x/crypto)) = v0.53.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/exp)) = v0.0.0~20260112195511~716be5621a96
+Provides:       bundled(golang(golang.org/x/exp)) = v0.0.0~20260603202125~055de637280b
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/net)) = v0.49.0
+Provides:       bundled(golang(golang.org/x/net)) = v0.56.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/oauth2)) = v0.34.0
+Provides:       bundled(golang(golang.org/x/oauth2)) = v0.36.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/sync)) = v0.19.0
+Provides:       bundled(golang(golang.org/x/sync)) = v0.21.0
 # Apache-2.0
-Provides:       bundled(golang(google.golang.org/genproto/googleapis/api)) = v0.0.0~20260203192932~546029d2fa20
+Provides:       bundled(golang(google.golang.org/genproto/googleapis/api)) = v0.0.0~20260610212136~7ab31c22f7ad
 # Apache-2.0
-Provides:       bundled(golang(google.golang.org/grpc)) = v1.78.0
+Provides:       bundled(golang(google.golang.org/grpc)) = v1.81.1
 # BSD-3-Clause
 Provides:       bundled(golang(google.golang.org/protobuf)) = v1.36.11
 # MIT OR Apache-2.0
@@ -132,34 +138,38 @@ Provides:       bundled(golang(gopkg.in/yaml.v3)) = v3.0.1
 Provides:       bundled(golang(gorm.io/driver/postgres)) = v1.6.0
 # MIT
 Provides:       bundled(golang(gorm.io/gorm)) = v1.31.1
+# MPL-2.0
+Provides:       bundled(golang(pgregory.net/rapid)) = v1.3.0
 # BSD-3-Clause OR Apache-2.0 OR MIT
-Provides:       bundled(golang(tailscale.com)) = v1.94.1
-# MIT
-Provides:       bundled(golang(zgo.at/zcache/v2)) = v2.4.1
+Provides:       bundled(golang(tailscale.com)) = v1.101.0~pre
 # Apache-2.0
 Provides:       bundled(golang(zombiezen.com/go/postgrestest)) = v1.0.1
 # BSD-3-Clause
-Provides:       bundled(golang(modernc.org/libc)) = v1.67.6
+Provides:       bundled(golang(modernc.org/libc)) = v1.72.3
 # BSD-3-Clause
 Provides:       bundled(golang(modernc.org/mathutil)) = v1.7.1
 # BSD-3-Clause
 Provides:       bundled(golang(modernc.org/memory)) = v1.11.0
 # BSD-3-Clause
-Provides:       bundled(golang(modernc.org/sqlite)) = v1.44.3
-# Apache-2.0 OR MIT
-Provides:       bundled(golang(gvisor.dev/gvisor)) = v0.0.0~20250205023644~9414b50a5633
+Provides:       bundled(golang(modernc.org/sqlite)) = v1.52.0
+# Apache-2.0 OR MIT OR BSD-3-Clause
+Provides:       bundled(golang(gvisor.dev/gvisor)) = v0.0.0~20260224225140~573d5e7127a8
 # MIT
 Provides:       bundled(golang(atomicgo.dev/cursor)) = v0.2.0
 # MIT
-Provides:       bundled(golang(atomicgo.dev/keyboard)) = v0.2.9
+Provides:       bundled(golang(atomicgo.dev/keyboard)) = v0.2.10
 # MIT
 Provides:       bundled(golang(atomicgo.dev/schedule)) = v0.1.0
 # BSD-3-Clause
 Provides:       bundled(golang(dario.cat/mergo)) = v1.0.2
 # BSD-3-Clause
-Provides:       bundled(golang(filippo.io/edwards25519)) = v1.1.0
+Provides:       bundled(golang(filippo.io/edwards25519)) = v1.2.0
+# Apache-2.0
+Provides:       bundled(golang(fyne.io/systray)) = v1.11.1~0.20250812065214~4856ac3adc3c
 # MIT
 Provides:       bundled(golang(github.com/Azure/go-ansiterm)) = v0.0.0~20250102033503~faa5f7b0171c
+# BSD-3-Clause
+Provides:       bundled(golang(github.com/Kodeworks/golang-image-ico)) = v0.0.0~20141118225523~73f0f4cfade9
 # MIT
 Provides:       bundled(golang(github.com/Microsoft/go-winio)) = v0.6.2
 # BSD-2-Clause-Views
@@ -168,6 +178,8 @@ Provides:       bundled(golang(github.com/Nvveen/Gotty)) = v0.0.0~20120604004816
 Provides:       bundled(golang(github.com/akutz/memconn)) = v0.1.0
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/alexbrainman/sspi)) = v0.0.0~20250919150558~7d374ff0d59e
+# BSD-3-Clause
+Provides:       bundled(golang(github.com/atotto/clipboard)) = v0.1.4
 # Apache-2.0 OR BSD-3-Clause
 Provides:       bundled(golang(github.com/aws/aws-sdk-go-v2)) = v1.41.1
 # Apache-2.0
@@ -189,6 +201,8 @@ Provides:       bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/pre
 # Apache-2.0
 Provides:       bundled(golang(github.com/aws/aws-sdk-go-v2/service/signin)) = v1.0.5
 # Apache-2.0
+Provides:       bundled(golang(github.com/aws/aws-sdk-go-v2/service/ssm)) = v1.45.0
+# Apache-2.0
 Provides:       bundled(golang(github.com/aws/aws-sdk-go-v2/service/sso)) = v1.30.9
 # Apache-2.0
 Provides:       bundled(golang(github.com/aws/aws-sdk-go-v2/service/ssooidc)) = v1.35.13
@@ -204,20 +218,18 @@ Provides:       bundled(golang(github.com/beorn7/perks)) = v1.0.1
 Provides:       bundled(golang(github.com/cenkalti/backoff/v4)) = v4.3.0
 # MIT
 Provides:       bundled(golang(github.com/cespare/xxhash/v2)) = v2.3.0
-# MIT OR BSD-3-Clause
-Provides:       bundled(golang(github.com/clipperhouse/stringish)) = v0.1.1
 # MIT
-Provides:       bundled(golang(github.com/clipperhouse/uax29/v2)) = v2.5.0
+Provides:       bundled(golang(github.com/clipperhouse/uax29/v2)) = v2.7.0
 # Apache-2.0
 Provides:       bundled(golang(github.com/containerd/console)) = v1.0.5
 # Apache-2.0
-Provides:       bundled(golang(github.com/containerd/continuity)) = v0.4.5
+Provides:       bundled(golang(github.com/containerd/continuity)) = v0.5.0
 # Apache-2.0
 Provides:       bundled(golang(github.com/containerd/errdefs)) = v1.0.0
 # Apache-2.0
 Provides:       bundled(golang(github.com/containerd/errdefs/pkg)) = v0.3.0
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/creachadair/mds)) = v0.25.15
+Provides:       bundled(golang(github.com/creachadair/mds)) = v0.29.0
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/creachadair/msync)) = v0.8.2
 # BSD-3-Clause
@@ -227,9 +239,9 @@ Provides:       bundled(golang(github.com/dgryski/go-metro)) = v0.0.0~2025010601
 # Apache-2.0
 Provides:       bundled(golang(github.com/distribution/reference)) = v0.6.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(github.com/docker/cli)) = v29.2.1+incompatible
+Provides:       bundled(golang(github.com/docker/cli)) = v29.5.3+incompatible
 # Apache-2.0
-Provides:       bundled(golang(github.com/docker/go-connections)) = v0.6.0
+Provides:       bundled(golang(github.com/docker/go-connections)) = v0.7.0
 # Apache-2.0
 Provides:       bundled(golang(github.com/docker/go-units)) = v0.5.0
 # MIT
@@ -239,25 +251,31 @@ Provides:       bundled(golang(github.com/felixge/fgprof)) = v0.9.5
 # MIT
 Provides:       bundled(golang(github.com/felixge/httpsnoop)) = v1.0.4
 # MIT
+Provides:       bundled(golang(github.com/fogleman/gg)) = v1.3.0
+# MIT
 Provides:       bundled(golang(github.com/fxamacker/cbor/v2)) = v2.9.0
 # MIT
 Provides:       bundled(golang(github.com/gaissmai/bart)) = v0.26.1
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/glebarez/go-sqlite)) = v1.22.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(github.com/go-jose/go-jose/v3)) = v3.0.4
+Provides:       bundled(golang(github.com/go-jose/go-jose/v3)) = v3.0.5
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(github.com/go-jose/go-jose/v4)) = v4.1.3
+Provides:       bundled(golang(github.com/go-jose/go-jose/v4)) = v4.1.4
 # Apache-2.0
 Provides:       bundled(golang(github.com/go-logr/logr)) = v1.4.3
 # Apache-2.0
 Provides:       bundled(golang(github.com/go-logr/stdr)) = v1.2.2
 # MIT
 Provides:       bundled(golang(github.com/go-viper/mapstructure/v2)) = v2.5.0
+# BSD-3-Clause
+Provides:       bundled(golang(github.com/go4org/hashtriemap)) = v0.0.0~20251130024219~545ba229f689
 # BSD-2-Clause
 Provides:       bundled(golang(github.com/godbus/dbus/v5)) = v5.2.2
 # MIT
 Provides:       bundled(golang(github.com/golang-jwt/jwt/v5)) = v5.3.1
+#
+Provides:       bundled(golang(github.com/golang/freetype)) = v0.0.0~20170609003504~e2365dfdc4a0
 # Apache-2.0
 Provides:       bundled(golang(github.com/golang/groupcache)) = v0.0.0~20241129210726~2c02b8208cf8
 # BSD-3-Clause
@@ -269,17 +287,17 @@ Provides:       bundled(golang(github.com/google/go-github)) = v17.0.0+incompati
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/google/go-querystring)) = v1.2.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(github.com/google/pprof)) = v0.0.0~20260202012954~cb029daf43ef
+Provides:       bundled(golang(github.com/google/pprof)) = v0.0.0~20260604005048~7023385849c0
 # Apache-2.0
 Provides:       bundled(golang(github.com/google/shlex)) = v0.0.0~20191202100458~e7afc7fbc510
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/google/uuid)) = v1.6.0
 # MIT
-Provides:       bundled(golang(github.com/gookit/color)) = v1.6.0
+Provides:       bundled(golang(github.com/gookit/color)) = v1.6.1
 # BSD-2-Clause
 Provides:       bundled(golang(github.com/gorilla/websocket)) = v1.5.4~0.20250319132907~e064f32e3674
 # MPL-2.0
-Provides:       bundled(golang(github.com/hashicorp/go-version)) = v1.8.0
+Provides:       bundled(golang(github.com/hashicorp/go-version)) = v1.9.0
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/hdevalence/ed25519consensus)) = v0.2.0
 # BSD-2-Clause
@@ -291,29 +309,33 @@ Provides:       bundled(golang(github.com/jackc/pgpassfile)) = v1.0.0
 # MIT
 Provides:       bundled(golang(github.com/jackc/pgservicefile)) = v0.0.0~20240606120523~5a60cdf6a761
 # MIT
-Provides:       bundled(golang(github.com/jackc/pgx/v5)) = v5.8.0
+Provides:       bundled(golang(github.com/jackc/pgx/v5)) = v5.10.0
 # MIT
 Provides:       bundled(golang(github.com/jackc/puddle/v2)) = v2.2.2
 # MIT
 Provides:       bundled(golang(github.com/jinzhu/inflection)) = v1.0.0
 # MIT
 Provides:       bundled(golang(github.com/jinzhu/now)) = v1.1.5
+# Apache-2.0
+Provides:       bundled(golang(github.com/jmespath/go-jmespath)) = v0.4.0
 # MIT
 Provides:       bundled(golang(github.com/jsimonetti/rtnetlink)) = v1.4.2
 # BSD-2-Clause
 Provides:       bundled(golang(github.com/kamstrup/intmap)) = v0.5.2
+# MIT
+Provides:       bundled(golang(github.com/kballard/go-shellquote)) = v0.0.0~20180428030007~95032a82bc51
 # BSD-3-Clause OR Apache-2.0 OR MIT
-Provides:       bundled(golang(github.com/klauspost/compress)) = v1.18.3
+Provides:       bundled(golang(github.com/klauspost/compress)) = v1.18.6
 # MIT
-Provides:       bundled(golang(github.com/lib/pq)) = v1.11.1
+Provides:       bundled(golang(github.com/lib/pq)) = v1.12.3
 # MIT
 Provides:       bundled(golang(github.com/lithammer/fuzzysearch)) = v1.1.8
 # MIT
-Provides:       bundled(golang(github.com/mattn/go-colorable)) = v0.1.14
+Provides:       bundled(golang(github.com/mattn/go-colorable)) = v0.1.15
 # MIT
-Provides:       bundled(golang(github.com/mattn/go-isatty)) = v0.0.20
+Provides:       bundled(golang(github.com/mattn/go-isatty)) = v0.0.22
 # MIT
-Provides:       bundled(golang(github.com/mattn/go-runewidth)) = v0.0.19
+Provides:       bundled(golang(github.com/mattn/go-runewidth)) = v0.0.24
 # MIT
 Provides:       bundled(golang(github.com/mdlayher/netlink)) = v1.8.0
 # MIT
@@ -323,9 +345,9 @@ Provides:       bundled(golang(github.com/mitchellh/go-ps)) = v1.0.0
 # Apache-2.0
 Provides:       bundled(golang(github.com/moby/docker-image-spec)) = v1.3.1
 # Apache-2.0
-Provides:       bundled(golang(github.com/moby/moby/api)) = v1.53.0
+Provides:       bundled(golang(github.com/moby/moby/api)) = v1.54.2
 # Apache-2.0
-Provides:       bundled(golang(github.com/moby/moby/client)) = v0.2.2
+Provides:       bundled(golang(github.com/moby/moby/client)) = v0.4.1
 # Apache-2.0
 Provides:       bundled(golang(github.com/moby/sys/atomicwriter)) = v0.1.0
 # Apache-2.0
@@ -345,21 +367,21 @@ Provides:       bundled(golang(github.com/opencontainers/image-spec)) = v1.1.1
 # Apache-2.0
 Provides:       bundled(golang(github.com/opencontainers/runc)) = v1.3.2
 # MIT
-Provides:       bundled(golang(github.com/pelletier/go-toml/v2)) = v2.2.4
+Provides:       bundled(golang(github.com/pelletier/go-toml/v2)) = v2.3.1
+# Apache-2.0
+Provides:       bundled(golang(github.com/peterbourgon/ff/v3)) = v3.4.0
 # Apache-2.0
-Provides:       bundled(golang(github.com/petermattis/goid)) = v0.0.0~20260113132338~7c7de50cc741
+Provides:       bundled(golang(github.com/petermattis/goid)) = v0.0.0~20260330135022~df67b199bc81
 # Apache-2.0
 Provides:       bundled(golang(github.com/pires/go-proxyproto)) = v0.9.2
 # BSD-2-Clause
 Provides:       bundled(golang(github.com/pkg/errors)) = v0.9.1
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/pmezard/go-difflib)) = v1.0.1~0.20181226105442~5d4384ee4fb2
-# MIT
-Provides:       bundled(golang(github.com/prometheus-community/pro-bing)) = v0.7.0
 # Apache-2.0
 Provides:       bundled(golang(github.com/prometheus/client_model)) = v0.6.2
 # Apache-2.0
-Provides:       bundled(golang(github.com/prometheus/procfs)) = v0.19.2
+Provides:       bundled(golang(github.com/prometheus/procfs)) = v0.20.1
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/remyoudompheng/bigfft)) = v0.0.0~20230129092748~24d4a6f8daec
 # Apache-2.0
@@ -368,6 +390,8 @@ Provides:       bundled(golang(github.com/safchain/ethtool)) = v0.7.0
 Provides:       bundled(golang(github.com/sagikazarmark/locafero)) = v0.12.0
 # MIT
 Provides:       bundled(golang(github.com/sirupsen/logrus)) = v1.9.4
+# MIT
+Provides:       bundled(golang(github.com/skip2/go-qrcode)) = v0.0.0~20200617195104~da1b6568686e
 # Apache-2.0
 Provides:       bundled(golang(github.com/spf13/afero)) = v1.15.0
 # MIT
@@ -377,17 +401,19 @@ Provides:       bundled(golang(github.com/spf13/pflag)) = v1.0.10
 # MIT
 Provides:       bundled(golang(github.com/subosito/gotenv)) = v1.6.0
 # MIT
-Provides:       bundled(golang(github.com/tailscale/certstore)) = v0.1.1~0.20231202035212~d3fa0460f47e
+Provides:       bundled(golang(github.com/tailscale/certstore)) = v0.1.1~0.20260409135935~3638fb84b77d
 # MIT
 Provides:       bundled(golang(github.com/tailscale/go-winio)) = v0.0.0~20231025203758~c4f33415bf55
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/tailscale/peercred)) = v0.0.0~20250107143737~35a0c7bd7edc
 # BSD-3-Clause
-Provides:       bundled(golang(github.com/tailscale/setec)) = v0.0.0~20260115174028~19d190c5556d
+Provides:       bundled(golang(github.com/tailscale/setec)) = v0.0.0~20260310221408~dcd97e42f251
 # BSD-3-Clause
 Provides:       bundled(golang(github.com/tailscale/web-client-prebuilt)) = v0.0.0~20251127225136~f19339b67368
 # MIT
-Provides:       bundled(golang(github.com/tailscale/wireguard-go)) = v0.0.0~20250716170648~1d0488a3d7da
+Provides:       bundled(golang(github.com/tailscale/wireguard-go)) = v0.0.0~20260527010701~b48af7099cad
+# MIT
+Provides:       bundled(golang(github.com/toqueteos/webbrowser)) = v1.2.0
 # MIT
 Provides:       bundled(golang(github.com/x448/float16)) = v0.8.4
 # Apache-2.0
@@ -401,40 +427,49 @@ Provides:       bundled(golang(github.com/xo/terminfo)) = v0.0.0~20220910002029~
 # Apache-2.0
 Provides:       bundled(golang(go.opentelemetry.io/auto/sdk)) = v1.2.1
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp)) = v0.65.0
+Provides:       bundled(golang(go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp)) = v0.69.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(go.opentelemetry.io/otel)) = v1.40.0
+Provides:       bundled(golang(go.opentelemetry.io/otel)) = v1.44.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp)) = v1.40.0
+Provides:       bundled(golang(go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp)) = v1.43.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(go.opentelemetry.io/otel/metric)) = v1.40.0
+Provides:       bundled(golang(go.opentelemetry.io/otel/metric)) = v1.44.0
 # Apache-2.0 OR BSD-3-Clause
-Provides:       bundled(golang(go.opentelemetry.io/otel/trace)) = v1.40.0
+Provides:       bundled(golang(go.opentelemetry.io/otel/trace)) = v1.44.0
 # Apache-2.0
-Provides:       bundled(golang(go.yaml.in/yaml/v2)) = v2.4.3
+Provides:       bundled(golang(go.yaml.in/yaml/v2)) = v2.4.4
 # MIT OR Apache-2.0
 Provides:       bundled(golang(go.yaml.in/yaml/v3)) = v3.0.4
 # Apache-2.0
 Provides:       bundled(golang(go4.org/mem)) = v0.0.0~20240501181205~ae6ca9944745
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/mod)) = v0.32.0
+Provides:       bundled(golang(golang.org/x/exp/typeparams)) = v0.0.0~20260603202125~055de637280b
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/sys)) = v0.40.0
+Provides:       bundled(golang(golang.org/x/image)) = v0.41.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/term)) = v0.39.0
+Provides:       bundled(golang(golang.org/x/mod)) = v0.36.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/text)) = v0.33.0
+Provides:       bundled(golang(golang.org/x/sys)) = v0.46.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/time)) = v0.14.0
+Provides:       bundled(golang(golang.org/x/term)) = v0.44.0
 # BSD-3-Clause
-Provides:       bundled(golang(golang.org/x/tools)) = v0.41.0
+Provides:       bundled(golang(golang.org/x/text)) = v0.38.0
+# BSD-3-Clause
+Provides:       bundled(golang(golang.org/x/time)) = v0.15.0
+# BSD-3-Clause
+Provides:       bundled(golang(golang.org/x/tools)) = v0.45.0
 # MIT
 Provides:       bundled(golang(golang.zx2c4.com/wintun)) = v0.0.0~20230126152724~0fa3db229ce2
 # MIT
 Provides:       bundled(golang(golang.zx2c4.com/wireguard/windows)) = v0.5.3
 # Apache-2.0
-Provides:       bundled(golang(google.golang.org/genproto/googleapis/rpc)) = v0.0.0~20260203192932~546029d2fa20
-
+Provides:       bundled(golang(google.golang.org/genproto/googleapis/rpc)) = v0.0.0~20260526163538~3dc84a4a5aaa
+# Apache-2.0 OR BSD-3-Clause
+Provides:       bundled(golang(k8s.io/client-go)) = v0.34.0
+# MIT OR BSD-3-Clause OR Apache-2.0
+Provides:       bundled(golang(sigs.k8s.io/yaml)) = v1.6.0
+# BSD-3-Clause
+Provides:       bundled(golang(software.sslmate.com/src/go-pkcs12)) = v0.4.0
 
 %description %{common_description}
 
@@ -520,6 +555,9 @@ install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/headscale/config.yam
 
 
 %changelog
+* Tue Jul 07 2026 Jonathan Wright <jonathan@almalinux.org> - 0.29.2-1
+- update to 0.29.2
+
 * Wed Mar 18 2026 Jonathan Wright <jonathan@almalinux.org> - 0.28.0-1
 - Update to 0.28.0
 

diff --git a/sources b/sources
index 3d66f7d..b1f9f6c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (headscale-0.28.0-vendored.tar.zst) = 72d40a65c6004abe48acf32cebbc68c3dc9ecb22955ae17237c359f6477790c02cc1dcf3ea5a83e798e5df5ecb6d7a1b4e82045aeb85b57188f6b70157aaba3e
+SHA512 (headscale-0.29.2-vendored.tar.zst) = 94240122ed5285faeb38ff0027b39882f050a23c70fecc6d8756f4b25b41d46a2398e9185fd95a2e027632fc42dc8f1720030d34b5028c77cd0223fd40b84aac

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-07 13:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-07 13:57 [rpms/headscale] f44: update to 0.29.2 Jonathan Wright

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox