diff --git a/.kitchen.yml b/.kitchen.yml index 0d03362..69e82ae 100644 --- a/.kitchen.yml +++ b/.kitchen.yml @@ -7,6 +7,7 @@ provisioner: platforms: - name: ubuntu-12.04 + - name: centos-6.5 suites: - name: default diff --git a/metadata.rb b/metadata.rb index a1956a6..a5dff97 100644 --- a/metadata.rb +++ b/metadata.rb @@ -11,3 +11,4 @@ depends 'nodejs', '>= 0.5.2' supports 'ubuntu' +supports 'centos', '~> 6.0' diff --git a/templates/centos-6/upstart.conf.erb b/templates/centos-6/upstart.conf.erb new file mode 100644 index 0000000..34e9ba8 --- /dev/null +++ b/templates/centos-6/upstart.conf.erb @@ -0,0 +1,25 @@ +# statsd - Network daemon for aggregating statistics +# +# This is a network service that receives metric data via UDP from other +# applications. It aggregates this data and flushes it to a storage backend +# (typically Graphite) at regular intervals. +# +description "Network daemon for aggregating statistics" +author "Librato" + +start on (local-filesystems and net-device-up IFACE!=lo) + +respawn +respawn limit 10 5 + +chdir <%= node['statsd']['path'] %> + +pre-start script + NODE_BIN=$(which nodejs || which node) + [ -n $NODE_BIN ] || { stop; exit 0; } +end script + +script + NODE_BIN=$(which nodejs || which node) + su -s /bin/sh -c 'exec "$0" "$@"' <%= node['statsd']['user'] %> -- $NODE_BIN stats.js <%= node['statsd']['config_dir'] %>/config.js 2>&1 >> <%= node['statsd']['log_file'] %> +end script diff --git a/test/integration/default/serverspec/default_spec.rb b/test/integration/default/serverspec/default_spec.rb index 17f23ca..794a3b5 100644 --- a/test/integration/default/serverspec/default_spec.rb +++ b/test/integration/default/serverspec/default_spec.rb @@ -1,7 +1,8 @@ require 'serverspec' include Serverspec::Helper::Exec -include Serverspec::Helper::DetectOS +# Force Debian to properly detect statsd service for upstart on CentOS 6. +include Serverspec::Helper::Debian RSpec.configure do |c| c.before :all do