This repository contains my solutions and notes from the 100 Days of DevOps challenge on KodeKloud. It covers practical DevOps topics including Linux, Docker, Kubernetes, Ansible, Terraform, Jenkins, and AWS.
- Day 1: Linux User Setup with Non-Interactive Shell
- Day 2: Temporary User Setup with Expiry
- Day 3: Secure Root SSH Access
- Day 4: Script Execution Permissions
- Day 5: SELinux Installation and Configuration
- Day 6: Create a Cron Job
- Day 7: Linux SSH Authentication
- Day 8: Install Ansible
- Day 9: MariaDB Troubleshooting
- Day 10: Linux Bash Scripts
- Day 11: Install and Configure Tomcat Server
- Day 12: Linux Network Services
- Day 13: IPtables Installation And Configuration
- Day 14: Linux Process Troubleshooting
- Day 15: Setup SSL for Nginx
- Day 16: Install and Configure Nginx as an LBR
- Day 17: Install and Configure PostgreSQL
- Day 18: Configure LAMP server
- Day 19: Install and Configure Web Application
- Day 20: Configure Nginx + PHP-FPM Using Unix Sock
- Day 21: Set Up Git Repository on Storage Server
- Day 22: Clone Git Repository on Storage Server
- Day 23: Fork a Git Repository
- Day 24: Git Create Branches
- Day 25: Git Merge Branches
- Day 26: Git Manage Remotes
- Day 27: Git Revert Some Changes
- Day 28: Git Cherry Pick
- Day 29: Manage Git Pull Requests
- Day 30: Git hard reset
- Day 31: Git Stash
- Day 32: Git Rebase
- Day 33: Resolve Git Merge Conflicts
- Day 34: Git Hook
- Day 35: Install Docker Packages and Start Docker Service
- Day 36: Deploy Nginx Container on Application Server
- Day 37: Copy File to Docker Container
- Day 38: Pull Docker Image
- Day 39: Create a Docker Image From Container
- Day 40: Docker EXEC Operations
- Day 41: Write a Docker File
- Day 42: Create a Docker Network
- Day 43: Docker Ports Mapping
- Day 44: Write a Docker Compose File
- Day 45: Resolve Dockerfile Issues
- Day 46: Deploy an App on Docker Containers
- Day 47: Docker Python App
- Day 48: Deploy Pods in Kubernetes Cluster
- Day 49: Deploy Applications with Kubernetes Deployments
- Day 50: Set Resource Limits in Kubernetes Pods
- Day 51: Execute Rolling Updates in Kubernetes
- Day 52: Revert Deployment to Previous Version in Kubernetes
- Day 53: Resolve VolumeMounts Issue in Kubernetes
- Day 54: Kubernetes Shared Volumes
- Day 55: Kubernetes Sidecar Containers
- Day 56: Deploy Nginx Web Server on Kubernetes Cluster
- Day 57: Print Environment Variables
- Day 58: Deploy Grafana on Kubernetes Cluster
- Day 59: Troubleshoot Deployment issues in Kubernetes
- Day 60: Persistent Volumes in Kubernetes
- Day 61: Init Containers in Kubernetes
- Day 62: Manage Secrets in Kubernetes
- Day 63: Deploy Iron Gallery App on Kubernetes
- Day 64: Fix Python App Deployed on Kubernetes Cluster
- Day 65: Deploy Redis Deployment on Kubernetes
- Day 66: Deploy MySQL on Kubernetes
- Day 67: Deploy Guest Book App on Kubernetes
- Day 68: Set Up Jenkins Server
- Day 69: Install Jenkins Plugins
- Day 70: Configure Jenkins User Access
- Day 71: Configure Jenkins Job for Package Installation
- Day 72: Jenkins Parameterized Builds
- Day 73: Jenkins Scheduled Jobs
- Day 74: Jenkins Database Backup Job
- Day 75: Jenkins Slave Nodes
- Day 76: Jenkins Project Security
- Day 77: Jenkins Deploy Pipeline
- Day 78: Jenkins Conditional Pipeline
- Day 79: Jenkins Deployment Job
- Day 80: Jenkins Chained Builds
- Day 81: Jenkins Multistage Pipeline
- Day 82: Create Ansible Inventory for App Server Testing
- Day 83: Troubleshoot and Create Ansible Playbook
- Day 84: Copy Data to App Servers using Ansible
- Day 85: Create Files on App Servers using Ansible
- Day 86: Ansible Ping Module Usage
- Day 87: Ansible Install Package
- Day 88: Ansible Blockinfile Module
- Day 89: Ansible Manage Services
- Day 90: Managing ACLs Using Ansible
- Day 91: Ansible Lineinfile Module
- Day 92: Managing Jinja2 Templates Using Ansible
- Day 93: Using Ansible Conditionals
- Day 94: Create VPC Using Terraform
- Day 95: Create Security Group Using Terraform
- Day 96: Create EC2 Instance Using Terraform
- Day 97: Create IAM Policy Using Terraform
- Day 98: Launch EC2 in Private VPC Subnet Using Terraform
- Day 99: Attach IAM Policy for DynamoDB Access Using Terraform
- Day 100: Create and Configure Alarm Using CloudWatch Using Terraform Keywords: 100 Days of DevOps, KodeKloud, DevOps challenges, Docker, Kubernetes, Ansible, Terraform, Jenkins, Linux, AWS