Skip to content

Platform Notes

Colby Farley edited this page Apr 26, 2026 · 4 revisions

Platform Notes

HarrierOps Azure is intended to be operator-usable on macOS, Linux, and Windows.

The CLI itself is mostly platform-neutral. The differences you are most likely to notice are shell syntax and path style, not HarrierOps Azure command behavior.

For release container auth behavior, see Container Considerations.

What Should Feel The Same

  • ho-azure <command>
  • go build -o ho-azure ./cmd/azurefox
  • go run ./cmd/azurefox ...
  • --tenant, --subscription, --output, --outdir, and --debug
  • JSON, table, CSV, and loot artifact layout under the chosen output directory

What Usually Differs By Platform

Service Principal Environment Variables

# macOS/Linux
export AZURE_TENANT_ID=<tenant-id>
export AZURE_CLIENT_ID=<client-id>
export AZURE_CLIENT_SECRET=<client-secret>
# Windows PowerShell
$env:AZURE_TENANT_ID="<tenant-id>"
$env:AZURE_CLIENT_ID="<client-id>"
$env:AZURE_CLIENT_SECRET="<client-secret>"

Output Directory Examples

Wiki and README examples prefer relative paths such as ./ho-azure-demo.

That is intentional:

  • it avoids over-biasing toward /tmp/...
  • it reads cleanly on macOS, Linux, and Windows
  • it makes it obvious that artifacts go wherever you point --outdir

If you already have a preferred scratch directory, use that instead.

Azure Environment Exceptions

HarrierOps Azure currently targets public Azure.

The tool does not currently claim support for Azure Government, Azure China, or other sovereign Azure clouds.

Those environments use different authority hosts, service endpoints, policy expectations, and validation requirements. Supporting them would be a deliberate platform-support decision, not a small docs-only switch.

For now, assume examples, auth behavior, and command validation are written for public Azure unless a future release says otherwise.

Practical Recommendation

For first runs on any platform:

go run ./cmd/azurefox whoami --output table

If that works, the rest of the command surface should feel familiar.

Clone this wiki locally