- We'd need a vendor neutral repo
- But maybe also are to add vendor repo (like ubuntu one, chef one) where every owns their set/part of the template, like plugins you can load
- I imagine the templates writing in a coding-neutral way (think moustache based templates)
- have them shared as gems, npm, etc.. packages for usage in each ecosystem
- provide a library that can generate (using vars/context) the templates you need (much like erb templates)
- these libraries can be easily written in each language ecosystem to generate templates
- so f.i. bento can use a gem to generate the templates specific with chef only in their repo
- besides the use as a library it should have a cli tool that can create these templates
- we can consider something like the homebrew system to store the templates in
- I think templates could benefit from meta-info that describe the vars that someone is able to set when generating a template
- so think more a generator tool that everybody could use in their own tool/ecosystem.
- be both windows/mac/linux usable
-
-
Save jedi4ever/8665887 to your computer and use it in GitHub Desktop.
Linting would be a good idea - also a way of getting logs off the box for tracing. Ross has a good start in what he’s done with the Windows templates. I’m thinking this should be part of the generator to automatically add debugging/tracing support and all the scaffolding to support it - come up with a scheme for Windows to extend what he’s done already, and another one for the Linux/Unix variants.
Also for us, should also be usable on Mac OS X ;-)
Also not to mention it would be great to get feedback on templates without having to do a full run - and even better to be able to start at particular phases in a run. Right now, it takes hours to days to test even the most trivial changes to the Windows templates, for example. Ditto for Linux and variants, even though they build faster not being so large. Why people don’t bother to test and validate their templates before pushing and/or let them drift out of date. (Part of this is probably that you can’t do images on the free CI services like Travis).
I guess what I’m actually saying is that I’d like to have both a unit test & integration test framework for these templates. I’ve had good luck so far experimenting with lashing server spec to packer. I’d also like to see some OS mocks as well (or at least an environment I could pre download in memory to accelerate testing).
Also, with the vision of VM, cloud, metal, container templates, I’d love it if I could say, take my VM template, and have a fairly good chance of saying it would work, on say Amazon by testing locally, without chewing up hundreds of hours on the service testing. This is why the cloud templates in particular are usually so terrible. People don’t want to pay to test them properly.
Awesome! Yes, I’m adding my thoughts - yes, I’m with you on the generator, because one big place where Packer falls short is there is no good way to tokenize kickstarts/preseeds/Autounattend.xml files for example. So writing a template that supports netboot images is currently very painful (partly because there is no good way to pass parameters like the url into a kickstart). Sorta what they have in cobbler (but better).
I was planning on either doing a generator or patching Packer so that you could tokenize these files. The generator would be much better in that it is vendor neutral.
Also, Ross Smith II has brought up that we need much better debugging and tracing support in the templates, has some ideas around that. It shouldn’t be so tedious to test your templates. We especially need some way of capturing what went wrong on a run to assemble the template with something (particularly Windows with sysprep!), but there are deficiencies in Windows as well.