terraform-azurerm-set-diff-analyzer
Odróżnij rzeczywiste zmiany od fałszywych różnic w planach Terraform dla Azure
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Narzędzie analizuje wyjście terraform plan w formacie JSON dla zasobów Azure, aby zidentyfikować fałszywe różnice spowodowane zmianami kolejności w atrybutach typu Set. Terraform porównuje elementy Set po pozycji, a nie po kluczu — dodanie lub usunięcie jednego elementu powoduje, że wszystkie elementy wyglądają na zmienione. Ta umiejętność filtruje szum i pokazuje tylko rzeczywiste zmiany w zasobach takich jak Application Gateway, Load Balancer, Firewall, Front Door i NSG.
Jak używać
Upewnij się, że masz zainstalowany Python 3.8 lub nowszy. Jeśli Python nie jest dostępny, zainstaluj go za pomocą menedżera pakietów (apt install python3, brew install python3) lub ze strony python.org.
Wygeneruj plik planu Terraform w formacie JSON, uruchamiając terraform plan -out=plan.tfplan, a następnie terraform show -json plan.tfplan > plan.json. Polecenie zapisze strukturę planu do pliku plan.json.
Uruchom skrypt analizy, wpisując python scripts/analyze_plan.py plan.json. Skrypt przeanalizuje plik i wyświetli listę rzeczywistych zmian, odfiltrując fałszywe różnice spowodowane zmianami kolejności elementów w atrybutach Set.
Przejrzyj wynik — zobaczysz tylko zmiany, które faktycznie wpłyną na zasoby Azure. Jeśli terraform plan pokazywał wiele zmian, ale dodałeś lub usunąłeś tylko jeden element, narzędzie wykaże, które różnice są fałszywe.
W przypadku błędu "python: command not found" użyj python3 zamiast python. Jeśli pojawi się ModuleNotFoundError, upewnij się, że masz Python 3.8+ — skrypt używa tylko biblioteki standardowej.