Skip to content

Instantly share code, notes, and snippets.

@bodepd
Created July 15, 2013 22:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bodepd/6004172 to your computer and use it in GitHub Desktop.
Save bodepd/6004172 to your computer and use it in GitHub Desktop.
Example 2 - Specifying plugins externally
In this example, each component is simply passed the plugins that are used, and these plugins are marked as dependencies. I tried this example with swift (in swift, unlike the other plugin module, each swift service is configured as a pipeline of N-plugins)
https://github.com/stackforge/puppet-swift/blob/master/manifests/proxy.pp#L89
https://github.com/stackforge/puppet-swift/blob/master/manifests/proxy.pp#L106
1. Now the user must specify each element configured in the pipeline
2. If a user forgets, they will get a failure (reference to non-existing resource)
Pros:
1. The user only has to deal with classes
2. Puppet can 'tell' the user what classes are missing (b/c they are missing dependencies)
Cons:
1. There is no way to specify a dependency on things other than require/before/notify/subscribe. Therefor, you must specify an order dependency on these classes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment