cookbook 'notifying-action', '~> 1.0.3'
notifying-action (3) Versions 1.0.3 Follow1
An easier way to send notifications from resources
cookbook 'notifying-action', '~> 1.0.3', :supermarket
knife supermarket install notifying-action
knife supermarket download notifying-action
notifying-action
This Chef cookbook simplifies creating resource providers that enclose other resources and need to
notify their subscribers based on the notifications received from all or a subset of these
enclosed resources. This is based on the approach of wrapping all sub-resources used in a resource
in a sub-run-context and examining the results of running that sub-run-context. The implementation
is influenced by the following sources:
- http://realityforge.org/code/2012/07/17/lwrp-notify-on-changed-resources.html
- The "nested resources" slide of this presentation: http://www.slideshare.net/geekbri/lwrp-presentation/14
Opscode Community page: http://community.opscode.com/cookbooks/notifying-action.
Example
Suppose you are implementing a resource that installs a service
and creates a configuration file for it. Then, you want to restart the service if either a new
version was installed, or the configuration file changed.
In your providers/package_and_conf.rb
you would have:
action :install do notifying_action_wrapper do package 'my_service' do action :install end template '/etc/my_service/config.yml' source 'config.yml.erb' end end end
You will then be able to use this LWRP in recipes as follows:
my_cookbook_package_and_conf 'my_service' do action :install notifies :restart, 'service[my_service]', :immediately end service 'my_service' do action :nothing end
Contributing
If you would like to contribute to this cookbook, please submit a pull request on GitHub.
Links
- GitHub: https://github.com/clearstorydata-cookbooks/notifying-action
- Chef Supermarket: https://supermarket.chef.io/cookbooks/notifying-action
- Travis CI: https://travis-ci.org/clearstorydata-cookbooks/notifying-action
License
Apache License 2.0
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
Collaborator Number Metric
1.0.3 failed this metric
Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.0.3 failed this metric
FC064: Ensure issues_url is set in metadata: notifying-action/metadata.rb:1
FC065: Ensure source_url is set in metadata: notifying-action/metadata.rb:1
FC066: Ensure chef_version is set in metadata: notifying-action/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: notifying-action/metadata.rb:1
FC069: Ensure standardized license defined in metadata: notifying-action/metadata.rb:1
FC085: Resource using new_resource.updated_by_last_action to converge resource: notifying-action/libraries/notifying-action.rb:81
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
1.0.3 passed this metric
Testing File Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.3 failed this metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.0.3 failed this metric
FC064: Ensure issues_url is set in metadata: notifying-action/metadata.rb:1
FC065: Ensure source_url is set in metadata: notifying-action/metadata.rb:1
FC066: Ensure chef_version is set in metadata: notifying-action/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: notifying-action/metadata.rb:1
FC069: Ensure standardized license defined in metadata: notifying-action/metadata.rb:1
FC085: Resource using new_resource.updated_by_last_action to converge resource: notifying-action/libraries/notifying-action.rb:81
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
1.0.3 passed this metric
Testing File Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.3 failed this metric
FC065: Ensure source_url is set in metadata: notifying-action/metadata.rb:1
FC066: Ensure chef_version is set in metadata: notifying-action/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: notifying-action/metadata.rb:1
FC069: Ensure standardized license defined in metadata: notifying-action/metadata.rb:1
FC085: Resource using new_resource.updated_by_last_action to converge resource: notifying-action/libraries/notifying-action.rb:81
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
1.0.3 passed this metric
Testing File Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.3 failed this metric
1.0.3 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number