diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f92e714 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +/.bundle/ +/.yardoc +/Gemfile.lock +/_yardoc/ +/coverage/ +/doc/ +/pkg/ +/spec/reports/ +/tmp/ +*.bundle +*.so +*.o +*.a +mkmf.log +.vagrant/* +.DS_Store +.idea/* +*.gem diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..8011955 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,25 @@ + +MethodLength: + Max: 200 + +LineLength: + Max: 160 + +FileName: + Enabled: false + +PerceivedComplexity: + Enabled: false + +CyclomaticComplexity: + Enabled: false + +ClassLength: + Enabled: false + +IfUnlessModifier: + Enabled: false + +RegexpLiteral: + Enabled: false + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..95ba777 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,18 @@ +language: ruby +cache: + - bundler +install: + - bundle install +rvm: + - 1.9.3 + - 2.0 + - 2.1 +notifications: + email: + recipients: + - mattjones@yieldbot.com + on_success: change + on_failure: always + +script: + - 'bundle exec rake default' diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f8c9a53 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1 @@ +#### 0.0.1.alpha.1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..ba15939 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1 @@ +[Development Documentation](http://sensu-plugins.github.io/development/) diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..fa75df1 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gemspec diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6a08171 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2015 devops@yieldbot.com + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..51086f8 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +## Sensu-Plugins-xmpp + +[![Build Status](https://travis-ci.org/sensu-plugins/sensu-plugins-xmpp.svg?branch=master)](https://travis-ci.org/sensu-plugins/sensu-plugins-xmpp) +[![Gem Version](https://badge.fury.io/rb/sensu-plugins-xmpp.svg)](http://badge.fury.io/rb/sensu-plugins-xmpp) +[![Code Climate](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xmpp/badges/gpa.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xmpp) +[![Test Coverage](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xmpp/badges/coverage.svg)](https://codeclimate.com/github/sensu-plugins/sensu-plugins-xmpp) +[![Dependency Status](https://gemnasium.com/sensu-plugins/sensu-plugins-xmpp.svg)](https://gemnasium.com/sensu-plugins/sensu-plugins-xmpp) + +## Functionality + +## Files + * bin/handler-xmpp + +## Usage +``` +{ + "xmpp": { + "jid": "user@domain", + "password": "guest", + "target": "room@conference.domain", + "target_type": "conference", + "server": "server.domain", + "room_passord": "roompassword" + } +} +``` + +## Installation + +Add the public key (if you haven’t already) as a trusted certificate + +``` +gem cert --add <(curl -Ls https://raw.githubusercontent.com/sensu-plugins/sensu-plugins.github.io/master/certs/sensu-plugins.pem) +gem install sensu-plugins-xmpp -P MediumSecurity +``` + +You can also download the key from /certs/ within each repository. + +#### Rubygems + +`gem install sensu-plugins-xmpp` + +#### Bundler + +Add *sensu-plugins-disk-checks* to your Gemfile and run `bundle install` or `bundle update` + +#### Chef + +Using the Sensu **sensu_gem** LWRP +``` +sensu_gem 'sensu-plugins-xmpp' do + options('--prerelease') + version '0.0.1' +end +``` + +Using the Chef **gem_package** resource +``` +gem_package 'sensu-plugins-xmpp' do + options('--prerelease') + version '0.0.1' +end +``` + +## Notes diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..5ce0c83 --- /dev/null +++ b/Rakefile @@ -0,0 +1,35 @@ +require 'bundler/gem_tasks' +require 'rspec/core/rake_task' +require 'yard' +require 'github/markup' +require 'rubocop/rake_task' +require 'redcarpet' +require 'yard/rake/yardoc_task' + +desc 'Don\'t run Rubocop for unsupported versions' +begin + if RUBY_VERSION >= '2.0.0' + args = [:spec, :make_bin_executable, :yard, :rubocop] + else + args = [:spec, :make_bin_executable, :yard] + end +end + +YARD::Rake::YardocTask.new do |t| + OTHER_PATHS = %w() + t.files = ['lib/**/*.rb', 'bin/**/*.rb', OTHER_PATHS] + t.options = %w(--markup-provider=redcarpet --markup=markdown --main=README.md --files CHANGELOG.md) +end + +Rubocop::RakeTask.new + +RSpec::Core::RakeTask.new(:spec) do |r| + r.pattern = FileList['**/**/*_spec.rb'] +end + +desc 'Make all plugins executable' +task :make_bin_executable do + `chmod -R +x bin/***/*.rb` +end + +task default: args diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..033525b --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,32 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +VAGRANTFILE_API_VERSION = '2' + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + + config.vm.box = 'chef/centos-6.6' + config.vm.box_download_checksum = true + config.vm.box_download_checksum_type = 'md5' + config.vm.hostname = 'sensu-plugins-dev' + + script = < 0.17.0' + s.add_development_dependency 'rspec', '~> 3.1' + s.add_development_dependency 'bundler', '~> 1.7' + s.add_development_dependency 'rake', '~> 10.0' + s.add_development_dependency 'github-markup' + s.add_development_dependency 'redcarpet' + s.add_development_dependency 'yard' + s.add_development_dependency 'pry' +end diff --git a/test/spec_helper.rb b/test/spec_helper.rb new file mode 100644 index 0000000..9797982 --- /dev/null +++ b/test/spec_helper.rb @@ -0,0 +1,2 @@ +require 'codeclimate-test-reporter' +CodeClimate::TestReporter.start