Welcome to the Auto-Update wiki! This wiki will contain the documentation for this project.
These concepts are old, and were common years ago before the days of Jamf Nation, when there was only a mailing list. So, to give credit to the inspiration and ideas, this is based off the following things:
- Elliot Jordan's Auto Update Magic Project
- Python Objective C code was influenced by code in the Munki Project
- All those people that were on the "Casper Mailing List," years ago that used positional parameters, static code and policy chains to accomplish tasks. There are too many to name, and it was so long ago I can't recall all the people involved.
Thanks to all the people who have contributed their ideas to the community, all of you helped inspire this.
Before we begin
I think a few important things need to be clarified before anyone dives into this. I want to be clear what this project is, and what it is not.
What Auto-Update is not:
- This is not CI/CD at all
- This is not local application state management
- There are caveats to this, please read the caveats section of the wiki
- This is not jamf patch, this is purely jamf policy driven
- This does not require AutoPKG, but can integrate with AutoPKG if you wish
What Auto-Update is:
- It is a series of static policies that call one dynamic policy, driven by Python code and jamf to install an application
- Code in this repo is meant to act as a template, and be reused in jamf. The concept is create it once, and never have to create another policy or touch the UI again
- The design is simple and may not work with very complex workflows
Lastly, please test this out thoroughly in your environment before you go to production with it. Automation can automatically break things if not tested and reviewed properly.
About this Wiki
To keep things sane, I will try to break things down into specific categories, and link them in this wiki.
If you encounter issues
Feel free to file an issue here on GitHub. Also feel free to contact me on Slack. I will try to return the message, but I am busy, so I may be slow to respond.
Merges, Pull Requests, etc
I am not against this conceptually, but also this repo is specifically scoped to this type of workflow. So, more complex things may not be in scope of the code or design. If you want to contribute I am open to that as well, and we can discuss that.