Skip to content

macOS Agent

The SentriKat macOS Agent is a shell script (sentrikat-agent-macos.sh) that collects installed software inventory (Applications, Homebrew, and more) and reports it to your SentriKat instance. Installed, it runs as LaunchDaemons: an inventory job (default: every 4 hours) plus a heartbeat job (every 5 minutes, polls for commands).

Requirements

  • macOS 12 (Monterey) or later
  • Admin (sudo) for the install step
  • Network access to your SentriKat server (HTTPS recommended)

Installation

Two official ways — both give every machine its own key.

  1. In SentriKat go to Integrations → Agent Deploy → Deploy on a machine
  2. Click macOS — this downloads sentrikat-agent-macos.sh with a unique per-host key already baked in (nothing to paste)
  3. Copy it to the target machine and run:
sudo bash ./sentrikat-agent-macos.sh --install
  1. Integrations → Agent Deploy → Mass / automated deploy → Create Install Token — copy the ready-made command (shown once)
  2. Push the script + command with your MDM (Jamf, Mosyle, Kandji, …):
sudo bash ./sentrikat-agent-macos.sh --install \
  --server-url "https://sentrikat.company.com" --enroll-token "<token>"

Each machine exchanges the token once for its own per-host key; revoke the token anytime without touching enrolled machines.

The installer copies the agent to /usr/local/bin/sentrikat-agent.

Useful options

Same flag set as the Linux agent: --server-url, --enroll-token, --interval <hours> (default 4), --proxy-url, --ca-cert, --allow-http, --run-once, --diagnose, --verbose, --uninstall.

Verify it works

sudo launchctl list | grep com.sentrikat
tail -n 20 /Library/Logs/sentrikat-agent.log

Within a minute the machine appears in SentriKat under Inventory → Endpoints and on Agent Activity with a "last seen" timestamp. Config lives at /Library/Application Support/SentriKat/agent.conf.

Run a scan manually at any time:

sudo sentrikat-agent --run-once

Troubleshooting

Symptom Fix
Install works but nothing appears check the server URL in the config file; the download bakes in whatever URL SentriKat is configured with — pass --server-url <url> if needed
TLS errors behind proxy/PKI --ca-cert /path/ca.pem and/or --proxy-url http://proxy:3128
Daemon not loaded sudo launchctl load /Library/LaunchDaemons/com.sentrikat.agent.plist (the heartbeat self-repairs this case too)
Anything else sudo sentrikat-agent --diagnose — connectivity self-test + log bundle

Uninstall

sudo sentrikat-agent --uninstall