Skip to content

title: CloudSlash - Cloud Providers Reference description: Five official plugins: AWS, GCP, Azure, Kubernetes, and Linode. Each implements the same 5-method gRPC contract. And remember, these are just the built-in pl...


Cloud Providers

Five official plugins: AWS, GCP, Azure, Kubernetes, and Linode. Each implements the same 5-method gRPC contract.

And remember, these are just the built-in plugins. Developers have total freedom to build, override, and deploy their own versions of these plugins or entirely new ones to the registry. You are never locked in.

Categories

Each plugin is assigned a category (cloud, database, infrastructure, saas, iot, devops, security) by the registry maintainer. Categories control workspace filtering in the TUI ([C] key) and Web UI. See Terminal Dashboard for details.


AWS

Plugin

Credential Chain

The engine evaluates the standard AWS credential chain in the following order:

  1. Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
  2. Shared credentials file (~/.aws/credentials)
  3. AWS SSO session (aws sso login)
  4. IAM instance role (EC2 metadata service)
  5. ECS task role
export AWS_PROFILE=production
export AWS_REGION=us-east-1

Scanned Resources

22 Types

Service Resource Type Waste Heuristic
EC2 Instances Stopped >14d, CPU <5% for 7d, zombie state
EC2 AMIs Age >90d, not attached to launch template
EBS Volumes State available (unattached) >14d
EBS Snapshots Age >90d, orphaned from source volume
RDS Instances 0 connections for 7d, CPU <5%
RDS Snapshots Age >90d, manual (not automated backup)
S3 Buckets Empty, no access for 90d, region compliance violations
Lambda Functions 0 invocations for 90d, last modified >90d
ECS Clusters 0 running tasks/services, idle EC2 backing
EKS Clusters Ghost node groups, empty clusters
ElastiCache Clusters 0 connections for 7d
Redshift Clusters 0 queries for 7d
DynamoDB Tables Provisioned throughput with <5% utilization
NAT Gateway Gateways Traffic <1GB for 30d, connected subnets have 0 running instances
Elastic IP Addresses Unattached (incurs $3.60/mo charge)
ALB/NLB Load Balancers 0 registered healthy targets
CloudWatch Log Groups Retention set to "Never Expire", size >1GB
ECR Repositories No lifecycle policy, images >90d old

IAM Verification

The engine uses iam:SimulatePrincipalPolicy for formal privilege verification. This catches hidden admin permissions behind innocuous role names that string-matching approaches miss.

# Generate the minimum IAM policy for CloudSlash
cloudslash permissions > cloudslash-policy.json

GCP

Plugin

Credential Chain

  1. GOOGLE_APPLICATION_CREDENTIALS environment variable (service account JSON)
  2. Application Default Credentials (gcloud auth application-default login)
  3. GCE metadata server (automatic on Compute Engine)
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/sa-key.json"
export CLOUDSDK_CORE_PROJECT="infrastructure-prod-42"

Scanned Resources

12 Types

Service Resource Type Waste Heuristic
Compute Engine GCE Instances TERMINATED state, CPU <5% for 7d
Compute Engine Persistent Disks Unattached (no users field)
GKE Clusters ERROR or DEGRADED status
Cloud Run Services 0 requests for 30d
Cloud SQL Instances SUSPENDED or STOPPED state
BigQuery Datasets 0 queries for 90d
Cloud Spanner Instances Multi-node over-provisioning (>3x capacity)
Memorystore Redis Instances 0 connections for 7d
Cloud Functions Functions min-instances >0 with 0 invocations for 30d
Pub/Sub Topics 0 subscribers or 0 published messages for 30d
Dataproc Clusters Idle cluster (no running jobs for 24h)
GCS Buckets Nearline/Coldline with frequent access pattern

Azure

Plugin

Credential Chain

  1. Environment variables (AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID)
  2. DefaultAzureCredential (managed identity → CLI login)
  3. Azure CLI (az login)
export AZURE_CLIENT_ID="..."
export AZURE_CLIENT_SECRET="..."
export AZURE_TENANT_ID="..."
export AZURE_SUBSCRIPTION_ID="..."

Scanned Resources

11 Types

Service Resource Type Waste Heuristic
Virtual Machines VMs Deallocated state, CPU <5% for 7d
Managed Disks Disks Unattached state
App Service Plans 0 apps deployed (empty plan)
Function Apps Apps Stopped state
Public IPs Static IPs NotAssociated state
Load Balancers Standard LBs Empty backend pool
AKS Clusters Failed provisioning state
Azure SQL Databases Paused state
Cosmos DB Accounts Provisioned throughput with <5% utilization
Redis Cache Instances 0 connections for 7d
Storage Accounts 0 operations for 90d

Cross-Provider Topology

The daemon deduces cross-provider dependencies deterministically via CIDR block overlap heuristics during ingestion. For example, an AWS Transit Gateway with CIDR 10.0.0.0/16 connected to a GCP VPC with subnet 10.0.1.0/24 produces a FlowsTo edge in the Universal Graph.

The Topology workspace (2) in the TUI visualizes these cross-provider links with egress cost calculations and compliance violation detection.

cs daemon --region us-east-1

Cloud connections are displayed in the TUI with CIDR ranges, provider counts, monthly egress costs, and traffic compliance status.