Commit Graph

402 Commits

Author SHA1 Message Date
hank
2ae58d174c New translations en.po (Portuguese)
[ci skip]
2026-09-18 15:21:58 -04:00
hank
74ad9e1f0e New translations en.po (Polish)
[ci skip]
2026-09-18 15:21:56 -04:00
hank
7655d6d0e9 New translations en.po (Norwegian)
[ci skip]
2026-09-18 15:21:55 -04:00
hank
7b0764dbe1 New translations en.po (Dutch)
[ci skip]
2026-09-18 15:21:53 -04:00
hank
5abc647626 New translations en.po (Korean)
[ci skip]
2026-09-18 15:21:52 -04:00
hank
e75f31b18b New translations en.po (Japanese)
[ci skip]
2026-09-18 15:21:50 -04:00
hank
f8e09d1405 New translations en.po (Italian)
[ci skip]
2026-09-18 15:21:49 -04:00
hank
45c215e125 New translations en.po (Hungarian)
[ci skip]
2026-09-18 15:21:47 -04:00
hank
71638a2f47 New translations en.po (Hebrew)
[ci skip]
2026-09-18 15:21:45 -04:00
hank
3413262750 New translations en.po (Greek)
[ci skip]
2026-09-18 15:21:43 -04:00
hank
6a7b7bd68e New translations en.po (Danish)
[ci skip]
2026-09-18 15:21:41 -04:00
hank
6182074747 New translations en.po (Czech)
[ci skip]
2026-09-18 15:21:39 -04:00
hank
fec4288ff6 New translations en.po (Bulgarian)
[ci skip]
2026-09-18 15:21:37 -04:00
hank
d70de0a351 New translations en.po (Spanish)
[ci skip]
2026-09-18 15:21:36 -04:00
hank
cc2262bf70 New translations en.po (French)
[ci skip]
2026-09-18 15:21:34 -04:00
hank
006d552c21 New translations en.po (Vietnamese)
[ci skip]
2026-09-18 14:21:07 -04:00
hank
6e5440c21f New Crowdin updates (#2323) 2026-09-18 13:40:00 -04:00
hank
bb1b39928e feat: network monitoring from agents (#2266, #1911)
Co-authored-by: Sven van Ginkel <svenvanginkel@icloud.com>
Co-authored-by: xiaomiku01 <xiaomiku01@outlook.com>
2026-09-18 13:22:50 -04:00
José M. Requena Plens
4bf70700f2 feat(hub): add TRUSTED_PROXY_IPS allowlist for TRUSTED_AUTH_HEADER (#2327)
With TRUSTED_AUTH_HEADER set, the hub authenticates a request from the
header alone, whichever address it comes from. That is right when every
request passes through the reverse proxy, and not when the hub can also
be reached directly: anyone who can reach it sets the header themselves.

TRUSTED_PROXY_IPS takes a comma-separated list of IPs or CIDR ranges.
When set, the header is only honored on requests whose peer address is
in the list; other requests fall through to the normal authentication.
When unset, nothing changes.

The check uses the connection's RemoteAddr, not a forwarded header, so
the list names the proxy itself. IPv4-mapped IPv6 entries are treated as
IPv4. Entries that do not parse are skipped with a warning on the
console; a list with no valid entry trusts nobody, so a typo narrows the
allowlist instead of widening it.
2026-09-17 13:48:46 -04:00
Sven van Ginkel
f0f1f7985c feat: persist view preferences and language to user settings (#1831)
Co-authored-by: ChangkeunJ <reiot92@gmail.com>
2026-09-16 20:29:36 -04:00
Luís Palma
50f6fc075d Merge commit from fork
* fix: make first-user bootstrap atomic

* add tests

---------

Co-authored-by: henrygd <hank@henrygd.me>
2026-09-16 20:13:32 -04:00
henrygd
a0bf338796 hub: raise max batch requests and lower max batch body size 2026-09-16 19:39:07 -04:00
Petr Rajtslegr
6a7b2772d9 fix(site): switch theme live when system preference changes (#2328)
Listen for prefers-color-scheme changes in ThemeProvider and expose resolvedTheme so the login border color follows the active theme without a hard refresh.
2026-09-13 12:40:21 -04:00
David Jang
086091a0fe fix(site): discard pending history when switching to live charts (#2333) 2026-09-13 12:32:04 -04:00
Bruno Bousquet
f204dc17e6 feat(agent): Add docker image update available flag (#2211)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-10 19:39:40 -04:00
henrygd
6d82ee70b1 chore: replace google/uuid with new go uuid package 2026-09-10 10:39:11 -04:00
henrygd
bb270e02a8 i18n: add translations for new strings and remove source matching translations 2026-09-09 20:53:52 -04:00
hank
312c109138 i18n: New Crowdin updates (#2322) 2026-09-09 20:34:47 -04:00
henrygd
c938368089 i18n: update translation strings 2026-09-09 20:27:22 -04:00
Ani Betts
8d6a5d5f6e feat(agent): report btrfs filesystems as storage pools (#2315)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-09 19:53:39 -04:00
henrygd
98687be2f2 fix(hub): reject null systemd service entries to prevent hub panic 2026-09-08 10:08:33 -04:00
henrygd
e39e153ca0 fix(hub): prevent readonly users listing tokens of their shared systems via api 2026-09-08 09:57:58 -04:00
Santhi Prakash
5b87f7d7cb fix(hub): always clear auth store when encountring 4xx after token expires (#2310)
Co-authored-by: henrygd <hank@henrygd.me>
2026-09-08 08:21:00 -04:00
hank
9a0aa5a89e fix: prevent possible dns rebinding for alert notifications directing to internal sevices (#2314)
- Validate resolved IPs immediately before connecting.
- Guard Shoutrrr requests during initialization and delivery.
- Require admins for services without HTTP client support.
- Test DNS rebinding, redirects, internal hosts, and authorization.
- Upgrade Shoutrrr to 0.20.0 to support custom dialcontext
2026-09-08 08:05:47 -04:00
henrygd
997adc19bb fix: show idle GPU utilization in systems table (#2312) 2026-09-07 13:13:05 -04:00
Sven van Ginkel
08d813620c Add ZFS pool/dataset utilities (zpool, zfs) to the full and slim nvidia agent images (#2311) 2026-09-07 11:05:02 -04:00
henrygd
6cb302fcf6 fix(hub): bound realtime metric fetching and enforce access control by system
- synchronize realtime subscription state
- prevent overlapping fetches per system
- add realtime worker lifecycle tests
- reject subscriptions without system access
- test access revocation and shared-system permissions
2026-09-06 13:24:53 -04:00
Matthew D'Souza
ad24484caa feat(site): display NVMe data units as human-readable GB/TB (#2303) 2026-09-05 14:44:03 -04:00
henrygd
c157c2026d fix(agent): include root CA certificates in base image (#2291) 2026-09-03 14:32:59 -04:00
Arno
e1d9ebc61d chore: add zfs tools to intel agent image (#2288) 2026-09-03 14:19:49 -04:00
henrygd
ffcdb04167 i18n: update locale files 2026-09-03 11:22:37 -04:00
hank
a8def47018 i18n: New Crowdin updates (#2284) 2026-09-02 18:06:01 -04:00
henrygd
3d8fc39e94 update dev version and finalize migration file for 0.19.0 2026-09-02 18:00:40 -04:00
Santhi Prakash
5790fbecce fix: GPU Power Draw chart renders full-width instead of half-width (#2269) 2026-09-02 17:09:32 -04:00
hank
f9309da9f0 i18n: New Crowdin updates (#2283) 2026-09-02 15:37:11 -04:00
henrygd
7d97b0d23a i18n: update locale files and source strings 2026-09-02 14:57:37 -04:00
henrygd
a1ca51608a fix: add singleDesc back to container alert 2026-09-02 13:09:27 -04:00
henrygd
a4de2e87c4 consolidate migrations and add triggeredDesc for container health alert 2026-09-02 13:02:42 -04:00
Michał Mleczko
5969d36856 feat(alerts): add container health alerts with log excerpt on notifications (#2225)
Add a new "ContainerHealth" alert type that fires when a Docker container's
health check reports unhealthy, and resolves when it recovers. This mirrors
the existing Status (up/down) alert pattern: an alert can be armed per system
and honors the "min minutes" delay before firing.

When the alert fires, the notification (email and any configured webhook,
including Discord via shoutrrr) includes a log excerpt fetched live from the
agent for up to 2 of the unhealthy containers, prioritizing lines containing
"error" or "fatal" (falling back to the log tail if none match), capped to
keep the message well under Discord's size limit.

---------

Co-authored-by: hank <hank@henrygd.me>
2026-09-02 12:46:23 -04:00
henrygd
b1895247ba alerts: defer system info unmarshalling for systemd alerts 2026-09-01 21:49:45 -04:00