This repository contains my solutions, notes, and documentation for the challenges completed as part of KodeKloud's 100 Days of DevOps – Level 1 program.
Each challenge is documented through detailed Medium articles that explain the problem statement, approach, implementation steps, and key learnings. The goal of this repository is to serve as a centralized reference for my DevOps learning journey and to help others who may be working through the same challenges.
You can access the KodeKloud 100 Days of DevOps Level 1 challenge here:
KodeKloud Practice Portal: https://engineer.kodekloud.com/practice
Feel free to explore the challenge documentation and follow along with the learning journey.
📖 Medium Profile: @janemils
Explore all my DevOps articles and learning journey on Medium.
| Day | Challenge | Article |
|---|---|---|
| 1 | Linux User Setup with Non-Interactive Shell. | Read Article |
| 2 | Temporary User Setup with Expiry. | Read Article |
| 3 | Secure Root SSH Access. | Read Article |
| 4 | Script Execution Permissions. | Read Article |
| 5 | SElinux Installation and Configuration. | Read Article |
| 6 | Create a Cron Job. | Read Article |
| 7 | Linux SSH Authentication. | Read Article |
| 8 | Install Ansible. | Read Article |
| 9 | MariaDB Troubleshooting. | Read Article |
| 10 | Linux Bash Scripts. | Read Article |
| 11 | Install and Configure Tomcat Server. | Read Article |
| 12 | Linux Network Services. | Read Article |
| 13 | IPtables Installation And Configuration. | Read Article |
| 14 | Linux Process Troubleshooting. | Read Article |
| 15 | Setup SSL for Nginx. | Read Article |
| 16 | Install and Configure Nginx as an LBR. | Read Article |
| 17 | Install and Configure PostgreSQL. | Read Article |
| 18 | Configure LAMP server. | Read Article |
| 19 | Install and Configure Web Application. | Read Article |
| 20 | Configure Nginx + PHP-FPM Using Unix Sock. | Read Article |
| Day | Challenge | Article |
|---|---|---|
| 21 | Set Up Git Repository on Storage Server. | Read Article |
| 22 | Clone Git Repository on Storage Server. | Read Article |
| 23 | Fork a Git Repository. | Read Article |
| 24 | Git Create Branches. | Read Article |
| 25 | Git Merge Branches. | Read Article |
| 26 | Git Manage Remotes. | Read Article |
| 27 | Git Revert Some Changes. | Read Article |
| 28 | Git Cherry Pick. | Read Article |
| 29 | Manage Git Pull Requests. | Read Article |
| 30 | Git hard reset. | Read Article |
| 31 | Git stash. | Read Article |
| 32 | Git rebase. | Read Article |
| 33 | Resolve Git Merge Conflicts. | Read Article |
| 34 | Git Hook. | Read Article |
| Day | Challenge | Article |
|---|---|---|
| 35 | Install Docker Packages and Start Docker Service. | Read Article |
| 36 | Deploy Nginx Container on Application Server. | Read Article |
| 37 | Copy File to Docker Container. | Read Article |
| 38 | Pull Docker Image. | Read Article |
| 39 | Create a Docker Image From Container. | Read Article |
| 40 | Docker EXEC Operations. | Read Article |
| 41 | Write a Docker File. | Read Article |
| 42 | Create a Docker Network. | Read Article |
| 43 | Docker Ports Mapping. | Read Article |
| 44 | Write a Docker Compose File. | Read Article |
| 45 | Resolve Dockerfile Issues. | Read Article |
| 46 | Deploy an App on Docker Containers. | Read Article |
| 47 | Docker Python App. | Read Article |
| Day | Challenge | Article |
|---|---|---|
| 48 | Deploy Pods in Kubernetes Cluster. | Read Article |
| 49 | Deploy Applications with Kubernetes Deployments. | Read Article |
| 50 | Set Resource Limits in Kubernetes Pods. | Read Article |
| 51 | Execute Rolling Updates in Kubernetes. | Read Article |
| 52 | Revert Deployment to Previous Version in Kubernetes. | Read Article |
| 53 | Resolve Volume Mounts Issue in Kubernetes. | Read Article |
| 54 | Kubernetes Shared Volumes. | Read Article |
| 55 | Kubernetes Sidecar Containers. | Read Article |
| 56 | Deploy Nginx Web Server on Kubernetes Cluster. | Read Article |
| 57 | Print Environment Variables. | Read Article |
| 58 | Deploy Grafana on Kubernetes Cluster. | Read Article |
| 59 | Troubleshoot Deployment issues in Kubernetes. | Read Article |
| 60 | Persistent Volumes in Kubernetes. | Read Article |
| 61 | Init Containers in Kubernetes. | Read Article |
| 62 | Manage Secrets in Kubernetes. | Read Article |
| 63 | Deploy Iron Gallery App on Kubernetes. | Read Article |
| 64 | Fix Python App Deployed on Kubernetes Cluster. | Read Article |
| 65 | Deploy Redis Deployment on Kubernetes. | Read Article |
| 66 | Deploy MySQL on Kubernetes. | Read Article |
| 67 | Deploy Guest Book App on Kubernetes. | Read Article |
| Day | Challenge | Article |
|---|---|---|
| 68 | Set Up Jenkins Server. | Read Article |
| 69 | Install Jenkins Plugins. | Read Article |
| 70 | Configure Jenkins User Access. | Read Article |
| 71 | Configure Jenkins Job for Package Installation. | Read Article |
| 72 | Jenkins Parameterized Builds. | Read Article |
| 73 | Jenkins Scheduled Jobs. | Read Article |
| 74 | Jenkins Database Backup Job. | Read Article |
| 75 | Jenkins Slave Nodes. | Read Article |
| 76 | Jenkins Project Security. | Read Article |
| 77 | Jenkins Deploy Pipeline. | Read Article |
| 78 | Jenkins Conditional Pipeline. | Read Article |
| 79 | Jenkins Deployment Job. | Read Article |
| 80 | Jenkins Chained Builds. | Read Article |
| 81 | Jenkins Multistage Pipeline. | Read Article |
| Day | Challenge | Article |
|---|---|---|
| 82 | Create Ansible Inventory for App Server Testing. | Read Article |
| 83 | Troubleshoot and Create Ansible Playbook. | Read Article |
| 84 | Copy Data to App Servers using Ansible. | Read Article |
| 85 | Create Files on App Servers using Ansible. | Read Article |
| 86 | Ansible Ping Module Usage. | Read Article |
| 87 | Ansible Install Package. | Read Article |
| 88 | Ansible Blockinfile Module. | Read Article |
| 89 | Ansible Manage Services. | Read Article |
| 90 | Managing ACLs Using Ansible. | Read Article |
| 91 | Ansible Lineinfile Module. | Read Article |
| 92 | Managing Jinja2 Templates Using Ansible. | Read Article |
| 93 | Using Ansible Conditionals. | Read Article |
| Day | Challenge | Article |
|---|---|---|
| 94 | Create VPC Using Terraform. | Read Article |
| 95 | Create Security Group Using Terraform. | Read Article |
| 96 | Create EC2 Instance Using Terraform. | Read Article |
| 97 | Create IAM Policy Using Terraform. | Read Article |
| 98 | Launch EC2 in Private VPC Subnet Using Terraform. | Read Article |
| 99 | Attach IAM Policy for DynamoDB Access Using Terraform. | Read Article |
| 100 | Create and Configure Alarm Using CloudWatch Using Terraform. | Read Article |