diff --git a/README.md b/README.md index a161d75..b6ec707 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ |Repo Name| version | Build Status| |---|---|---|---| -|`cd_fail2ban`| 0.0.0.1 | [![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=cd_fail2ban)](https://jenkins.confdroid.com/job/cd_fail2ban/)| +|`cd_fail2ban`| 0.0.0.2 | [![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=cd_fail2ban)](https://jenkins.confdroid.com/job/cd_fail2ban/)| ### Synopsis Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks. diff --git a/manifests/main/config.pp b/manifests/main/config.pp index 8ad7625..d332125 100644 --- a/manifests/main/config.pp +++ b/manifests/main/config.pp @@ -25,6 +25,7 @@ class cd_fail2ban::main::config ( ) inherits cd_fail2ban::params { - require cd_fail2ban::main::install - + if $fn_enable_fail2ban == true { + include cd_fail2ban::main::service + } } diff --git a/manifests/main/dirs.pp b/manifests/main/dirs.pp new file mode 100644 index 0000000..1543b67 --- /dev/null +++ b/manifests/main/dirs.pp @@ -0,0 +1,32 @@ +## cd_fail2ban::main::dirs.pp +# Module name: cd_fail2ban +# Author: Arne Teuke (arne_teuke@ConfDroid.com) +# # License: +# This file is part of cd_fail2ban. +# +# cd_fail2ban is used for providing automatic configuration of +# +# Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# 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, see . +# @summary Class manages all directories required for cd_fail2ban. +############################################################################### +class cd_fail2ban::main::dirs ( + +) inherits cd_fail2ban::params { + + require cd_fail2ban::main::install + + + +} diff --git a/manifests/main/files.pp b/manifests/main/files.pp new file mode 100644 index 0000000..edbb472 --- /dev/null +++ b/manifests/main/files.pp @@ -0,0 +1,29 @@ +## cd_fail2ban::main::files.pp +# Module name: cd_fail2ban +# Author: Arne Teuke (arne_teuke@confdroid.com) +# License: +# This file is part of cd_fail2ban. +# +# cd_fail2ban is used for providing automatic configuration of Fail2Ban +# Copyright (C) 2017 confdroid (copyright@confdroid.com) +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# 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, see . +# @summary Class manages all configuration files required for cd_fail2ban. +############################################################################## +class cd_fail2ban::main::files ( + +) inherits cd_fail2ban::params { + + require cd_fail2ban::main::dirs + +} diff --git a/manifests/main/service.pp b/manifests/main/service.pp new file mode 100644 index 0000000..0c2390e --- /dev/null +++ b/manifests/main/service.pp @@ -0,0 +1,35 @@ +## cd_fail2ban::main::service.pp +# Module name: cd_fail2ban +# Author: Arne Teuke (arne_teuke@confdroid.com) +# License: +# This file is part of cd_fail2ban. +# +# cd_fail2ban is used for providing automatic configuration of Fail2Ban +# Copyright (C) 2017 confdroid (copyright@confdroid.com) +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# 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, see . +# @summary Class manages the service(s) for cd_fail2ban. +############################################################################# +class cd_fail2ban::main::service ( + +) inherits cd_fail2ban::params { + + require cd_fail2ban::main::files + + service { $fn_service: + ensure => running, + hasstatus => true, + hasrestart => true, + enable => true, + } +} diff --git a/manifests/params.pp b/manifests/params.pp index aa47a54..eec3d7e 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -26,7 +26,9 @@ ############################################################################## class cd_fail2ban::params ( -$pkg_ensure = 'latest', +$pkg_ensure = 'latest', + +$fn_enable_fail2ban = true, ) { @@ -35,6 +37,9 @@ $reqpackages = $::operatingsystem ? { /(?i-mx:centos|fedora|redhat)/ => ['fail2ban'], } +# service +$fn_service + # includes must be last include cd_fail2ban::main::config