jamformer to narzędzie CLI, które tworzy projekt Terraform na podstawie istniejącej instancji Jamf. Łączy się ze środowiskiem, odkrywa zasoby za pośrednictwem API Jamf (lub terraform query dla Protect i Platform), generuje bloki importu Terraform, uruchamia terraform plan -generate-config-out w celu utworzenia HCL, a następnie przeprowadza przetwarzanie końcowe w celu dodania odwołań między zasobami i organizacji plików według typu zasobu. Wynik to realistyczny początkowy szablon do nauki i doskonalenia — nie kod gotowy do produkcji, ale uczciwy pierwszy wersja robocza.
Funkcje
- Obsługuje następujące dostawców Terraform: Jamf Pro, Protect, Platform i Security Cloud (JSC)
- Odkrywa i eksportuje 100+ typów zasobów, w tym zasady, skrypty, profile konfiguracyjne, grupy inteligentne i statyczne, prestage'e komputerów i mobilne, atrybuty rozszerzenia, pakiety, kategorie, integracje API i wiele więcej
- Przetwarzanie końcowe przepisuje identyfikatory Jamf na odwołania Terraform między zasobami, dzięki czemu relacje są jawne zamiast hardcodowanych liczb całkowitych
- Wyodrębnia osadzoną zawartość (skrypty, profile, konfiguracje aplikacji, zasoby brandingowe) do oddzielnych plików wsparcia
- Skanowanie sekretów za pośrednictwem gitleaks z regułami specyficznymi dla Jamf i interaktywną korektą osadzonych poświadczeń — hasła, tokeny API, hasła WiFi, sekrety LDAP i SMTP
- Tryb kompaktowy konsoliduje jednolite typy zasobów w wzorce
for_eachdla czystszego wyjścia bliższego produkcji - Eksperymentalny tryb wielośrodowiskowy generuje moduł wspólny i strukturę katalogów dla każdego środowiska dla zespołów zarządzających instancjami przejściowymi i produkcyjnymi
- Tylko do odczytu wobec Jamf — nigdy nie modyfikuje, nie tworzy ani nie usuwa niczego w instancji
Wymagania
- Terraform 1.14 lub nowszy (pobierany automatycznie, jeśli nie jest obecny)
- Jamf Pro (rola Auditor lub równoważna), Jamf Protect, Jamf Platform lub Jamf Security Cloud
- Poświadczenia klienta OAuth2 dla Protect, Platform i JSC; nazwa użytkownika/hasło lub OAuth2 dla Jamf Pro
- Go 1.26.2 lub nowszy do budowania ze źródła