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.
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# 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"
|
||||
Reference in New Issue
Block a user