IC CLI Tool (Infrastructure Commander)
A comprehensive, production-grade Infrastructure Command Line Interface tool for managing multi-cloud infrastructure and server components across multiple platforms. IC CLI provides unified access to AWS, Tencent Cloud, GCP, Oracle Cloud Infrastructure (OCI), CloudFlare, and SSH server management with rich progress indicators and secure configuration management.
✨ Key Features
- 🚀 Multi-Cloud Support: AWS, Tencent Cloud, GCP, OCI, CloudFlare, and SSH server management
- 📊 Rich Progress Bars: Real-time progress indicators for all long-running operations across accounts and regions
- 🔒 Secure Configuration: Modern YAML-based configuration (
~/.ic/config/) and native credential files (~/.aws/config,~/.tencent/credentials) - 🌍 Multi-Account / Multi-Region: Concurrent querying across multiple cloud accounts and regions with STS / CAM AssumeRole support
- 🎨 Beautiful Terminal UI: Rich terminal output with tables, colors, JSON formatting, and tree diagrams
- ⚡ High Performance: Optimized async and concurrent execution for fast resource discovery
- 🛡️ Security First: Built-in credential masking, secret scanning, and pre-commit hook support
🖥️ Terminal UI Preview
📦 Supported Platforms & Services
1. 🟧 AWS Services (Production Ready)
- Compute: EC2 instances, ECS services/tasks, EKS clusters/nodes/pods, Fargate profiles
- Storage & DB: S3 buckets (with tagging compliance checks), RDS instances & clusters
- Networking: VPC, Subnets, Gateways, Load Balancers (ALB/NLB with listener rules, health check path & target health analysis), Security Groups (with Ingress & Egress rule analysis & tree view), VPN connections
- Health & Maintenance: AWS Health Dashboard EC2 scheduled reboot maintenance check (
ic aws healthdashboard reboot) - Integrations: CloudFront distributions, MSK Kafka brokers, CodePipeline build/deploy status, Profile management
2. 🟦 Tencent Cloud Services (Production Ready)
- Compute: CVM instances (with CPU, Mem, Disk, IP, SGs), Lighthouse lightweight application servers
- Containers: TKE (Tencent Kubernetes Engine) clusters & node details
- Networking: VPC, Subnets, NAT Gateways, CLB (Load Balancers - listener rules, health check, target health analysis & network traffic bandwidth statistics), Security Groups (with Ingress/Egress rules & tree view)
- Authentication: Multi-account STS AssumeRole support, Profile management (
ic tencent profile infovia~/.tencent/credentials)
3. 🟩 GCP Services (Production Ready - v1.5.3)
- Compute Engine: VM instances with status, zone, machine type (custom parsing), vCPU, memory, disks, IPs, tags, and verbose 15-column output (
ic gcp compute info -v) - Compute Detailed Inspection (
desc): Full attribute discovery, dot-notation key filtering (-k / --keys), schema discovery (-l / --list-keys) for instances - Load Balancing (LB): Forwarding rules, Target proxies, URL maps, Backend services, Health checks, and SSL certificates (
ic gcp lb info) - LB Detailed Inspection (
desc): Deep hierarchical inspection of proxies, rules, backends, and health checks with dot-notation key filtering (ic gcp lb desc) - GKE: Kubernetes Engine clusters and node pool configurations (
ic gcp gke info) - Cloud Run: Serverless container services, ready status, CPU/Mem, and revisions (
ic gcp run info) - Cloud Functions: Serverless functions, triggers, runtime, and memory (
ic gcp functions info) - Cloud SQL: Managed database instances, engine versions, HA, and status (
ic gcp sql info) - Cloud Storage: Buckets, locations, storage classes, and lifecycle (
ic gcp storage info) - VPC & Firewall: Virtual networks, subnets, and ingress/egress firewall rules (
ic gcp vpc info,ic gcp firewall info) - Cloud DNS: Managed public and private DNS zones and record sets (
ic gcp dns info) - Resource Hierarchy & Projects: Multi-level folder tree, project status, and active project indicators (
ic gcp project info) - Billing: Cost by service, budgets, and alerts (
ic gcp billing info) - Profile: gcloud CLI configurations and active account verification (
ic gcp profile info)
4. 🟥 Oracle Cloud Infrastructure (OCI) (Production Ready)
- Compute & Containers: VM instances, Container instances (ACI)
- Networking: VCN, Subnets, Load Balancers, Network Security Groups (NSG)
- Storage: Block Volumes, Object Storage buckets
- IAM & Cost: Compartment hierarchy, IAM Policy search/validation, Cost usage & billing credits
5. 🟧 CloudFlare (Production Ready)
- DNS & Zones: Zone listings, DNS record management, and account filtering
6. 🟦 SSH Server Management (Production Ready)
- Discovery: Automatic server registration, connection verification, and security filtering
📦 Installation
From PyPI (Recommended)
# Install the latest stable version (v1.3.1+)
pip install ic-code
# Verify installation
ic --version
ic --help
From Source (Development)
# Clone the repository
git clone https://github.com/dgr009/ic.git
cd ic
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies and local editable package
pip install -e .
# Verify installation
ic --version
⚙️ Configuration Setup
IC CLI uses a modern two-file configuration system located in ~/.ic/config/ for security:
~/.ic/config/
├── default.yaml # Non-sensitive default settings
└── secrets.yaml # Sensitive API keys, tokens, and profiles
1. Initialize Configuration
# Guided interactive configuration setup
ic config init
# Or generate template for specific clouds
ic config init --template aws
ic config init --template multi-cloud
2. Configure Credentials (~/.ic/config/secrets.yaml)
# AWS Configuration
aws:
accounts:
- "123456789012"
profiles:
default: "my-aws-profile"
regions:
- "ap-northeast-2"
- "us-east-1"
# GCP Configuration
gcp:
project_id: "my-gcp-project-id"
credentials_file: "~/.config/gcloud/application_default_credentials.json"
regions:
- "asia-northeast3"
- "us-central1"
# Oracle Cloud Infrastructure (OCI)
oci:
config_file: "~/.oci/config"
profile: "DEFAULT"
compartments:
- "ocid1.compartment.oc1..example"
# CloudFlare Configuration
cloudflare:
api_token: "your-cloudflare-api-token"
# SSH Configuration
ssh:
key_dir: "~/.ssh"
skip_prefixes:
- "bastion"
- "jump"
3. Manage & Validate Config
# Show configuration (sensitive fields masked automatically)
ic config show
# Validate configuration structure and paths
ic config validate
🚀 Command Usage Examples
AWS Commands
# List EC2 instances across configured regions
ic aws ec2 info
# Security Group Info (Shows Ingress & Egress rules by default)
ic aws sg info
# Filter Security Groups for Ingress or Egress rules only
ic aws sg info --ingress # Show Ingress rules only
ic aws sg info --egress # Show Egress rules only
# Render Security Groups in visual tree structure with direction arrows (← Ingress, → Egress)
ic aws sg info -o tree
# S3 Bucket details and tag validation
ic aws s3 info
ic aws s3 tag_check
# EKS & ECS Cluster info
ic aws eks info
ic aws ecs info
Tencent Cloud Commands
# List CVM instances across accounts and regions
ic tencent cvm info
ic tencent cvm info -a my-account
# List Lighthouse lightweight instances
ic tencent lighthouse info
# Security Group Info (Tables and Tree view)
ic tencent sg info
ic tencent sg info -o tree
# Load Balancer (CLB) with listeners, health check path & target health
ic tencent clb info
# VPC, Subnets, NAT Gateways & TKE Clusters
ic tencent vpc info
ic tencent nat info
ic tencent tke info
# Check credentials and profiles (~/.tencent/credentials)
ic tencent profile info
GCP Commands (v1.5.3)
# Compute Engine VM instances (summary & verbose 15-column output)
ic gcp compute info
ic gcp compute info -v
# Compute Engine detailed resource inspection (desc)
ic gcp compute desc # Full YAML dump
ic gcp compute desc -l # Discover queryable dot-notation keys
ic gcp compute desc -k status,machine_type,internal_ip # Filter attributes into table
# Load Balancers (ALB / NLB)
ic gcp lb info
ic gcp lb desc -l # Discover LB schema keys
ic gcp lb desc -k type,ip_address,backend_services.0.name # Inspect LB backend services
# Container & Serverless
ic gcp gke info # GKE clusters & node pools
ic gcp run info # Cloud Run services & revisions
ic gcp functions info # Cloud Functions & triggers
# Databases, Storage & Networking
ic gcp sql info # Cloud SQL instances
ic gcp storage info # Cloud Storage buckets
ic gcp vpc info # VPC networks & subnets
ic gcp firewall info # Firewall ingress/egress rules
ic gcp dns info # Cloud DNS managed zones
# Resource Hierarchy & Project Management
ic gcp project info # Active project & folder tree view
ic gcp billing info # Monthly billing costs by service
ic gcp profile info # gcloud active configurations
OCI Commands
# Compute VM instances
ic oci vm info
# Virtual Cloud Networks
ic oci vcn info
# Load Balancers & Network Security Groups
ic oci lb info
ic oci nsg info
# Storage & Cost usage
ic oci volume info
ic oci cost usage
CloudFlare & SSH Commands
# CloudFlare Zones and DNS
ic cf zone info
ic cf dns info
# SSH Server discovery
ic ssh info
Security & Hook Commands
# Scan codebase for hardcoded secrets
ic security scan
# Install pre-commit security hooks
ic security install-hooks
🧪 Testing & Validation
# Run unit & integration test suites
pytest tests/unit tests/integration
# Run End-to-End CLI validation
python tests/validation/end_to_end_cli_validation.py
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ic_code-1.5.3.tar.gz.
File metadata
- Download URL: ic_code-1.5.3.tar.gz
- Upload date:
- Size: 457.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db303e5d098c4bc9f772c5099a7a7dabf1237d6e249b9590c307c17c58784196
|
|
| MD5 |
7cbc52dde85eead8814ced53b9ddeed1
|
|
| BLAKE2b-256 |
9704a49b41a05cb1f40b3487734fb730030a0893f161acf5b91a41ddf43f42d7
|
Provenance
The following attestation bundles were made for ic_code-1.5.3.tar.gz:
Publisher:
publish-to-pypi.yml on dgr009/ic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ic_code-1.5.3.tar.gz -
Subject digest:
db303e5d098c4bc9f772c5099a7a7dabf1237d6e249b9590c307c17c58784196 - Sigstore transparency entry: 2825819908
- Sigstore integration time:
-
Permalink:
dgr009/ic@e163df57b60816136c799466238d82a682b2e695 -
Branch / Tag:
refs/tags/v1.5.3 - Owner: https://github.com/dgr009
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@e163df57b60816136c799466238d82a682b2e695 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ic_code-1.5.3-py3-none-any.whl.
File metadata
- Download URL: ic_code-1.5.3-py3-none-any.whl
- Upload date:
- Size: 578.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e31d09ebe2413663440cf65a6a0b2461228d836ed8c1176ad843a07b6dc1d8e
|
|
| MD5 |
a582de920b42f92c50eee564510d8d17
|
|
| BLAKE2b-256 |
8ec75bbcdae44c22b0e1fd72522095bca91d84850db689a6f496e55e4bbf518a
|
Provenance
The following attestation bundles were made for ic_code-1.5.3-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on dgr009/ic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ic_code-1.5.3-py3-none-any.whl -
Subject digest:
6e31d09ebe2413663440cf65a6a0b2461228d836ed8c1176ad843a07b6dc1d8e - Sigstore transparency entry: 2825819910
- Sigstore integration time:
-
Permalink:
dgr009/ic@e163df57b60816136c799466238d82a682b2e695 -
Branch / Tag:
refs/tags/v1.5.3 - Owner: https://github.com/dgr009
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@e163df57b60816136c799466238d82a682b2e695 -
Trigger Event:
workflow_dispatch
-
Statement type: