This repository is a comprehensive collection of shell scripts designed to automate routine and complex tasks across various cloud platforms and systems. By leveraging the power of command-line interfaces (CLIs), these scripts provide a fast, efficient, and highly flexible approach to automation.
While declarative tools have their place, shell scripting remains a powerful and indispensable skill for any modern engineer. Its key advantages include:
- Simplicity and Speed: For quick, one-off tasks or simple automations, a shell script is often the fastest solution. It requires no complex setup and can be executed instantly.
- Direct CLI Orchestration: Shell scripts are masters at orchestrating CLI commands. They can pipe data from one command to another, enabling powerful, procedural workflows that are difficult to achieve with other tools.
- Flexibility and Custom Logic: Shell scripting allows for dynamic, procedural logic and conditional branching (
if/elsestatements), giving you granular control over your automation.
While Terraform is the industry standard for large-scale Infrastructure as Code (IaC), shell scripting often proves to be the superior choice for specific scenarios.
- Small-Scale & Targeted Tasks: For creating a single resource, like a GCS bucket or a Dialogflow agent, a shell script is far more efficient. It avoids the overhead of managing a state file, writing
.tffiles, and runningplan/applycommands. - Dynamic and Procedural Workflows: Shell scripts excel at tasks that require a series of conditional actions, where the outcome of one command dictates the input for the next. Terraform's declarative nature is less suited for these complex, procedural workflows.
- Lightweight and Accessible: All you need is a terminal and the relevant CLI installed. There's no separate binary to manage, making shell scripts an accessible and lightweight option for a quick fix or a new project.
This repository contains a dedicated folder for all GCP-related automation. You'll find scripts for provisioning resources, managing data lifecycles, and more.
We welcome contributions! Your ideas and code can help grow this hub and make life easier for others. Here's how you can contribute:
- Fork the repository .
- Create a new branch :
git checkout -b feature-name. - Commit your changes :
git commit -m 'feat: Add new automation script for X'. - Push to your branch :
git push origin feature-name. - Open a Pull Request and describe your changes. We'll review it and merge it once it's ready. π
We have an exciting roadmap of automations planned. Feel free to open an Issue and suggest new ideas!
- βοΈ Cloud Cleanup : Scripts to automatically identify and remove unused cloud resources to cut costs.
- π Cloud Cost Optimization : Tools to track and provide insights into cloud spending.
- π Log Rotation & Archival : Automate the handling and archival of system/application logs.
- β‘ CI/CD Pipeline Triggers : Scripts to automate deployments and pipeline triggers.
- π Security Checks : Basic infrastructure security scans and compliance checks.
- π§Ή Resource Health Monitoring : Simple monitoring and alerting scripts for cloud resources.
Built with β€οΈ and Shell to simplify complex tasks and make life easierβone automation at a time.