Configuration Guide

Kollect is configured entirely through command-line flags and environment variables — there are no configuration files. It uses your existing cloud CLI configurations (AWS CLI, Azure CLI, gcloud, kubectl, Docker) by default, so basic usage needs no setup.

Basic usage

# Discover everything with detected credentials
./kollect --inventory all

# Web interface only (import/view existing data)
./kollect --browser

# A single platform
./kollect --inventory kubernetes
./kollect --inventory openshift
./kollect --inventory aws
./kollect --inventory azure
./kollect --inventory gcp
./kollect --inventory docker
./kollect --inventory terraform
./kollect --inventory vault
./kollect --inventory vsphere
./kollect --inventory proxmox
./kollect --inventory hyperv
./kollect --inventory nutanix

# Snapshots across all platforms
./kollect --snapshots

# Start the MCP server for AI tools
./kollect --mcp

One platform at a time. --inventory takes a single value or all. There is no comma-separated list — run Kollect once per platform, or use all.

Core flags

FlagDescriptionExample
--inventoryType of inventory to collect (all, kubernetes, openshift, aws, azure, gcp, terraform, vault, docker, vsphere, proxmox, hyperv, nutanix)--inventory aws
--browserOpen the web interface (can be used alone to import data)--browser
--snapshotsCollect snapshots from all available platforms--snapshots
--mcpStart the MCP (Model Context Protocol) server--mcp
--outputSave collected data to a JSON file--output data.json
--portPort for the local web/API server (default 8080)--port 9090
--storageCollect only storage objects (Kubernetes only)--storage
--kubeconfigPath to kubeconfig file--kubeconfig ~/.kube/config
--kube-contextKubernetes context to use--kube-context prod
--docker-hostDocker host connection--docker-host unix:///var/run/docker.sock
--scenario-csvExport a Veeam Scenario Builder CSV (single provider: file; --inventory all: directory)--scenario-csv out.csv
--scenario-groupGroup all workloads into one summary row per sheet in the CSV export--scenario-group
--helpShow all flags--help

Platform-specific flags

Terraform

--terraform-statePath to local Terraform state file--terraform-state ./terraform.tfstate
--terraform-s3S3 bucket containing state (bucket/key)--terraform-s3 mybucket/prod.tfstate
--terraform-s3-regionAWS region for the S3 bucket (defaults to AWS_REGION)--terraform-s3-region us-east-1
--terraform-azureAzure Blob state (storageaccount/container/blob)--terraform-azure sa/container/blob
--terraform-gcsGCS bucket and object (bucket/object)--terraform-gcs bucket/terraform.tfstate

Vault

--vault-addrVault server address--vault-addr https://vault.example.com:8200
--vault-tokenVault authentication token--vault-token s.abc123...

VMware vSphere

--vsphere-servervCenter server address--vsphere-server vcenter.example.com
--vsphere-usernamevSphere username--vsphere-username readonly@vsphere.local
--vsphere-passwordvSphere password--vsphere-password ******
--vsphere-insecureSkip SSL verification--vsphere-insecure

Proxmox VE

--proxmox-serverProxmox VE server address (host or host:port)--proxmox-server pve.example.com
--proxmox-tokenAPI token (user@realm!tokenid=secret)--proxmox-token root@pam!kollect=...
--proxmox-usernameUsername (used when no API token is given)--proxmox-username root@pam
--proxmox-passwordPassword (used when no API token is given)--proxmox-password ******
--proxmox-insecureSkip SSL verification--proxmox-insecure

Microsoft Hyper-V

--hyperv-serverHyper-V host or failover-cluster address (WinRM)--hyperv-server 192.168.1.50
--hyperv-usernameUsername (DOMAIN\user or HOST\user)--hyperv-username CORP\svc-kollect
--hyperv-passwordPassword--hyperv-password ******
--hyperv-httpsUse HTTPS (WinRM :5986); required for hosts enforcing message encryption--hyperv-https
--hyperv-insecureSkip TLS verification over HTTPS--hyperv-insecure
--hyperv-clusterAlso query the Windows Failover Cluster (root/MSCluster)--hyperv-cluster
--hyperv-authAuth mode: auto (default), ntlm, or kerberos--hyperv-auth kerberos
--hyperv-realmKerberos realm override--hyperv-realm CORP.EXAMPLE.COM
--hyperv-kdcKerberos KDC host[:port] override--hyperv-kdc dc01.corp.example.com

Nutanix AHV

--nutanix-serverPrism Element address (port defaults to 9440)--nutanix-server prism.example.com
--nutanix-usernamePrism username--nutanix-username admin
--nutanix-passwordPrism password--nutanix-password ******
--nutanix-insecureSkip SSL verification (Community Edition uses a self-signed cert)--nutanix-insecure

Environment variables

Most connection flags can also be provided as environment variables — the preferred way to keep secrets off the command line. An explicit flag always wins over its environment variable.

Web server port

export KOLLECT_PORT=9090   # equivalent to --port 9090

Vault

export VAULT_ADDR="https://vault.example.com:8200"
export VAULT_TOKEN="s.abc123..."

VMware vSphere

export VSPHERE_SERVER="vcenter.example.com"
export VSPHERE_USERNAME="readonly@vsphere.local"
export VSPHERE_PASSWORD="******"
export VSPHERE_INSECURE="true"

Proxmox VE

export PROXMOX_SERVER="pve.example.com"
export PROXMOX_TOKEN="root@pam!kollect=..."   # or PROXMOX_USERNAME / PROXMOX_PASSWORD
export PROXMOX_INSECURE="true"

Hyper-V

export HYPERV_SERVER="192.168.1.50"
export HYPERV_USERNAME="CORP\\svc-kollect"
export HYPERV_PASSWORD="******"
export HYPERV_HTTPS="true"
export HYPERV_AUTH="kerberos"   # HYPERV_REALM / HYPERV_KDC also supported

Nutanix

export NUTANIX_SERVER="prism.example.com"
export NUTANIX_USERNAME="admin"
export NUTANIX_PASSWORD="******"
export NUTANIX_INSECURE="true"

Web server & port

The web/API server listens on port 8080 by default and binds to loopback only (127.0.0.1) since the API is unauthenticated. Change the port with --port or the KOLLECT_PORT environment variable — handy for running a terminal instance and an MCP instance side by side.

# Run on a different port
./kollect --browser --port 9090
# Web interface: http://localhost:9090

Cloud provider authentication

Example workflows

Kubernetes with a specific kubeconfig

./kollect --inventory kubernetes --kubeconfig ~/.kube/prod-config

Terraform state analysis

# Local state
./kollect --inventory terraform --terraform-state ./terraform.tfstate

# Remote S3 backend
./kollect --inventory terraform --terraform-s3 mybucket/prod.tfstate --terraform-s3-region us-west-2

vSphere via environment variables

export VSPHERE_SERVER="vcenter.company.com"
export VSPHERE_USERNAME="readonly@vsphere.local"
export VSPHERE_PASSWORD="******"
./kollect --inventory vsphere --vsphere-insecure

Export for Veeam Scenario Builder

# Single provider -> CSV file
./kollect --inventory vsphere --scenario-csv vsphere-scenario.csv

# All providers -> directory of CSVs
./kollect --inventory all --scenario-csv ./scenario-out/

Save data to a file

./kollect --inventory all --output infrastructure-audit.json

🔒 Security best practices