Build a tool equivalent to `makecatalogs`
This tool would use something similar to pkginfo files to generate catalogs.
After getting some experience manually updating the catalog for a little while, I don't know if we need an equivalent to pkginfo files. The yaml files are already easy enough to read and update. Maybe the admin could just maintain a canonical "library" kinda like munki's all catalog. This would not be used by any clients, and would contain a slightly different set of data that makecatalogs would use to generate all needed catalogs.
The "library" would include mostly the same data. In the following example, this tool would generate three catalogs that included all of the info from library plus the calculated installer hash. We should allow the admin to specify a hash in the library that would be used in place of any automated calculations.
This removes the need to manually update multiple catalogs with duplicate data, but hopefully overtime it could be used for automating more admin actions.
---
name: library
googlechrome:
display_name: Google Chrome
installer_item_location: packages/GoogleChrome.65.0.3325.18100.msi
version: 65.0.3325.18100
catalogs: alpha, beta, production
Maybe makecatalogs isn't necessary, but I did create a quick script which behaves like munkiimport to help with importing packages. It needs a little fine-tuning and error-handling, but it works right now. Let me know if this is something that can be integrated into the main gorilla repository.
Script at this repo: gorillaimport
Thanks @gyamada619, this is great! Looking forward to taking it for a spin soon.
A draft of this functionality is implemented in #93, but it still needs more work before merging.