🎯 Complete journey through 100 days of hands-on DevOps learning with practical solutions and real-world scenarios
This repository contains my comprehensive solutions and learning journey through the KodeKloud 100 Days of DevOps Challenge. Each day focuses on practical, hands-on DevOps skills that are essential in modern software development and infrastructure management.
- ✅ Step-by-step solutions with detailed explanations
- 📝 Practical commands and configurations
- 🔧 Real-world scenarios and troubleshooting guides
- 💡 Best practices and industry standards
- 🚀 Progressive learning from basics to advanced concepts
| Day | Topic | Key Technologies | Difficulty |
|---|---|---|---|
| 1 | Linux User Setup with Non-Interactive Shell | 🟢 Beginner | |
| 2 | Temporary User Setup with Expiry | 🟢 Beginner | |
| 3 | Secure Root SSH Access | 🟡 Intermediate | |
| 4 | Script Execution Permissions | 🟢 Beginner | |
| 5 | SELinux Installation and Configuration | 🔴 Advanced | |
| 21 | Set Up Git Repository on Storage Server | 🟢 Beginner | |
| 22 | Clone Git Repository on Storage Server | 🟢 Beginner | |
| 23 | Fork a Git Repository | 🟢 Beginner | |
| 24 | Git Create Branches | 🟢 Beginner | |
| 25 | Git Merge Branches | 🟢 Beginner | |
| 26 | Git Manage Remotes | 🟢 Beginner | |
| 27 | Git Revert Some Changes | 🟢 Beginner | |
| 28 | Git Cherry-Pick a Commit | 🟢 Beginner | |
| 29 | Manage Git Pull Requests | 🟢 Beginner | |
| 30 | Git Hard Reset | 🟢 Beginner | |
| 31 | Git Stash | 🟢 Beginner | |
| 32 | Git Rebase | 🟢 Beginner | |
| 33 | Resolve Git Merge Conflicts | 🟡 Intermediate | |
| 34 | Git Hook — Auto-tag release on master push (post-update) | 🟡 Intermediate |
| Day | Topic | Key Technologies | Difficulty |
|---|---|---|---|
| 6 | Create a Cron Job | 🟢 Beginner | |
| 7 | Linux SSH Authentication | 🟡 Intermediate | |
| 8 | Install Ansible | 🟡 Intermediate | |
| 10 | Website Media Backup Script | 🟡 Intermediate |
| Day | Topic | Key Technologies | Difficulty |
|---|---|---|---|
| 9 | MariaDB Troubleshooting | 🟡 Intermediate | |
| 11 | Install & Configure Tomcat Server | 🟡 Intermediate | |
| 17 | Install and Configure PostgreSQL | 🟡 Intermediate |
| Day | Topic | Key Technologies | Difficulty |
|---|---|---|---|
| 12 | Linux Network Services | 🟡 Intermediate | |
| 13 | IPtables Installation and Configuration | 🔴 Advanced | |
| 14 | Linux Process Troubleshooting | 🟡 Intermediate | |
| 15 | Setup SSL for Nginx | 🔴 Advanced | |
| 16 | Install & Configure Nginx as Load Balancer | 🔴 Advanced | |
| 18 | Configure LAMP server | 🟡 Intermediate | |
| 19 | Install and Configure Web Application | 🟢 Beginner | |
| 20 | Configure Nginx + PHP-FPM Using Unix Sock | 🟡 Intermediate |
| Day | Topic / Guide | Tech / Badge | Level |
|---|---|---|---|
| 35 | Install Docker Packages and Start Docker Service | 🟡 Intermediate | |
| 36 | Deploy Nginx Container on Application Server | 🟢 Beginner | |
| 37 | Copy File to Docker Container | 🟢 Beginner | |
| 38 | Pull Docker Image | 🟢 Beginner | |
| 39 | Create a Docker Image From Container | 🟢 Beginner | |
| 40 | Docker EXEC Operations | 🟢 Beginner | |
| 41 | Write a Docker File | 🟢 Beginner | |
| 42 | Create a Docker Network | 🟡 Intermediate | |
| 44 | Write a Docker Compose File | 🟡 Intermediate | |
| 43 | Docker Ports Mapping | 🟢 Beginner | |
| 45 | Resolve Dockerfile Issues | 🟡 Intermediate | |
| 46 | Deploy an App on Docker Containers | 🟡 Intermediate | |
| 47 | Docker Python App | 🟡 Intermediate |
| Day | Topic / Guide | Tech / Badge | Level |
|---|---|---|---|
| 68 | Set Up Jenkins Server | 🟡 Intermediate | |
| 69 | Install Jenkins Plugins | 🟢 Beginner | |
| 70 | Configure Jenkins User Access | 🟡 Intermediate | |
| 71 | Configure Jenkins Job for Package Installation | 🟡 Intermediate | |
| 72 | Jenkins Parameterized Builds | 🟢 Beginner | |
| 73 | Jenkins Scheduled Jobs | 🟡 Intermediate | |
| 74 | Jenkins Database Backup Job | 🟡 Intermediate |
-
Clone the repository
git clone https://github.com/karadHub/100-Days-Of-DevOps.git cd 100-Days-Of-DevOps -
Navigate to any day's solution
cd "Day 1"
-
Follow the step-by-step instructions in each day's markdown file
| Infrastructure | Automation | Security | Monitoring |
|---|---|---|---|
| Linux Administration | Ansible | SSH Hardening | Process Management |
| Network Configuration | Bash Scripting | SELinux | Log Analysis |
| Service Management | Cron Jobs | IPTables | Troubleshooting |
| Load Balancing | CI/CD | SSL/TLS | Performance Tuning |
Found an issue or have a better solution? Contributions are welcome!
- Fork the repository
- Create your feature branch (
git checkout -b feature/improvement) - Commit your changes (
git commit -am 'Add some improvement') - Push to the branch (
git push origin feature/improvement) - Open a Pull Request
If this repository helped you in your DevOps journey, please consider:
⭐ Starring this repository 🍴 Forking for your own learning 📢 Sharing with fellow DevOps enthusiasts