Some checks failed
railiance-tests / smoke (push) Has been cancelled
T02: note to verify etcd is in use before implementing; flags root requirement
T03: add KUBECONFIG to helm commands; note root access approach
T06: document solution to sudo problem — run cron under root's crontab,
not a sudoers whitelist. Add restore drill commands. Fix cron to use
absolute path (~ unreliable in root crontab).
T01: note to remove old railiance-backup script (wrong scope)
Makefile: fix stale backup description, add restore target, fix .PHONY
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
35 lines
1.1 KiB
Makefile
35 lines
1.1 KiB
Makefile
.DEFAULT_GOAL := help
|
|
|
|
INVENTORY ?= ansible/hosts.ini
|
|
|
|
##@ Safety Net
|
|
|
|
backup: ## Backup k3s etcd + Helm values + kubeconfig (age-encrypted, root required)
|
|
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
|