From 059e16bca6278589a3aa5443604f6cd0ddb5854a Mon Sep 17 00:00:00 2001 From: Arne Teuke Date: Thu, 3 Aug 2017 13:07:42 +0100 Subject: [PATCH] added service control --- README.md | 2 +- manifests/main/config.pp | 5 +++-- manifests/main/dirs.pp | 32 ++++++++++++++++++++++++++++++++ manifests/main/files.pp | 29 +++++++++++++++++++++++++++++ manifests/main/service.pp | 35 +++++++++++++++++++++++++++++++++++ manifests/params.pp | 7 ++++++- 6 files changed, 106 insertions(+), 4 deletions(-) create mode 100644 manifests/main/dirs.pp create mode 100644 manifests/main/files.pp create mode 100644 manifests/main/service.pp 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