MacOS Task Worker Installer - Deployment Guide
Component: Diskover Worker (macOS)
Deployment Method: DMG Installer
Platform: macOS
Version: 2.4.0+
Overview
The Mac DMG Installer provides a packaged installer for deploying the Diskover worker (diskoverd) on macOS machines. This allows macOS hosts to act as task workers — running scans and reporting back to the Diskover Web UI.
Use this guide when adding a macOS machine as a Diskover worker node alongside your existing Diskover infrastructure (Elasticsearch, Diskover Web, RabbitMQ).
Dependencies:
A running Diskover Web instance (the worker connects via API on port 8000)
A running Elasticsearch instance (the worker fetches its ES connection config from Diskover Admin)
Internet access to retrieve necessary Pip packages from the PyPI repository
Prerequisites
Requirement | Detail |
|---|---|
macOS | Supported macOS version |
Internet access | Required to retrieve Pip packages from PyPI |
Admin privileges | Required to run the installer |
Root access | Required to edit configuration and manage the service |
Network connectivity | macOS machine must be able to communicate with Diskover Web over port 8000, or port 443 if SSL is enabled |
Installation — Fresh Install
Double click the
Diskover-v2.x.x.dmgfile the Diskover team has provided.Inside this, you will see a
Diskover-indexer.pkgfile — double click this. This will start the installer.Proceed through the installer modal instructions, agree to the Software License Agreement, and click
Installwhen ready.
Note: This will require Admin privileges to install.
Tip: Pressing
Cmd + Lwill bring up the Installer Log. From here, changing "Show Errors Only" to "Show All Logs" will allow you to see what the installer is working on, and any present errors.
Once the installer has finished, you should now have the following installed onto this Mac machine:
/opt/diskover//var/root/.config/diskoverd/config.yaml/Library/LaunchDaemons/com.diskoverdata.diskoverd.plist
You will need to escalate to the
rootuser on this machine so you're able to edit a YAML file and start this service.Edit the following file:
vi /var/root/.config/diskoverd/config.yamlLine 33:
apiUrl: http://localhost:8000/api.php— Change thelocalhostto the IP of your Diskover Web host, then save & exit this file.
Note: This Mac machine must be able to communicate with Diskover Web over port 8000, or port 443 if SSL is enabled.
As the root user, run the following command to start the service:
launchctl load /Library/LaunchDaemons/com.diskoverdata.diskoverd.plist
You can now start tailing the logs to see the Worker service starting up:
tail -f /opt/diskover/logs/diskoverd.std*
You should see the following if your worker has started up properly:
diskoverd - INFO - Worker name: $YourMacHostname diskoverd - INFO - Worker pools: []
Configuration
Diskover Admin — Diskoverd Settings
Navigate to your Diskover Admin UI:
Under Configuration → Diskoverd, you should see your Mac's hostname. Click on this host to edit the settings.
Note: If your Mac hostname is not showing, please review your logs to ensure the service has started up properly.
Expand the Logger section. Check the
Enable Log FileboxFor Log Directory, change the location to
/opt/diskover/logs/Change your Timezone
For Python Location, change the location to
/usr/local/bin/python3.11Save these changes
Running Your First Scan
Navigate to the Task List page within Diskover Web to create a task for your Mac worker.
Important: While configuring the task object, when you get to Assigned Worker, please be sure to select from the dropdown your Mac host. Otherwise, your task will not run on the correct host.
OVA Elasticsearch Connection
If you are connecting this back to a single stack OVA that likely has the Diskoverd configuration for the Elasticsearch connection set to localhost, you will need to change that to the OVA's IPv4 address so that the Mac Task Worker can fetch that configuration for ES and be able to connect properly.
Build Directories
The DMG will install into the following directories:
Path | Purpose |
|---|---|
| Main directory needed for scans to run |
| YAML config so the Task Worker can connect to the Diskover Web via API |
| Mac version of a daemon file |
| Location where Python gets installed |
Service Management
Action | Command |
|---|---|
Start |
|
Stop |
|
Note: These commands must be run as the
rootuser or with sudo privileges.
Manual Scan:
python3.11 /opt/diskover/diskover.py -i diskover-$indexName /path/to/be/scanned
Note: ALL indexes must start with
diskover-.
Verification
Check | How to Verify | Expected Result |
|---|---|---|
Service running |
|
|
Worker registration | Diskover Admin → Configuration → Diskoverd | Mac hostname appears in the list |
Task execution | Diskover Web → Task List → create and run a task assigned to your Mac worker | Task completes without errors |
Troubleshooting
Issue | Cause | Solution |
|---|---|---|
Mac hostname not showing in Diskover Admin | Service has not started properly | Review the log files to ensure the service started up correctly |
Task keeps failing | Various — configuration, connectivity, permissions | Check |
Worker can't connect to Elasticsearch | Worker isn't able to communicate to Elasticsearch over port 9200 | Check Diskover Admin → Diskover → Elasticsearch that the IPs are correct. Check the firewall to ensure network connectivity isn't being blocked. |
Log File Locations
Log | Location | Purpose |
|---|---|---|
Stdout log |
| Check for errors with the service starting up |
Stderr log |
| Check for errors with the service starting up |
Subprocess log |
| Check for errors with a particular task when scanning |
Comments
0 comments
Please sign in to leave a comment.