Files
portfolio/professional-infra/linux-operations-automation/Makefile
T
Mateusz Suski 35e6b139fc
ci / validate (push) Failing after 1m8s
Initial CV-aligned infrastructure portfolio
Rework portfolio around Linux operations, Zabbix monitoring, migration validation, and ELK/Grafana log observability.

Add AAP-style LVM resize workflow, Zabbix server/proxy/agent automation assets, Linux/AIX monitoring templates, and updated validation CI.
2026-05-04 17:37:24 +00:00

96 lines
4.0 KiB
Makefile

# Linux Operations Automation Makefile
.PHONY: help test run demo patch harden decommission lvm-check up down status logs validate clean lint scale-up-web scale-up-db scale-down-web scale-down-db fail-network fail-disk fail-service fail-node scenario-scaling help-scaling help-failure
help: ## Show this help message
@echo "Linux Operations Automation"
@echo ""
@echo "Available commands:"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " %-18s %s\n", $$1, $$2}'
test: ## Run offline validation checks
ansible-playbook -i inventory/hosts.ini --syntax-check playbooks/*.yml
ansible-lint
run: ## Run provisioning against the configured inventory
ansible-playbook -i inventory/hosts.ini playbooks/provision.yml
demo: ## Run a safe local demonstration without requiring live SSH hosts
SIMULATION_MODE=true bash ./scripts/simulate_failure.sh service 5 web
patch: ## Apply patching workflow against the configured inventory
ansible-playbook -i inventory/hosts.ini playbooks/patch.yml
harden: ## Apply hardening workflow against the configured inventory
ansible-playbook -i inventory/hosts.ini playbooks/hardening.yml
decommission: ## Run decommissioning workflow against the configured inventory
ansible-playbook -i inventory/hosts.ini playbooks/decommission.yml
lvm-check: ## Validate the AAP-style LVM resize workflow
ansible-playbook -i inventory/hosts.ini --syntax-check playbooks/lvm_resize.yml
up: ## Start the optional local container scaffold
docker compose up -d
down: ## Stop the optional local container scaffold
docker compose down
status: ## Show local scaffold status and inventory hosts
docker compose ps
ansible -i inventory/hosts.ini --list-hosts all || echo "Inventory check failed"
logs: ## Show local scaffold logs
docker compose logs -f --tail=100
validate: ## Run all offline validation checks
$(MAKE) test
docker compose config --quiet
clean: ## Clean up generated local logs and reports
rm -f logs/*.log reports/*.txt
lint: ## Lint Ansible content
ansible-lint
scale-up-web: ## Scale up web servers in simulation mode (usage: make scale-up-web COUNT=2)
SIMULATION_MODE=true bash ./scripts/simulate_scaling.sh up $(or $(COUNT),1) web
scale-up-db: ## Scale up database servers in simulation mode (usage: make scale-up-db COUNT=1)
SIMULATION_MODE=true bash ./scripts/simulate_scaling.sh up $(or $(COUNT),1) db
scale-down-web: ## Scale down web servers in simulation mode (usage: make scale-down-web COUNT=1)
SIMULATION_MODE=true bash ./scripts/simulate_scaling.sh down $(or $(COUNT),1) web
scale-down-db: ## Scale down database servers in simulation mode (usage: make scale-down-db COUNT=1)
SIMULATION_MODE=true bash ./scripts/simulate_scaling.sh down $(or $(COUNT),1) db
fail-network: ## Simulate network failure safely (usage: make fail-network DURATION=60)
SIMULATION_MODE=true bash ./scripts/simulate_failure.sh network $(or $(DURATION),60)
fail-disk: ## Simulate disk pressure safely (usage: make fail-disk DURATION=120)
SIMULATION_MODE=true bash ./scripts/simulate_failure.sh disk $(or $(DURATION),120)
fail-service: ## Simulate service failures safely (usage: make fail-service DURATION=30)
SIMULATION_MODE=true bash ./scripts/simulate_failure.sh service $(or $(DURATION),30)
fail-node: ## Simulate node failure safely (usage: make fail-node DURATION=300)
SIMULATION_MODE=true bash ./scripts/simulate_failure.sh node $(or $(DURATION),300)
scenario-scaling: ## Run scaling event syntax validation
ansible-playbook -i inventory/hosts.ini --syntax-check scenarios/scaling_event.yml
help-scaling: ## Show scaling-related commands
@echo "Scaling Commands:"
@echo " make scale-up-web COUNT=2"
@echo " make scale-up-db COUNT=1"
@echo " make scale-down-web COUNT=1"
@echo " make scale-down-db COUNT=1"
help-failure: ## Show failure simulation commands
@echo "Failure Simulation Commands:"
@echo " make fail-network DURATION=60"
@echo " make fail-disk DURATION=120"
@echo " make fail-service DURATION=30"
@echo " make fail-node DURATION=300"