Commit Graph

12 Commits

Author SHA1 Message Date
Ludovic Vielle
5e63e193cd Stop macOS agent updates from spawning BTM entries
Unsigned darwin release tarballs replaced the Developer ID
binary on each auto-update, so Background Task Management
treated every release as a new identity and showed the generic
executable icon. Sign those archives with a stable identifier,
refuse signature downgrades, and attribute daemon/tray jobs to
Probo Agent.app via AssociatedBundleIdentifiers.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-30 11:43:02 +02:00
Ludovic Vielle
c597b13f73 Simplify macOS agent installer enrollment copy
PKG users enroll in the browser at /enroll (or via
the menu bar icon), not through CLI install steps.
Shorten welcome and conclusion panes and drop path
inventories, MDM notes, and admin CLI setup.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-29 17:21:16 +02:00
Ludovic Vielle
570395c4ac Add opt-in shell lint and format targets
Introduce make lint-shell / fmt-shell with shellcheck and
shfmt (-i 2 -ci -bn), normalize first-party scripts, and
document the new targets. Keep them out of make lint / fmt.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-28 17:37:34 +02:00
Ludovic Vielle
d73fd02e91 Fix white frame around Probo Agent app icon
The master PNG was fully opaque, so its white corners showed as a
square frame once macOS composited the icon onto its rounded plate.
Swap in the auditor-mode artwork, which has transparent corners.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-27 10:38:25 +02:00
Ludovic Vielle
2532b0bb6b Add branded Finder icon for Probo Agent.app
The macOS URL-handler bundle had no CFBundleIconFile, so
Finder showed the generic app icon after PKG install. Keep a
single master PNG and generate AppIcon.icns at build time
with sips/iconutil, matching the auditor-mode approach.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-24 22:16:15 +02:00
Ludovic Vielle
0dc64e1944 Simplify macOS pkg to one fat darwin.pkg
Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-24 15:08:41 +02:00
Ludovic Vielle
85864a580c Install macOS helper from PKG for XPC enroll
Browser enrollment used osascript on every elevate. Ship a signed
privileged helper installed at PKG time so probo:// can enroll over
XPC with no second admin prompt. Add make install/uninstall/clean for
local PKG test loops, and show alerts only on failure.

Mirror the Go lint path for the macOS SPM package: Make
targets, root configs, and a Linux CI job. Keep checks
syntax-only so they do not need a macOS SDK. Format the
existing sources so the new gates start clean.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-24 15:08:37 +02:00
Ludovic Vielle
afe0c84881 Ship signed universal macOS probo-agent pkg
Publish a notarized arm64+x86_64 .pkg from CI with the CGO tray
binary, Probo Agent.app, and global LaunchAgent. Keep the
LaunchDaemon enrollment-gated, align its plist path with the
launchd label, and document the Apple signing secrets.

Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-24 15:08:33 +02:00
Ludovic Vielle
d0dd87c6c7 Add probo-agent binary, installer, and CI
Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-07-24 15:08:25 +02:00
Bryan Frimin
5c73886faf Fix label name
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:47:14 -07:00
Bryan Frimin
842081b66e Parse macOS postinstall conf without eval
Read KEY=VALUE lines from /tmp/probo-agent.conf directly so a
user-controlled temp file cannot execute arbitrary shell as root.

Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:45:55 -07:00
Bryan Frimin
22e50b3f11 Add probo-agent CLI and deviceagent library
Introduce the standalone device agent binary and shared library
for enrollment, posture checks, self-update, and OS service
integration. Include build targets, module deps, and release
workflow so the agent can ship independently of server changes.

Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:45:54 -07:00