jamformer는 기존 Jamf 인스턴스에서 Terraform 프로젝트를 부트스트랩하는 CLI 도구입니다. 환경에 연결하고, Jamf API 또는 Protect 및 Platform용 terraform query를 통해 리소스를 검색하고, Terraform 가져오기 블록을 생성하고, terraform plan -generate-config-out을 실행하여 HCL을 생성한 다음 출력을 후처리하여 교차 리소스 참조를 추가하고 리소스 유형별로 파일을 구성합니다. 결과는 배우고 개선할 수 있는 현실적인 시작 스캐폴드이며, 프로덕션 준비 코드가 아니라 진실한 첫 번째 초안입니다.
기능
- 다음 Terraform 공급자 지원: Jamf Pro, Protect, Platform 및 Security Cloud(JSC)
- 정책, 스크립트, 구성 프로필, 스마트 및 정적 그룹, 컴퓨터 및 모바일 선행 등록, 확장 속성, 패키지, 범주, API 통합 등을 포함한 100개 이상의 리소스 유형 검색 및 내보내기
- 후처리는 Jamf ID를 교차 리소스 Terraform 참조로 다시 작성하므로 관계가 하드코딩된 정수보다 명시적입니다.
- 포함된 콘텐츠(스크립트, 프로필, 앱 구성, 브랜딩 자산)를 별도 지원 파일로 추출
- Jamf 특정 규칙과 포함된 자격 증명에 대한 대화형 수정을 통한 gitleaks를 통한 보안 검색 — 암호, API 토큰, WiFi 암호, LDAP 및 SMTP 시크릿
- 컴팩트 모드는 균일한 리소스 유형을 깔끔한 프로덕션 근처 출력을 위해
for_each패턴으로 통합 - 실험적 다중 환경 모드는 스테이징 및 프로덕션 인스턴스를 관리하는 팀을 위해 공유 모듈 및 환경별 디렉터리 구조를 생성합니다.
- Jamf에 대해 읽기 전용 — 인스턴스에서 아무것도 수정, 생성 또는 삭제하지 않습니다.
요구 사항
- Terraform 1.14 이상(없으면 자동 다운로드)
- Jamf Pro(감시자 역할 또는 동등), Jamf Protect, Jamf Platform 또는 Jamf Security Cloud
- Protect, Platform 및 JSC용 OAuth2 클라이언트 자격 증명; Jamf Pro용 사용자 이름/암호 또는 OAuth2
- 소스에서 구축하려면 Go 1.26.2 이상