Imagr requires a web server (or servers) to get its workflows, images to restore, and packages to install.
In an earlier post, I described setting up an existing DeployStudio NBI for Imagr testing.
If you are testing Imagr, or even better, hoping to help with its development, you’ll need to configure a test server.
You’ll need a web server, and a way to get some files on it. I just used my existing Munki repo web server. I created a new folder called “testing” and copied a few packages into it. (For first-boot install, Imagr currently supports only flat packages. For immediate install, bundle packages are OK if they are at the root of a disk image/.dmg file.).
Next, create a configuration plist. There’s an example here: https://github.com/grahamgilbert/imagr#the-configuration-plist. Here’s another:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>password</key>
<string>40e78b0d11c553be61645796fdb9438271a23ed8b4aadb253a9222c6e4c861e2dbc75139000b0709fc0c5ad66b0f2573e38a72a8f629e270e59530fc3159d8e4</string>
<key>workflows</key>
<array>
<dict>
<key>name</key>
<string>Munki Bootstrap</string>
<key>description</key>
<string>Installs the required pkgs to begin a Munki bootstrap on restart.</string>
<key>components</key>
<array>
<dict>
<key>type</key>
<string>package</string>
<key>url</key>
<string>http://munki/repo/testing/DA_adminaccount_1.5.pkg</string>
<key>pre_first_boot</key>
<true/>
</dict>
<dict>
<key>type</key>
<string>package</string>
<key>url</key>
<string>http://munki/repo/testing/DisableSetupAssistant.pkg</string>
<key>pre_first_boot</key>
<true/>
</dict>
<dict>
<key>type</key>
<string>package</string>
<key>url</key>
<string>http://munki/repo/testing/munkitools-2.2.4.2431.pkg</string>
<key>pre_first_boot</key>
<true/>
</dict>
<dict>
<key>type</key>
<string>package</string>
<key>url</key>
<string>http://munki/repo/testing/munki_kickstart.pkg</string>
<key>pre_first_boot</key>
<true/>
</dict>
</array>
</dict>
</array>
</dict>
</plist>
The password is a hash for “LETMEIN”; you can certainly generate your own as explained here: https://github.com/grahamgilbert/imagr#password
The various URLs point to the pkgs I copied into the testing folder in my Munki repo share. Adjust as needed.
I saved this plist in the same folder as the testing pkgs as “testing.plist”. (Boring, I know.)
Make sure you can open it in a web browser before you continue — in my case it’s available
at http://munki/repo/testing/testing.plist
We are now done with the server config.
Boot a test client into the DeployStudio NBI that was configured as in my earlier post.
Open the Terminal.app.
We need to tell Imagr how to find the configuration plist, so:
defaults write com.grahamgilbert.Imagr serverurl http://munki/repo/testing/testing.plist
Make sure you replace the URL with the actual URL to the config plist you created.
Now launch Imagr:
/private/var/tmp/DSNetworkRepository/testing/Imagr.app/Contents/MacOS/Imagr
And bask in your success (or grumble at your failure…)