From 9b7f7f2e6a16e2bd471435f5202c4a3c6662b8a2 Mon Sep 17 00:00:00 2001 From: Florian Haas Date: Mon, 22 Jul 2013 19:43:08 +0200 Subject: [PATCH] doc: Add note about global variables --- doc/deployment.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/deployment.md b/doc/deployment.md index 0012128..0fa7551 100644 --- a/doc/deployment.md +++ b/doc/deployment.md @@ -4,7 +4,7 @@ You have several options: - Using straightforward text-based Puppet configuration, using configuration files like `site.pp` and `nodes.pp`. -- Trough a user interface that operates as a Puppet External Node +- Through a user interface that operates as a Puppet External Node Classifier (ENC) and can assign nodes to classes. Examples for such ENCs are the [Puppet Dashboard](https://puppetlabs.com/puppet/related-projects/dashboard/), @@ -20,6 +20,18 @@ the global variables that Kickstack understands (which, by default, are all prefixed with `kickstack_` so they do not collide with other global variables that are already in your configuration). +**Eeeek! Global variables? Really?** Relax. All Kickstack classes +inherit from a common base class, [`kickstack`](../manifests/init.pp), +which is a perfectly normal parameterized class. It is just that the +default values of the parameters of that class can be set with global +variables, +[falling back to reasonable defaults if the global variable is undefined](../manifests/params.pp). That +enables Kickstack to just `include` all of its classes, making their +use very simple, while still retaining the ability to configure +everything to your needs. If you don't like the global variables +approach, that's perfectly fine, you can still use Kickstack's classes +directly and set the parameters within your class declarations. + ## Using Kickstack without an ENC If you _do not_ run an ENC, then your Kickstack configuration goes