Jamf Concepts

jamformer

New

既存の Jamf インスタンスから Terraform プロジェクトをブートストラップします

Infrastructure as CodemacOSLinuxWeb

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 リファレンスに書き直し、関係を明示的にし、ハードコードされた整数ではなく表現
  • 埋め込みコンテンツ(スクリプト、プロファイル、アプリ設定、ブランディング資産)を別のサポートファイルに抽出
  • gitleaks による秘密スキャン(Jamf 固有のルール付き)と埋め込まれた認証情報(パスワード、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 以降
license
MIT
requirements
Terraform, Jamf Pro / Protect / Platform / JSC

関連