First, I want to say I'm really impressed by Linode as a whole (I just signed up less than a month ago), and that I really like the new stack scripts feature.
I spent last night writing a stack script for deploying Trac & SVN hosting on Ubuntu, and I think I came across a bug. My script contains the following UDF code:
Code:
<udf name="anonymous_checkout" label="Allow Anonymous Trac/SVN Access?" oneOf="Yes,No" default="No" />
My assumption was that $ANONYMOUS_CHECKOUT would contain either "Yes" or "No". However, when I deploy the script I find that this variable contains either "true" or "false", which is highly non-intuitive. This seems like a bug. Could you look into it, or at least document why this is the expected behavior somewhere?
Finally, while I love stack scripts as they are I have a suggestion for further improving this feature:
I really, really wish there was a simple way to chain stack scripts -- that is, to use more than one at a time. Yes, you can create a script that includes others, but that's somewhat non-trivial -- it would be great if there were a list to choose from when deploying a script where I could just check off the scripts to run.
I realize all the potential conflicts this could cause, but maybe you could allow a script to specify what other existing scripts it is compatible with, so that you specify one primary script, and then allow the user to select, as options, any of the other scripts that primary script lists as compatible.
This would be really powerful. Instead of having to write your own stack script to combine features of existing scripts, you could just select any combination of features available. This might also prevent cluttering the list of existing stack scripts with combinations. For example, someone might want to deploy both a LAMP stack and SVN+Trac hosting. Instead of creating yet another script on the list for this, the combination would be available by merely selecting the features. As more types of configuration are written the permutations become larger, and you'll get more scripts that are just combinations of existing features. Then you run into the paradox of choice: The more choices a users are presented with, the less sure they are that they're picking the right one, which is a bad thing.