diff options
83 files changed, 723 insertions, 0 deletions
diff --git a/Modulefile b/Modulefile new file mode 100644 index 0000000..c8c1a65 --- /dev/null +++ b/Modulefile @@ -0,0 +1,8 @@ +name 'saz-pureftpd' +version '1.0.0' +source 'UNKNOWN' +author 'saz' +license 'UNKNOWN' +summary 'UNKNOWN' +description 'Module for configuring pure-ftpd via puppet' +project_page 'https://github.com/saz/puppet-pureftpd' @@ -0,0 +1,3 @@ +pureftpd + +This is the pureftpd module. diff --git a/files/README.markdown b/files/README.markdown new file mode 100644 index 0000000..be52188 --- /dev/null +++ b/files/README.markdown @@ -0,0 +1,22 @@ +Files +===== + +Puppet comes with both a client and server for copying files around. The file +serving function is provided as part of the central Puppet daemon, +puppetmasterd, and the client function is used through the source attribute of +file objects. Learn more at +http://projects.puppetlabs.com/projects/puppet/wiki/File_Serving_Configuration + +You can use managed files like this: + + class myclass { + package { mypackage: ensure => latest } + service { myservice: ensure => running } + file { "/etc/myfile": + source => "puppet://$servername/modules/mymodule/myfile" + } + } + +The files are searched for in: + + $modulepath/mymodule/files/myfile diff --git a/files/debian/AltLog b/files/debian/AltLog new file mode 100644 index 0000000..e7d518d --- /dev/null +++ b/files/debian/AltLog @@ -0,0 +1 @@ +#clf:/var/log/pure-ftpd/transfer.log diff --git a/files/debian/ChrootEveryone b/files/debian/ChrootEveryone new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/files/debian/ChrootEveryone @@ -0,0 +1 @@ +yes diff --git a/files/debian/DontResolve b/files/debian/DontResolve new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/files/debian/DontResolve @@ -0,0 +1 @@ +yes diff --git a/files/debian/MaxClientsNumber b/files/debian/MaxClientsNumber new file mode 100644 index 0000000..7273c0f --- /dev/null +++ b/files/debian/MaxClientsNumber @@ -0,0 +1 @@ +25 diff --git a/files/debian/MinUID b/files/debian/MinUID new file mode 100644 index 0000000..bb95160 --- /dev/null +++ b/files/debian/MinUID @@ -0,0 +1 @@ +33 diff --git a/files/debian/NoAnonymous b/files/debian/NoAnonymous new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/files/debian/NoAnonymous @@ -0,0 +1 @@ +yes diff --git a/files/debian/PAMAuthentication b/files/debian/PAMAuthentication new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/files/debian/PAMAuthentication @@ -0,0 +1 @@ +yes diff --git a/files/debian/PureDB b/files/debian/PureDB new file mode 100644 index 0000000..ee48061 --- /dev/null +++ b/files/debian/PureDB @@ -0,0 +1 @@ +/etc/pure-ftpd/pureftpd.pdb diff --git a/files/debian/UnixAuthentication b/files/debian/UnixAuthentication new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/files/debian/UnixAuthentication @@ -0,0 +1 @@ +yes diff --git a/files/debian/VerboseLog b/files/debian/VerboseLog new file mode 100644 index 0000000..54299a4 --- /dev/null +++ b/files/debian/VerboseLog @@ -0,0 +1 @@ +no
\ No newline at end of file diff --git a/manifests/config.pp b/manifests/config.pp new file mode 100644 index 0000000..71e6bd8 --- /dev/null +++ b/manifests/config.pp @@ -0,0 +1,23 @@ +class pureftpd::config { + file { "${pureftpd::params::config_dir}conf": + ensure => directory, + recurse => true, + purge => true, + force => true, + owner => root, + group => root, + source => $source ? { + undef => "puppet:///modules/${module_name}/${pureftpd::params::config_source}", + default => $pureftpd::config_source, + }, + require => Class['pureftpd::install'], + } + + file { $pureftpd::params::config_default_file: + ensure => present, + owner => root, + group => root, + content => template("${module_name}/default_config.erb"), + require => Class['pureftpd::install'], + } +} diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..6590f4b --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,16 @@ +# Class: pureftpd +# +# This module manages pureftpd +# +# Parameters: +# +# Actions: +# +# Requires: +# +# Sample Usage: +# +# [Remember: No empty lines between comments and class definition] +class pureftpd ($auth_type = undef, $config_source = undef, $virtualchroot = false) { + include pureftpd::params, pureftpd::install, pureftpd::config, pureftpd::service +} diff --git a/manifests/install.pp b/manifests/install.pp new file mode 100644 index 0000000..8bf9a98 --- /dev/null +++ b/manifests/install.pp @@ -0,0 +1,5 @@ +class pureftpd::install { + package { $pureftpd::params::package_name: + ensure => present, + } +} diff --git a/manifests/params.pp b/manifests/params.pp new file mode 100644 index 0000000..911da7e --- /dev/null +++ b/manifests/params.pp @@ -0,0 +1,22 @@ +class pureftpd::params { + case $operatingsystem { + /(Ubuntu|Debian)/: { + case $auth_type { + 'mysql': { $real_auth_type = '-mysql' } + 'ldap': { $real_auth_type = '-ldap' } + 'postgresql': { $real_auth_type = '-postgresql' } + default: { $real_auth_type = '' } + } + $package_name = "pure-ftpd${real_auth_type}" + $config_dir = '/etc/pure-ftpd/' + $service_name = "pure-ftpd${real_auth_type}" + $config_default_file = '/etc/default/pure-ftpd-common' + $config_source = 'debian' + } + } + + case $pureftpd::virtualchroot { + true: { $real_virtualchroot = true } + default: { $real_virtualchroot = false } + } +} diff --git a/manifests/service.pp b/manifests/service.pp new file mode 100644 index 0000000..039ca4f --- /dev/null +++ b/manifests/service.pp @@ -0,0 +1,9 @@ +class pureftpd::service { + service { $pureftpd::params::service_name: + ensure => running, + enable => true, + hasrestart => true, + hasstatus => false, + require => Class['pureftpd::config'], + } +} diff --git a/metadata.json b/metadata.json new file mode 100644 index 0000000..8ce7797 --- /dev/null +++ b/metadata.json @@ -0,0 +1,12 @@ +/* ++-----------------------------------------------------------------------+ +| | +| ==> DO NOT EDIT THIS FILE! <== | +| | +| You should edit the `Modulefile` and run `puppet-module build` | +| to generate the `metadata.json` file for your releases. | +| | ++-----------------------------------------------------------------------+ +*/ + +{} diff --git a/pkg/saz-pureftpd-0.0.1.tar.gz b/pkg/saz-pureftpd-0.0.1.tar.gz Binary files differnew file mode 100644 index 0000000..91a5fd0 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1.tar.gz diff --git a/pkg/saz-pureftpd-0.0.1/Modulefile b/pkg/saz-pureftpd-0.0.1/Modulefile new file mode 100644 index 0000000..5efad63 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/Modulefile @@ -0,0 +1,8 @@ +name 'saz-pureftpd' +version '0.0.1' +source 'UNKNOWN' +author 'saz' +license 'UNKNOWN' +summary 'UNKNOWN' +description 'Module for configuring pure-ftpd via puppet' +project_page 'https://github.com/saz/puppet-pureftpd' diff --git a/pkg/saz-pureftpd-0.0.1/README b/pkg/saz-pureftpd-0.0.1/README new file mode 100644 index 0000000..231fdac --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/README @@ -0,0 +1,3 @@ +pureftpd + +This is the pureftpd module. diff --git a/pkg/saz-pureftpd-0.0.1/files/README.markdown b/pkg/saz-pureftpd-0.0.1/files/README.markdown new file mode 100644 index 0000000..be52188 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/README.markdown @@ -0,0 +1,22 @@ +Files +===== + +Puppet comes with both a client and server for copying files around. The file +serving function is provided as part of the central Puppet daemon, +puppetmasterd, and the client function is used through the source attribute of +file objects. Learn more at +http://projects.puppetlabs.com/projects/puppet/wiki/File_Serving_Configuration + +You can use managed files like this: + + class myclass { + package { mypackage: ensure => latest } + service { myservice: ensure => running } + file { "/etc/myfile": + source => "puppet://$servername/modules/mymodule/myfile" + } + } + +The files are searched for in: + + $modulepath/mymodule/files/myfile diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/AltLog b/pkg/saz-pureftpd-0.0.1/files/debian/AltLog new file mode 100644 index 0000000..e7d518d --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/AltLog @@ -0,0 +1 @@ +#clf:/var/log/pure-ftpd/transfer.log diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/ChrootEveryone b/pkg/saz-pureftpd-0.0.1/files/debian/ChrootEveryone new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/ChrootEveryone @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/DontResolve b/pkg/saz-pureftpd-0.0.1/files/debian/DontResolve new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/DontResolve @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/MaxClientsNumber b/pkg/saz-pureftpd-0.0.1/files/debian/MaxClientsNumber new file mode 100644 index 0000000..7273c0f --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/MaxClientsNumber @@ -0,0 +1 @@ +25 diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/MinUID b/pkg/saz-pureftpd-0.0.1/files/debian/MinUID new file mode 100644 index 0000000..bb95160 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/MinUID @@ -0,0 +1 @@ +33 diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/NoAnonymous b/pkg/saz-pureftpd-0.0.1/files/debian/NoAnonymous new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/NoAnonymous @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/PAMAuthentication b/pkg/saz-pureftpd-0.0.1/files/debian/PAMAuthentication new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/PAMAuthentication @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/PureDB b/pkg/saz-pureftpd-0.0.1/files/debian/PureDB new file mode 100644 index 0000000..ee48061 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/PureDB @@ -0,0 +1 @@ +/etc/pure-ftpd/pureftpd.pdb diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/UnixAuthentication b/pkg/saz-pureftpd-0.0.1/files/debian/UnixAuthentication new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/UnixAuthentication @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-0.0.1/files/debian/VerboseLog b/pkg/saz-pureftpd-0.0.1/files/debian/VerboseLog new file mode 100644 index 0000000..54299a4 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/files/debian/VerboseLog @@ -0,0 +1 @@ +no
\ No newline at end of file diff --git a/pkg/saz-pureftpd-0.0.1/manifests/config.pp b/pkg/saz-pureftpd-0.0.1/manifests/config.pp new file mode 100644 index 0000000..71e6bd8 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/manifests/config.pp @@ -0,0 +1,23 @@ +class pureftpd::config { + file { "${pureftpd::params::config_dir}conf": + ensure => directory, + recurse => true, + purge => true, + force => true, + owner => root, + group => root, + source => $source ? { + undef => "puppet:///modules/${module_name}/${pureftpd::params::config_source}", + default => $pureftpd::config_source, + }, + require => Class['pureftpd::install'], + } + + file { $pureftpd::params::config_default_file: + ensure => present, + owner => root, + group => root, + content => template("${module_name}/default_config.erb"), + require => Class['pureftpd::install'], + } +} diff --git a/pkg/saz-pureftpd-0.0.1/manifests/init.pp b/pkg/saz-pureftpd-0.0.1/manifests/init.pp new file mode 100644 index 0000000..6590f4b --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/manifests/init.pp @@ -0,0 +1,16 @@ +# Class: pureftpd +# +# This module manages pureftpd +# +# Parameters: +# +# Actions: +# +# Requires: +# +# Sample Usage: +# +# [Remember: No empty lines between comments and class definition] +class pureftpd ($auth_type = undef, $config_source = undef, $virtualchroot = false) { + include pureftpd::params, pureftpd::install, pureftpd::config, pureftpd::service +} diff --git a/pkg/saz-pureftpd-0.0.1/manifests/install.pp b/pkg/saz-pureftpd-0.0.1/manifests/install.pp new file mode 100644 index 0000000..8bf9a98 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/manifests/install.pp @@ -0,0 +1,5 @@ +class pureftpd::install { + package { $pureftpd::params::package_name: + ensure => present, + } +} diff --git a/pkg/saz-pureftpd-0.0.1/manifests/params.pp b/pkg/saz-pureftpd-0.0.1/manifests/params.pp new file mode 100644 index 0000000..911da7e --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/manifests/params.pp @@ -0,0 +1,22 @@ +class pureftpd::params { + case $operatingsystem { + /(Ubuntu|Debian)/: { + case $auth_type { + 'mysql': { $real_auth_type = '-mysql' } + 'ldap': { $real_auth_type = '-ldap' } + 'postgresql': { $real_auth_type = '-postgresql' } + default: { $real_auth_type = '' } + } + $package_name = "pure-ftpd${real_auth_type}" + $config_dir = '/etc/pure-ftpd/' + $service_name = "pure-ftpd${real_auth_type}" + $config_default_file = '/etc/default/pure-ftpd-common' + $config_source = 'debian' + } + } + + case $pureftpd::virtualchroot { + true: { $real_virtualchroot = true } + default: { $real_virtualchroot = false } + } +} diff --git a/pkg/saz-pureftpd-0.0.1/manifests/service.pp b/pkg/saz-pureftpd-0.0.1/manifests/service.pp new file mode 100644 index 0000000..039ca4f --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/manifests/service.pp @@ -0,0 +1,9 @@ +class pureftpd::service { + service { $pureftpd::params::service_name: + ensure => running, + enable => true, + hasrestart => true, + hasstatus => false, + require => Class['pureftpd::config'], + } +} diff --git a/pkg/saz-pureftpd-0.0.1/metadata.json b/pkg/saz-pureftpd-0.0.1/metadata.json new file mode 100644 index 0000000..0707e20 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/metadata.json @@ -0,0 +1,45 @@ +{ + "summary": "UNKNOWN", + "project_page": "https://github.com/saz/puppet-pureftpd", + "author": "saz", + "source": "UNKNOWN", + "dependencies": [ + + ], + "checksums": { + "manifests/params.pp": "e7b3cf3a6115e96a6f76d3ff2c545625", + "files/debian/AltLog": "a3d7f89dc916062234237acf75bde97d", + "files/debian/MinUID": "4fbafd6948b6529caa2b78e476359875", + "spec/spec_helper.rb": "ca19ec4f451ebc7fdb035b52eae6e909", + "files/debian/NoAnonymous": "eb4585ad9fe0426781ed7c49252f8225", + "spec/unit/puppet/provider/README.markdown": "e52668944ee6af2fb5d5b9e798342645", + "files/README.markdown": "3d44458cc68d8513b51e3b56c604eec4", + "files/debian/DontResolve": "eb4585ad9fe0426781ed7c49252f8225", + "files/debian/PureDB": "6db5965698527e1f140dfc73ed40d47c", + "files/debian/UnixAuthentication": "eb4585ad9fe0426781ed7c49252f8225", + "manifests/config.pp": "9a67980c30c5d3c0c0fd9ecfb81627a8", + "README": "34cdc51f71f626da2194b0bbf2e6a6e6", + "manifests/service.pp": "722d62651e6c61da4330332b6382f5a9", + "templates/README.markdown": "aada0a1952329e46b98695349dba6203", + "templates/default_config.erb": "222945189c5b8d4efa9fe2c3cc01f435", + "tests/init.pp": "5d6e84bd06e23c4d565782db67e333ec", + "files/debian/PAMAuthentication": "eb4585ad9fe0426781ed7c49252f8225", + "spec/README.markdown": "32a1fc0121c28aff554ef5d422b8b51e", + "manifests/install.pp": "51caa25f90a479cd501824362b9bdba1", + "files/debian/VerboseLog": "7fa3b767c460b54a2be4d49030b349c7", + "files/debian/MaxClientsNumber": "2a52a5e65fc3c43f409550dfad1f904f", + "metadata.json": "d34d0b70aba36510fbc2df4e667479ef", + "files/debian/ChrootEveryone": "eb4585ad9fe0426781ed7c49252f8225", + "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c", + "Modulefile": "001e56189832cdc6d7856a6baecd2443", + "manifests/init.pp": "61675a905c40641e70d6f74985fda8c8", + "spec/unit/puppet/type/README.markdown": "de26a7643813abd6c2e7e28071b1ef94" + }, + "license": "UNKNOWN", + "types": [ + + ], + "version": "0.0.1", + "name": "saz-pureftpd", + "description": "Module for configuring pure-ftpd via puppet" +}
\ No newline at end of file diff --git a/pkg/saz-pureftpd-0.0.1/spec/README.markdown b/pkg/saz-pureftpd-0.0.1/spec/README.markdown new file mode 100644 index 0000000..286d341 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/spec/README.markdown @@ -0,0 +1,7 @@ +Specs +===== + +The Puppet project uses RSpec for testing. + +For more information on RSpec, see http://rspec.info/ + diff --git a/pkg/saz-pureftpd-0.0.1/spec/spec.opts b/pkg/saz-pureftpd-0.0.1/spec/spec.opts new file mode 100644 index 0000000..91cd642 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/spec/spec.opts @@ -0,0 +1,6 @@ +--format +s +--colour +--loadby +mtime +--backtrace diff --git a/pkg/saz-pureftpd-0.0.1/spec/spec_helper.rb b/pkg/saz-pureftpd-0.0.1/spec/spec_helper.rb new file mode 100644 index 0000000..a4aeeae --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/spec/spec_helper.rb @@ -0,0 +1,18 @@ +require 'pathname' +dir = Pathname.new(__FILE__).parent +$LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib') + +require 'mocha' +require 'puppet' +gem 'rspec', '=1.2.9' +require 'spec/autorun' + +Spec::Runner.configure do |config| + config.mock_with :mocha +end + +# We need this because the RAL uses 'should' as a method. This +# allows us the same behaviour but with a different method name. +class Object + alias :must :should +end diff --git a/pkg/saz-pureftpd-0.0.1/spec/unit/puppet/provider/README.markdown b/pkg/saz-pureftpd-0.0.1/spec/unit/puppet/provider/README.markdown new file mode 100644 index 0000000..7025850 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/spec/unit/puppet/provider/README.markdown @@ -0,0 +1,4 @@ +Provider Specs +============== + +Define specs for your providers under this directory. diff --git a/pkg/saz-pureftpd-0.0.1/spec/unit/puppet/type/README.markdown b/pkg/saz-pureftpd-0.0.1/spec/unit/puppet/type/README.markdown new file mode 100644 index 0000000..1ee19ac --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/spec/unit/puppet/type/README.markdown @@ -0,0 +1,4 @@ +Resource Type Specs +=================== + +Define specs for your resource types in this directory. diff --git a/pkg/saz-pureftpd-0.0.1/templates/README.markdown b/pkg/saz-pureftpd-0.0.1/templates/README.markdown new file mode 100644 index 0000000..575bbea --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/templates/README.markdown @@ -0,0 +1,23 @@ +Templates +========= + +Puppet supports templates and templating via ERB, which is part of the Ruby +standard library and is used for many other projects including Ruby on Rails. +Templates allow you to manage the content of template files, for example +configuration files that cannot yet be managed as a Puppet type. Learn more at +http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Templating + +You can use templates like this: + + class myclass { + package { mypackage: ensure => latest } + service { myservice: ensure => running } + file { "/etc/myfile": + content => template("mymodule/myfile.erb") + } + } + +The templates are searched for in: + + $templatedir/mymodule/myfile.erb + $modulepath/mymodule/templates/myfile.erb diff --git a/pkg/saz-pureftpd-0.0.1/templates/default_config.erb b/pkg/saz-pureftpd-0.0.1/templates/default_config.erb new file mode 100644 index 0000000..49b53eb --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/templates/default_config.erb @@ -0,0 +1,26 @@ +# Configuration for pure-ftpd +# (this file is sourced by /bin/sh, edit accordingly) + +# STANDALONE_OR_INETD +# valid values are "standalone" and "inetd". +# Any change here overrides the setting in debconf. +STANDALONE_OR_INETD=standalone + +# VIRTUALCHROOT: +# whether to use binary with virtualchroot support +# valid values are "true" or "false" +# Any change here overrides the setting in debconf. +VIRTUALCHROOT=<%= scope.lookupvar('pureftpd::params::real_virtualchroot') %> + +# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode, +# pure-uploadscript will also be run to spawn the program given below +# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or +# pure-uploadscript(8) + +# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl +UPLOADSCRIPT= + +# if set, pure-uploadscript will spawn $UPLOADSCRIPT running as the +# given uid and gid +UPLOADUID= +UPLOADGID= diff --git a/pkg/saz-pureftpd-0.0.1/tests/init.pp b/pkg/saz-pureftpd-0.0.1/tests/init.pp new file mode 100644 index 0000000..a2d2040 --- /dev/null +++ b/pkg/saz-pureftpd-0.0.1/tests/init.pp @@ -0,0 +1 @@ +include pureftpd diff --git a/pkg/saz-pureftpd-1.0.0.tar.gz b/pkg/saz-pureftpd-1.0.0.tar.gz Binary files differnew file mode 100644 index 0000000..d50ec0b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0.tar.gz diff --git a/pkg/saz-pureftpd-1.0.0/Modulefile b/pkg/saz-pureftpd-1.0.0/Modulefile new file mode 100644 index 0000000..c8c1a65 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/Modulefile @@ -0,0 +1,8 @@ +name 'saz-pureftpd' +version '1.0.0' +source 'UNKNOWN' +author 'saz' +license 'UNKNOWN' +summary 'UNKNOWN' +description 'Module for configuring pure-ftpd via puppet' +project_page 'https://github.com/saz/puppet-pureftpd' diff --git a/pkg/saz-pureftpd-1.0.0/README b/pkg/saz-pureftpd-1.0.0/README new file mode 100644 index 0000000..231fdac --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/README @@ -0,0 +1,3 @@ +pureftpd + +This is the pureftpd module. diff --git a/pkg/saz-pureftpd-1.0.0/files/README.markdown b/pkg/saz-pureftpd-1.0.0/files/README.markdown new file mode 100644 index 0000000..be52188 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/README.markdown @@ -0,0 +1,22 @@ +Files +===== + +Puppet comes with both a client and server for copying files around. The file +serving function is provided as part of the central Puppet daemon, +puppetmasterd, and the client function is used through the source attribute of +file objects. Learn more at +http://projects.puppetlabs.com/projects/puppet/wiki/File_Serving_Configuration + +You can use managed files like this: + + class myclass { + package { mypackage: ensure => latest } + service { myservice: ensure => running } + file { "/etc/myfile": + source => "puppet://$servername/modules/mymodule/myfile" + } + } + +The files are searched for in: + + $modulepath/mymodule/files/myfile diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/AltLog b/pkg/saz-pureftpd-1.0.0/files/debian/AltLog new file mode 100644 index 0000000..e7d518d --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/AltLog @@ -0,0 +1 @@ +#clf:/var/log/pure-ftpd/transfer.log diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/ChrootEveryone b/pkg/saz-pureftpd-1.0.0/files/debian/ChrootEveryone new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/ChrootEveryone @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/DontResolve b/pkg/saz-pureftpd-1.0.0/files/debian/DontResolve new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/DontResolve @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/MaxClientsNumber b/pkg/saz-pureftpd-1.0.0/files/debian/MaxClientsNumber new file mode 100644 index 0000000..7273c0f --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/MaxClientsNumber @@ -0,0 +1 @@ +25 diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/MinUID b/pkg/saz-pureftpd-1.0.0/files/debian/MinUID new file mode 100644 index 0000000..bb95160 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/MinUID @@ -0,0 +1 @@ +33 diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/NoAnonymous b/pkg/saz-pureftpd-1.0.0/files/debian/NoAnonymous new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/NoAnonymous @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/PAMAuthentication b/pkg/saz-pureftpd-1.0.0/files/debian/PAMAuthentication new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/PAMAuthentication @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/PureDB b/pkg/saz-pureftpd-1.0.0/files/debian/PureDB new file mode 100644 index 0000000..ee48061 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/PureDB @@ -0,0 +1 @@ +/etc/pure-ftpd/pureftpd.pdb diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/UnixAuthentication b/pkg/saz-pureftpd-1.0.0/files/debian/UnixAuthentication new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/UnixAuthentication @@ -0,0 +1 @@ +yes diff --git a/pkg/saz-pureftpd-1.0.0/files/debian/VerboseLog b/pkg/saz-pureftpd-1.0.0/files/debian/VerboseLog new file mode 100644 index 0000000..54299a4 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/files/debian/VerboseLog @@ -0,0 +1 @@ +no
\ No newline at end of file diff --git a/pkg/saz-pureftpd-1.0.0/manifests/config.pp b/pkg/saz-pureftpd-1.0.0/manifests/config.pp new file mode 100644 index 0000000..71e6bd8 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/manifests/config.pp @@ -0,0 +1,23 @@ +class pureftpd::config { + file { "${pureftpd::params::config_dir}conf": + ensure => directory, + recurse => true, + purge => true, + force => true, + owner => root, + group => root, + source => $source ? { + undef => "puppet:///modules/${module_name}/${pureftpd::params::config_source}", + default => $pureftpd::config_source, + }, + require => Class['pureftpd::install'], + } + + file { $pureftpd::params::config_default_file: + ensure => present, + owner => root, + group => root, + content => template("${module_name}/default_config.erb"), + require => Class['pureftpd::install'], + } +} diff --git a/pkg/saz-pureftpd-1.0.0/manifests/init.pp b/pkg/saz-pureftpd-1.0.0/manifests/init.pp new file mode 100644 index 0000000..6590f4b --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/manifests/init.pp @@ -0,0 +1,16 @@ +# Class: pureftpd +# +# This module manages pureftpd +# +# Parameters: +# +# Actions: +# +# Requires: +# +# Sample Usage: +# +# [Remember: No empty lines between comments and class definition] +class pureftpd ($auth_type = undef, $config_source = undef, $virtualchroot = false) { + include pureftpd::params, pureftpd::install, pureftpd::config, pureftpd::service +} diff --git a/pkg/saz-pureftpd-1.0.0/manifests/install.pp b/pkg/saz-pureftpd-1.0.0/manifests/install.pp new file mode 100644 index 0000000..8bf9a98 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/manifests/install.pp @@ -0,0 +1,5 @@ +class pureftpd::install { + package { $pureftpd::params::package_name: + ensure => present, + } +} diff --git a/pkg/saz-pureftpd-1.0.0/manifests/params.pp b/pkg/saz-pureftpd-1.0.0/manifests/params.pp new file mode 100644 index 0000000..911da7e --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/manifests/params.pp @@ -0,0 +1,22 @@ +class pureftpd::params { + case $operatingsystem { + /(Ubuntu|Debian)/: { + case $auth_type { + 'mysql': { $real_auth_type = '-mysql' } + 'ldap': { $real_auth_type = '-ldap' } + 'postgresql': { $real_auth_type = '-postgresql' } + default: { $real_auth_type = '' } + } + $package_name = "pure-ftpd${real_auth_type}" + $config_dir = '/etc/pure-ftpd/' + $service_name = "pure-ftpd${real_auth_type}" + $config_default_file = '/etc/default/pure-ftpd-common' + $config_source = 'debian' + } + } + + case $pureftpd::virtualchroot { + true: { $real_virtualchroot = true } + default: { $real_virtualchroot = false } + } +} diff --git a/pkg/saz-pureftpd-1.0.0/manifests/service.pp b/pkg/saz-pureftpd-1.0.0/manifests/service.pp new file mode 100644 index 0000000..039ca4f --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/manifests/service.pp @@ -0,0 +1,9 @@ +class pureftpd::service { + service { $pureftpd::params::service_name: + ensure => running, + enable => true, + hasrestart => true, + hasstatus => false, + require => Class['pureftpd::config'], + } +} diff --git a/pkg/saz-pureftpd-1.0.0/metadata.json b/pkg/saz-pureftpd-1.0.0/metadata.json new file mode 100644 index 0000000..8f20daa --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/metadata.json @@ -0,0 +1,45 @@ +{ + "summary": "UNKNOWN", + "project_page": "https://github.com/saz/puppet-pureftpd", + "author": "saz", + "source": "UNKNOWN", + "dependencies": [ + + ], + "checksums": { + "manifests/params.pp": "e7b3cf3a6115e96a6f76d3ff2c545625", + "files/debian/AltLog": "a3d7f89dc916062234237acf75bde97d", + "files/debian/MinUID": "4fbafd6948b6529caa2b78e476359875", + "spec/spec_helper.rb": "ca19ec4f451ebc7fdb035b52eae6e909", + "files/debian/NoAnonymous": "eb4585ad9fe0426781ed7c49252f8225", + "spec/unit/puppet/provider/README.markdown": "e52668944ee6af2fb5d5b9e798342645", + "files/README.markdown": "3d44458cc68d8513b51e3b56c604eec4", + "files/debian/DontResolve": "eb4585ad9fe0426781ed7c49252f8225", + "files/debian/PureDB": "6db5965698527e1f140dfc73ed40d47c", + "files/debian/UnixAuthentication": "eb4585ad9fe0426781ed7c49252f8225", + "manifests/config.pp": "9a67980c30c5d3c0c0fd9ecfb81627a8", + "README": "34cdc51f71f626da2194b0bbf2e6a6e6", + "manifests/service.pp": "722d62651e6c61da4330332b6382f5a9", + "templates/README.markdown": "aada0a1952329e46b98695349dba6203", + "templates/default_config.erb": "222945189c5b8d4efa9fe2c3cc01f435", + "tests/init.pp": "5d6e84bd06e23c4d565782db67e333ec", + "files/debian/PAMAuthentication": "eb4585ad9fe0426781ed7c49252f8225", + "spec/README.markdown": "32a1fc0121c28aff554ef5d422b8b51e", + "manifests/install.pp": "51caa25f90a479cd501824362b9bdba1", + "files/debian/VerboseLog": "7fa3b767c460b54a2be4d49030b349c7", + "files/debian/MaxClientsNumber": "2a52a5e65fc3c43f409550dfad1f904f", + "metadata.json": "d34d0b70aba36510fbc2df4e667479ef", + "files/debian/ChrootEveryone": "eb4585ad9fe0426781ed7c49252f8225", + "spec/spec.opts": "a600ded995d948e393fbe2320ba8e51c", + "Modulefile": "f8bddfe97a67a6d778a08b9b570a3ee1", + "manifests/init.pp": "61675a905c40641e70d6f74985fda8c8", + "spec/unit/puppet/type/README.markdown": "de26a7643813abd6c2e7e28071b1ef94" + }, + "license": "UNKNOWN", + "types": [ + + ], + "version": "1.0.0", + "name": "saz-pureftpd", + "description": "Module for configuring pure-ftpd via puppet" +}
\ No newline at end of file diff --git a/pkg/saz-pureftpd-1.0.0/spec/README.markdown b/pkg/saz-pureftpd-1.0.0/spec/README.markdown new file mode 100644 index 0000000..286d341 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/spec/README.markdown @@ -0,0 +1,7 @@ +Specs +===== + +The Puppet project uses RSpec for testing. + +For more information on RSpec, see http://rspec.info/ + diff --git a/pkg/saz-pureftpd-1.0.0/spec/spec.opts b/pkg/saz-pureftpd-1.0.0/spec/spec.opts new file mode 100644 index 0000000..91cd642 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/spec/spec.opts @@ -0,0 +1,6 @@ +--format +s +--colour +--loadby +mtime +--backtrace diff --git a/pkg/saz-pureftpd-1.0.0/spec/spec_helper.rb b/pkg/saz-pureftpd-1.0.0/spec/spec_helper.rb new file mode 100644 index 0000000..a4aeeae --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/spec/spec_helper.rb @@ -0,0 +1,18 @@ +require 'pathname' +dir = Pathname.new(__FILE__).parent +$LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib') + +require 'mocha' +require 'puppet' +gem 'rspec', '=1.2.9' +require 'spec/autorun' + +Spec::Runner.configure do |config| + config.mock_with :mocha +end + +# We need this because the RAL uses 'should' as a method. This +# allows us the same behaviour but with a different method name. +class Object + alias :must :should +end diff --git a/pkg/saz-pureftpd-1.0.0/spec/unit/puppet/provider/README.markdown b/pkg/saz-pureftpd-1.0.0/spec/unit/puppet/provider/README.markdown new file mode 100644 index 0000000..7025850 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/spec/unit/puppet/provider/README.markdown @@ -0,0 +1,4 @@ +Provider Specs +============== + +Define specs for your providers under this directory. diff --git a/pkg/saz-pureftpd-1.0.0/spec/unit/puppet/type/README.markdown b/pkg/saz-pureftpd-1.0.0/spec/unit/puppet/type/README.markdown new file mode 100644 index 0000000..1ee19ac --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/spec/unit/puppet/type/README.markdown @@ -0,0 +1,4 @@ +Resource Type Specs +=================== + +Define specs for your resource types in this directory. diff --git a/pkg/saz-pureftpd-1.0.0/templates/README.markdown b/pkg/saz-pureftpd-1.0.0/templates/README.markdown new file mode 100644 index 0000000..575bbea --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/templates/README.markdown @@ -0,0 +1,23 @@ +Templates +========= + +Puppet supports templates and templating via ERB, which is part of the Ruby +standard library and is used for many other projects including Ruby on Rails. +Templates allow you to manage the content of template files, for example +configuration files that cannot yet be managed as a Puppet type. Learn more at +http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Templating + +You can use templates like this: + + class myclass { + package { mypackage: ensure => latest } + service { myservice: ensure => running } + file { "/etc/myfile": + content => template("mymodule/myfile.erb") + } + } + +The templates are searched for in: + + $templatedir/mymodule/myfile.erb + $modulepath/mymodule/templates/myfile.erb diff --git a/pkg/saz-pureftpd-1.0.0/templates/default_config.erb b/pkg/saz-pureftpd-1.0.0/templates/default_config.erb new file mode 100644 index 0000000..49b53eb --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/templates/default_config.erb @@ -0,0 +1,26 @@ +# Configuration for pure-ftpd +# (this file is sourced by /bin/sh, edit accordingly) + +# STANDALONE_OR_INETD +# valid values are "standalone" and "inetd". +# Any change here overrides the setting in debconf. +STANDALONE_OR_INETD=standalone + +# VIRTUALCHROOT: +# whether to use binary with virtualchroot support +# valid values are "true" or "false" +# Any change here overrides the setting in debconf. +VIRTUALCHROOT=<%= scope.lookupvar('pureftpd::params::real_virtualchroot') %> + +# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode, +# pure-uploadscript will also be run to spawn the program given below +# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or +# pure-uploadscript(8) + +# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl +UPLOADSCRIPT= + +# if set, pure-uploadscript will spawn $UPLOADSCRIPT running as the +# given uid and gid +UPLOADUID= +UPLOADGID= diff --git a/pkg/saz-pureftpd-1.0.0/tests/init.pp b/pkg/saz-pureftpd-1.0.0/tests/init.pp new file mode 100644 index 0000000..a2d2040 --- /dev/null +++ b/pkg/saz-pureftpd-1.0.0/tests/init.pp @@ -0,0 +1 @@ +include pureftpd diff --git a/spec/README.markdown b/spec/README.markdown new file mode 100644 index 0000000..286d341 --- /dev/null +++ b/spec/README.markdown @@ -0,0 +1,7 @@ +Specs +===== + +The Puppet project uses RSpec for testing. + +For more information on RSpec, see http://rspec.info/ + diff --git a/spec/spec.opts b/spec/spec.opts new file mode 100644 index 0000000..91cd642 --- /dev/null +++ b/spec/spec.opts @@ -0,0 +1,6 @@ +--format +s +--colour +--loadby +mtime +--backtrace diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb new file mode 100644 index 0000000..a4aeeae --- /dev/null +++ b/spec/spec_helper.rb @@ -0,0 +1,18 @@ +require 'pathname' +dir = Pathname.new(__FILE__).parent +$LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib') + +require 'mocha' +require 'puppet' +gem 'rspec', '=1.2.9' +require 'spec/autorun' + +Spec::Runner.configure do |config| + config.mock_with :mocha +end + +# We need this because the RAL uses 'should' as a method. This +# allows us the same behaviour but with a different method name. +class Object + alias :must :should +end diff --git a/spec/unit/puppet/provider/README.markdown b/spec/unit/puppet/provider/README.markdown new file mode 100644 index 0000000..7025850 --- /dev/null +++ b/spec/unit/puppet/provider/README.markdown @@ -0,0 +1,4 @@ +Provider Specs +============== + +Define specs for your providers under this directory. diff --git a/spec/unit/puppet/type/README.markdown b/spec/unit/puppet/type/README.markdown new file mode 100644 index 0000000..1ee19ac --- /dev/null +++ b/spec/unit/puppet/type/README.markdown @@ -0,0 +1,4 @@ +Resource Type Specs +=================== + +Define specs for your resource types in this directory. diff --git a/templates/README.markdown b/templates/README.markdown new file mode 100644 index 0000000..575bbea --- /dev/null +++ b/templates/README.markdown @@ -0,0 +1,23 @@ +Templates +========= + +Puppet supports templates and templating via ERB, which is part of the Ruby +standard library and is used for many other projects including Ruby on Rails. +Templates allow you to manage the content of template files, for example +configuration files that cannot yet be managed as a Puppet type. Learn more at +http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Templating + +You can use templates like this: + + class myclass { + package { mypackage: ensure => latest } + service { myservice: ensure => running } + file { "/etc/myfile": + content => template("mymodule/myfile.erb") + } + } + +The templates are searched for in: + + $templatedir/mymodule/myfile.erb + $modulepath/mymodule/templates/myfile.erb diff --git a/templates/default_config.erb b/templates/default_config.erb new file mode 100644 index 0000000..49b53eb --- /dev/null +++ b/templates/default_config.erb @@ -0,0 +1,26 @@ +# Configuration for pure-ftpd +# (this file is sourced by /bin/sh, edit accordingly) + +# STANDALONE_OR_INETD +# valid values are "standalone" and "inetd". +# Any change here overrides the setting in debconf. +STANDALONE_OR_INETD=standalone + +# VIRTUALCHROOT: +# whether to use binary with virtualchroot support +# valid values are "true" or "false" +# Any change here overrides the setting in debconf. +VIRTUALCHROOT=<%= scope.lookupvar('pureftpd::params::real_virtualchroot') %> + +# UPLOADSCRIPT: if this is set and the daemon is run in standalone mode, +# pure-uploadscript will also be run to spawn the program given below +# for handling uploads. see /usr/share/doc/pure-ftpd/README.gz or +# pure-uploadscript(8) + +# example: UPLOADSCRIPT=/usr/local/sbin/uploadhandler.pl +UPLOADSCRIPT= + +# if set, pure-uploadscript will spawn $UPLOADSCRIPT running as the +# given uid and gid +UPLOADUID= +UPLOADGID= diff --git a/tests/init.pp b/tests/init.pp new file mode 100644 index 0000000..a2d2040 --- /dev/null +++ b/tests/init.pp @@ -0,0 +1 @@ +include pureftpd |