This is a repo contains directories of projects on devops carried out during Software Engineering studies at ALX SE
and Holberton School
.
In the projects in this repo, I'm learning system engineering as a skill in SWE and using the knowledge acquired to solve tasks that are in this repo.
All of the following directories are projects done during the studies:
Project name | Description |
---|---|
0x00-shell_basics |
Introduction to shell. Learning what is shell, shell navigation, looking around, manipulating files, working with commands, reading man pages and keyboard shortcuts for bash. |
0x01-shell_permissions |
Learning commands chmod , sudo , su , chown , chgrp , linux file permissions, represent sets of permissions (owner, group, and other) as a single digit, changing permissions, owner and group of a file, running a command with root privileges and changing user ID or becoming superuser |
0x02-shell_redirections |
Learning Shell input/output(I/O) redirections, special characters and man pages. |
0x03-shell_variables_expansions |
Learning Shell Initialization Files, variables, expansion, shell arithmetics, the alias command and other help pages. |
0x04-loops_conditions_and_parsing |
Understanding SSH RSA key pair, Bash scripting using different looping methods, conditions, parsing, comparison and file test operators. |
0x05-processes_and_signals |
Learning PID , Linux processes(Environment extern , environ , getenv , setenv ), Environment list, Linux signals, commands for Process Management and Process States in Linux. |
0x06-regular_expressions |
Understanding basics of Regular Expressions i.e regex including repetition, anchor, character, short character and lookaround and lookahead tokens as well as repetition quantifiers and group/back references. |
0x07-networking_basics |
Introduction into networking basics including OSI model, Local and Wide Area networks (LAN , WAN ), Internet, MAC, public and private addresses as well as localhost. |
0x08-networking_basics_2 |
Learning Transmission Control Protocol (TCP ), User Diagram Protocol (UDP ), ping , ICMP , Positional Parameters, 0.0.0.0 , Linux Hosts file and Linux Netcat (nc ) commands. |
0x09-web_infrastructure_design |
Files containing links to images with different web infrastructure designs. |
0x0A-configuration_management |
An introduction and understanding of Configuration Management using puppet and importance of CM in servers. |
0x0B-ssh |
Understanding SSH essentials, working with SSH servers, clients and keys. |
0x0C-web_server |
Understanding a web server, how the web works, Nginx web server, HTTP Methods, Redirects, Domains, Subdomains and paths. |
0x0D-web_stack_debugging_0 |
Understanding debugging concept on the web. |
0x0E-web_stack_debugging_1 |
Understanding debugging concept on the web. Using debugging skills to ensure Ubuntu container’s Nginx installation is listening to port 80 . Files contain bash script to automate the fix and making the fix shorter. |
0x0F-load_balancer |
An introduction into Load Balancing and HA-Proxy. Improving web stack to ensure redundancy by introducing load balancer to accept more traffic to two web servers(make infrastructure more reliable) and adding custom HTTP header with Puppet. |
0x10-https_ssl |
An introduction into HTTPS, elements of SSL & HAProxy SSL termination. Configured subdomains to domain, created certificate using certbot , configured HAproxy to accept encrypted traffic for subdomain and enforced HTTPS traffic to disable unencrypted traffic. |
0x11-how_the_browser_works |
Intro into technical writing and open source contribution. Directory containing link to a blog post to explain what happens on typing a link i.e www.google.com on the browser and pressing enter. |
0x12-web_stack_debugging_2 |
Understanding root priviledges as a superuser and fixing container so that Nginx is running as nginx user (through bash scripting). |
0x13-firewall |
An introduction and understanding of Firewalls including Network and Host-based firewalls. Installed Firewalls in my servers to monitor incoming and outgoing network traffic. |
0x14-mysql |
Understanding redundancy plans including RAID, Block-level, SQL Replication and Distribution redundancies. Installed and set-up Master-Slave Replication method on web-01 and web02 servers. |
0x15-api |
An introduction into APIs, RESTful APIs and the concept of Microservices versus Monolithic Applications. |
0x16-api_advanced |
Understanding how to read API documentation to find endpoints, using API with pagination, parsing JSON results from API, making recursive API call and sorting dictionary by value. Files contains functions queried from Reddit API to perform different tasks . |
0x17-web_stack_debugging_3 |
Directory containing automated Puppet file to use strace command to fix 500 error in Apache . |
0x18-webstack_monitoring |
Understanding Webstack Monitoring including Application and Server monitoring using Datadog including application performance management, monitoring distributed systems (whitebox, blackbox monitoring & dashboard) and Nginx logging and monitoring. |
0x19-postmortem |
Understanding how to write an incident report/Postmortem on occurence of a fault as a Site Reliability Engineer (SRE ). |
0x1A-application_server |
Understanding differences between web and application servers, setting up production with Gunicorn, serving pages with Nginx, adding route with query parameters including API, serving and deploying websites. |
0x1B-web_stack_debugging_4 |
Benchmarking Nginx under pressure and solving failed requests using ApacheBench to have 0 failed requests & changing OS configuration enabling login of a user. |
attack_is_the_best_defense |
Understanding how unsecured traffic can be intercepted by a middle-man. Learning attack methods such as ARP spoofing and sniffing and dictionary attack. |
command_line_for_the_win |
A cool game challenge on bask skills. Everything is done via the command line and the questions are becoming increasingly complicated. It’s a good training to improve your command line skills |