karadHub/100-Days-Of-DevOps
Welcome to the 100 Days of DevOps Challenge by KodeKloud! This repository contains my solutions for each day of the challenge. Each dayβs solution will be organized in its respective folder. Stay tuned for daily updates and hands-on DevOps learning!
π 100 Days of DevOps Challenge - KodeKloud Solutions
π― Complete journey through 100 days of hands-on DevOps learning with practical solutions and real-world scenarios
π About This Repository
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.
π― What You'll Find Here
- β 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
πΊοΈ Learning Path
π§ System Administration & Security
| 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 |
π Automation & Orchestration
| 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 |
ποΈ Database & Services
| Day | Topic | Key Technologies | Difficulty |
|---|---|---|---|
| 9 | MariaDB Troubleshooting | π‘ Intermediate | |
| 11 | Install & Configure Tomcat Server | π‘ Intermediate | |
| 17 | Install and Configure PostgreSQL | π‘ Intermediate |
π Networking & Web Services
| 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 |
π³ Containers & Containerization
| 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 |
βΈοΈ Kubernetes & Orchestration
π CI/CD & Automation Servers
| 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 |
π Quick Start
-
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
π― Skills You'll Master
| 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 |
π€ Contributing
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
π Connect & Support
If this repository helped you in your DevOps journey, please consider:
β Starring this repository
π΄ Forking for your own learning
π’ Sharing with fellow DevOps enthusiasts