initial commit
This commit is contained in:
25
manifests/init.pp
Normal file
25
manifests/init.pp
Normal file
@@ -0,0 +1,25 @@
|
||||
## cd_selinux::init.pp
|
||||
# Module name: cd_selinux
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# License:
|
||||
# This file is part of cd_selinux.
|
||||
#
|
||||
# cd_selinux is used for providing automatic configuration of SELINUX.
|
||||
# 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 initialises the cd_selinux Module.
|
||||
##############################################################################
|
||||
class cd_selinux {
|
||||
include cd_selinux::params
|
||||
}
|
||||
30
manifests/main/config.pp
Normal file
30
manifests/main/config.pp
Normal file
@@ -0,0 +1,30 @@
|
||||
## cd_selinux::main::config.pp
|
||||
# Module name: cd_selinux
|
||||
# Author: Arne Teuke (arne_teuke@ConfDroid.com)
|
||||
# # License:
|
||||
# This file is part of cd_selinux.
|
||||
#
|
||||
# cd_selinux is used for providing automatic configuration of SELINUX.
|
||||
# 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 aspects of configuring the module logic for
|
||||
# cd_selinux.
|
||||
##############################################################################
|
||||
class cd_selinux::main::config (
|
||||
|
||||
) inherits cd_selinux::params {
|
||||
|
||||
require cd_selinux::main::install
|
||||
|
||||
}
|
||||
39
manifests/main/install.pp
Normal file
39
manifests/main/install.pp
Normal file
@@ -0,0 +1,39 @@
|
||||
## cd_selinux::main::install.pp
|
||||
# Module name: cd_selinux
|
||||
# Author: Arne Teuke (arne_teuke@ConfDroid.com)
|
||||
# # License:
|
||||
# This file is part of cd_selinux.
|
||||
#
|
||||
# cd_selinux is used for providing automatic configuration of SELINUX
|
||||
# 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 manage all aspects of installing binaries required for
|
||||
# cd_selinux
|
||||
###############################################################################
|
||||
class cd_selinux::main::install (
|
||||
|
||||
) inherits cd_selinux::params {
|
||||
|
||||
require cd_selinux::main::yumrepo
|
||||
|
||||
package {$reqpackages_main:
|
||||
ensure => $pkg_ensure,
|
||||
}
|
||||
|
||||
if $sx_install_setools == true {
|
||||
package {$reqpackages_tools:
|
||||
ensure => $pkg_ensure,
|
||||
}
|
||||
}
|
||||
}
|
||||
49
manifests/params.pp
Normal file
49
manifests/params.pp
Normal file
@@ -0,0 +1,49 @@
|
||||
## cd_selinux::params.pp
|
||||
# Module name: cd_selinux
|
||||
# Author: Arne Teuke (arne_teuke@ConfDroid.com)
|
||||
# # License:
|
||||
# This file is part of cd_selinux.
|
||||
#
|
||||
# cd_selinux is used for providing automatic configuration of SELINUX.
|
||||
# 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 holds all parameters for the cd_selinux module and is
|
||||
# inherited by all classes except defines.
|
||||
# @param [string] pkg_ensure
|
||||
# which [package type](https://confdroid.com/2017/05/puppet-type-package/)
|
||||
# to choose, i.e. `latest` or `present`.
|
||||
# @param [boolean] sx_install_setools Whether to install additional selinux
|
||||
# tools, i.e. for troubleshooting.
|
||||
##############################################################################
|
||||
class cd_selinux::params (
|
||||
|
||||
$pkg_ensure = 'latest',
|
||||
|
||||
$sx_install_setools = false,
|
||||
|
||||
) {
|
||||
|
||||
# installation section
|
||||
$reqpackages_main = $::operatingsystem ? {
|
||||
/(?i-mx:centos|fedora|redhat)/ => ['selinux-policy','policycoreutils'],
|
||||
}
|
||||
|
||||
$reqpackages_tools = $::operatingsystem ? {
|
||||
/(?i-mx:centos|fedora|redhat)/ => ['setroubleshoot-server',
|
||||
'policycoreutils-python'],
|
||||
}
|
||||
|
||||
# includes must be last
|
||||
include cd_selinux::main::config
|
||||
}
|
||||
Reference in New Issue
Block a user