/projects/cli-tool
DevOps CLI Tool
Command-line tool for managing cloud infrastructure, deployments, and environment configuration across AWS and GCP.
- Started
- Jan 2024
- Updated
- Nov 2024
- Role
- Solo Developer
- Status
- active
- Go
- Cobra
- AWS SDK
- GCP SDK
A unified CLI for managing multi-cloud infrastructure, replacing a patchwork of bash scripts and manual processes.
Why Go?
The previous tooling was a mess of bash scripts, Python utilities, and manual AWS console clicking. We needed something:
- Fast: Developers wait for nothing. Sub-second startup time was non-negotiable.
- Portable: A single binary that works on Linux, macOS, and Windows without dependencies.
- Maintainable: Bash is great until it’s not. Go’s type system prevents entire classes of bugs.
Core Features
Infrastructure Provisioning
devops infra create --env staging --region us-west-2
Spins up VPC, subnets, load balancers, and ECS clusters using Terraform modules under the hood.
Deployment Management
devops deploy --service api --env production --version v2.3.1
Blue-green deployments with automatic rollback on health check failures.
Environment Configuration
devops config set DATABASE_URL postgres://... --env staging
Encrypted secret storage in AWS Secrets Manager with local caching for faster access.
Logs and Debugging
devops logs --service api --env production --tail
Streams CloudWatch logs with filtering and colorized output.
Design Principles
Idempotent Commands: Running the same command twice produces the same result. No “already exists” errors.
Fail Fast with Clear Errors: If AWS credentials are missing, say so immediately. No cryptic stack traces.
Progress Feedback: Long-running operations show progress bars and estimated time remaining.
Offline Mode: Common commands (listing resources, viewing configs) use cached data when the network is unavailable.
Adoption
Within three months of release:
- 40+ developers use it daily
- Deployment time reduced from 15 minutes to 3 minutes
- Configuration drift eliminated (everything is version-controlled and applied via CLI)
- Onboarding time for new engineers cut in half (clear commands vs. tribal knowledge)
Future Plans
- Add drift detection to alert when manual AWS console changes bypass the CLI
- Integrate with CI/CD pipelines for automated deployments
- Add a TUI (text-based UI) for interactive workflows