Hi Allan,
I addressed your migration question in
the other thread, but I wanted to circle back on the idea of separate "production" and "development" Munki repos.
One question that occurs to me: What is the desired purpose of having the two Munki repos? Is it because you're still learning Munki and want a bomb range of sorts to make sure changes don't blow up on the fleet? Or is it because you're having a subset of your users test early versions of software that will eventually be offered to all?
If a bomb range is what you're after, then it follows that all changes you make in your development environment, if they behave as expected, will be eventually applied to your production environment. Configuring this could look like this:
- Make the change on your Mac's local Munki repo, use rsync (or aws sync, or whatever tool fits best) to sync the change to your development Munki repo.
- Point a small number of Macs to the development repo using the SoftwareRepoURL key in an MDM config profile. Test and verify that the change is successful.
- Once you're satisfied, use the same sync tool to apply the change to your production Munki repo.
If your Munki repository is in Git, you could automate this process such that your "main" or "master" branch is synced with your production Munki server, while your "development" branch is synced with the development Munki server. The synchronization could be triggered by CI/CD (from your GitLab/GitHub instance), or it could be a LaunchAgent or cron job if you don't use CI/CD. This requires you to avoid merge conflicts between the two branches, but that should be made easier because all the commits are going in one direction (development → production).
If
phased software testing is your goal, then I'd recommend leveraging Munki's manifests and
catalogs instead of managing two separate repositories. Testers' machines would use manifests that pull from one or more "testing" catalogs, and the general population would pull only from the "stable" catalog. Shea Craig and I discussed a few examples of phased testing approaches at the 2016 PSU MacAdmins conference, and you can
watch the recording here.
Elliot