cookbook 'choregraphie', '= 0.3.0', :supermarket
choregraphie
(16) Versions
0.3.0
-
Follow0
Coordinates the application of changes induced by chef
cookbook 'choregraphie', '= 0.3.0'
knife cookbook site install choregraphie
knife cookbook site download choregraphie
choregraphie
choregraphie is French for choreography.
Concepts
A choregraphie describes actions which operate on some chef events. It allows, for instance, to run an action before and after the convergence of a resource (currently: after means at the end of a sucessful run).
A primitive is a helper for common idioms in choregraphies. Examples: grabbing a lock, silencing the monitoring, executing a shell command.
Support
Only chef >= 12.6 is supported (due to a dependency on :before notifications).
Choregraphies can be applied only on resources that support whyrun (currently chef default resources and resource/provider style). Custom resources (the whole resource defined in the resources/ directory) are not supported at the moment.
Available Primitives
See the code for up-to-date information.
- CheckFile:
check_file '/tmp/do_it'
will wait until the given file exists on the filesystem. This file is cleaned after. - WaitUntil:
wait_until "ping -c 1 google.com"
will wait until the command exit with a 0 status. This primitives supports string, mixlib/shellout instance and blocks. - ConsulLock:
consul_lock {path: '/lock/my_app', id: 'my_node', concurrency: 5}
will grab a lock from consul and release it afterwards. This primitive is based on optimistic concurrency rather than consul sessions.
Missing Primitives
Write your own, it is easy.
How to write a primitive
You should have a look at the example primitives such as check_file
.
Primitives can implement two callbacks: - before is the callback called before the start of choregraphie (usually before the convergence of a resource) - cleanup is the callback called at the end of successful chef-client run. Cleanup is always called so primitives must be efficient and safe to run at the end of all chef-client runs (for instance cleaning a file only if exists).
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Foodcritic Metric
0.3.0 passed this metric
0.3.0 passed this metric