Repository navigation
Datafy Discovery Tool v0.3.1
Inventories the block storage and compute footprint of a cloud estate, so a Datafy engagement can be scoped before installation. Output is one JSON object per unit of scope (JSONL format).
AWS — EBS volumes, EC2 instances, AMIs, snapshots, DLM policies and AWS Backup plans, across every account in an Organization. One record per account × region.
Azure — managed disks, VMs, scale sets, snapshots, images, backup vaults and policies, across every subscription in a tenant. One record per subscription.
Assets are named by cloud: discovery-aws-* / discovery-azure-* for the Go binaries, and discovery-aws.{sh,py} / discovery-azure.{sh,py} for the script implementations.
Download — AWS
| Tool | File | Requirements |
|---|---|---|
| Go — Linux x86-64 | discovery-aws-linux-amd64 |
none |
| Go — Linux ARM64 | discovery-aws-linux-arm64 |
none |
| Go — macOS x86-64 | discovery-aws-darwin-amd64 |
none |
| Go — macOS Apple Silicon | discovery-aws-darwin-arm64 |
none |
| Go — Windows x86-64 | discovery-aws-windows-amd64.exe |
none |
| Go — Windows ARM64 | discovery-aws-windows-arm64.exe |
none |
| Bash | discovery-aws.sh |
aws-cli v2, jq |
| Python | discovery-aws.py |
Python 3.8+, boto3 |
Download — Azure
| Tool | File | Requirements |
|---|---|---|
| Go — Linux x86-64 | discovery-azure-linux-amd64 |
none |
| Go — Linux ARM64 | discovery-azure-linux-arm64 |
none |
| Go — macOS x86-64 | discovery-azure-darwin-amd64 |
none |
| Go — macOS Apple Silicon | discovery-azure-darwin-arm64 |
none |
| Go — Windows x86-64 | discovery-azure-windows-amd64.exe |
none |
| Go — Windows ARM64 | discovery-azure-windows-arm64.exe |
none |
| Bash | discovery-azure.sh |
curl, jq |
| Python | discovery-azure.py |
Python 3.9+, azure-identity |
Quick start — AWS
Run from the management (root) account.
# Go
chmod +x discovery-aws-darwin-arm64
./discovery-aws-darwin-arm64 --profile myprofile --setup-role
# Bash
chmod +x discovery-aws.sh
./discovery-aws.sh --profile myprofile --setup-role
# Python
pip install boto3
python3 discovery-aws.py --profile myprofile --setup-roleQuick start — Azure
Sign in first with az login. There is no role to assume: one
identity with Reader across the tenant reads every subscription.
# Go
chmod +x discovery-azure-darwin-arm64
./discovery-azure-darwin-arm64
# Bash
chmod +x discovery-azure.sh
./discovery-azure.sh
# Python
pip install azure-identity
python3 discovery-azure.pyAdd --setup-role to have the tool grant itself Reader for the
duration of the scan and remove it afterwards.
See the overview,
the AWS guide
or the Azure guide
for full usage.
What's Changed
Other Changes
- fix(discovery-tool): list scale set instances so AKS nodes are discovered by @snirzango in #5
Full Changelog: v0.3.0...v0.3.1