A comprehensive collection of DevOps tools, scripts, configurations, and examples for learning and practical implementation across different cloud platforms and technologies.
This repository serves as a centralized hub for DevOps-related code examples, automation scripts, infrastructure configurations, and deployment strategies. It's designed to support learning, experimentation, and real-world implementation of DevOps practices.
devops/
βββ infrastructure/ # Infrastructure as Code (IaC)
β βββ terraform/ # Terraform configurations
β βββ ansible/ # Ansible playbooks and roles
βββ cloud/ # Cloud platform examples
β βββ aws/ # Amazon Web Services
β βββ gcp/ # Google Cloud Platform
β βββ azure/ # Microsoft Azure
βββ scripts/ # Automation scripts
β βββ linux/ # Linux system administration
β βββ windows/ # Windows PowerShell scripts
βββ ci-cd/ # CI/CD pipeline examples
β βββ github-actions/ # GitHub Actions workflows
β βββ gitlab-ci/ # GitLab CI/CD pipelines
β βββ jenkins/ # Jenkins configurations
βββ deployment/ # Deployment strategies
β βββ blue-green/ # Blue-green deployment
β βββ kubernetes/ # Kubernetes manifests
β βββ docker/ # Docker configurations
βββ monitoring/ # Monitoring and logging
βββ logs/ # ELK Stack, Loki configurations
Before using the examples in this repository, ensure you have the following tools installed:
-
Cloud CLIs:
- AWS CLI for AWS examples
- gcloud CLI for GCP examples
- Azure CLI for Azure examples
-
Infrastructure Tools:
-
Container Tools:
-
Programming Languages:
- Python 3.8+
- Node.js 20+
- Bash (for Linux scripts)
-
Clone the repository:
git clone https://github.com/lamngockhuong/devops.git cd devops -
Install Python dependencies:
pip install boto3 google-cloud-storage azure-storage-blob
-
Configure cloud credentials:
# AWS aws configure # GCP gcloud auth login gcloud config set project YOUR_PROJECT_ID # Azure az login
# Deploy AWS infrastructure with Terraform
cd infrastructure/terraform/aws/
terraform init
terraform plan
terraform apply# Run AWS EC2 management script
python cloud/aws/ec2/basic-instance-management.py
# Execute system information script
chmod +x scripts/linux/system-admin/system-info.sh
./scripts/linux/system-admin/system-info.sh# Build multi-stage Docker image
docker build -f deployment/docker/multi-stage/Dockerfile -t myapp .
# Deploy blue-green setup
cd deployment/blue-green/simple-on-linux/
chmod +x blue-green-deploy.sh
./blue-green-deploy.sh- Start with
scripts/linux/for basic automation - Explore
cloud/aws/for cloud fundamentals - Try
deployment/docker/for containerization basics
- Work through
infrastructure/terraform/for IaC - Implement
ci-cd/github-actions/pipelines - Practice with
deployment/kubernetes/orchestration
- Design complex infrastructures using modules
- Create custom CI/CD workflows
- Implement comprehensive monitoring solutions
Each directory contains its own README with specific configuration instructions:
infrastructure/README.md- IaC setup and best practicescloud/README.md- Cloud platform configurationsscripts/README.md- Script usage and guidelinesci-cd/README.md- Pipeline setup instructions
- Never commit sensitive data (API keys, passwords, certificates)
- Use environment variables or secure secret management
- Implement least privilege access principles
- Regularly update dependencies and base images
- Enable security scanning in CI/CD pipelines
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Include documentation for new examples
- Follow existing code style and structure
- Add tests where applicable
- Update relevant README files
- AWS Documentation
- Google Cloud Documentation
- Azure Documentation
- Terraform Documentation
- Kubernetes Documentation
This project is licensed under the MIT License - see the LICENSE file for details.
- Author: Lam Ngoc Khuong
- GitHub: @lamngockhuong
- Email: [email protected]
devops aws gcp azure terraform ansible docker kubernetes ci-cd automation infrastructure monitoring deployment
β Star this repository if you find it helpful!