[Thincrust-devel] RFC: Customizing an appliance install
Bryan Kearney
bkearney at redhat.com
Fri Sep 26 19:06:33 UTC 2008
I am looking for feedback on how to customize an appliance install. As
you may be aware, the appliance configuration engine uses puppet as it's
configuration syntax. The rational is that this is an up and coming
standard syntax, and should be familiar to those who do sysadmin type
work (Said another way, we don't need yet another DSL).
The trick is how to allow a user (either via the gui or the command
line) to customize an appliance recipe. In puppet I have seen 2 ways to
push in custom information:
1) External Nodes
2) Facter
I am thinking of using the latter, and would like to outline my
thoughts. Please feel free to offer up alternative solutions.
Goal:
Create recipes which can externalize a small set of data which the user
needs to provide in order to the appliance to be configured.
Implementation
A module, or a recipe can deliver one or more "external facts". They
will be delivered in the form:
name:default_value:query_text
before the puppet engine is run, the thincrust tool can iterate over
these facts, present them to the user, and record the answer. This can
be stored in a file on the appliance. In essence, this is a pre-processor.
When puppet is run, a single custom fact will iterate over all the
external facts.. and add them to facter. This will allow them to be
accessed by all the recipes, modules, and templates.
Thoughts?
-- bk
More information about the Thincrust-devel
mailing list