73 Commits
Author SHA1 Message Date
mrhid6 f552006318 feat: flag Ubuntu phased updates and leave them out of pending counts
Agent Release / build (push) Successful in 3m36s
Agent Release / msi (push) Successful in 2m30s
apt lists phased updates as upgradable, but an upgrade defers them until the
host is selected. A simulated upgrade names them; they are reported with the
phased flag (vantage-shared v0.6.0) and not counted in pending_after.
2026-09-15 14:55:33 +00:00
mrhid6 b5b9775d2b fix(patch): gate phases on the window deadline, queue undelivered results, retry startup inventory
Agent Release / build (push) Successful in 3m40s
Agent Release / msi (push) Successful in 4m54s
The window deadline no longer kills a running package manager: it only gates
the start of each phase, and a started upgrade runs under a 2 hour backstop
that sends SIGTERM on Linux. A PatchResult whose send fails is queued and
flushed on the next command stream, retaking the reboot decision. deb822
folded Suites continuation lines are filtered with the field. The startup
static inventory report is retried until it succeeds.
2026-09-15 13:43:03 +00:00
mrhid6 ecd703d502 feat: answer ApplyUpdatesCmd with a PatchResult and reboot when the command asks 2026-09-15 08:09:40 +00:00
mrhid6 db75d7dcbd feat: report boot time with every inventory report 2026-09-15 08:00:18 +00:00
mrhid6 a4745834de feat: Windows security-only updates and agent-initiated reboot 2026-09-15 07:56:28 +00:00
mrhid6 51b58fef21 feat: updates.Apply with security scope, window deadline, busy guard and captured output 2026-09-15 07:47:29 +00:00
mrhid6 5f5e19e23e feat: filter apt sources down to security suites for security-only patching 2026-09-15 07:43:28 +00:00
mrhid6 3aa24bb938 feat: pin vantage-shared v0.5.0, add package-manager output tail buffer 2026-09-15 07:33:59 +00:00
mrhid6 b777ffcf58 chore: replace em dashes with hyphens, add no-em-dash rule to CLAUDE.md 2026-09-10 09:18:54 +00:00
mrhid6 6b2c5f6f62 refactor: stand up vantage-agent as its own repository
Agent Release / build (push) Successful in 2m23s
Agent Release / msi (push) Successful in 3m10s
agent/ becomes the repository root, so the module is
gitea.hostxtra.co.uk/vantage/vantage-agent, and installer/ comes with it.

Releases move to this repository, and internal/sync's self-update URLs
move with them. Agents built before this point have the old
mrhid6/vantage path compiled in and will fail the push-button update;
re-running the server-generated /update one-liner on each host moves
them onto a build that knows the new address.
2026-09-08 08:58:30 +00:00
mrhid6 866584de81 refactor: rename shared module to gitea.hostxtra.co.uk/vantage/vantage-shared 2026-09-08 07:34:53 +00:00
mrhid6 1c8e6da013 feat: Move grpc pbs to shared 2026-09-07 15:50:25 +00:00
mrhid6 72e27d9455 feat: Useragent 2026-08-24 12:17:46 +00:00
mrhid6 f2053cf703 fix: Word and colour Windows workloads correctly across the UI 2026-08-13 12:57:37 +00:00
mrhid6 a5930e89bd fix: Trim Windows event log after SCM filtering, not before 2026-08-13 12:12:11 +00:00
mrhid6 2a3ab12396 feat: Control Windows services and read their event log as workloads 2026-08-13 12:04:49 +00:00
mrhid6 c38e2ab9ba fix: Respect .exe word boundary and unterminated quotes in servicePath 2026-08-13 12:00:59 +00:00
mrhid6 d764eb2c6f feat: Collect Windows services as workloads 2026-08-13 11:52:08 +00:00
mrhid6 c3075fd743 refactor: Split the agent workloads package by build tag 2026-08-13 10:49:24 +00:00
mrhid6 ccaec93bc4 feat: Report whether a managed host is waiting on a reboot 2026-08-13 10:39:27 +00:00
mrhid6 50723811c1 feat: Check and apply Windows updates through the Windows Update COM API 2026-08-13 10:36:22 +00:00
mrhid6 4a63788f08 refactor: Split the agent updates package by build tag 2026-08-13 10:33:35 +00:00
mrhid6 41b0377e32 feat: Add winexec helper for running PowerShell from the agent 2026-08-13 10:26:31 +00:00
mrhid6 cabbed8cc5 fix: Fixed agent package version 2026-08-07 10:21:00 +01:00
mrhid6 6c6b8a8a4a feat: agent reports workloads and handles workload commands 2026-08-07 08:58:46 +01:00
mrhid6 ac093bcf5c feat: store workload reports and route log results 2026-08-07 08:56:26 +01:00
mrhid6 8e134a6676 feat: workload registry proto messages 2026-08-07 08:53:33 +01:00
mrhid6 8b1175e8ff feat: agent reads bounded workload logs 2026-08-07 08:49:42 +01:00
mrhid6 467ccabe36 feat: agent control actions with self-protection 2026-08-07 08:48:27 +01:00
mrhid6 5561c10086 feat: agent enumerates systemd services 2026-08-07 08:46:59 +01:00
mrhid6 2390642f1f feat: agent enumerates docker containers 2026-08-07 08:46:03 +01:00
mrhid6 c972f99678 fix: Fixed agent collect packages 2026-08-06 16:20:34 +01:00
mrhid6 f88c96166e feat: agent reports installed packages on the hourly loop
SyncKeys now returns the whole response so the poll can carry
CollectPackages; a separate RPC for one boolean would be a message every
30 seconds for a value that changes when a licence does.

The flag is an atomic: the 30s poll writes it, the hourly package loop
reads it, and they are different goroutines.
2026-08-06 13:21:13 +01:00
mrhid6 d05c2aa478 feat: ReportPackages wire types with hash short-circuit
The pb packages are hand-written, not protoc-generated, and the wire
codec is JSON (encoding.RegisterCodec(JSONCodec{})). Field numbers in
the .proto are documentation; JSON field names are the contract. Both pb
packages edited by hand to match.

SyncResponse.collect_packages is omitempty and absent decodes as false,
so an older server leaves agents collecting nothing rather than
collecting without a licence.
2026-08-06 13:17:44 +01:00
mrhid6 031f2ce583 feat: agent collects installed packages per package manager 2026-08-06 11:56:41 +01:00
mrhid6 c5baa3a138 feat: agent parses /etc/os-release for distro identification 2026-08-06 11:55:45 +01:00
mrhid6 ee4d4afa99 feat: Removed unused test units 2026-08-03 10:18:01 +01:00
mrhid6 c4da8ba96b feat: More logging for command stream 2026-07-31 17:20:35 +01:00
mrhid6 260b1fb0ef feat: Added ping command 2026-07-31 17:10:59 +01:00
mrhid6 c9868b362b fix: Fixes to server shutdown stream 2026-07-31 16:44:47 +01:00
mrhid6 b2c7dee391 feat: handle OpenProxyCmd in the agent command stream 2026-07-29 13:03:02 +01:00
mrhid6 bba41a7a85 feat: add agent-side console relay 2026-07-29 12:59:24 +01:00
mrhid6 b23805a7b8 feat: add ProxyStream wire types for agent-relayed console 2026-07-29 12:37:37 +01:00
mrhid6 df875bde5b feat: Windows agent inventory 2026-07-28 11:29:08 +01:00
mrhid6 66d56199a2 fix: Fixed agent msi update command 2026-07-28 10:53:06 +01:00
mrhid6 65e285a894 fix: Fixed agent build 2026-07-28 10:30:29 +01:00
mrhid6 cadab8a231 feat: Updated package path to match repo 2026-07-28 10:01:40 +01:00
mrhid6 b54abd2841 fix(agent): restore the !linux build constraint on collect_other.go
Unrelated to the shared module work; pre-existing on main.

"_other" is not a GOOS suffix, so without the constraint this file compiled
on Linux alongside collect_linux.go and redeclared collect. Linux agent
builds failed, which agent-release.yml depends on.
2026-07-24 13:48:23 +01:00
mrhid6 6987179535 feat: Removed comments 2026-07-24 09:51:30 +01:00
mrhid6 abac836a6d feat: edit monitors + notification channels; HTTP monitor insecure-TLS option 2026-07-21 14:55:41 +01:00