Just getting started with trying out BoxGrinder. I am quite impressed that I was able to install and create a simple VM image with no problems. I am now trying to create images for specific use cases and am running into some issues that I hope someone can help with.
1) As of version 0.8 the "includes:" section was removed (and by extension "excludes:" was removed as well?). How does one go about excluding specific packages or at least go back and remove all unnecessary packages? I am creating a CentOS image. I specify what should be a minimal set of packages (at least they are if I use a kickstart file to install). When I follow the install process with BoxGrinder, I see nearly twice as many packages being installed compared to a straight kickstart install. By the way, the docs still say to use "includes:".
2) I see in the documentation how to specify custom repositories. It appears that the repos I define are being ignored and it is always looking at some boxgrinder repos. Is that simply a misunderstanding of the log messages on my part, or is BoxGrinder hard coded to look at certain repos? (This is for a CentOS appliance.)
3) How do I specify complex sequences in the post section rather than one-liner commands? Example of what I am looking to do:
cat > /path/to/some/file << EOF
echo "creating some script"
4) Is there any documentation detailing all possible options in the YAML appliance definition file?
I also have one feature request. Could the error message associated with each exception (or whatever ruby calls them) be logged somewhere? What currently happens is that an exception is raised and caught at the next level up. The error message is discarded and another exception is raised with a new error message. This repeats until it hits the top level and what the user sees is some generic error message and a stack trace. I ran into this because I had one line with a syntax error in my appliance definition file. I only found out what the actual problem was because I went into the code and inserted logging just prior to each raise so I could see what the actual error was. (This is my first experience with both ruby and yaml.)
Thanks in advance for the help!