railiance-cluster/Makefile

35 lines
1.1 KiB
Makefile
Raw Normal View History

.DEFAULT_GOAL := help
INVENTORY ?= ansible/hosts.ini
##@ Safety Net
backup: ## Backup k3s etcd + Helm values + kubeconfig (age-encrypted, root required)
sudo tools/cmd/railiance-backup-s2
restore: ## List available backups and print restore guide
tools/cmd/railiance-restore-s2
preflight: ## Pre-migration safety gate — must pass before cluster work
bin/railiance preflight
##@ Kubernetes
k3s-install: ## Install k3s and Helm on all inventory hosts
ansible-playbook -i $(INVENTORY) ansible/bootstrap.yml
smoke: ## Run Kubernetes smoke tests
bash tests/smoke_kube.sh
test-ha-failover: ## Run HA failover test (D3) — kills primary PG pod, asserts recovery
bash tests/test_ha_failover.sh $(if $(GITEA_URL),$(GITEA_URL),)
##@ Help
help: ## Show this help
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} \
/^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 } \
/^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) }' $(MAKEFILE_LIST)
.PHONY: backup restore preflight k3s-install smoke test-ha-failover help