Skip to content

lamngockhuong/devops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevOps Learning Repository

A comprehensive collection of DevOps tools, scripts, configurations, and examples for learning and practical implementation across different cloud platforms and technologies.

πŸ“‹ Overview

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.

πŸ—οΈ Repository Structure

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

πŸš€ Getting Started

Prerequisites

Before using the examples in this repository, ensure you have the following tools installed:

Quick Setup

  1. Clone the repository:

    git clone https://github.com/lamngockhuong/devops.git
    cd devops
  2. Install Python dependencies:

    pip install boto3 google-cloud-storage azure-storage-blob
  3. Configure cloud credentials:

    # AWS
    aws configure
    
    # GCP
    gcloud auth login
    gcloud config set project YOUR_PROJECT_ID
    
    # Azure
    az login

πŸ“š Usage Examples

Infrastructure as Code

# Deploy AWS infrastructure with Terraform
cd infrastructure/terraform/aws/
terraform init
terraform plan
terraform apply

Cloud Operations

# 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

Container Deployment

# 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

🎯 Learning Path

Beginner

  1. Start with scripts/linux/ for basic automation
  2. Explore cloud/aws/ for cloud fundamentals
  3. Try deployment/docker/ for containerization basics

Intermediate

  1. Work through infrastructure/terraform/ for IaC
  2. Implement ci-cd/github-actions/ pipelines
  3. Practice with deployment/kubernetes/ orchestration

Advanced

  1. Design complex infrastructures using modules
  2. Create custom CI/CD workflows
  3. Implement comprehensive monitoring solutions

πŸ”§ Configuration

Each directory contains its own README with specific configuration instructions:

πŸ›‘οΈ Security Considerations

  • 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

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Contribution Guidelines

  • Include documentation for new examples
  • Follow existing code style and structure
  • Add tests where applicable
  • Update relevant README files

πŸ“– Resources

Documentation

Learning Materials

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“ž Contact

🏷️ Tags

devops aws gcp azure terraform ansible docker kubernetes ci-cd automation infrastructure monitoring deployment


⭐ Star this repository if you find it helpful!

About

DevOps examples

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •