rewite general
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,3 +2,5 @@
|
|||||||
Gemfile.lock
|
Gemfile.lock
|
||||||
FileList
|
FileList
|
||||||
.scannerwork
|
.scannerwork
|
||||||
|
.vscode
|
||||||
|
.puppet-lint
|
||||||
2
.puppet-lint.rc
Normal file
2
.puppet-lint.rc
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
--no-variable_scope-check
|
||||||
|
--no-top_scope_facts
|
||||||
44
Jenkinsfile
vendored
44
Jenkinsfile
vendored
@@ -1,7 +1,5 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent any
|
||||||
label 'puppet'
|
|
||||||
}
|
|
||||||
|
|
||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
@@ -69,7 +67,7 @@ pipeline {
|
|||||||
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
|
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
|
||||||
sh '''
|
sh '''
|
||||||
/opt/sonar-scanner/bin/sonar-scanner \
|
/opt/sonar-scanner/bin/sonar-scanner \
|
||||||
-Dsonar.projectKey=fail2ban_cd \
|
-Dsonar.projectKey=confdroid_fail2ban \
|
||||||
-Dsonar.sources=. \
|
-Dsonar.sources=. \
|
||||||
-Dsonar.host.url=https://sonarqube.confdroid.com \
|
-Dsonar.host.url=https://sonarqube.confdroid.com \
|
||||||
-Dsonar.token=$SONAR_TOKEN
|
-Dsonar.token=$SONAR_TOKEN
|
||||||
@@ -88,18 +86,38 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
||||||
sh '''
|
sh '''
|
||||||
git config user.name "Jenkins Server"
|
git config user.name "Jenkins Server"
|
||||||
git config user.email jenkins@confdroid.com
|
git config user.email jenkins@confdroid.com
|
||||||
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
|
git rm -r --cached .vscode || echo "No .vscode to remove from git"
|
||||||
git push -o merge_request.create \
|
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
|
||||||
-o merge_request.target=master \
|
git push origin HEAD:master
|
||||||
-o merge_request.title="Auto-merge for build $BUILD_NUMBER" \
|
|
||||||
-o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \
|
|
||||||
-o merge_request.merge_when_pipeline_succeeds=true \
|
|
||||||
origin jenkins-build-$BUILD_NUMBER
|
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('Mirror to Gitea') {
|
||||||
|
steps {
|
||||||
|
withCredentials([usernamePassword(
|
||||||
|
credentialsId: 'Jenkins-gitea',
|
||||||
|
usernameVariable: 'GITEA_USER',
|
||||||
|
passwordVariable: 'GITEA_TOKEN')]) {
|
||||||
|
script {
|
||||||
|
// Checkout from GitLab (already done implicitly)
|
||||||
|
sh '''
|
||||||
|
git checkout master
|
||||||
|
git pull origin master
|
||||||
|
git branch -D development
|
||||||
|
git branch -D jenkins-build-$BUILD_NUMBER
|
||||||
|
git rm -f Jenkinsfile
|
||||||
|
git rm -r --cached .vscode || echo "No .vscode to remove from git"
|
||||||
|
git commit --amend --no-edit --allow-empty
|
||||||
|
git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_fail2ban.git
|
||||||
|
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
|
||||||
|
push master --mirror
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
54
README.md
54
README.md
@@ -1,14 +1,26 @@
|
|||||||
# Readme
|
# Readme
|
||||||
|
|
||||||
[](https://jenkins.confdroid.com/job/fail2ban_cd/)
|
[](https://jenkins.confdroid.com/job/confdroid_fail2ban/)
|
||||||
|
|
||||||
[[_TOC_]]
|
- [Readme](#readme)
|
||||||
|
- [Synopsis](#synopsis)
|
||||||
|
- [WARNING](#warning)
|
||||||
|
- [Features](#features)
|
||||||
|
- [Dependencies](#dependencies)
|
||||||
|
- [Deployment](#deployment)
|
||||||
|
- [Parameters](#parameters)
|
||||||
|
- [SELINUX](#selinux)
|
||||||
|
- [Known Problems](#known-problems)
|
||||||
|
- [Support](#support)
|
||||||
|
- [Tests](#tests)
|
||||||
|
- [Contact Us](#contact-us)
|
||||||
|
- [Disclaimer](#disclaimer)
|
||||||
|
|
||||||
## Synopsis
|
## Synopsis
|
||||||
|
|
||||||
Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks.
|
Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks.
|
||||||
|
|
||||||
`fail2ban_cd` is a Puppet module to automate installation, configuration and management of fail2ban settings and rules.
|
`confdroid_fail2ban` is a Puppet module to automate installation, configuration and management of fail2ban settings and rules.
|
||||||
|
|
||||||
## WARNING
|
## WARNING
|
||||||
|
|
||||||
@@ -18,27 +30,26 @@ Fail2Ban is an intrusion prevention software framework that protects computer se
|
|||||||
|
|
||||||
Installation
|
Installation
|
||||||
|
|
||||||
* install required binaries
|
- install required binaries
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
|
|
||||||
* manage directory structure (file system permissions, selinux context)
|
- manage directory structure (file system permissions, selinux context)
|
||||||
* manage configuration files (file system permissions, selinux context, content based on parameters)
|
- manage configuration files (file system permissions, selinux context, content based on parameters)
|
||||||
|
|
||||||
Service
|
Service
|
||||||
|
|
||||||
* manage service status
|
- manage service status
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
All dependencies must be included in the catalogue.
|
All dependencies must be included in the catalogue.
|
||||||
|
|
||||||
* [cd_resources](https://gitlab.confdroid.com/puppet/cd_resources) to manage yum base repos
|
- puppetlabs-firewall to manage firewall settings (optional)
|
||||||
* [cd_firewall](https://gitlab.confdroid.com/puppet/cd_firewall) or puppetlabs-firewall to manage firewall settings (optional)
|
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
* native Puppet deployment
|
- native Puppet deployment
|
||||||
|
|
||||||
via site.pp or nodes.pp
|
via site.pp or nodes.pp
|
||||||
|
|
||||||
@@ -48,9 +59,9 @@ node 'example.example.net' {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
* through Foreman:
|
- through Foreman:
|
||||||
|
|
||||||
In order to apply parameters through Foreman, **__fail2ban_cd::params__** must be added to the host or host group in question.
|
In order to apply parameters through Foreman, **__confdroid_fail2ban::params__** must be added to the host or host group in question.
|
||||||
|
|
||||||
See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/).
|
See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/).
|
||||||
|
|
||||||
@@ -64,25 +75,24 @@ All files and directories are configured with correct selinux context. If selinu
|
|||||||
|
|
||||||
## Known Problems
|
## Known Problems
|
||||||
|
|
||||||
* firewalld: firewalld is auto-installed on CentOS7 as dependency of fail2ban by yum.
|
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
* OS: Rocky 9
|
- OS: Rocky 9
|
||||||
* Puppet 8
|
- Puppet 8
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
* Puppet Lint
|
- Puppet Lint
|
||||||
* excluded tests:
|
- excluded tests:
|
||||||
* `--no-variable_scope-check`: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.
|
- `--no-variable_scope-check`: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.
|
||||||
* Puppet Parser
|
- Puppet Parser
|
||||||
* ERB Template Parser
|
- ERB Template Parser
|
||||||
* Sonar Quality Gate
|
- Sonar Quality Gate
|
||||||
|
|
||||||
## Contact Us
|
## Contact Us
|
||||||
|
|
||||||
[contact Us](https://confdroid.com/contact/)
|
[contact Us](https://confdroid.com/contact/)
|
||||||
|
[Feedback Portal](https://feedback.confdroid.com/)
|
||||||
|
|
||||||
## Disclaimer
|
## Disclaimer
|
||||||
|
|
||||||
|
|||||||
143
doc/_index.html
143
doc/_index.html
@@ -1,143 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = null;
|
|
||||||
relpath = '';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1 class="noborder title">Documentation by YARD 0.9.36</h1>
|
|
||||||
<div id="listing">
|
|
||||||
<h1 class="alphaindex">Alphabetic Index</h1>
|
|
||||||
|
|
||||||
<h2>Puppet Class Listing A-Z</h2>
|
|
||||||
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td valign='top' width="33%">
|
|
||||||
|
|
||||||
|
|
||||||
<ul id="alpha_F" class="alpha">
|
|
||||||
<li class="letter">F</li>
|
|
||||||
<ul>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd.html" title="puppet_classes::fail2ban_cd (puppet_class)">fail2ban_cd</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::fail2ban_cd::main::config (puppet_class)">fail2ban_cd::main::config</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Adirs.html" title="puppet_classes::fail2ban_cd::main::dirs (puppet_class)">fail2ban_cd::main::dirs</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Afiles.html" title="puppet_classes::fail2ban_cd::main::files (puppet_class)">fail2ban_cd::main::files</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::fail2ban_cd::main::install (puppet_class)">fail2ban_cd::main::install</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Aservice.html" title="puppet_classes::fail2ban_cd::main::service (puppet_class)">fail2ban_cd::main::service</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>File Listing</h2>
|
|
||||||
<ul id="files" class="index_inline_list">
|
|
||||||
|
|
||||||
|
|
||||||
<li class="r1"><a href="index.html" title="README">README</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div class="clear"></div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
/* Ensure the search bar doesn't overlap with links */
|
|
||||||
.fixed_header {
|
|
||||||
padding-bottom: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#full_list {
|
|
||||||
padding-top: 15px;
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
|
|
||||||
font-size: 13px;
|
|
||||||
height: 101%;
|
|
||||||
overflow-x: hidden;
|
|
||||||
background: #fafafa;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
|
|
||||||
.clear { clear: both; }
|
|
||||||
.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; }
|
|
||||||
#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
|
|
||||||
#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
|
|
||||||
#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; }
|
|
||||||
#full_list ul { padding: 0; }
|
|
||||||
#full_list li { padding: 0; margin: 0; list-style: none; }
|
|
||||||
#full_list li .item { padding: 5px 5px 5px 12px; }
|
|
||||||
#noresults { padding: 7px 12px; background: #fff; }
|
|
||||||
#content.insearch #noresults { margin-left: 7px; }
|
|
||||||
li.collapsed ul { display: none; }
|
|
||||||
li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
|
|
||||||
li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
|
|
||||||
li { color: #888; cursor: pointer; }
|
|
||||||
li.deprecated { text-decoration: line-through; font-style: italic; }
|
|
||||||
li.odd { background: #f0f0f0; }
|
|
||||||
li.even { background: #fafafa; }
|
|
||||||
.item:hover { background: #ddd; }
|
|
||||||
li small:before { content: "("; }
|
|
||||||
li small:after { content: ")"; }
|
|
||||||
li small.search_info { display: none; }
|
|
||||||
a, a:visited { text-decoration: none; color: #05a; }
|
|
||||||
li.clicked > .item { background: #05a; color: #ccc; }
|
|
||||||
li.clicked > .item a, li.clicked > .item a:visited { color: #eee; }
|
|
||||||
li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; }
|
|
||||||
li.collapsed.clicked a.toggle { background-position: top right; }
|
|
||||||
#search input { border: 1px solid #bbb; border-radius: 3px; }
|
|
||||||
#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; }
|
|
||||||
#full_list_nav a, #nav a:visited { color: #358; }
|
|
||||||
#full_list_nav a:hover { background: transparent; color: #5af; }
|
|
||||||
#full_list_nav span:after { content: ' | '; }
|
|
||||||
#full_list_nav span:last-child:after { content: ''; }
|
|
||||||
|
|
||||||
#content h1 { margin-top: 0; }
|
|
||||||
li { white-space: nowrap; cursor: normal; }
|
|
||||||
li small { display: block; font-size: 0.8em; }
|
|
||||||
li small:before { content: ""; }
|
|
||||||
li small:after { content: ""; }
|
|
||||||
li small.search_info { display: none; }
|
|
||||||
#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
|
|
||||||
#content.insearch #search { background-position: center right; }
|
|
||||||
#search input { width: 110px; }
|
|
||||||
|
|
||||||
#full_list.insearch ul { display: block; }
|
|
||||||
#full_list.insearch .item { display: none; }
|
|
||||||
#full_list.insearch .found { display: block; padding-left: 11px !important; }
|
|
||||||
#full_list.insearch li a.toggle { display: none; }
|
|
||||||
#full_list.insearch li small.search_info { display: block; }
|
|
||||||
@@ -1,497 +0,0 @@
|
|||||||
html {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
|
|
||||||
font-size: 13px;
|
|
||||||
width: 100%;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
display: flex;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
}
|
|
||||||
|
|
||||||
#nav {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 0;
|
|
||||||
border-right: 1px dotted #eee;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.nav_wrap {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
width: 20%;
|
|
||||||
height: 100%;
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
flex-shrink: 0;
|
|
||||||
-webkit-flex-shrink: 0;
|
|
||||||
-ms-flex: 1 0;
|
|
||||||
}
|
|
||||||
#resizer {
|
|
||||||
position: absolute;
|
|
||||||
right: -5px;
|
|
||||||
top: 0;
|
|
||||||
width: 10px;
|
|
||||||
height: 100%;
|
|
||||||
cursor: col-resize;
|
|
||||||
z-index: 9999;
|
|
||||||
}
|
|
||||||
#main {
|
|
||||||
flex: 5 1;
|
|
||||||
-webkit-flex: 5 1;
|
|
||||||
-ms-flex: 5 1;
|
|
||||||
outline: none;
|
|
||||||
position: relative;
|
|
||||||
background: #fff;
|
|
||||||
padding: 1.2em;
|
|
||||||
padding-top: 0.2em;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 920px) {
|
|
||||||
.nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; }
|
|
||||||
#resizer { display: none; }
|
|
||||||
#nav {
|
|
||||||
z-index: 9999;
|
|
||||||
background: #fff;
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
top: 40px;
|
|
||||||
right: 12px;
|
|
||||||
width: 500px;
|
|
||||||
max-width: 80%;
|
|
||||||
height: 80%;
|
|
||||||
overflow-y: scroll;
|
|
||||||
border: 1px solid #999;
|
|
||||||
border-collapse: collapse;
|
|
||||||
box-shadow: -7px 5px 25px #aaa;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 920px) {
|
|
||||||
body { height: 100%; overflow: hidden; }
|
|
||||||
#main { height: 100%; overflow: auto; }
|
|
||||||
#search { display: none; }
|
|
||||||
}
|
|
||||||
|
|
||||||
#main img { max-width: 100%; }
|
|
||||||
h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
|
|
||||||
h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
|
|
||||||
h1.title { margin-bottom: 10px; }
|
|
||||||
h1.alphaindex { margin-top: 0; font-size: 22px; }
|
|
||||||
h2 {
|
|
||||||
padding: 0;
|
|
||||||
padding-bottom: 3px;
|
|
||||||
border-bottom: 1px #aaa solid;
|
|
||||||
font-size: 1.4em;
|
|
||||||
margin: 1.8em 0 0.5em;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; }
|
|
||||||
h2 small a {
|
|
||||||
display: block;
|
|
||||||
height: 20px;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-bottom: 0;
|
|
||||||
border-top-left-radius: 5px;
|
|
||||||
background: #f8f8f8;
|
|
||||||
position: relative;
|
|
||||||
padding: 2px 7px;
|
|
||||||
}
|
|
||||||
.clear { clear: both; }
|
|
||||||
.inline { display: inline; }
|
|
||||||
.inline p:first-child { display: inline; }
|
|
||||||
.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; }
|
|
||||||
.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt {
|
|
||||||
color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
|
|
||||||
.docstring h1 { font-size: 1.2em; }
|
|
||||||
.docstring h2 { font-size: 1.1em; }
|
|
||||||
.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
|
|
||||||
.summary_desc .object_link a, .docstring .object_link a {
|
|
||||||
font-family: monospace; font-size: 1.05em;
|
|
||||||
color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.rdoc-term { padding-right: 25px; font-weight: bold; }
|
|
||||||
.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
|
|
||||||
.summary_desc pre.code .object_link a, .docstring pre.code .object_link a {
|
|
||||||
padding: 0px; background: inherit; color: inherit; border-radius: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* style for <table> */
|
|
||||||
#filecontents table, .docstring table { border-collapse: collapse; }
|
|
||||||
#filecontents table th, #filecontents table td,
|
|
||||||
.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; }
|
|
||||||
#filecontents table tr:nth-child(odd),
|
|
||||||
.docstring table tr:nth-child(odd) { background: #eee; }
|
|
||||||
#filecontents table tr:nth-child(even),
|
|
||||||
.docstring table tr:nth-child(even) { background: #fff; }
|
|
||||||
#filecontents table th, .docstring table th { background: #fff; }
|
|
||||||
|
|
||||||
/* style for <ul> */
|
|
||||||
#filecontents li > p, .docstring li > p { margin: 0px; }
|
|
||||||
#filecontents ul, .docstring ul { padding-left: 20px; }
|
|
||||||
/* style for <dl> */
|
|
||||||
#filecontents dl, .docstring dl { border: 1px solid #ccc; }
|
|
||||||
#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
|
|
||||||
#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
|
|
||||||
#filecontents dd > p, .docstring dd > p { margin: 0px; }
|
|
||||||
|
|
||||||
.note {
|
|
||||||
color: #222;
|
|
||||||
margin: 20px 0;
|
|
||||||
padding: 10px;
|
|
||||||
border: 1px solid #eee;
|
|
||||||
border-radius: 3px;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.docstring .note {
|
|
||||||
border-left-color: #ccc;
|
|
||||||
border-left-width: 5px;
|
|
||||||
}
|
|
||||||
.note.todo { background: #ffffc5; border-color: #ececaa; }
|
|
||||||
.note.returns_void { background: #efefef; }
|
|
||||||
.note.deprecated { background: #ffe5e5; border-color: #e9dada; }
|
|
||||||
.note.title.deprecated { background: #ffe5e5; border-color: #e9dada; }
|
|
||||||
.note.private { background: #ffffc5; border-color: #ececaa; }
|
|
||||||
.note.title { padding: 3px 6px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
|
|
||||||
.summary_signature + .note.title { margin-left: 7px; }
|
|
||||||
h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
|
|
||||||
.note.title { background: #efefef; }
|
|
||||||
.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
|
|
||||||
.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
|
|
||||||
.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
|
|
||||||
.note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
|
|
||||||
.note.title.not_defined_here { background: transparent; border: none; font-style: italic; }
|
|
||||||
.discussion .note { margin-top: 6px; }
|
|
||||||
.discussion .note:first-child { margin-top: 0; }
|
|
||||||
|
|
||||||
h3.inherited {
|
|
||||||
font-style: italic;
|
|
||||||
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
|
|
||||||
font-weight: normal;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
margin-top: 12px;
|
|
||||||
margin-bottom: 3px;
|
|
||||||
font-size: 13px;
|
|
||||||
}
|
|
||||||
p.inherited {
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
margin-left: 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box_info dl {
|
|
||||||
margin: 0;
|
|
||||||
border: 0;
|
|
||||||
width: 100%;
|
|
||||||
font-size: 1em;
|
|
||||||
display: flex;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
}
|
|
||||||
.box_info dl dt {
|
|
||||||
flex-shrink: 0;
|
|
||||||
-webkit-flex-shrink: 1;
|
|
||||||
-ms-flex-shrink: 1;
|
|
||||||
width: 100px;
|
|
||||||
text-align: right;
|
|
||||||
font-weight: bold;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-width: 1px 0px 0px 1px;
|
|
||||||
padding: 6px 0;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
.box_info dl dd {
|
|
||||||
flex-grow: 1;
|
|
||||||
-webkit-flex-grow: 1;
|
|
||||||
-ms-flex: 1;
|
|
||||||
max-width: 420px;
|
|
||||||
padding: 6px 0;
|
|
||||||
padding-right: 20px;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
border-width: 1px 1px 0 0;
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.box_info dl:last-child > * {
|
|
||||||
border-bottom: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
.box_info dl:nth-child(odd) > * { background: #eee; }
|
|
||||||
.box_info dl:nth-child(even) > * { background: #fff; }
|
|
||||||
.box_info dl > * { margin: 0; }
|
|
||||||
|
|
||||||
ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
|
|
||||||
.index_inline_list { padding-left: 0; font-size: 1.1em; }
|
|
||||||
|
|
||||||
.index_inline_list li {
|
|
||||||
list-style: none;
|
|
||||||
display: inline-block;
|
|
||||||
padding: 0 12px;
|
|
||||||
line-height: 30px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
dl.constants { margin-left: 10px; }
|
|
||||||
dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
|
|
||||||
dl.constants.compact dt { display: inline-block; font-weight: normal }
|
|
||||||
dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
|
|
||||||
dl.constants .docstring .note:first-child { margin-top: 5px; }
|
|
||||||
|
|
||||||
.summary_desc {
|
|
||||||
margin-left: 32px;
|
|
||||||
display: block;
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 1.1em;
|
|
||||||
margin-top: 8px;
|
|
||||||
line-height: 1.5145em;
|
|
||||||
margin-bottom: 0.8em;
|
|
||||||
}
|
|
||||||
.summary_desc tt { font-size: 0.9em; }
|
|
||||||
dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
|
|
||||||
dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
|
|
||||||
dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
|
|
||||||
dl.constants .discussion *:first-child { margin-top: 0; }
|
|
||||||
dl.constants .discussion *:last-child { margin-bottom: 0; }
|
|
||||||
|
|
||||||
.method_details { border-top: 1px dotted #ccc; margin-top: 25px; padding-top: 0; }
|
|
||||||
.method_details.first { border: 0; margin-top: 5px; }
|
|
||||||
.method_details.first h3.signature { margin-top: 1em; }
|
|
||||||
p.signature, h3.signature {
|
|
||||||
font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
|
|
||||||
padding: 6px 10px; margin-top: 1em;
|
|
||||||
background: #E8F4FF; border: 1px solid #d8d8e5; border-radius: 5px;
|
|
||||||
}
|
|
||||||
p.signature tt,
|
|
||||||
h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
|
|
||||||
p.signature .overload,
|
|
||||||
h3.signature .overload { display: block; }
|
|
||||||
p.signature .extras,
|
|
||||||
h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
|
|
||||||
p.signature .not_defined_here,
|
|
||||||
h3.signature .not_defined_here,
|
|
||||||
p.signature .aliases,
|
|
||||||
h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
|
|
||||||
p.signature .aliases .names,
|
|
||||||
h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
|
|
||||||
|
|
||||||
.tags .tag_title { font-size: 1.05em; margin-bottom: 0; font-weight: bold; }
|
|
||||||
.tags .tag_title tt { color: initial; padding: initial; background: initial; }
|
|
||||||
.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
|
|
||||||
.tags ul li { margin-bottom: 3px; }
|
|
||||||
.tags ul .name { font-family: monospace; font-weight: bold; }
|
|
||||||
.tags ul .note { padding: 3px 6px; }
|
|
||||||
.tags { margin-bottom: 12px; }
|
|
||||||
|
|
||||||
.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; }
|
|
||||||
.tags .examples .inline p { padding: 0; margin: 0; font-weight: bold; font-size: 1em; }
|
|
||||||
.tags .examples .inline p:before { content: "▸"; font-size: 1em; margin-right: 5px; }
|
|
||||||
|
|
||||||
.tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
|
|
||||||
.tags .overload .overload_item .signature {
|
|
||||||
padding: 2px 8px;
|
|
||||||
background: #F1F8FF; border: 1px solid #d8d8e5; border-radius: 3px;
|
|
||||||
}
|
|
||||||
.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
|
|
||||||
.tags .overload .docstring { margin-top: 15px; }
|
|
||||||
|
|
||||||
.defines { display: none; }
|
|
||||||
|
|
||||||
#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
|
|
||||||
|
|
||||||
.showSource { font-size: 0.9em; }
|
|
||||||
.showSource a, .showSource a:visited { text-decoration: none; color: #666; }
|
|
||||||
|
|
||||||
#content a, #content a:visited { text-decoration: none; color: #05a; }
|
|
||||||
#content a:hover { background: #ffffa5; }
|
|
||||||
|
|
||||||
ul.summary {
|
|
||||||
list-style: none;
|
|
||||||
font-family: monospace;
|
|
||||||
font-size: 1em;
|
|
||||||
line-height: 1.5em;
|
|
||||||
padding-left: 0px;
|
|
||||||
}
|
|
||||||
ul.summary a, ul.summary a:visited {
|
|
||||||
text-decoration: none; font-size: 1.1em;
|
|
||||||
}
|
|
||||||
ul.summary li { margin-bottom: 5px; }
|
|
||||||
.summary_signature { padding: 4px 8px; background: #f8f8f8; border: 1px solid #f0f0f0; border-radius: 5px; }
|
|
||||||
.summary_signature:hover { background: #CFEBFF; border-color: #A4CCDA; cursor: pointer; }
|
|
||||||
.summary_signature.deprecated { background: #ffe5e5; border-color: #e9dada; }
|
|
||||||
ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
|
|
||||||
ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
|
|
||||||
#content .summary_signature:hover a,
|
|
||||||
#content .summary_signature:hover a:visited {
|
|
||||||
background: transparent;
|
|
||||||
color: #049;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.inherited a { font-family: monospace; font-size: 0.9em; }
|
|
||||||
p.inherited { word-spacing: 5px; font-size: 1.2em; }
|
|
||||||
|
|
||||||
p.children { font-size: 1.2em; }
|
|
||||||
p.children a { font-size: 0.9em; }
|
|
||||||
p.children strong { font-size: 0.8em; }
|
|
||||||
p.children strong.modules { padding-left: 5px; }
|
|
||||||
|
|
||||||
ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
|
|
||||||
ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
|
|
||||||
ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHtJREFUeNqMzrEJAkEURdGzuhgZbSoYWcAWoBVsB4JgZAGmphsZCZYzTQgWNCYrDN9RvMmHx+X916SUBFbo8CzD1idXrLErw1mQttgXtyrOcQ/Ny5p4Qh+2XqLYYazsPWNTiuMkRxa4vcV+evuNAUOLIx5+c2hyzv7hNQC67Q+/HHmlEwAAAABJRU5ErkJggg==) no-repeat top center; }
|
|
||||||
ul.fullTree li:first-child { padding-top: 0; background: transparent; }
|
|
||||||
ul.fullTree li:last-child { padding-bottom: 0; }
|
|
||||||
.showAll ul.fullTree { display: block; }
|
|
||||||
.showAll .inheritName { display: none; }
|
|
||||||
|
|
||||||
#search { position: absolute; right: 12px; top: 0px; z-index: 9000; }
|
|
||||||
#search a {
|
|
||||||
display: block; float: left;
|
|
||||||
padding: 4px 8px; text-decoration: none; color: #05a; fill: #05a;
|
|
||||||
border: 1px solid #d8d8e5;
|
|
||||||
border-bottom-left-radius: 3px; border-bottom-right-radius: 3px;
|
|
||||||
background: #F1F8FF;
|
|
||||||
box-shadow: -1px 1px 3px #ddd;
|
|
||||||
}
|
|
||||||
#search a:hover { background: #f5faff; color: #06b; fill: #06b; }
|
|
||||||
#search a.active {
|
|
||||||
background: #568; padding-bottom: 20px; color: #fff; fill: #fff;
|
|
||||||
border: 1px solid #457;
|
|
||||||
border-top-left-radius: 5px; border-top-right-radius: 5px;
|
|
||||||
}
|
|
||||||
#search a.inactive { color: #999; fill: #999; }
|
|
||||||
.inheritanceTree, .toggleDefines {
|
|
||||||
float: right;
|
|
||||||
border-left: 1px solid #aaa;
|
|
||||||
position: absolute; top: 0; right: 0;
|
|
||||||
height: 100%;
|
|
||||||
background: #f6f6f6;
|
|
||||||
padding: 5px;
|
|
||||||
min-width: 55px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#menu { font-size: 1.3em; color: #bbb; }
|
|
||||||
#menu .title, #menu a { font-size: 0.7em; }
|
|
||||||
#menu .title a { font-size: 1em; }
|
|
||||||
#menu .title { color: #555; }
|
|
||||||
#menu a, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
|
|
||||||
#menu a:hover { color: #05a; }
|
|
||||||
|
|
||||||
#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
|
|
||||||
#footer a, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
|
|
||||||
#footer a:hover { color: #05a; }
|
|
||||||
|
|
||||||
#listing ul.alpha { font-size: 1.1em; }
|
|
||||||
#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
|
|
||||||
#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
|
|
||||||
#listing ul.alpha ul { margin: 0; padding-left: 15px; }
|
|
||||||
#listing ul small { color: #666; font-size: 0.7em; }
|
|
||||||
|
|
||||||
li.r1 { background: #f0f0f0; }
|
|
||||||
li.r2 { background: #fafafa; }
|
|
||||||
|
|
||||||
#content ul.summary li.deprecated .summary_signature a,
|
|
||||||
#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
|
|
||||||
|
|
||||||
#toc {
|
|
||||||
position: relative;
|
|
||||||
float: right;
|
|
||||||
overflow-x: auto;
|
|
||||||
right: -3px;
|
|
||||||
margin-left: 20px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
padding: 20px; padding-right: 30px;
|
|
||||||
max-width: 300px;
|
|
||||||
z-index: 5000;
|
|
||||||
background: #fefefe;
|
|
||||||
border: 1px solid #ddd;
|
|
||||||
box-shadow: -2px 2px 6px #bbb;
|
|
||||||
}
|
|
||||||
#toc .title { margin: 0; }
|
|
||||||
#toc ol { padding-left: 1.8em; }
|
|
||||||
#toc li { font-size: 1.1em; line-height: 1.7em; }
|
|
||||||
#toc > ol > li { font-size: 1.1em; font-weight: bold; }
|
|
||||||
#toc ol > li > ol { font-size: 0.9em; }
|
|
||||||
#toc ol ol > li > ol { padding-left: 2.3em; }
|
|
||||||
#toc ol + li { margin-top: 0.3em; }
|
|
||||||
#toc.hidden { padding: 10px; background: #fefefe; box-shadow: none; }
|
|
||||||
#toc.hidden:hover { background: #fafafa; }
|
|
||||||
#filecontents h1 + #toc.nofloat { margin-top: 0; }
|
|
||||||
@media (max-width: 560px) {
|
|
||||||
#toc {
|
|
||||||
margin-left: 0;
|
|
||||||
margin-top: 16px;
|
|
||||||
float: none;
|
|
||||||
max-width: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* syntax highlighting */
|
|
||||||
.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
|
|
||||||
#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
|
|
||||||
#filecontents pre.code, .docstring pre.code { display: block; }
|
|
||||||
.source_code .lines { padding-right: 12px; color: #555; text-align: right; }
|
|
||||||
#filecontents pre.code, .docstring pre.code,
|
|
||||||
.tags pre.example {
|
|
||||||
padding: 9px 14px;
|
|
||||||
margin-top: 4px;
|
|
||||||
border: 1px solid #e1e1e8;
|
|
||||||
background: #f7f7f9;
|
|
||||||
border-radius: 4px;
|
|
||||||
font-size: 1em;
|
|
||||||
overflow-x: auto;
|
|
||||||
line-height: 1.2em;
|
|
||||||
}
|
|
||||||
pre.code { color: #000; tab-size: 2; }
|
|
||||||
pre.code .info.file { color: #555; }
|
|
||||||
pre.code .val { color: #036A07; }
|
|
||||||
pre.code .tstring_content,
|
|
||||||
pre.code .heredoc_beg, pre.code .heredoc_end,
|
|
||||||
pre.code .qwords_beg, pre.code .qwords_end, pre.code .qwords_sep,
|
|
||||||
pre.code .words_beg, pre.code .words_end, pre.code .words_sep,
|
|
||||||
pre.code .qsymbols_beg, pre.code .qsymbols_end, pre.code .qsymbols_sep,
|
|
||||||
pre.code .symbols_beg, pre.code .symbols_end, pre.code .symbols_sep,
|
|
||||||
pre.code .tstring, pre.code .dstring { color: #036A07; }
|
|
||||||
pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
|
|
||||||
pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
|
|
||||||
pre.code .dot + pre.code .id,
|
|
||||||
pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
|
|
||||||
pre.code .comment { color: #0066FF; }
|
|
||||||
pre.code .const, pre.code .constant { color: #585CF6; }
|
|
||||||
pre.code .label,
|
|
||||||
pre.code .symbol { color: #C5060B; }
|
|
||||||
pre.code .kw,
|
|
||||||
pre.code .rubyid_require,
|
|
||||||
pre.code .rubyid_extend,
|
|
||||||
pre.code .rubyid_include { color: #0000FF; }
|
|
||||||
pre.code .ivar { color: #318495; }
|
|
||||||
pre.code .gvar,
|
|
||||||
pre.code .rubyid_backref,
|
|
||||||
pre.code .rubyid_nth_ref { color: #6D79DE; }
|
|
||||||
pre.code .regexp, .dregexp { color: #036A07; }
|
|
||||||
pre.code a { border-bottom: 1px dotted #bbf; }
|
|
||||||
/* inline code */
|
|
||||||
*:not(pre) > code {
|
|
||||||
padding: 1px 3px 1px 3px;
|
|
||||||
border: 1px solid #E1E1E8;
|
|
||||||
background: #F7F7F9;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Color fix for links */
|
|
||||||
#content .summary_desc pre.code .id > .object_link a, /* identifier */
|
|
||||||
#content .docstring pre.code .id > .object_link a { color: #0085FF; }
|
|
||||||
#content .summary_desc pre.code .const > .object_link a, /* constant */
|
|
||||||
#content .docstring pre.code .const > .object_link a { color: #585CF6; }
|
|
||||||
@@ -1,175 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
File: README
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "";
|
|
||||||
relpath = '';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="file_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="_index.html">Index</a> »
|
|
||||||
<span class="title">File: README</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><div id='filecontents'>
|
|
||||||
<h1 id="label-Readme">Readme</h1>
|
|
||||||
|
|
||||||
<p><a href="https://jenkins.confdroid.com/job/fail2ban_cd/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=fail2ban_cd"></a></p>
|
|
||||||
|
|
||||||
<p>[[<em>TOC</em>]]</p>
|
|
||||||
|
|
||||||
<h2 id="label-Synopsis">Synopsis</h2>
|
|
||||||
|
|
||||||
<p>Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks.</p>
|
|
||||||
|
|
||||||
<p><code>fail2ban_cd</code> is a Puppet module to automate installation, configuration and management of fail2ban settings and rules.</p>
|
|
||||||
|
|
||||||
<h2 id="label-WARNING">WARNING</h2>
|
|
||||||
|
|
||||||
<p><strong><em>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</em></strong></p>
|
|
||||||
|
|
||||||
<h2 id="label-Features">Features</h2>
|
|
||||||
|
|
||||||
<p>Installation</p>
|
|
||||||
<ul><li>
|
|
||||||
<p>install required binaries</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>Configuration</p>
|
|
||||||
<ul><li>
|
|
||||||
<p>manage directory structure (file system permissions, selinux context)</p>
|
|
||||||
</li><li>
|
|
||||||
<p>manage configuration files (file system permissions, selinux context, content based on parameters)</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>Service</p>
|
|
||||||
<ul><li>
|
|
||||||
<p>manage service status</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Dependencies">Dependencies</h2>
|
|
||||||
|
|
||||||
<p>All dependencies must be included in the catalogue.</p>
|
|
||||||
<ul><li>
|
|
||||||
<p><a href="https://gitlab.confdroid.com/puppet/cd_resources">cd_resources</a> to manage yum base repos</p>
|
|
||||||
</li><li>
|
|
||||||
<p><a href="https://gitlab.confdroid.com/puppet/cd_firewall">cd_firewall</a> or puppetlabs-firewall to manage firewall settings (optional)</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Deployment">Deployment</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>native Puppet deployment</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>via site.pp or nodes.pp</p>
|
|
||||||
|
|
||||||
<pre class="code ruby"><code class="ruby">node 'example.example.net' {
|
|
||||||
include cd_elasticsearch
|
|
||||||
}
|
|
||||||
</code></pre>
|
|
||||||
<ul><li>
|
|
||||||
<p>through Foreman:</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>In order to apply parameters through Foreman, <strong>fail2ban_cd::params</strong> must be added to the host or host group in question.</p>
|
|
||||||
|
|
||||||
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
|
|
||||||
|
|
||||||
<h2 id="label-Parameters">Parameters</h2>
|
|
||||||
|
|
||||||
<p>The parameters are documented via puppet strings and <a href="/docs/index.html">listed here</a>. Simply open in web browser.</p>
|
|
||||||
|
|
||||||
<h2 id="label-SELINUX">SELINUX</h2>
|
|
||||||
|
|
||||||
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
|
||||||
|
|
||||||
<h2 id="label-Known+Problems">Known Problems</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>firewalld: firewalld is auto-installed on CentOS7 as dependency of fail2ban by yum.</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Support">Support</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>OS: Rocky 9</p>
|
|
||||||
</li><li>
|
|
||||||
<p>Puppet 8</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Tests">Tests</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>Puppet Lint</p>
|
|
||||||
</li><li>
|
|
||||||
<p>excluded tests:</p>
|
|
||||||
<ul><li>
|
|
||||||
<p><code>--no-variable_scope-check</code>: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.</p>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<p>Puppet Parser</p>
|
|
||||||
</li><li>
|
|
||||||
<p>ERB Template Parser</p>
|
|
||||||
</li><li>
|
|
||||||
<p>Sonar Quality Gate</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Contact+Us">Contact Us</h2>
|
|
||||||
|
|
||||||
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
|
||||||
|
|
||||||
<h2 id="label-Disclaimer">Disclaimer</h2>
|
|
||||||
|
|
||||||
<p>ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments. The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments.</p>
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>Documentation by YARD 0.9.36</title>
|
|
||||||
</head>
|
|
||||||
<script type="text/javascript">
|
|
||||||
var mainUrl = 'index.html';
|
|
||||||
try {
|
|
||||||
var match = decodeURIComponent(window.location.hash).match(/^#!(.+)/);
|
|
||||||
var name = match ? match[1] : mainUrl;
|
|
||||||
var url = new URL(name, location.href);
|
|
||||||
window.top.location.replace(url.origin === location.origin ? name : mainUrl);
|
|
||||||
} catch (e) {
|
|
||||||
window.top.location.replace(mainUrl);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<noscript>
|
|
||||||
<h1>Oops!</h1>
|
|
||||||
<h2>YARD requires JavaScript!</h2>
|
|
||||||
</noscript>
|
|
||||||
</html>
|
|
||||||
175
doc/index.html
175
doc/index.html
@@ -1,175 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
File: README
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "";
|
|
||||||
relpath = '';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="_index.html">Index</a> »
|
|
||||||
<span class="title">File: README</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><div id='filecontents'>
|
|
||||||
<h1 id="label-Readme">Readme</h1>
|
|
||||||
|
|
||||||
<p><a href="https://jenkins.confdroid.com/job/fail2ban_cd/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=fail2ban_cd"></a></p>
|
|
||||||
|
|
||||||
<p>[[<em>TOC</em>]]</p>
|
|
||||||
|
|
||||||
<h2 id="label-Synopsis">Synopsis</h2>
|
|
||||||
|
|
||||||
<p>Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks.</p>
|
|
||||||
|
|
||||||
<p><code>fail2ban_cd</code> is a Puppet module to automate installation, configuration and management of fail2ban settings and rules.</p>
|
|
||||||
|
|
||||||
<h2 id="label-WARNING">WARNING</h2>
|
|
||||||
|
|
||||||
<p><strong><em>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</em></strong></p>
|
|
||||||
|
|
||||||
<h2 id="label-Features">Features</h2>
|
|
||||||
|
|
||||||
<p>Installation</p>
|
|
||||||
<ul><li>
|
|
||||||
<p>install required binaries</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>Configuration</p>
|
|
||||||
<ul><li>
|
|
||||||
<p>manage directory structure (file system permissions, selinux context)</p>
|
|
||||||
</li><li>
|
|
||||||
<p>manage configuration files (file system permissions, selinux context, content based on parameters)</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>Service</p>
|
|
||||||
<ul><li>
|
|
||||||
<p>manage service status</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Dependencies">Dependencies</h2>
|
|
||||||
|
|
||||||
<p>All dependencies must be included in the catalogue.</p>
|
|
||||||
<ul><li>
|
|
||||||
<p><a href="https://gitlab.confdroid.com/puppet/cd_resources">cd_resources</a> to manage yum base repos</p>
|
|
||||||
</li><li>
|
|
||||||
<p><a href="https://gitlab.confdroid.com/puppet/cd_firewall">cd_firewall</a> or puppetlabs-firewall to manage firewall settings (optional)</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Deployment">Deployment</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>native Puppet deployment</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>via site.pp or nodes.pp</p>
|
|
||||||
|
|
||||||
<pre class="code ruby"><code class="ruby">node 'example.example.net' {
|
|
||||||
include cd_elasticsearch
|
|
||||||
}
|
|
||||||
</code></pre>
|
|
||||||
<ul><li>
|
|
||||||
<p>through Foreman:</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<p>In order to apply parameters through Foreman, <strong>fail2ban_cd::params</strong> must be added to the host or host group in question.</p>
|
|
||||||
|
|
||||||
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
|
|
||||||
|
|
||||||
<h2 id="label-Parameters">Parameters</h2>
|
|
||||||
|
|
||||||
<p>The parameters are documented via puppet strings and <a href="/docs/index.html">listed here</a>. Simply open in web browser.</p>
|
|
||||||
|
|
||||||
<h2 id="label-SELINUX">SELINUX</h2>
|
|
||||||
|
|
||||||
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
|
|
||||||
|
|
||||||
<h2 id="label-Known+Problems">Known Problems</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>firewalld: firewalld is auto-installed on CentOS7 as dependency of fail2ban by yum.</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Support">Support</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>OS: Rocky 9</p>
|
|
||||||
</li><li>
|
|
||||||
<p>Puppet 8</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Tests">Tests</h2>
|
|
||||||
<ul><li>
|
|
||||||
<p>Puppet Lint</p>
|
|
||||||
</li><li>
|
|
||||||
<p>excluded tests:</p>
|
|
||||||
<ul><li>
|
|
||||||
<p><code>--no-variable_scope-check</code>: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.</p>
|
|
||||||
</li></ul>
|
|
||||||
</li><li>
|
|
||||||
<p>Puppet Parser</p>
|
|
||||||
</li><li>
|
|
||||||
<p>ERB Template Parser</p>
|
|
||||||
</li><li>
|
|
||||||
<p>Sonar Quality Gate</p>
|
|
||||||
</li></ul>
|
|
||||||
|
|
||||||
<h2 id="label-Contact+Us">Contact Us</h2>
|
|
||||||
|
|
||||||
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
|
||||||
|
|
||||||
<h2 id="label-Disclaimer">Disclaimer</h2>
|
|
||||||
|
|
||||||
<p>ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments. The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments.</p>
|
|
||||||
</div></div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
314
doc/js/app.js
314
doc/js/app.js
@@ -1,314 +0,0 @@
|
|||||||
(function() {
|
|
||||||
|
|
||||||
var localStorage = {}, sessionStorage = {};
|
|
||||||
try { localStorage = window.localStorage; } catch (e) { }
|
|
||||||
try { sessionStorage = window.sessionStorage; } catch (e) { }
|
|
||||||
|
|
||||||
function createSourceLinks() {
|
|
||||||
$('.method_details_list .source_code').
|
|
||||||
before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
|
|
||||||
$('.toggleSource').toggle(function() {
|
|
||||||
$(this).parent().nextAll('.source_code').slideDown(100);
|
|
||||||
$(this).text("Hide source");
|
|
||||||
},
|
|
||||||
function() {
|
|
||||||
$(this).parent().nextAll('.source_code').slideUp(100);
|
|
||||||
$(this).text("View source");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function createDefineLinks() {
|
|
||||||
var tHeight = 0;
|
|
||||||
$('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
|
|
||||||
$('.toggleDefines').toggle(function() {
|
|
||||||
tHeight = $(this).parent().prev().height();
|
|
||||||
$(this).prev().css('display', 'inline');
|
|
||||||
$(this).parent().prev().height($(this).parent().height());
|
|
||||||
$(this).text("(less)");
|
|
||||||
},
|
|
||||||
function() {
|
|
||||||
$(this).prev().hide();
|
|
||||||
$(this).parent().prev().height(tHeight);
|
|
||||||
$(this).text("more...");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function createFullTreeLinks() {
|
|
||||||
var tHeight = 0;
|
|
||||||
$('.inheritanceTree').toggle(function() {
|
|
||||||
tHeight = $(this).parent().prev().height();
|
|
||||||
$(this).parent().toggleClass('showAll');
|
|
||||||
$(this).text("(hide)");
|
|
||||||
$(this).parent().prev().height($(this).parent().height());
|
|
||||||
},
|
|
||||||
function() {
|
|
||||||
$(this).parent().toggleClass('showAll');
|
|
||||||
$(this).parent().prev().height(tHeight);
|
|
||||||
$(this).text("show all");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function searchFrameButtons() {
|
|
||||||
$('.full_list_link').click(function() {
|
|
||||||
toggleSearchFrame(this, $(this).attr('href'));
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
window.addEventListener('message', function(e) {
|
|
||||||
if (e.data === 'navEscape') {
|
|
||||||
$('#nav').slideUp(100);
|
|
||||||
$('#search a').removeClass('active inactive');
|
|
||||||
$(window).focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(window).resize(function() {
|
|
||||||
if ($('#search:visible').length === 0) {
|
|
||||||
$('#nav').removeAttr('style');
|
|
||||||
$('#search a').removeClass('active inactive');
|
|
||||||
$(window).focus();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleSearchFrame(id, link) {
|
|
||||||
var frame = $('#nav');
|
|
||||||
$('#search a').removeClass('active').addClass('inactive');
|
|
||||||
if (frame.attr('src') === link && frame.css('display') !== "none") {
|
|
||||||
frame.slideUp(100);
|
|
||||||
$('#search a').removeClass('active inactive');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$(id).addClass('active').removeClass('inactive');
|
|
||||||
if (frame.attr('src') !== link) frame.attr('src', link);
|
|
||||||
frame.slideDown(100);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function linkSummaries() {
|
|
||||||
$('.summary_signature').click(function() {
|
|
||||||
document.location = $(this).find('a').attr('href');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function summaryToggle() {
|
|
||||||
$('.summary_toggle').click(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
localStorage.summaryCollapsed = $(this).text();
|
|
||||||
$('.summary_toggle').each(function() {
|
|
||||||
$(this).text($(this).text() == "collapse" ? "expand" : "collapse");
|
|
||||||
var next = $(this).parent().parent().nextAll('ul.summary').first();
|
|
||||||
if (next.hasClass('compact')) {
|
|
||||||
next.toggle();
|
|
||||||
next.nextAll('ul.summary').first().toggle();
|
|
||||||
}
|
|
||||||
else if (next.hasClass('summary')) {
|
|
||||||
var list = $('<ul class="summary compact" />');
|
|
||||||
list.html(next.html());
|
|
||||||
list.find('.summary_desc, .note').remove();
|
|
||||||
list.find('a').each(function() {
|
|
||||||
$(this).html($(this).find('strong').html());
|
|
||||||
$(this).parent().html($(this)[0].outerHTML);
|
|
||||||
});
|
|
||||||
next.before(list);
|
|
||||||
next.toggle();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
if (localStorage.summaryCollapsed == "collapse") {
|
|
||||||
$('.summary_toggle').first().click();
|
|
||||||
} else { localStorage.summaryCollapsed = "expand"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
function constantSummaryToggle() {
|
|
||||||
$('.constants_summary_toggle').click(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
localStorage.summaryCollapsed = $(this).text();
|
|
||||||
$('.constants_summary_toggle').each(function() {
|
|
||||||
$(this).text($(this).text() == "collapse" ? "expand" : "collapse");
|
|
||||||
var next = $(this).parent().parent().nextAll('dl.constants').first();
|
|
||||||
if (next.hasClass('compact')) {
|
|
||||||
next.toggle();
|
|
||||||
next.nextAll('dl.constants').first().toggle();
|
|
||||||
}
|
|
||||||
else if (next.hasClass('constants')) {
|
|
||||||
var list = $('<dl class="constants compact" />');
|
|
||||||
list.html(next.html());
|
|
||||||
list.find('dt').each(function() {
|
|
||||||
$(this).addClass('summary_signature');
|
|
||||||
$(this).text( $(this).text().split('=')[0]);
|
|
||||||
if ($(this).has(".deprecated").length) {
|
|
||||||
$(this).addClass('deprecated');
|
|
||||||
};
|
|
||||||
});
|
|
||||||
// Add the value of the constant as "Tooltip" to the summary object
|
|
||||||
list.find('pre.code').each(function() {
|
|
||||||
console.log($(this).parent());
|
|
||||||
var dt_element = $(this).parent().prev();
|
|
||||||
var tooltip = $(this).text();
|
|
||||||
if (dt_element.hasClass("deprecated")) {
|
|
||||||
tooltip = 'Deprecated. ' + tooltip;
|
|
||||||
};
|
|
||||||
dt_element.attr('title', tooltip);
|
|
||||||
});
|
|
||||||
list.find('.docstring, .tags, dd').remove();
|
|
||||||
next.before(list);
|
|
||||||
next.toggle();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
if (localStorage.summaryCollapsed == "collapse") {
|
|
||||||
$('.constants_summary_toggle').first().click();
|
|
||||||
} else { localStorage.summaryCollapsed = "expand"; }
|
|
||||||
}
|
|
||||||
|
|
||||||
function generateTOC() {
|
|
||||||
if ($('#filecontents').length === 0) return;
|
|
||||||
var _toc = $('<ol class="top"></ol>');
|
|
||||||
var show = false;
|
|
||||||
var toc = _toc;
|
|
||||||
var counter = 0;
|
|
||||||
var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
|
|
||||||
var i;
|
|
||||||
var curli;
|
|
||||||
if ($('#filecontents h1').length > 1) tags.unshift('h1');
|
|
||||||
for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
|
|
||||||
var lastTag = parseInt(tags[0][1], 10);
|
|
||||||
$(tags.join(', ')).each(function() {
|
|
||||||
if ($(this).parents('.method_details .docstring').length != 0) return;
|
|
||||||
if (this.id == "filecontents") return;
|
|
||||||
show = true;
|
|
||||||
var thisTag = parseInt(this.tagName[1], 10);
|
|
||||||
if (this.id.length === 0) {
|
|
||||||
var proposedId = $(this).attr('toc-id');
|
|
||||||
if (typeof(proposedId) != "undefined") this.id = proposedId;
|
|
||||||
else {
|
|
||||||
var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
|
|
||||||
if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
|
|
||||||
this.id = proposedId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (thisTag > lastTag) {
|
|
||||||
for (i = 0; i < thisTag - lastTag; i++) {
|
|
||||||
if ( typeof(curli) == "undefined" ) {
|
|
||||||
curli = $('<li/>');
|
|
||||||
toc.append(curli);
|
|
||||||
}
|
|
||||||
toc = $('<ol/>');
|
|
||||||
curli.append(toc);
|
|
||||||
curli = undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (thisTag < lastTag) {
|
|
||||||
for (i = 0; i < lastTag - thisTag; i++) {
|
|
||||||
toc = toc.parent();
|
|
||||||
toc = toc.parent();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var title = $(this).attr('toc-title');
|
|
||||||
if (typeof(title) == "undefined") title = $(this).text();
|
|
||||||
curli =$('<li><a href="#' + this.id + '">' + title + '</a></li>');
|
|
||||||
toc.append(curli);
|
|
||||||
lastTag = thisTag;
|
|
||||||
});
|
|
||||||
if (!show) return;
|
|
||||||
html = '<div id="toc"><p class="title hide_toc"><a href="#"><strong>Table of Contents</strong></a></p></div>';
|
|
||||||
$('#content').prepend(html);
|
|
||||||
$('#toc').append(_toc);
|
|
||||||
$('#toc .hide_toc').toggle(function() {
|
|
||||||
$('#toc .top').slideUp('fast');
|
|
||||||
$('#toc').toggleClass('hidden');
|
|
||||||
$('#toc .title small').toggle();
|
|
||||||
}, function() {
|
|
||||||
$('#toc .top').slideDown('fast');
|
|
||||||
$('#toc').toggleClass('hidden');
|
|
||||||
$('#toc .title small').toggle();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function navResizeFn(e) {
|
|
||||||
if (e.which !== 1) {
|
|
||||||
navResizeFnStop();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
sessionStorage.navWidth = e.pageX.toString();
|
|
||||||
$('.nav_wrap').css('width', e.pageX);
|
|
||||||
$('.nav_wrap').css('-ms-flex', 'inherit');
|
|
||||||
}
|
|
||||||
|
|
||||||
function navResizeFnStop() {
|
|
||||||
$(window).unbind('mousemove', navResizeFn);
|
|
||||||
window.removeEventListener('message', navMessageFn, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
function navMessageFn(e) {
|
|
||||||
if (e.data.action === 'mousemove') navResizeFn(e.data.event);
|
|
||||||
if (e.data.action === 'mouseup') navResizeFnStop();
|
|
||||||
}
|
|
||||||
|
|
||||||
function navResizer() {
|
|
||||||
$('#resizer').mousedown(function(e) {
|
|
||||||
e.preventDefault();
|
|
||||||
$(window).mousemove(navResizeFn);
|
|
||||||
window.addEventListener('message', navMessageFn, false);
|
|
||||||
});
|
|
||||||
$(window).mouseup(navResizeFnStop);
|
|
||||||
|
|
||||||
if (sessionStorage.navWidth) {
|
|
||||||
navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function navExpander() {
|
|
||||||
var done = false, timer = setTimeout(postMessage, 500);
|
|
||||||
function postMessage() {
|
|
||||||
if (done) return;
|
|
||||||
clearTimeout(timer);
|
|
||||||
var opts = { action: 'expand', path: pathId };
|
|
||||||
document.getElementById('nav').contentWindow.postMessage(opts, '*');
|
|
||||||
done = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener('message', function(event) {
|
|
||||||
if (event.data === 'navReady') postMessage();
|
|
||||||
return false;
|
|
||||||
}, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
function mainFocus() {
|
|
||||||
var hash = window.location.hash;
|
|
||||||
if (hash !== '' && $(hash)[0]) {
|
|
||||||
$(hash)[0].scrollIntoView();
|
|
||||||
}
|
|
||||||
|
|
||||||
setTimeout(function() { $('#main').focus(); }, 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
function navigationChange() {
|
|
||||||
// This works around the broken anchor navigation with the YARD template.
|
|
||||||
window.onpopstate = function() {
|
|
||||||
var hash = window.location.hash;
|
|
||||||
if (hash !== '' && $(hash)[0]) {
|
|
||||||
$(hash)[0].scrollIntoView();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
|
||||||
navResizer();
|
|
||||||
navExpander();
|
|
||||||
createSourceLinks();
|
|
||||||
createDefineLinks();
|
|
||||||
createFullTreeLinks();
|
|
||||||
searchFrameButtons();
|
|
||||||
linkSummaries();
|
|
||||||
summaryToggle();
|
|
||||||
constantSummaryToggle();
|
|
||||||
generateTOC();
|
|
||||||
mainFocus();
|
|
||||||
navigationChange();
|
|
||||||
});
|
|
||||||
|
|
||||||
})();
|
|
||||||
@@ -1,216 +0,0 @@
|
|||||||
(function() {
|
|
||||||
|
|
||||||
var $clicked = $(null);
|
|
||||||
var searchTimeout = null;
|
|
||||||
var searchCache = [];
|
|
||||||
var caseSensitiveMatch = false;
|
|
||||||
var ignoreKeyCodeMin = 8;
|
|
||||||
var ignoreKeyCodeMax = 46;
|
|
||||||
var commandKey = 91;
|
|
||||||
|
|
||||||
RegExp.escape = function(text) {
|
|
||||||
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
|
|
||||||
}
|
|
||||||
|
|
||||||
function escapeShortcut() {
|
|
||||||
$(document).keydown(function(evt) {
|
|
||||||
if (evt.which == 27) {
|
|
||||||
window.parent.postMessage('navEscape', '*');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function navResizer() {
|
|
||||||
$(window).mousemove(function(e) {
|
|
||||||
window.parent.postMessage({
|
|
||||||
action: 'mousemove', event: {pageX: e.pageX, which: e.which}
|
|
||||||
}, '*');
|
|
||||||
}).mouseup(function(e) {
|
|
||||||
window.parent.postMessage({action: 'mouseup'}, '*');
|
|
||||||
});
|
|
||||||
window.parent.postMessage("navReady", "*");
|
|
||||||
}
|
|
||||||
|
|
||||||
function clearSearchTimeout() {
|
|
||||||
clearTimeout(searchTimeout);
|
|
||||||
searchTimeout = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
function enableLinks() {
|
|
||||||
// load the target page in the parent window
|
|
||||||
$('#full_list li').on('click', function(evt) {
|
|
||||||
$('#full_list li').removeClass('clicked');
|
|
||||||
$clicked = $(this);
|
|
||||||
$clicked.addClass('clicked');
|
|
||||||
evt.stopPropagation();
|
|
||||||
|
|
||||||
if (evt.target.tagName === 'A') return true;
|
|
||||||
|
|
||||||
var elem = $clicked.find('> .item .object_link a')[0];
|
|
||||||
var e = evt.originalEvent;
|
|
||||||
var newEvent = new MouseEvent(evt.originalEvent.type);
|
|
||||||
newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
|
|
||||||
elem.dispatchEvent(newEvent);
|
|
||||||
evt.preventDefault();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function enableToggles() {
|
|
||||||
// show/hide nested classes on toggle click
|
|
||||||
$('#full_list a.toggle').on('click', function(evt) {
|
|
||||||
evt.stopPropagation();
|
|
||||||
evt.preventDefault();
|
|
||||||
$(this).parent().parent().toggleClass('collapsed');
|
|
||||||
highlight();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function populateSearchCache() {
|
|
||||||
$('#full_list li .item').each(function() {
|
|
||||||
var $node = $(this);
|
|
||||||
var $link = $node.find('.object_link a');
|
|
||||||
if ($link.length > 0) {
|
|
||||||
searchCache.push({
|
|
||||||
node: $node,
|
|
||||||
link: $link,
|
|
||||||
name: $link.text(),
|
|
||||||
fullName: $link.attr('title').split(' ')[0]
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function enableSearch() {
|
|
||||||
$('#search input').keyup(function(event) {
|
|
||||||
if (ignoredKeyPress(event)) return;
|
|
||||||
if (this.value === "") {
|
|
||||||
clearSearch();
|
|
||||||
} else {
|
|
||||||
performSearch(this.value);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#full_list').after("<div id='noresults' style='display:none'></div>");
|
|
||||||
}
|
|
||||||
|
|
||||||
function ignoredKeyPress(event) {
|
|
||||||
if (
|
|
||||||
(event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) ||
|
|
||||||
(event.keyCode == commandKey)
|
|
||||||
) {
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function clearSearch() {
|
|
||||||
clearSearchTimeout();
|
|
||||||
$('#full_list .found').removeClass('found').each(function() {
|
|
||||||
var $link = $(this).find('.object_link a');
|
|
||||||
$link.text($link.text());
|
|
||||||
});
|
|
||||||
$('#full_list, #content').removeClass('insearch');
|
|
||||||
$clicked.parents().removeClass('collapsed');
|
|
||||||
highlight();
|
|
||||||
}
|
|
||||||
|
|
||||||
function performSearch(searchString) {
|
|
||||||
clearSearchTimeout();
|
|
||||||
$('#full_list, #content').addClass('insearch');
|
|
||||||
$('#noresults').text('').hide();
|
|
||||||
partialSearch(searchString, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function partialSearch(searchString, offset) {
|
|
||||||
var lastRowClass = '';
|
|
||||||
var i = null;
|
|
||||||
for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) {
|
|
||||||
var item = searchCache[i];
|
|
||||||
var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name);
|
|
||||||
var matchString = buildMatchString(searchString);
|
|
||||||
var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i");
|
|
||||||
if (searchName.match(matchRegexp) == null) {
|
|
||||||
item.node.removeClass('found');
|
|
||||||
item.link.text(item.link.text());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
item.node.addClass('found');
|
|
||||||
item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1');
|
|
||||||
lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2';
|
|
||||||
item.link.html(item.name.replace(matchRegexp, "<strong>$&</strong>"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(i == searchCache.length) {
|
|
||||||
searchDone();
|
|
||||||
} else {
|
|
||||||
searchTimeout = setTimeout(function() {
|
|
||||||
partialSearch(searchString, i);
|
|
||||||
}, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function searchDone() {
|
|
||||||
searchTimeout = null;
|
|
||||||
highlight();
|
|
||||||
if ($('#full_list li:visible').size() === 0) {
|
|
||||||
$('#noresults').text('No results were found.').hide().fadeIn();
|
|
||||||
} else {
|
|
||||||
$('#noresults').text('').hide();
|
|
||||||
}
|
|
||||||
$('#content').removeClass('insearch');
|
|
||||||
}
|
|
||||||
|
|
||||||
function buildMatchString(searchString, event) {
|
|
||||||
caseSensitiveMatch = searchString.match(/[A-Z]/) != null;
|
|
||||||
var regexSearchString = RegExp.escape(searchString);
|
|
||||||
if (caseSensitiveMatch) {
|
|
||||||
regexSearchString += "|" +
|
|
||||||
$.map(searchString.split(''), function(e) { return RegExp.escape(e); }).
|
|
||||||
join('.+?');
|
|
||||||
}
|
|
||||||
return regexSearchString;
|
|
||||||
}
|
|
||||||
|
|
||||||
function highlight() {
|
|
||||||
$('#full_list li:visible').each(function(n) {
|
|
||||||
$(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Expands the tree to the target element and its immediate
|
|
||||||
* children.
|
|
||||||
*/
|
|
||||||
function expandTo(path) {
|
|
||||||
var $target = $(document.getElementById('object_' + path));
|
|
||||||
$target.addClass('clicked');
|
|
||||||
$target.removeClass('collapsed');
|
|
||||||
$target.parentsUntil('#full_list', 'li').removeClass('collapsed');
|
|
||||||
if($target[0]) {
|
|
||||||
window.scrollTo(window.scrollX, $target.offset().top - 250);
|
|
||||||
highlight();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function windowEvents(event) {
|
|
||||||
var msg = event.data;
|
|
||||||
if (msg.action === "expand") {
|
|
||||||
expandTo(msg.path);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener("message", windowEvents, false);
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
|
||||||
escapeShortcut();
|
|
||||||
navResizer();
|
|
||||||
enableLinks();
|
|
||||||
enableToggles();
|
|
||||||
populateSearchCache();
|
|
||||||
enableSearch();
|
|
||||||
});
|
|
||||||
|
|
||||||
})();
|
|
||||||
4
doc/js/jquery.js
vendored
4
doc/js/jquery.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,92 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
<title>Puppet Class List</title>
|
|
||||||
<base id="base_target" target="_parent" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="content">
|
|
||||||
<div class="fixed_header">
|
|
||||||
<h1 id="full_list_header">Puppet Class List</h1>
|
|
||||||
<div id="full_list_nav">
|
|
||||||
|
|
||||||
<span><a target="_self" href="puppet_class_list.html">
|
|
||||||
Puppet Classes
|
|
||||||
</a></span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">Search: <input type="text" /></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul id="full_list" class="puppet_class">
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd" class="odd">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd.html" title="puppet_classes::fail2ban_cd (puppet_class)">fail2ban_cd</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd::main::config" class="even">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::fail2ban_cd::main::config (puppet_class)">fail2ban_cd::main::config</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd::main::dirs" class="odd">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Adirs.html" title="puppet_classes::fail2ban_cd::main::dirs (puppet_class)">fail2ban_cd::main::dirs</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd::main::files" class="even">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Afiles.html" title="puppet_classes::fail2ban_cd::main::files (puppet_class)">fail2ban_cd::main::files</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd::main::install" class="odd">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::fail2ban_cd::main::install (puppet_class)">fail2ban_cd::main::install</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd::main::service" class="even">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Amain_3A_3Aservice.html" title="puppet_classes::fail2ban_cd::main::service (puppet_class)">fail2ban_cd::main::service</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<li id="object_puppet_classes::fail2ban_cd::params" class="odd">
|
|
||||||
<div class="item">
|
|
||||||
<span class='object_link'><a href="puppet_classes/fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Puppet Class: fail2ban_cd
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "puppet_classes::fail2ban_cd";
|
|
||||||
relpath = '../';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="../_index.html">Index (f)</a> »
|
|
||||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
|
||||||
»
|
|
||||||
<span class="title">fail2ban_cd</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="../puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Puppet Class: fail2ban_cd</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Defined in:</dt>
|
|
||||||
<dd>
|
|
||||||
manifests/init.pp
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Summary</h2>
|
|
||||||
Class initializes the fail2ban_cd module.
|
|
||||||
|
|
||||||
<h2>Overview</h2>
|
|
||||||
<div class="docstring">
|
|
||||||
<div class="discussion">
|
|
||||||
|
|
||||||
<p>fail2ban_cd::init.pp Module name: fail2ban_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tags">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div><div class="method_details_list">
|
|
||||||
<table class="source_code">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<pre class="lines">
|
|
||||||
|
|
||||||
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8</pre>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<pre class="code"><span class="info file"># File 'manifests/init.pp', line 6</span>
|
|
||||||
|
|
||||||
class fail2ban_cd {
|
|
||||||
include fail2ban_cd::params
|
|
||||||
}</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Puppet Class: fail2ban_cd::main::config
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "puppet_classes::fail2ban_cd::main::config";
|
|
||||||
relpath = '../';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="../_index.html">Index (f)</a> »
|
|
||||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
|
||||||
»
|
|
||||||
<span class="title">fail2ban_cd::main::config</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="../puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Puppet Class: fail2ban_cd::main::config</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Inherits:</dt>
|
|
||||||
<dd><span class='object_link'><a href="fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Defined in:</dt>
|
|
||||||
<dd>
|
|
||||||
manifests/main/config.pp
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Summary</h2>
|
|
||||||
Class manages the module logic for fail2ban_cd.
|
|
||||||
|
|
||||||
<h2>Overview</h2>
|
|
||||||
<div class="docstring">
|
|
||||||
<div class="discussion">
|
|
||||||
|
|
||||||
<p>fail2ban_cd::main::config.pp Module name: fail2ban_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tags">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div><div class="method_details_list">
|
|
||||||
<table class="source_code">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<pre class="lines">
|
|
||||||
|
|
||||||
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10</pre>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
|
|
||||||
|
|
||||||
class fail2ban_cd::main::config (
|
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
|
||||||
include fail2ban_cd::main::service
|
|
||||||
}</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,326 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Puppet Class: fail2ban_cd::main::dirs
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "puppet_classes::fail2ban_cd::main::dirs";
|
|
||||||
relpath = '../';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="../_index.html">Index (f)</a> »
|
|
||||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
|
||||||
»
|
|
||||||
<span class="title">fail2ban_cd::main::dirs</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="../puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Puppet Class: fail2ban_cd::main::dirs</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Inherits:</dt>
|
|
||||||
<dd><span class='object_link'><a href="fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Defined in:</dt>
|
|
||||||
<dd>
|
|
||||||
manifests/main/dirs.pp
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Summary</h2>
|
|
||||||
Class manages all directories required for fail2ban_cd.
|
|
||||||
|
|
||||||
<h2>Overview</h2>
|
|
||||||
<div class="docstring">
|
|
||||||
<div class="discussion">
|
|
||||||
|
|
||||||
<p>fail2ban_cd::main::dirs.pp Module name: fail2ban_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tags">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div><div class="method_details_list">
|
|
||||||
<table class="source_code">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<pre class="lines">
|
|
||||||
|
|
||||||
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
17
|
|
||||||
18
|
|
||||||
19
|
|
||||||
20
|
|
||||||
21
|
|
||||||
22
|
|
||||||
23
|
|
||||||
24
|
|
||||||
25
|
|
||||||
26
|
|
||||||
27
|
|
||||||
28
|
|
||||||
29
|
|
||||||
30
|
|
||||||
31
|
|
||||||
32
|
|
||||||
33
|
|
||||||
34
|
|
||||||
35
|
|
||||||
36
|
|
||||||
37
|
|
||||||
38
|
|
||||||
39
|
|
||||||
40
|
|
||||||
41
|
|
||||||
42
|
|
||||||
43
|
|
||||||
44
|
|
||||||
45
|
|
||||||
46
|
|
||||||
47
|
|
||||||
48
|
|
||||||
49
|
|
||||||
50
|
|
||||||
51
|
|
||||||
52
|
|
||||||
53
|
|
||||||
54
|
|
||||||
55
|
|
||||||
56
|
|
||||||
57
|
|
||||||
58
|
|
||||||
59
|
|
||||||
60
|
|
||||||
61
|
|
||||||
62
|
|
||||||
63
|
|
||||||
64
|
|
||||||
65
|
|
||||||
66
|
|
||||||
67
|
|
||||||
68
|
|
||||||
69
|
|
||||||
70
|
|
||||||
71
|
|
||||||
72
|
|
||||||
73
|
|
||||||
74
|
|
||||||
75
|
|
||||||
76
|
|
||||||
77
|
|
||||||
78
|
|
||||||
79
|
|
||||||
80
|
|
||||||
81
|
|
||||||
82
|
|
||||||
83
|
|
||||||
84
|
|
||||||
85
|
|
||||||
86
|
|
||||||
87
|
|
||||||
88
|
|
||||||
89
|
|
||||||
90
|
|
||||||
91
|
|
||||||
92
|
|
||||||
93
|
|
||||||
94
|
|
||||||
95
|
|
||||||
96
|
|
||||||
97
|
|
||||||
98
|
|
||||||
99
|
|
||||||
100
|
|
||||||
101
|
|
||||||
102
|
|
||||||
103
|
|
||||||
104
|
|
||||||
105
|
|
||||||
106
|
|
||||||
107
|
|
||||||
108</pre>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<pre class="code"><span class="info file"># File 'manifests/main/dirs.pp', line 6</span>
|
|
||||||
|
|
||||||
class fail2ban_cd::main::dirs (
|
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
|
||||||
require fail2ban_cd::main::install
|
|
||||||
|
|
||||||
# manage main dir
|
|
||||||
|
|
||||||
file { $fn_main_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_main_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage action.d dir
|
|
||||||
|
|
||||||
file { $fn_action_d_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_action_d_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage fail2ban.d dir
|
|
||||||
|
|
||||||
file { $fn_fail2ban_d_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_fail2ban_d_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage filter.d dir
|
|
||||||
|
|
||||||
file { $fn_filter_d_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_filter_d_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage jail.d dir
|
|
||||||
|
|
||||||
file { $fn_jail_d_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_jail_d_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage /var/lib/fail2ban
|
|
||||||
|
|
||||||
file { $fn_var_lib_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_var_lib_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => fail2ban_var_lib_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage /var/run/fail2bam
|
|
||||||
|
|
||||||
file { $fn_var_run_dir:
|
|
||||||
ensure => directory,
|
|
||||||
path => $fn_var_run_dir,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0755',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => fail2ban_var_run_t,
|
|
||||||
seluser => system_u,
|
|
||||||
}
|
|
||||||
}</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,294 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Puppet Class: fail2ban_cd::main::files
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "puppet_classes::fail2ban_cd::main::files";
|
|
||||||
relpath = '../';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="../_index.html">Index (f)</a> »
|
|
||||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
|
||||||
»
|
|
||||||
<span class="title">fail2ban_cd::main::files</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="../puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Puppet Class: fail2ban_cd::main::files</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Inherits:</dt>
|
|
||||||
<dd><span class='object_link'><a href="fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Defined in:</dt>
|
|
||||||
<dd>
|
|
||||||
manifests/main/files.pp
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Summary</h2>
|
|
||||||
Class manages all configuration files required for fail2ban_cd.
|
|
||||||
|
|
||||||
<h2>Overview</h2>
|
|
||||||
<div class="docstring">
|
|
||||||
<div class="discussion">
|
|
||||||
|
|
||||||
<p>fail2ban_cd::main::files.pp Module name: fail2ban_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tags">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div><div class="method_details_list">
|
|
||||||
<table class="source_code">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<pre class="lines">
|
|
||||||
|
|
||||||
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
17
|
|
||||||
18
|
|
||||||
19
|
|
||||||
20
|
|
||||||
21
|
|
||||||
22
|
|
||||||
23
|
|
||||||
24
|
|
||||||
25
|
|
||||||
26
|
|
||||||
27
|
|
||||||
28
|
|
||||||
29
|
|
||||||
30
|
|
||||||
31
|
|
||||||
32
|
|
||||||
33
|
|
||||||
34
|
|
||||||
35
|
|
||||||
36
|
|
||||||
37
|
|
||||||
38
|
|
||||||
39
|
|
||||||
40
|
|
||||||
41
|
|
||||||
42
|
|
||||||
43
|
|
||||||
44
|
|
||||||
45
|
|
||||||
46
|
|
||||||
47
|
|
||||||
48
|
|
||||||
49
|
|
||||||
50
|
|
||||||
51
|
|
||||||
52
|
|
||||||
53
|
|
||||||
54
|
|
||||||
55
|
|
||||||
56
|
|
||||||
57
|
|
||||||
58
|
|
||||||
59
|
|
||||||
60
|
|
||||||
61
|
|
||||||
62
|
|
||||||
63
|
|
||||||
64
|
|
||||||
65
|
|
||||||
66
|
|
||||||
67
|
|
||||||
68
|
|
||||||
69
|
|
||||||
70
|
|
||||||
71
|
|
||||||
72
|
|
||||||
73
|
|
||||||
74
|
|
||||||
75
|
|
||||||
76
|
|
||||||
77
|
|
||||||
78
|
|
||||||
79
|
|
||||||
80
|
|
||||||
81
|
|
||||||
82
|
|
||||||
83
|
|
||||||
84
|
|
||||||
85
|
|
||||||
86
|
|
||||||
87
|
|
||||||
88
|
|
||||||
89
|
|
||||||
90
|
|
||||||
91
|
|
||||||
92</pre>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
|
|
||||||
|
|
||||||
class fail2ban_cd::main::files (
|
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
|
||||||
require fail2ban_cd::main::dirs
|
|
||||||
|
|
||||||
if $fn_manage_config == true {
|
|
||||||
# manage fail2ban.conf
|
|
||||||
|
|
||||||
file { $fn_fail2ban_conf_file:
|
|
||||||
ensure => file,
|
|
||||||
path => $fn_fail2ban_conf_file,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0640',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
content => template($fn_fail2ban_conf_erb),
|
|
||||||
notify => Service[$fn_service],
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage fail2ban.local
|
|
||||||
|
|
||||||
file { $fn_fail2ban_local_file:
|
|
||||||
ensure => file,
|
|
||||||
path => $fn_fail2ban_local_file,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0640',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
content => template($fn_fail2ban_local_erb),
|
|
||||||
notify => Service[$fn_service],
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage jail.conf
|
|
||||||
|
|
||||||
file { $fn_jail_conf_file:
|
|
||||||
ensure => file,
|
|
||||||
path => $fn_jail_conf_file,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0640',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
content => template($fn_jail_conf_erb),
|
|
||||||
notify => Service[$fn_service],
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage jail.local
|
|
||||||
|
|
||||||
file { $fn_jail_local_file:
|
|
||||||
ensure => file,
|
|
||||||
path => $fn_jail_local_file,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0640',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
content => template($fn_jail_local_erb),
|
|
||||||
notify => Service[$fn_service],
|
|
||||||
}
|
|
||||||
|
|
||||||
# manage paths-common.conf
|
|
||||||
|
|
||||||
file { $fn_paths_common_file:
|
|
||||||
ensure => file,
|
|
||||||
path => $fn_paths_common_file,
|
|
||||||
owner => 'root',
|
|
||||||
group => 'root',
|
|
||||||
mode => '0640',
|
|
||||||
selrange => s0,
|
|
||||||
selrole => object_r,
|
|
||||||
seltype => etc_t,
|
|
||||||
seluser => system_u,
|
|
||||||
content => template($fn_paths_common_erb),
|
|
||||||
notify => Service[$fn_service],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Puppet Class: fail2ban_cd::main::install
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "puppet_classes::fail2ban_cd::main::install";
|
|
||||||
relpath = '../';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="../_index.html">Index (f)</a> »
|
|
||||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
|
||||||
»
|
|
||||||
<span class="title">fail2ban_cd::main::install</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="../puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Puppet Class: fail2ban_cd::main::install</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Inherits:</dt>
|
|
||||||
<dd><span class='object_link'><a href="fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Defined in:</dt>
|
|
||||||
<dd>
|
|
||||||
manifests/main/install.pp
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Summary</h2>
|
|
||||||
Class installs binaries required for fail2ban_cd
|
|
||||||
|
|
||||||
<h2>Overview</h2>
|
|
||||||
<div class="docstring">
|
|
||||||
<div class="discussion">
|
|
||||||
|
|
||||||
<p>fail2ban_cd::main::install.pp Module name: fail2ban_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tags">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div><div class="method_details_list">
|
|
||||||
<table class="source_code">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<pre class="lines">
|
|
||||||
|
|
||||||
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14</pre>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<pre class="code"><span class="info file"># File 'manifests/main/install.pp', line 6</span>
|
|
||||||
|
|
||||||
class fail2ban_cd::main::install (
|
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
|
||||||
# require cd_resources
|
|
||||||
|
|
||||||
package { $reqpackages:
|
|
||||||
ensure => $pkg_ensure,
|
|
||||||
}
|
|
||||||
}</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,144 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Puppet Class: fail2ban_cd::main::service
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "puppet_classes::fail2ban_cd::main::service";
|
|
||||||
relpath = '../';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="../_index.html">Index (f)</a> »
|
|
||||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
|
||||||
»
|
|
||||||
<span class="title">fail2ban_cd::main::service</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="../puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Puppet Class: fail2ban_cd::main::service</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Inherits:</dt>
|
|
||||||
<dd><span class='object_link'><a href="fail2ban_cd_3A_3Aparams.html" title="puppet_classes::fail2ban_cd::params (puppet_class)">fail2ban_cd::params</a></span></dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
|
|
||||||
<dl>
|
|
||||||
<dt>Defined in:</dt>
|
|
||||||
<dd>
|
|
||||||
manifests/main/service.pp
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h2>Summary</h2>
|
|
||||||
Class manages the service(s) for fail2ban_cd.
|
|
||||||
|
|
||||||
<h2>Overview</h2>
|
|
||||||
<div class="docstring">
|
|
||||||
<div class="discussion">
|
|
||||||
|
|
||||||
<p>fail2ban_cd::main::service.pp Module name: fail2ban_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tags">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div><div class="method_details_list">
|
|
||||||
<table class="source_code">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<pre class="lines">
|
|
||||||
|
|
||||||
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
13
|
|
||||||
14
|
|
||||||
15
|
|
||||||
16
|
|
||||||
17</pre>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<pre class="code"><span class="info file"># File 'manifests/main/service.pp', line 6</span>
|
|
||||||
|
|
||||||
class fail2ban_cd::main::service (
|
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
|
||||||
require fail2ban_cd::main::files
|
|
||||||
|
|
||||||
service { $fn_service:
|
|
||||||
ensure => $fn_enable_service,
|
|
||||||
hasstatus => true,
|
|
||||||
hasrestart => true,
|
|
||||||
enable => true,
|
|
||||||
}
|
|
||||||
}</pre>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,98 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>
|
|
||||||
Top Level Namespace
|
|
||||||
|
|
||||||
— Documentation by YARD 0.9.36
|
|
||||||
|
|
||||||
</title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
pathId = "";
|
|
||||||
relpath = '';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div class="nav_wrap">
|
|
||||||
<iframe id="nav" src="puppet_class_list.html?1"></iframe>
|
|
||||||
<div id="resizer"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="main" tabindex="-1">
|
|
||||||
<div id="header">
|
|
||||||
<div id="menu">
|
|
||||||
|
|
||||||
<a href="_index.html">Index</a> »
|
|
||||||
|
|
||||||
|
|
||||||
<span class="title">Top Level Namespace</span>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="search">
|
|
||||||
|
|
||||||
<a class="full_list_link" id="puppet_class_list_link"
|
|
||||||
href="puppet_class_list.html">
|
|
||||||
|
|
||||||
<svg width="24" height="24">
|
|
||||||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="clear"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content"><h1>Top Level Namespace
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</h1>
|
|
||||||
<div class="box_info">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer">
|
|
||||||
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
## fail2ban_cd::init.pp
|
## confdroid_fail2ban::init.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class initializes the fail2ban_cd module.
|
# @summary Class initializes the confdroid_fail2ban module.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
class fail2ban_cd {
|
class confdroid_fail2ban {
|
||||||
include fail2ban_cd::params
|
include confdroid_fail2ban::params
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
## fail2ban_cd::main::config.pp
|
## confdroid_fail2ban::main::config.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class manages the module logic for fail2ban_cd.
|
# @summary Class manages the module logic for confdroid_fail2ban.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
class fail2ban_cd::main::config (
|
class confdroid_fail2ban::main::config (
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
) inherits confdroid_fail2ban::params {
|
||||||
include fail2ban_cd::main::service
|
include confdroid_fail2ban::main::service
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
## fail2ban_cd::main::dirs.pp
|
## confdroid_fail2ban::main::dirs.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class manages all directories required for fail2ban_cd.
|
# @summary Class manages all directories required for confdroid_fail2ban.
|
||||||
###############################################################################
|
###############################################################################
|
||||||
class fail2ban_cd::main::dirs (
|
class confdroid_fail2ban::main::dirs (
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
) inherits confdroid_fail2ban::params {
|
||||||
require fail2ban_cd::main::install
|
require confdroid_fail2ban::main::install
|
||||||
|
|
||||||
# manage main dir
|
# manage main dir
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
## fail2ban_cd::main::files.pp
|
## confdroid_fail2ban::main::files.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class manages all configuration files required for fail2ban_cd.
|
# @summary Class manages all configuration files required for confdroid_fail2ban.
|
||||||
##############################################################################
|
##############################################################################
|
||||||
class fail2ban_cd::main::files (
|
class confdroid_fail2ban::main::files (
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
) inherits confdroid_fail2ban::params {
|
||||||
require fail2ban_cd::main::dirs
|
require confdroid_fail2ban::main::dirs
|
||||||
|
|
||||||
if $fn_manage_config == true {
|
if $fn_manage_config == true {
|
||||||
# manage fail2ban.conf
|
# manage fail2ban.conf
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
## fail2ban_cd::main::install.pp
|
## confdroid_fail2ban::main::install.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class installs binaries required for fail2ban_cd
|
# @summary Class installs binaries required for confdroid_fail2ban
|
||||||
###############################################################################
|
###############################################################################
|
||||||
class fail2ban_cd::main::install (
|
class confdroid_fail2ban::main::install (
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
) inherits confdroid_fail2ban::params {
|
||||||
# require cd_resources
|
package { $fn_reqpackages:
|
||||||
|
ensure => $fn_pkg_ensure,
|
||||||
package { $reqpackages:
|
|
||||||
ensure => $pkg_ensure,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
## fail2ban_cd::main::service.pp
|
## confdroid_fail2ban::main::service.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class manages the service(s) for fail2ban_cd.
|
# @summary Class manages the service(s) for confdroid_fail2ban.
|
||||||
#############################################################################
|
#############################################################################
|
||||||
class fail2ban_cd::main::service (
|
class confdroid_fail2ban::main::service (
|
||||||
|
|
||||||
) inherits fail2ban_cd::params {
|
) inherits confdroid_fail2ban::params {
|
||||||
require fail2ban_cd::main::files
|
require confdroid_fail2ban::main::files
|
||||||
|
|
||||||
service { $fn_service:
|
service { $fn_service:
|
||||||
ensure => $fn_enable_service,
|
ensure => $fn_enable_service,
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
## fail2ban_cd::params.pp
|
## confdroid_fail2ban::params.pp
|
||||||
# Module name: fail2ban_cd
|
# Module name: confdroid_fail2ban
|
||||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||||
# @summary Class holds all parameters for the fail2ban_cd module
|
# @summary Class holds all parameters for the confdroid_fail2ban module
|
||||||
# @param [String] pkg_ensure
|
# @param [String] fn_pkg_ensure
|
||||||
# which [package type](https://confdroid.com/2017/05/puppet-type-package/)
|
# which [package type](https://confdroid.com/2017/05/puppet-type-package/)
|
||||||
# to choose, i.e. `latest` or `present`.
|
# to choose, i.e. `latest` or `present`.
|
||||||
# @param [array] reqpackages the packages to install.
|
# @param [array] fn_reqpackages the packages to install.
|
||||||
# @param [boolean] fn_manage_config Whether to manage the fail2ban
|
# @param [boolean] fn_manage_config Whether to manage the fail2ban
|
||||||
# configuration files. If set to false, fail2ban will be installed, but the
|
# configuration files. If set to false, fail2ban will be installed, but the
|
||||||
# configuration will not be managed.
|
# configuration will not be managed.
|
||||||
@@ -101,11 +101,11 @@
|
|||||||
# @param [String] fn_default_action Choose default action.
|
# @param [String] fn_default_action Choose default action.
|
||||||
# @param [String] fn_jail_paths the fail path. defaults to fedora.
|
# @param [String] fn_jail_paths the fail path. defaults to fedora.
|
||||||
###############################################################################
|
###############################################################################
|
||||||
class fail2ban_cd::params (
|
class confdroid_fail2ban::params (
|
||||||
|
|
||||||
# installation
|
# installation
|
||||||
String $pkg_ensure = 'latest',
|
String $fn_pkg_ensure = 'present',
|
||||||
Array $reqpackages = ['fail2ban','fail2ban-firewalld',
|
Array $fn_reqpackages = ['fail2ban','fail2ban-firewalld',
|
||||||
'fail2ban-sendmail','fail2ban-server.noarch','whois'],
|
'fail2ban-sendmail','fail2ban-server.noarch','whois'],
|
||||||
|
|
||||||
Boolean $fn_manage_config = true,
|
Boolean $fn_manage_config = true,
|
||||||
@@ -176,17 +176,17 @@ class fail2ban_cd::params (
|
|||||||
|
|
||||||
# files
|
# files
|
||||||
$fn_fail2ban_conf_file = "${fn_main_dir}/fail2ban.conf"
|
$fn_fail2ban_conf_file = "${fn_main_dir}/fail2ban.conf"
|
||||||
$fn_fail2ban_conf_erb = 'fail2ban_cd/fail2ban_conf.erb'
|
$fn_fail2ban_conf_erb = 'confdroid_fail2ban/fail2ban_conf.erb'
|
||||||
$fn_fail2ban_local_file = "${fn_main_dir}/fail2ban.local"
|
$fn_fail2ban_local_file = "${fn_main_dir}/fail2ban.local"
|
||||||
$fn_fail2ban_local_erb = 'fail2ban_cd/fail2ban_local.erb'
|
$fn_fail2ban_local_erb = 'confdroid_fail2ban/fail2ban_local.erb'
|
||||||
$fn_jail_conf_file = "${fn_main_dir}/jail.conf"
|
$fn_jail_conf_file = "${fn_main_dir}/jail.conf"
|
||||||
$fn_jail_conf_erb = 'fail2ban_cd/jail_conf.erb'
|
$fn_jail_conf_erb = 'confdroid_fail2ban/jail_conf.erb'
|
||||||
$fn_jail_local_file = "${fn_main_dir}/jail.local"
|
$fn_jail_local_file = "${fn_main_dir}/jail.local"
|
||||||
$fn_jail_local_erb = 'fail2ban_cd/jail_local.erb'
|
$fn_jail_local_erb = 'confdroid_fail2ban/jail_local.erb'
|
||||||
$fn_paths_common_file = "${fn_main_dir}/paths-common.conf"
|
$fn_paths_common_file = "${fn_main_dir}/paths-common.conf"
|
||||||
$fn_paths_common_erb = 'fail2ban_cd/paths_common_conf.erb'
|
$fn_paths_common_erb = 'confdroid_fail2ban/paths_common_conf.erb'
|
||||||
|
|
||||||
# includes must be last
|
# includes must be last
|
||||||
|
|
||||||
include fail2ban_cd::main::config
|
include confdroid_fail2ban::main::config
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user