Initial commit
This commit is contained in:
commit
31cee0da7f
3
deployment/puppet/xinetd/.fixtures.yml
Normal file
3
deployment/puppet/xinetd/.fixtures.yml
Normal file
@ -0,0 +1,3 @@
|
||||
fixtures:
|
||||
symlinks:
|
||||
"xinetd": "#{source_dir}"
|
5
deployment/puppet/xinetd/.gemfile
Normal file
5
deployment/puppet/xinetd/.gemfile
Normal file
@ -0,0 +1,5 @@
|
||||
source :rubygems
|
||||
|
||||
puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7']
|
||||
gem 'puppet', puppetversion
|
||||
gem 'puppetlabs_spec_helper', '>= 0.1.0'
|
4
deployment/puppet/xinetd/.gitignore
vendored
Normal file
4
deployment/puppet/xinetd/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
metadata.json
|
||||
pkg/
|
||||
.DS_Store
|
||||
*.swp
|
9
deployment/puppet/xinetd/CHANGELOG
Normal file
9
deployment/puppet/xinetd/CHANGELOG
Normal file
@ -0,0 +1,9 @@
|
||||
* 2012-06-07 1.1.0
|
||||
- Add port and bind options to services
|
||||
- make services deletable
|
||||
|
||||
1.0.1 - 20100812
|
||||
* added documentation
|
||||
|
||||
1.0.0 - 20100624
|
||||
* initial release
|
17
deployment/puppet/xinetd/LICENSE
Normal file
17
deployment/puppet/xinetd/LICENSE
Normal file
@ -0,0 +1,17 @@
|
||||
Xinetd Puppet Module. Copyright (C) 2010 Garrett Honeycutt
|
||||
|
||||
Garrett Honeycutt can be contacted at: contact@garretthoneycutt.com.
|
||||
|
||||
This program and entire repository is free software; you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License version 2 as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
8
deployment/puppet/xinetd/Modulefile
Normal file
8
deployment/puppet/xinetd/Modulefile
Normal file
@ -0,0 +1,8 @@
|
||||
name 'puppetlabs-xinetd'
|
||||
version '1.1.0'
|
||||
source 'https://github.com/puppetlabs/puppetlabs-xinetd'
|
||||
author 'Puppet Labs'
|
||||
license 'Apache License 2.0'
|
||||
summary 'Puppet Labs Xinetd Module'
|
||||
description 'Puppet module to configure xinetd services'
|
||||
project_page 'https://github.com/puppetlabs/puppetlabs-xinetd'
|
43
deployment/puppet/xinetd/README
Normal file
43
deployment/puppet/xinetd/README
Normal file
@ -0,0 +1,43 @@
|
||||
xinetd
|
||||
|
||||
This is the xinetd module.
|
||||
|
||||
# Definition: xinetd::service
|
||||
#
|
||||
# sets up a xinetd service
|
||||
# all parameters match up with xinetd.conf(5) man page
|
||||
#
|
||||
# Parameters:
|
||||
# $cps - optional
|
||||
# $flags - optional
|
||||
# $per_source - optional
|
||||
# $port - required - determines the service port
|
||||
# $server - required - determines the program to execute for this service
|
||||
# $server_args - optional
|
||||
# $disable - optional - defaults to "no"
|
||||
# $socket_type - optional - defaults to "stream"
|
||||
# $protocol - optional - defaults to "tcp"
|
||||
# $user - optional - defaults to "root"
|
||||
# $group - optional - defaults to "root"
|
||||
# $instances - optional - defaults to "UNLIMITED"
|
||||
# $wait - optional - based on $protocol will default to "yes" for udp and "no" for tcp
|
||||
# $service_type - optional - type setting in xinetd
|
||||
#
|
||||
# Actions:
|
||||
# setups up a xinetd service by creating a file in /etc/xinetd.d/
|
||||
#
|
||||
# Requires:
|
||||
# $server must be set
|
||||
#
|
||||
# Sample Usage:
|
||||
# # setup tftp service
|
||||
# xinetd::service {"tftp":
|
||||
# port => "69",
|
||||
# server => "/usr/sbin/in.tftpd",
|
||||
# server_args => "-s $base",
|
||||
# socket_type => "dgram",
|
||||
# protocol => "udp",
|
||||
# cps => "100 2",
|
||||
# flags => "IPv4",
|
||||
# per_source => "11",
|
||||
# } # xinetd::service
|
2
deployment/puppet/xinetd/Rakefile
Normal file
2
deployment/puppet/xinetd/Rakefile
Normal file
@ -0,0 +1,2 @@
|
||||
require 'rubygems'
|
||||
require 'puppetlabs_spec_helper/rake_tasks'
|
52
deployment/puppet/xinetd/files/xinetd.conf
Normal file
52
deployment/puppet/xinetd/files/xinetd.conf
Normal file
@ -0,0 +1,52 @@
|
||||
# This file is being maintained by Puppet.
|
||||
# DO NOT EDIT
|
||||
#
|
||||
# This is the master xinetd configuration file. Settings in the
|
||||
# default section will be inherited by all service configurations
|
||||
# unless explicitly overridden in the service configuration. See
|
||||
# xinetd.conf in the man pages for a more detailed explanation of
|
||||
# these attributes.
|
||||
|
||||
defaults
|
||||
{
|
||||
# The next two items are intended to be a quick access place to
|
||||
# temporarily enable or disable services.
|
||||
#
|
||||
# enabled =
|
||||
# disabled =
|
||||
|
||||
# Define general logging characteristics.
|
||||
log_type = SYSLOG daemon info
|
||||
log_on_failure = HOST
|
||||
log_on_success = PID HOST DURATION EXIT
|
||||
|
||||
# Define access restriction defaults
|
||||
#
|
||||
# no_access =
|
||||
# only_from =
|
||||
# max_load = 0
|
||||
cps = 50 10
|
||||
instances = 50
|
||||
per_source = 10
|
||||
|
||||
# Address and networking defaults
|
||||
#
|
||||
# bind =
|
||||
# mdns = yes
|
||||
v6only = no
|
||||
|
||||
# setup environmental attributes
|
||||
#
|
||||
# passenv =
|
||||
groups = yes
|
||||
umask = 002
|
||||
|
||||
# Generally, banners are not used. This sets up their global defaults
|
||||
#
|
||||
# banner =
|
||||
# banner_fail =
|
||||
# banner_success =
|
||||
}
|
||||
|
||||
includedir /etc/xinetd.d
|
||||
|
27
deployment/puppet/xinetd/manifests/init.pp
Normal file
27
deployment/puppet/xinetd/manifests/init.pp
Normal file
@ -0,0 +1,27 @@
|
||||
# Class: xinetd
|
||||
#
|
||||
# This module manages xinetd
|
||||
#
|
||||
# Sample Usage:
|
||||
# xinetd::service { 'rsync':
|
||||
# port => '873',
|
||||
# server => '/usr/bin/rsync',
|
||||
# server_args => '--daemon --config /etc/rsync.conf',
|
||||
# }
|
||||
#
|
||||
class xinetd {
|
||||
|
||||
package { 'xinetd': }
|
||||
|
||||
file { '/etc/xinetd.conf':
|
||||
source => 'puppet:///modules/xinetd/xinetd.conf',
|
||||
}
|
||||
|
||||
service { 'xinetd':
|
||||
ensure => running,
|
||||
enable => true,
|
||||
restart => '/etc/init.d/xinetd reload',
|
||||
require => [ Package['xinetd'],
|
||||
File['/etc/xinetd.conf'] ],
|
||||
}
|
||||
}
|
83
deployment/puppet/xinetd/manifests/service.pp
Normal file
83
deployment/puppet/xinetd/manifests/service.pp
Normal file
@ -0,0 +1,83 @@
|
||||
# Definition: xinetd::service
|
||||
#
|
||||
# sets up a xinetd service
|
||||
# all parameters match up with xinetd.conf(5) man page
|
||||
#
|
||||
# Parameters:
|
||||
# $port - required - determines the service port
|
||||
# $server - required - determines the executable for this service
|
||||
# $ensure - optional - defaults to 'present'
|
||||
# $cps - optional
|
||||
# $flags - optional
|
||||
# $per_source - optional
|
||||
# $server_args - optional
|
||||
# $log_on_failure - optional - may contain any combination of
|
||||
# 'HOST', 'USERID', 'ATTEMPT'
|
||||
# $disable - optional - defaults to 'no'
|
||||
# $socket_type - optional - defaults to 'stream'
|
||||
# $protocol - optional - defaults to 'tcp'
|
||||
# $user - optional - defaults to 'root'
|
||||
# $group - optional - defaults to 'root'
|
||||
# $instances - optional - defaults to 'UNLIMITED'
|
||||
# $wait - optional - based on $protocol
|
||||
# will default to 'yes' for udp and 'no' for tcp
|
||||
# $bind - optional - defaults to '0.0.0.0'
|
||||
# $service_type - optional - type setting in xinetd
|
||||
# may contain any combinarion of 'RPC', 'INTERNAL',
|
||||
# 'TCPMUX/TCPMUXPLUS', 'UNLISTED'
|
||||
#
|
||||
# Actions:
|
||||
# setups up a xinetd service by creating a file in /etc/xinetd.d/
|
||||
#
|
||||
# Requires:
|
||||
# $server must be set
|
||||
# $port must be set
|
||||
#
|
||||
# Sample Usage:
|
||||
# # setup tftp service
|
||||
# xinetd::service { 'tftp':
|
||||
# port => '69',
|
||||
# server => '/usr/sbin/in.tftpd',
|
||||
# server_args => '-s $base',
|
||||
# socket_type => 'dgram',
|
||||
# protocol => 'udp',
|
||||
# cps => '100 2',
|
||||
# flags => 'IPv4',
|
||||
# per_source => '11',
|
||||
# } # xinetd::service
|
||||
#
|
||||
define xinetd::service (
|
||||
$port,
|
||||
$server,
|
||||
$ensure = present,
|
||||
$cps = undef,
|
||||
$flags = undef,
|
||||
$log_on_failure = undef,
|
||||
$per_source = undef,
|
||||
$server_args = undef,
|
||||
$disable = 'no',
|
||||
$socket_type = 'stream',
|
||||
$protocol = 'tcp',
|
||||
$user = 'root',
|
||||
$group = 'root',
|
||||
$instances = 'UNLIMITED',
|
||||
$wait = undef,
|
||||
$bind = '0.0.0.0',
|
||||
$service_type = undef
|
||||
) {
|
||||
|
||||
if $wait {
|
||||
$mywait = $wait
|
||||
} else {
|
||||
$mywait = $protocol ? {
|
||||
tcp => 'no',
|
||||
udp => 'yes'
|
||||
}
|
||||
}
|
||||
|
||||
file { "/etc/xinetd.d/${name}":
|
||||
ensure => $ensure,
|
||||
content => template('xinetd/service.erb'),
|
||||
notify => Service['xinetd'],
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'xinetd' do
|
||||
it {
|
||||
should contain_package('xinetd')
|
||||
should contain_file('/etc/xinetd.conf')
|
||||
should contain_service('xinetd').with_restart('/etc/init.d/xinetd reload')
|
||||
}
|
||||
end
|
41
deployment/puppet/xinetd/spec/defines/xinetd_service_spec.rb
Normal file
41
deployment/puppet/xinetd/spec/defines/xinetd_service_spec.rb
Normal file
@ -0,0 +1,41 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'xinetd::service' do
|
||||
let :default_params do
|
||||
{
|
||||
'port' => '80',
|
||||
'server' => 'httpd'
|
||||
}
|
||||
end
|
||||
|
||||
let :title do
|
||||
"httpd"
|
||||
end
|
||||
|
||||
describe 'with default ensure' do
|
||||
let :params do
|
||||
default_params
|
||||
end
|
||||
it {
|
||||
should contain_file('/etc/xinetd.d/httpd').with_ensure('present')
|
||||
}
|
||||
end
|
||||
|
||||
describe 'with ensure=present' do
|
||||
let :params do
|
||||
default_params.merge({'ensure' => 'present'})
|
||||
end
|
||||
it {
|
||||
should contain_file('/etc/xinetd.d/httpd').with_ensure('present')
|
||||
}
|
||||
end
|
||||
|
||||
describe 'with ensure=absent' do
|
||||
let :params do
|
||||
default_params.merge({'ensure' => 'absent'})
|
||||
end
|
||||
it {
|
||||
should contain_file('/etc/xinetd.d/httpd').with_ensure('absent')
|
||||
}
|
||||
end
|
||||
end
|
0
deployment/puppet/xinetd/spec/fixtures/manifests/site.pp
vendored
Normal file
0
deployment/puppet/xinetd/spec/fixtures/manifests/site.pp
vendored
Normal file
6
deployment/puppet/xinetd/spec/spec.opts
Normal file
6
deployment/puppet/xinetd/spec/spec.opts
Normal file
@ -0,0 +1,6 @@
|
||||
--format
|
||||
s
|
||||
--colour
|
||||
--loadby
|
||||
mtime
|
||||
--backtrace
|
1
deployment/puppet/xinetd/spec/spec_helper.rb
Normal file
1
deployment/puppet/xinetd/spec/spec_helper.rb
Normal file
@ -0,0 +1 @@
|
||||
require 'puppetlabs_spec_helper/module_spec_helper'
|
21
deployment/puppet/xinetd/templates/service.erb
Normal file
21
deployment/puppet/xinetd/templates/service.erb
Normal file
@ -0,0 +1,21 @@
|
||||
# This file is being maintained by Puppet.
|
||||
# DO NOT EDIT
|
||||
|
||||
service <%= name %>
|
||||
{
|
||||
port = <%= port %>
|
||||
disable = <%= disable %>
|
||||
socket_type = <%= socket_type %>
|
||||
protocol = <%= protocol %>
|
||||
wait = <%= mywait %>
|
||||
user = <%= user %>
|
||||
group = <%= group %>
|
||||
server = <%= server %>
|
||||
bind = <%= bind %>
|
||||
<% if server_args != :undef %> server_args = <%= server_args %><% end %>
|
||||
<% if per_source != :undef %> per_source = <%= per_source %><% end %>
|
||||
<% if log_on_failure != :undef %> log_on_failure += <%= log_on_failure %><% end %>
|
||||
<% if cps != :undef %> cps = <%= cps %><% end %>
|
||||
<% if flags != :undef %> flags = <%= flags %><% end %>
|
||||
<% if service_type != :undef %> type = <%= service_type %><% end %>
|
||||
}
|
1
deployment/puppet/xinetd/tests/init.pp
Normal file
1
deployment/puppet/xinetd/tests/init.pp
Normal file
@ -0,0 +1 @@
|
||||
include xinetd
|
Loading…
Reference in New Issue
Block a user