added service control

This commit is contained in:
Arne Teuke
2017-08-03 13:07:42 +01:00
parent dc918f331a
commit 059e16bca6
6 changed files with 106 additions and 4 deletions

View File

@@ -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.

View File

@@ -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
}
}

32
manifests/main/dirs.pp Normal file
View File

@@ -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
# <service / purpose>
# 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 <http://www.gnu.org/licenses/>.
# @summary Class manages all directories required for cd_fail2ban.
###############################################################################
class cd_fail2ban::main::dirs (
) inherits cd_fail2ban::params {
require cd_fail2ban::main::install
}

29
manifests/main/files.pp Normal file
View File

@@ -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 <http://www.gnu.org/licenses/>.
# @summary Class manages all configuration files required for cd_fail2ban.
##############################################################################
class cd_fail2ban::main::files (
) inherits cd_fail2ban::params {
require cd_fail2ban::main::dirs
}

35
manifests/main/service.pp Normal file
View File

@@ -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 <http://www.gnu.org/licenses/>.
# @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,
}
}

View File

@@ -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