This project aims to automate the setup and configuration of a load balancer and multiple web servers to improve the reliability and scalability of a web infrastructure. The task involves configuring HAProxy for load balancing and setting up redundant web servers with custom HTTP headers using Bash scripts and Puppet.
- Load balancer
- Web stack debugging
The project provides two additional servers: gc-[STUDENT_ID]-web-02-XXXXXXXXXX
and gc-[STUDENT_ID]-lb-01-XXXXXXXXXX
. The goal is to enhance the web stack to ensure redundancy and handle more traffic efficiently. This involves configuring the web servers behind a load balancer, allowing for distribution of incoming requests and ensuring reliability even if one server fails.
- Allowed editors: vi, vim, emacs
- All files interpreted on Ubuntu 16.04 LTS
- Bash scripts must be executable
- Scripts must pass Shellcheck (version 0.3.7) without errors
- First line of Bash scripts:
#!/usr/bin/env bash
- Second line of Bash scripts: Comment explaining script's purpose
- Configure Nginx on
web-01
andweb-02
to include a custom HTTP headerX-Served-By
with the hostname. - Write a Bash script (
0-custom_http_response_header
) to configure a new Ubuntu machine to meet the task requirements.
- Install and configure HAProxy on
lb-01
to distribute traffic betweenweb-01
andweb-02
. - Ensure HAProxy can be managed via an init script.
- Write a Bash script (
1-install_load_balancer
) to configure a new Ubuntu machine to meet the task requirements.
- Automate the creation of a custom HTTP header using Puppet.
- Write a Puppet script (
2-puppet_custom_http_response_header.pp
) to configure a new Ubuntu machine to meet the task requirements.
- GitHub repository: alx-system_engineering-devops
- Directory:
0x0F-load_balancer
- Files:
0-custom_http_response_header
1-install_load_balancer
2-puppet_custom_http_response_header.pp
Copyright © 2024 ALX, All rights reserved.