This repository contains an example automated workflow for using Terraform to manage Jamf Pro configuration across multiple environments in a Route To Live (RTL) arrangement. We leverage the Jamf Pro Terraform Provider Hashicorp Terraform Cloud Workspaces, Github Actions and Google Release please to automate the planning, application and release process of your changes - ensuring only tested, versioned and approved code reaches production in the same state it was tested in.
For a comprehensive setup guide, see our Getting Started Guide.
If you have used these technologies before and would just like the technical requirements and variable/secret definitions, please see the Forking Guide.
- Workflows, supporting scripts and configuration files can be found in the .github/ folder.
- Terraform Workload (the configuration) can be found in the workload/terraform/jamfpro folder.
- A full visual overview of the workflow is available in draw.io format here. You must download the file and upload it into draw.io to view (Or use the VSCode extension but it washes out the colours!).
- Note: The 'sandbox' portion of this workflow is intended to be controlled by the Terraform CLI. The HCL block which configures this is in workload/terraform/jamfpro/backend.tf. This block is disregarded by runs aimed at other environments and can be safely left in place for this demo.
- You can find more information on how to use the Terraform CLI here.
This project is licensed under the MIT License - see the LICENSE file for details.