Download the latest inventory collection script:customer-inventory-counts.shOr download it directly from the command line:
Run it
Options
| Option | Description | Default |
|---|---|---|
--product <name> | Product to count: code, container, cloud, kspm, runtime, or all. | Prompted |
--provider <name> | Provider to count. Comma-separate to select several, or use all. | Prompted |
--days <number> | Activity window for code repositories. | 90 |
--out-dir <path> | Directory for the result files. | ./tigergate-inventory-output |
--details | Print the itemized count tables to the terminal. | On |
--no-details | Print only the summary tables to the terminal. | |
--help | Show usage and exit. |
Cloud manual checks
If you want to validate cloud counts directly from the provider CLI, run the commands below.AWS
Prerequisites:- IAM access key and secret key with
ReadOnlyAccessorSecurityAudit - AWS CLI configured
regionset in your shell or chosen per command
- EC2 instances
- EBS volumes
- EBS snapshots
- Elastic IPs
- Network interfaces
- Application load balancers
- Network load balancers
- Classic load balancers
- Target groups
- Auto Scaling groups
- RDS instances
- RDS clusters
- Lambda functions
- EKS clusters
- ECR repositories
- Security groups
- VPCs
- Subnets
- NAT gateways
- ECS clusters
- ECS services
- ECS tasks
- Secrets Manager secrets
- KMS keys
- CloudWatch log groups
- API Gateway REST APIs
- S3 buckets
- IAM users
- IAM roles
- CloudFront distributions
Azure
Prerequisites:- Azure CLI login
Readeron the subscription
- Disks
- Virtual machines
- AKS managed clusters
- Load balancers
- Network interfaces
- Public IP addresses
- Route tables
- Virtual networks
- Subnets
GCP
Prerequisites:gcloudauthroles/cloudasset.viewer- one or more project IDs
- Subnetworks
- Routes
- Firewalls
- Log buckets
- Services
OCI
Prerequisites:- OCI CLI login
OCI_COMPARTMENT_ID
Code manual checks
If you want to validate code inventory directly, use the product-specific run and the provider APIs below.GitHub
Prerequisites:GITHUB_TOKENGITHUB_ORG- token access to read repository metadata, commits, contributors, and languages
- Total repositories
- Active repositories in the last 90 days
- Active committers and developers
- Estimated code volume
GitLab
Prerequisites:GITLAB_TOKEN- optional
GITLAB_GROUP
- Total projects
- Active repositories in the last 90 days
Azure DevOps
Prerequisites:AZURE_DEVOPS_PATAZURE_DEVOPS_ORG- optional
AZURE_DEVOPS_PROJECT
- Projects
- Repositories
- Active repositories
Bitbucket
Prerequisites:BITBUCKET_USERNAMEBITBUCKET_APP_PASSWORDBITBUCKET_WORKSPACE
- Total repositories
- Active repositories
Container manual checks
Docker Hub
Prerequisites:DOCKERHUB_NAMESPACE- optional
DOCKERHUB_USERNAMEandDOCKERHUB_TOKEN
GHCR
Prerequisites:GITHUB_TOKENGHCR_OWNER
AWS ECR
Prerequisites:- AWS CLI auth with ECR read access
regionorAWS_REGIONS
Azure ACR
Prerequisites:- Azure CLI login
- ACR reader access
GCR
Prerequisites:gcloudauthGCP_PROJECTorGCP_PROJECTS
Google Artifact Registry
Prerequisites:gcloudauthroles/artifactregistry.reader
GitLab Registry
Prerequisites:GITLAB_TOKEN- optional
GITLAB_GROUP
Harbor
Prerequisites:HARBOR_URLHARBOR_USERNAMEHARBOR_PASSWORD
KSPM manual checks
Prerequisites:kubectlconfigured with one or more reachable contexts- optional
KUBE_CONTEXTS
- Clusters
- Namespaces
- Nodes
- Pods
- Workload total
Runtime manual checks
Runtime licensing is based on the number of protected compute resources. Prerequisites:kubectlconfigured with the target Kubernetes contexts (for Kubernetes environments)- Runtime agent installed on Kubernetes nodes or virtual machines
Kubernetes nodes
Count the total number of worker nodes across all Kubernetes clusters.Virtual machines
Count the total number of virtual machines protected by the TigerGate Runtime Agent. Supported environments include AWS EC2, Azure Virtual Machines, Google Compute Engine, Oracle Cloud Infrastructure, VMware, and bare metal Linux servers.- AWS
- Azure
- Google Cloud
- Oracle Cloud
Protected compute
Protected compute is the sum of Kubernetes worker nodes and protected virtual machines. For example, 18 Kubernetes worker nodes plus 12 protected virtual machines gives a total protected compute of 30.How each count is calculated
Code
| Provider | Counted items | Calculation |
|---|---|---|
| GitHub | Repositories, active repositories, developers, active committers, estimated code volume | Repositories come from the org repo list. Active repositories are filtered by pushed_at or updated_at within the selected day window. Committers and contributors are de-duplicated from commit history. Code volume is estimated from the repository language byte totals. |
| GitLab | Repositories, active repositories | Projects are listed from the selected group or membership scope. Active repositories are filtered by last_activity_at within the selected day window. |
| Azure DevOps | Repositories, active repositories | Projects are enumerated, then repositories are listed per project. Active repositories are those whose latest commit timestamp is newer than the cutoff. |
| Bitbucket | Repositories, active repositories | Workspace repositories are listed, then filtered by updated_on within the selected day window. |
Container
| Provider | Counted items | Calculation |
|---|---|---|
| Docker Hub | Repositories, tags | Repositories are listed under the namespace. Tags are summed per repository. |
| GHCR | Packages, image versions | Packages are listed for the owner. Versions are counted per package. |
| AWS ECR | Repositories, images | Repositories are listed in each region. Images are counted per repository. |
| Azure ACR | Repositories, tags | Repositories are listed per registry. Tags are counted per repository. |
| GCR | Images, tags | Image names are listed by project and host. Tags are counted per image. |
| Google Artifact Registry | Repositories, packages, image versions | Docker repositories are listed per project and location. Packages are counted per repository, and versions are counted from tagged image listings. |
| GitLab Registry | Repositories, tags | Registry repositories are listed per project. Tags are counted per repository. |
| Harbor | Repositories, artifacts | Projects and repositories are listed from Harbor. Artifacts are counted per repository. |
Cloud
| Provider | Counted asset types |
|---|---|
| AWS | AWS Config resource types when available. Fallback direct API counts for EC2 instances, EBS volumes, EBS snapshots, Elastic IPs, ENIs, ALBs, NLBs, classic load balancers, target groups, Auto Scaling groups, RDS instances, RDS clusters, Lambda functions, EKS clusters, ECR repositories, security groups, VPCs, subnets, NAT gateways, ECS clusters, ECS services, ECS tasks, Secrets Manager secrets, KMS keys, CloudWatch log groups, API Gateway REST APIs, plus global S3 buckets, IAM users, IAM roles, and CloudFront distributions. |
| Azure | Microsoft.Compute/disks, Microsoft.Compute/virtualMachines, Microsoft.ContainerService/managedClusters, Microsoft.Network/loadBalancers, Microsoft.Network/networkInterfaces, Microsoft.Network/publicIPAddresses, Microsoft.Network/routeTables, Microsoft.Network/virtualNetworks, Microsoft.Network/virtualNetworks/subnets |
| GCP | compute.googleapis.com/Subnetwork, compute.googleapis.com/Route, compute.googleapis.com/Firewall, logging.googleapis.com/LogBucket, serviceusage.googleapis.com/Service |
| OCI | All resource types returned by oci search resource structured-search for the selected compartment |
KSPM
KSPM counts Kubernetes posture inventory objects. The report shows a separateworkload_total box so customers can see workload counts by cluster and a final total.
| Counted objects | Calculation |
|---|---|
| Clusters, namespaces, nodes, pods, containers, running containers, images | Direct kubectl counts across the selected contexts. |
| Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, ReplicaSets, Services, Ingresses, EndpointSlices | Counted per cluster with kubectl get. |
| ConfigMaps, Secrets, ServiceAccounts, Roles, RoleBindings, ClusterRoles, ClusterRoleBindings | Counted per cluster with kubectl get. |
| NetworkPolicies, PersistentVolumes, PersistentVolumeClaims, StorageClasses, ResourceQuotas, LimitRanges, HorizontalPodAutoscalers, PodDisruptionBudgets, RuntimeClasses, PriorityClasses, CustomResourceDefinitions, MutatingWebhookConfigurations, ValidatingWebhookConfigurations | Counted per cluster with kubectl get. |
workload_total | Sum of the workload and control-plane inventory objects above, excluding clusters, namespaces, nodes, pods, containers, running containers, and images. |
Runtime
Runtime licensing is based on the number of protected compute resources.| Billable resource | Calculation |
|---|---|
| Kubernetes nodes | Total worker nodes across all Kubernetes clusters. |
| Virtual machines | Total supported Linux/Windows VMs protected by the TigerGate Runtime Agent. |
| Protected compute | Kubernetes nodes + virtual machines. |
Output files
By default the script writes to./tigergate-inventory-output. Change this with --out-dir.
summary.tsvis the final product/provider/metric rollup.details.tsvis the itemized customer-facing count list.details.jsonlis the structured machine-readable export.report.txtis the printable report with the TigerGate banner and boxed sections.
summary-<product>.tsv, details-<product>.tsv, details-<product>.jsonl, and report-<product>.txt.