Jamf Concepts

jamformer

New

Amorcer un projet Terraform à partir d'une instance Jamf existante

Infrastructure as CodemacOSLinuxWeb

jamformer est un outil CLI qui amorce un projet Terraform à partir d'une instance Jamf existante. Il se connecte à votre environnement, découvre les ressources via l'API Jamf (ou terraform query pour Protect et Platform), génère des blocs d'importation Terraform, exécute terraform plan -generate-config-out pour produire du HCL, puis post-traite la sortie pour ajouter des références entre ressources et organiser les fichiers par type de ressource. Le résultat est un échafaudage de départ réaliste à partir duquel apprendre et affiner — pas du code prêt pour la production, mais un premier brouillon honnête.

Fonctionnalités

  • Supporte les fournisseurs Terraform suivants : Jamf Pro, Protect, Platform et Security Cloud (JSC)
  • Découvre et exporte 100+ types de ressources incluant les politiques, scripts, profils de configuration, groupes intelligents et statiques, prestages ordinateurs et mobiles, attributs d'extension, packages, catégories, intégrations API, et bien d'autres
  • Le post-traitement réécrit les identifiants Jamf en références Terraform entre ressources afin que les relations soient explicites plutôt que des entiers codés en dur
  • Extrait le contenu intégré (scripts, profils, configurations d'applications, ressources de marque) vers des fichiers de support séparés
  • Analyse des secrets via gitleaks avec des règles spécifiques à Jamf et remédiation interactive pour les identifiants intégrés — mots de passe, jetons API, phrases de passe WiFi, secrets LDAP et SMTP
  • Le mode compact consolide les types de ressources uniformes en motifs for_each pour une sortie plus épurée et plus proche de la production
  • Le mode multi-environnement expérimental génère un module partagé et une structure de répertoires par environnement pour les équipes gérant des instances de staging et de production
  • En lecture seule sur Jamf — ne modifie, crée ou supprime jamais rien dans votre instance

Prérequis

  • Terraform 1.14 ou ultérieur (téléchargé automatiquement s'il n'est pas présent)
  • Jamf Pro (rôle Auditeur ou équivalent), Jamf Protect, Jamf Platform ou Jamf Security Cloud
  • Identifiants de client OAuth2 pour Protect, Platform et JSC ; identifiant/mot de passe ou OAuth2 pour Jamf Pro
  • Go 1.26.2 ou ultérieur pour compiler à partir des sources
license
MIT
requirements
Terraform, Jamf Pro / Protect / Platform / JSC

Associés