My personal collection of cloud automation scripts and IaC templates
┌──────────────────────────────────────────────┐
│ WHAT THIS IS │
├──────────────────────────────────────────────┤
│ • Reusable scripts for AWS/Azure/GCP │
│ • Terraform modules, K8s configs, Lambda │
│ • Ansible playbooks, Docker compose files │
│ • Built over 3+ years of cloud work │
│ • Reference library, not a product │
└──────────────────────────────────────────────┘
After 3+ years working with cloud infrastructure, I kept rewriting the same scripts. "How do I set up a VPC with Terraform again?" "What's the syntax for CloudWatch alarms?" "Where's that Lambda function I wrote for S3 event processing?"
This repo is my personal toolkit. It's organized by tool/platform, not by project. When I need to spin up monitoring, I grab the Grafana dashboard config. When I need IAM automation, I pull the user management script.
It's not comprehensive. It's not meant for big teams. It's just the stuff I've actually used and found worth keeping.
Infrastructure as Code:
terraform/- VPC setup, security groups, networking configsansible/- Server hardening, app deployment playbookspuppet/- Nginx management (don't use Puppet much anymore)chef/- Web server cookbooks (mostly legacy)
Container & Orchestration:
docker/- Dockerfiles and compose files for common stackskubernetes/- Deployments, services, ingress configs (basic stuff, not production Helm charts)
Cloud Platforms:
aws/- EC2, S3, Lambda automation scriptsazure/- Resource group management, some ARM templatesgcp/- Compute Engine scripts, Cloud Functions
CI/CD:
cicd/github-actions/- Deployment workflowscicd/jenkins/- Jenkinsfiles (older projects)
Automation:
serverless/lambda/- Python Lambda functions (S3 events, EC2 autoscaling)api-scripts/- REST API clients, Swagger specsautomation-scripts/- General Python/Bash scripts for cloud tasksiam-automation/- User/role management scriptsbackup-recovery/- Database backup automation
Monitoring & Security:
monitoring-logging/- CloudWatch alarms, Grafana dashboardssecurity/- OAuth token generation, RBAC policiesnetwork-config/- VPN setup, firewall rules
Everything is organized by tool/technology, not by project. The directory names match what I'd search for:
CloudEngLibrary/
├── terraform/ # When I need Terraform templates
├── kubernetes/ # When I need K8s configs
├── aws/ # When I need AWS-specific scripts
├── serverless/ # When I need Lambda functions
└── ...
Some directories have minimal files (Chef, Puppet) because I don't use those tools much anymore. I kept them for reference.
This isn't a framework. There's no installer, no CLI, no package to import. Just copy what you need.
Want the VPC setup?
cp terraform/vpc_setup.tf ~/my-project/
# Edit variables, run terraform applyNeed a Lambda function for S3 events?
cp serverless/lambda/s3_event_trigger.py ~/my-lambda/
# Modify logic, zip it, upload to AWSMost scripts assume you have AWS/GCP/Azure CLI configured with proper credentials.
Not production-ready: These scripts work for my use cases. They don't have comprehensive error handling, logging, or tests. Use them as starting points, not drop-in solutions.
Not best practices: Some scripts use hardcoded values. Some use outdated patterns. I kept them because they work for quick prototyping.
Not complete: There are gaps. No ECS configs, minimal GCP content, no multi-region Terraform. I add things as I need them.
I use this library weekly for:
- Spinning up test environments (Terraform VPC + Docker containers)
- Lambda functions for personal projects (S3 triggers, scheduled tasks)
- CloudWatch alarms when I forget to set them up initially
- Kubernetes configs for small side projects
The most-used files:
terraform/vpc_setup.tf- Copied 10+ timesserverless/lambda/s3_event_trigger.py- Base template for event-driven automationmonitoring-logging/cloudwatch/alarm-setup.py- Set up billing/resource alarms fastdocker/docker-compose.yml- Local dev environment boilerplate
This is a personal repo, but if you find something useful or spot an error, feel free to open an issue or PR. Just know that I'm optimizing for "works for me" over "works for everyone."
Started: ~2021 (some scripts date back to my sysadmin days)
Last major update: October 2024
Status: Active reference library