Compare commits
21 Commits
f641d60578
...
1.0.1-04.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 12d58a30f7 | |||
| 12ca98ceca | |||
| 5e3db16d2c | |||
| cfe921b42f | |||
| 45815fd385 | |||
| 2f7d9cc812 | |||
| 738a0efbc7 | |||
| 2bb6c5ecb8 | |||
| ceeb28aa1f | |||
| c8139772a2 | |||
| 71a2706a3f | |||
| c97d093d84 | |||
| 3feb4f0de7 | |||
| 02252d492c | |||
| 12610cf4b9 | |||
| f7cc2a3944 | |||
| 8500d243e6 | |||
| 94afeda0bb | |||
| cf1415ceac | |||
| 5481c36198 | |||
| 7049093171 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -2,4 +2,5 @@
|
||||
Gemfile.lock
|
||||
FileList
|
||||
.scannerwork
|
||||
.vscode
|
||||
.vscode
|
||||
.puppet-lint.rc
|
||||
130
Jenkinsfile
vendored
Normal file
130
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,130 @@
|
||||
pipeline {
|
||||
agent {
|
||||
label 'puppet'
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
deleteDir() /* clean up our workspace */
|
||||
}
|
||||
success {
|
||||
updateGitlabCommitStatus state: 'success'
|
||||
}
|
||||
failure {
|
||||
updateGitlabCommitStatus state: 'failed'
|
||||
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'support@confdroid.com', sendToIndividuals: true])
|
||||
}
|
||||
}
|
||||
|
||||
options {
|
||||
gitLabConnection('gitlab.confdroid.com')
|
||||
}
|
||||
|
||||
stages {
|
||||
|
||||
stage('pull master') {
|
||||
steps {
|
||||
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
||||
sh '''
|
||||
git config user.name "Jenkins Server"
|
||||
git config user.email jenkins@confdroid.com
|
||||
# Ensure we're on the development branch (triggered by push)
|
||||
git checkout development
|
||||
# Create jenkins branch from development
|
||||
git checkout -b jenkins-build-$BUILD_NUMBER
|
||||
# Optionally merge master into jenkins to ensure compatibility
|
||||
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('puppet parser') {
|
||||
steps {
|
||||
sh '''for file in $(find . -iname \'*.pp\'); do
|
||||
/opt/puppetlabs/bin/puppet parser validate --color false --render-as s --modulepath=modules $file || exit 1;
|
||||
done;'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('check templates') {
|
||||
steps{
|
||||
sh '''for file in $(find . -iname \'*.erb\');
|
||||
do erb -P -x -T "-" $file | ruby -c || exit 1;
|
||||
done;'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('puppet-lint') {
|
||||
steps {
|
||||
sh '''/usr/local/bin/puppet-lint . \\
|
||||
--no-variable_scope-check \\
|
||||
|| { echo "Puppet lint failed"; exit 1; }
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
stage('SonarScan') {
|
||||
steps {
|
||||
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
|
||||
sh '''
|
||||
/opt/sonar-scanner/bin/sonar-scanner \
|
||||
-Dsonar.projectKey=confdroid_ssh \
|
||||
-Dsonar.sources=. \
|
||||
-Dsonar.host.url=https://sonarqube.confdroid.com \
|
||||
-Dsonar.token=$SONAR_TOKEN
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('create Puppet documentation') {
|
||||
steps {
|
||||
sh '/opt/puppetlabs/bin/puppet strings'
|
||||
}
|
||||
}
|
||||
|
||||
stage('update repo') {
|
||||
steps {
|
||||
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
|
||||
sh '''
|
||||
git config user.name "Jenkins Server"
|
||||
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 push -o merge_request.create \
|
||||
-o merge_request.target=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 rm -r --cached .puppet-lint.rc || echo "No .puppet-lint.rc to remove from git"
|
||||
git commit --amend --no-edit --allow-empty
|
||||
git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_ssh.git
|
||||
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
|
||||
push master --mirror
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,11 +25,13 @@
|
||||
## Features
|
||||
|
||||
- install required binaries
|
||||
- manage local custom configuration based on parameters, overriding the defaults
|
||||
- manage selinux rules
|
||||
- manage service
|
||||
- (optional) manage firewall
|
||||
|
||||
|
||||
> Note
|
||||
Originally I thought it was a great idea to have a single custom configuration file, which would override the default settings in the sshd_config. But I quickly learned, that this is not a great idea, for it seemed to work out differently on various hosts despite identical settings. For instance gitlab is using SSH not only for remote sessions but also for git operations, which broke with this file in place. So right now this module will only ensure the main default config is available and the service is always running. Custom configurations can be enabled after through testing through the parameters under #sshd section, but can be forced off through the `ssh_custom_ensure`setting set to `absent` (default).
|
||||
|
||||
## Support
|
||||
|
||||
- Rocky 9 (Any RHEL 9 based OS should work but has not been tested)
|
||||
@@ -41,7 +43,7 @@ All parameters are listed in `params.pp` and inherited from there. Variable par
|
||||
|
||||
## Module Deployment
|
||||
|
||||
ALmost every puppet setup is done in very custom ways, and hence the way the modules are deployed to nodes are different. This module assumes [Foreman][def] as ENC, so the modules just have to be present on the master node and Foreman will take care for it.
|
||||
Almost every puppet setup is done in very custom ways, and hence the way the modules are deployed to nodes are different. This module assumes [Foreman][def] as ENC, so the modules just have to be present on the master node and Foreman will take care for it.
|
||||
|
||||
## Tests
|
||||
|
||||
|
||||
153
doc/_index.html
153
doc/_index.html
@@ -1,153 +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_C" class="alpha">
|
||||
<li class="letter">C</li>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh.html" title="puppet_classes::confdroid_ssh (puppet_class)">confdroid_ssh</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_ssh::firewall::iptables (puppet_class)">confdroid_ssh::firewall::iptables</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_ssh::main::config (puppet_class)">confdroid_ssh::main::config</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_ssh::main::dirs (puppet_class)">confdroid_ssh::main::dirs</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_ssh::main::files (puppet_class)">confdroid_ssh::main::files</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_ssh::main::install (puppet_class)">confdroid_ssh::main::install</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_ssh::main::service (puppet_class)">confdroid_ssh::main::service</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Aselinux_3A_3Asemanage.html" title="puppet_classes::confdroid_ssh::selinux::semanage (puppet_class)">confdroid_ssh::selinux::semanage</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,158 +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/confdroid_ssh/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_ssh&style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_ssh"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_ssh&metric=security_hotspots&token=sqb_8c77823906f10af2e4f8fcf24c467fe9dc500dba"></a></p>
|
||||
<ul><li>
|
||||
<p><a href="#readme">Readme</a></p>
|
||||
</li><li>
|
||||
<p><a href="#synopsis">Synopsis</a></p>
|
||||
</li><li>
|
||||
<p><a href="#warning">WARNING</a></p>
|
||||
</li><li>
|
||||
<p><a href="#features">Features</a></p>
|
||||
</li><li>
|
||||
<p><a href="#support">Support</a></p>
|
||||
</li><li>
|
||||
<p><a href="#parameter-inheritance">Parameter Inheritance</a></p>
|
||||
</li><li>
|
||||
<p><a href="#module-deployment">Module Deployment</a></p>
|
||||
</li><li>
|
||||
<p><a href="#tests">Tests</a></p>
|
||||
</li><li>
|
||||
<p><a href="#contact-us">Contact Us</a></p>
|
||||
</li><li>
|
||||
<p><a href="#disclaimer">Disclaimer</a></p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Synopsis">Synopsis</h2>
|
||||
|
||||
<p><code>confdroid_ssh</code>manages the aspects of the sshd daemon.</p>
|
||||
|
||||
<h2 id="label-WARNING">WARNING</h2>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>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</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<h2 id="label-Features">Features</h2>
|
||||
<ul><li>
|
||||
<p>install required binaries</p>
|
||||
</li><li>
|
||||
<p>manage local custom configuration based on parameters, overriding the defaults</p>
|
||||
</li><li>
|
||||
<p>manage selinux rules</p>
|
||||
</li><li>
|
||||
<p>manage service</p>
|
||||
</li><li>
|
||||
<p>(optional) manage firewall</p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Support">Support</h2>
|
||||
<ul><li>
|
||||
<p>Rocky 9 (Any RHEL 9 based OS should work but has not been tested)</p>
|
||||
</li><li>
|
||||
<p>Puppet 8</p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Parameter+Inheritance">Parameter Inheritance</h2>
|
||||
|
||||
<p>All parameters are listed in <code>params.pp</code> and inherited from there. Variable parameters are in the upper section and also documented in the top. These can be overridden by the ENC. Parameters in the bottom section (curly brackets) cannot be overridden and usually are used for keeping the code in the classes more readable.</p>
|
||||
|
||||
<h2 id="label-Module+Deployment">Module Deployment</h2>
|
||||
|
||||
<p>ALmost every puppet setup is done in very custom ways, and hence the way the modules are deployed to nodes are different. This module assumes <a href="https://www.theforeman.org/manuals/3.13/quickstart_guide.html">Foreman</a> as ENC, so the modules just have to be present on the master node and Foreman will take care for it.</p>
|
||||
|
||||
<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>
|
||||
<ul><li>
|
||||
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
||||
</li><li>
|
||||
<p><a href="https://feedback.confdroid.com/">Feedback Portal</a></p>
|
||||
</li></ul>
|
||||
|
||||
<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>
|
||||
158
doc/index.html
158
doc/index.html
@@ -1,158 +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/confdroid_ssh/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_ssh&style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_ssh"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_ssh&metric=security_hotspots&token=sqb_8c77823906f10af2e4f8fcf24c467fe9dc500dba"></a></p>
|
||||
<ul><li>
|
||||
<p><a href="#readme">Readme</a></p>
|
||||
</li><li>
|
||||
<p><a href="#synopsis">Synopsis</a></p>
|
||||
</li><li>
|
||||
<p><a href="#warning">WARNING</a></p>
|
||||
</li><li>
|
||||
<p><a href="#features">Features</a></p>
|
||||
</li><li>
|
||||
<p><a href="#support">Support</a></p>
|
||||
</li><li>
|
||||
<p><a href="#parameter-inheritance">Parameter Inheritance</a></p>
|
||||
</li><li>
|
||||
<p><a href="#module-deployment">Module Deployment</a></p>
|
||||
</li><li>
|
||||
<p><a href="#tests">Tests</a></p>
|
||||
</li><li>
|
||||
<p><a href="#contact-us">Contact Us</a></p>
|
||||
</li><li>
|
||||
<p><a href="#disclaimer">Disclaimer</a></p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Synopsis">Synopsis</h2>
|
||||
|
||||
<p><code>confdroid_ssh</code>manages the aspects of the sshd daemon.</p>
|
||||
|
||||
<h2 id="label-WARNING">WARNING</h2>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>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</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<h2 id="label-Features">Features</h2>
|
||||
<ul><li>
|
||||
<p>install required binaries</p>
|
||||
</li><li>
|
||||
<p>manage local custom configuration based on parameters, overriding the defaults</p>
|
||||
</li><li>
|
||||
<p>manage selinux rules</p>
|
||||
</li><li>
|
||||
<p>manage service</p>
|
||||
</li><li>
|
||||
<p>(optional) manage firewall</p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Support">Support</h2>
|
||||
<ul><li>
|
||||
<p>Rocky 9 (Any RHEL 9 based OS should work but has not been tested)</p>
|
||||
</li><li>
|
||||
<p>Puppet 8</p>
|
||||
</li></ul>
|
||||
|
||||
<h2 id="label-Parameter+Inheritance">Parameter Inheritance</h2>
|
||||
|
||||
<p>All parameters are listed in <code>params.pp</code> and inherited from there. Variable parameters are in the upper section and also documented in the top. These can be overridden by the ENC. Parameters in the bottom section (curly brackets) cannot be overridden and usually are used for keeping the code in the classes more readable.</p>
|
||||
|
||||
<h2 id="label-Module+Deployment">Module Deployment</h2>
|
||||
|
||||
<p>ALmost every puppet setup is done in very custom ways, and hence the way the modules are deployed to nodes are different. This module assumes <a href="https://www.theforeman.org/manuals/3.13/quickstart_guide.html">Foreman</a> as ENC, so the modules just have to be present on the master node and Foreman will take care for it.</p>
|
||||
|
||||
<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>
|
||||
<ul><li>
|
||||
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
|
||||
</li><li>
|
||||
<p><a href="https://feedback.confdroid.com/">Feedback Portal</a></p>
|
||||
</li></ul>
|
||||
|
||||
<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,106 +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::confdroid_ssh" class="odd">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh.html" title="puppet_classes::confdroid_ssh (puppet_class)">confdroid_ssh</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::firewall::iptables" class="even">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_ssh::firewall::iptables (puppet_class)">confdroid_ssh::firewall::iptables</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::main::config" class="odd">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_ssh::main::config (puppet_class)">confdroid_ssh::main::config</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::main::dirs" class="even">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_ssh::main::dirs (puppet_class)">confdroid_ssh::main::dirs</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::main::files" class="odd">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_ssh::main::files (puppet_class)">confdroid_ssh::main::files</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::main::install" class="even">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_ssh::main::install (puppet_class)">confdroid_ssh::main::install</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::main::service" class="odd">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_ssh::main::service (puppet_class)">confdroid_ssh::main::service</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::params" class="even">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<li id="object_puppet_classes::confdroid_ssh::selinux::semanage" class="odd">
|
||||
<div class="item">
|
||||
<span class='object_link'><a href="puppet_classes/confdroid_ssh_3A_3Aselinux_3A_3Asemanage.html" title="puppet_classes::confdroid_ssh::selinux::semanage (puppet_class)">confdroid_ssh::selinux::semanage</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: confdroid_ssh
|
||||
|
||||
— 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::confdroid_ssh";
|
||||
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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh</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: confdroid_ssh</h1>
|
||||
<div class="box_info">
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/init.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class initializes the confdroid_ssh module
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::init.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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 confdroid_ssh {
|
||||
include confdroid_ssh::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,164 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::firewall::iptables
|
||||
|
||||
— 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::confdroid_ssh::firewall::iptables";
|
||||
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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::firewall::iptables</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: confdroid_ssh::firewall::iptables</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/firewall/iptables.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages firewall rules for SSH
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::firewall::iptables.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/firewall/iptables.pp', line 6</span>
|
||||
|
||||
class confdroid_ssh::firewall::iptables (
|
||||
|
||||
) inherits confdroid_ssh::params {
|
||||
if $ssh_use_firewall == true {
|
||||
firewall { "${ssh_fw_order}${ssh_fw_port} allow SSH on port ${ssh_fw_port}":
|
||||
ensure => 'present',
|
||||
proto => 'tcp',
|
||||
source => $ssh_source_range,
|
||||
dport => $ssh_fw_port,
|
||||
jump => 'accept',
|
||||
}
|
||||
}
|
||||
if $ssh_use_firewall == false {
|
||||
firewall { "${ssh_fw_order}${ssh_fw_port} remove SSH on port ${ssh_fw_port}":
|
||||
ensure => 'absent',
|
||||
proto => 'tcp',
|
||||
source => $ssh_source_range,
|
||||
dport => $ssh_fw_port,
|
||||
jump => 'accept',
|
||||
}
|
||||
}
|
||||
}</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: confdroid_ssh::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::confdroid_ssh::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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::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: confdroid_ssh::main::config</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/main/config.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages module logic
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::main::config.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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 confdroid_ssh::main::config (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_selinux
|
||||
include confdroid_ssh::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,174 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::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::confdroid_ssh::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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::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: confdroid_ssh::main::dirs</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/main/dirs.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages directories
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::main::dirs.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/main/dirs.pp', line 6</span>
|
||||
|
||||
class confdroid_ssh::main::dirs (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::install
|
||||
|
||||
file { $ssh_etc_path:
|
||||
ensure => directory,
|
||||
path => $ssh_etc_path,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
mode => '0700',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
}
|
||||
|
||||
file { $sshd_custom_path:
|
||||
ensure => directory,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
mode => '0700',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_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,202 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::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::confdroid_ssh::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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::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: confdroid_ssh::main::files</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/main/files.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages files
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::main::files.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
|
||||
|
||||
class confdroid_ssh::main::files (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::dirs
|
||||
|
||||
file { $sshd_config_path:
|
||||
ensure => file,
|
||||
path => $sshd_config_path,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
mode => '0640',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($sshd_config_erb),
|
||||
notify => Service[$sshd_service],
|
||||
}
|
||||
|
||||
if $ssh_manage_config {
|
||||
file { $sshd_custom_conf:
|
||||
ensure => file,
|
||||
path => $sshd_custom_conf,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
mode => '0640',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
seluser => system_u,
|
||||
content => template($sshd_custom_erb),
|
||||
notify => Service[$sshd_service],
|
||||
}
|
||||
# we want the default root login setting to be managed by the custom conf,
|
||||
# so we remove the default file if it exists
|
||||
file { $sshd_root_login_file:
|
||||
ensure => absent,
|
||||
path => $sshd_root_login_file,
|
||||
notify => Service[$sshd_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,132 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::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::confdroid_ssh::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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::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: confdroid_ssh::main::install</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/main/install.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages installation
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::main::install.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/main/install.pp', line 6</span>
|
||||
|
||||
class confdroid_ssh::main::install (
|
||||
) inherits confdroid_ssh::params {
|
||||
package { $ssh_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,150 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::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::confdroid_ssh::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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::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: confdroid_ssh::main::service</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/main/service.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages service settings
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::main::service.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/main/service.pp', line 6</span>
|
||||
|
||||
class confdroid_ssh::main::service (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::files
|
||||
require confdroid_ssh::selinux::semanage
|
||||
if $ssh_use_firewall {
|
||||
require confdroid_ssh::firewall::iptables
|
||||
}
|
||||
|
||||
service { $sshd_service:
|
||||
ensure => running,
|
||||
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>
|
||||
@@ -1,456 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::params
|
||||
|
||||
— 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::confdroid_ssh::params";
|
||||
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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::params</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: confdroid_ssh::params</h1>
|
||||
<div class="box_info">
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Inherited by:</dt>
|
||||
<dd>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_ssh::main::dirs (puppet_class)">confdroid_ssh::main::dirs</a></span><br/>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_ssh::main::files (puppet_class)">confdroid_ssh::main::files</a></span><br/>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_ssh::main::config (puppet_class)">confdroid_ssh::main::config</a></span><br/>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_ssh::main::install (puppet_class)">confdroid_ssh::main::install</a></span><br/>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_ssh::main::service (puppet_class)">confdroid_ssh::main::service</a></span><br/>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Aselinux_3A_3Asemanage.html" title="puppet_classes::confdroid_ssh::selinux::semanage (puppet_class)">confdroid_ssh::selinux::semanage</a></span><br/>
|
||||
|
||||
<span class='object_link'><a href="confdroid_ssh_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_ssh::firewall::iptables (puppet_class)">confdroid_ssh::firewall::iptables</a></span><br/>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/params.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class contains all class parameters for confdroid_ssh
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::params.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@confdroid.com)</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="tags">
|
||||
<p class="tag_title">Parameters:</p>
|
||||
<ul class="param">
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_reqpackages</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>Array</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>['openssh','openssh-clients','openssh-server']</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>packages to install</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>pkg_ensure</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'present'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>version to install: ‘present’ or ‘latest’</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_use_firewall</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>true</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>whether to manage firewall settings</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_fw_port</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'22'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>port to use for SSHD and in fw</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_fw_order</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'50'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>order of firewall rule</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_source_range</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'0.0.0.0/0'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>source range for firewall rule</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_manage_config</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>true</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>whether to manage the configuration</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_address_family</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'any'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>AddressFamily setting for sshd_config</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_listen_address</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'0.0.0.0'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>ListenAddress setting for sshd_config</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_root_login</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'prohibit-password'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>PermitRootLogin setting for sshd_config</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_strict_modes</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'yes'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>StrictModes setting for sshd_config</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_max_auth_tries</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'6'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>MaxAuthTries setting for sshd_config</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<span class='name'>ssh_max_sessions</span>
|
||||
|
||||
|
||||
<span class='type'>(<tt>String</tt>)</span>
|
||||
|
||||
|
||||
<em class="default">(defaults to: <tt>'10'</tt>)</em>
|
||||
|
||||
|
||||
—
|
||||
<div class='inline'>
|
||||
<p>MaxSessions setting for sshd_config</p>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
</div><div class="method_details_list">
|
||||
<table class="source_code">
|
||||
<tr>
|
||||
<td>
|
||||
<pre class="lines">
|
||||
|
||||
|
||||
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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 19</span>
|
||||
|
||||
class confdroid_ssh::params (
|
||||
|
||||
Array $ssh_reqpackages = ['openssh','openssh-clients','openssh-server'],
|
||||
String $pkg_ensure = 'present',
|
||||
|
||||
# firewall settings
|
||||
Boolean $ssh_use_firewall = true,
|
||||
String $ssh_fw_port = '22',
|
||||
String $ssh_fw_order = '50',
|
||||
String $ssh_source_range = '0.0.0.0/0',
|
||||
|
||||
# main configuration
|
||||
Boolean $ssh_manage_config = true,
|
||||
String $ssh_address_family = 'any',
|
||||
String $ssh_listen_address = '0.0.0.0',
|
||||
String $ssh_root_login = 'prohibit-password',
|
||||
String $ssh_strict_modes = 'yes',
|
||||
String $ssh_max_auth_tries = '6',
|
||||
String $ssh_max_sessions = '10',
|
||||
|
||||
) {
|
||||
# default facts
|
||||
$fqdn = $facts['networking']['fqdn']
|
||||
$hostname = $facts['networking']['hostname']
|
||||
$domain = $facts['networking']['domain']
|
||||
$os_name = $facts['os']['name']
|
||||
$os_release = $facts['os']['release']['major']
|
||||
|
||||
$sshd_user = 'root'
|
||||
$ssh_etc_path = '/etc/ssh'
|
||||
$sshd_service = 'sshd'
|
||||
$sshd_config_path = "${ssh_etc_path}/sshd_config"
|
||||
$sshd_custom_path = "${ssh_etc_path}/sshd_config.d"
|
||||
$sshd_custom_conf = "${sshd_custom_path}/10-custom.conf"
|
||||
$sshd_custom_erb = 'confdroid_ssh/sshd_custom_conf.erb'
|
||||
$sshd_config_erb = 'confdroid_ssh/sshd_config.erb'
|
||||
$sshd_root_login_file = "${sshd_custom_path}/01-permitrootlogin.conf"
|
||||
|
||||
# includes must be last
|
||||
include confdroid_ssh::main::config
|
||||
}</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,136 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>
|
||||
Puppet Class: confdroid_ssh::selinux::semanage
|
||||
|
||||
— 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::confdroid_ssh::selinux::semanage";
|
||||
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 (c)</a> »
|
||||
<span class='title'><span class='object_link'>Puppet Classes</span></span>
|
||||
»
|
||||
<span class="title">confdroid_ssh::selinux::semanage</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: confdroid_ssh::selinux::semanage</h1>
|
||||
<div class="box_info">
|
||||
|
||||
<dl>
|
||||
<dt>Inherits:</dt>
|
||||
<dd><span class='object_link'><a href="confdroid_ssh_3A_3Aparams.html" title="puppet_classes::confdroid_ssh::params (puppet_class)">confdroid_ssh::params</a></span></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Defined in:</dt>
|
||||
<dd>
|
||||
manifests/selinux/semanage.pp
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h2>Summary</h2>
|
||||
Class manages SELinux semanage settings
|
||||
|
||||
<h2>Overview</h2>
|
||||
<div class="docstring">
|
||||
<div class="discussion">
|
||||
|
||||
<p>confdroid_ssh::selinux::semanage.pp Module name: confdroid_ssh Author: 12ww1160 (12ww1160@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</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre class="code"><span class="info file"># File 'manifests/selinux/semanage.pp', line 6</span>
|
||||
|
||||
class confdroid_ssh::selinux::semanage (
|
||||
) inherits confdroid_ssh::params {
|
||||
exec { 'semanage_port_ssh':
|
||||
command => "semanage port -a -t ssh_port_t -p tcp ${ssh_fw_port}",
|
||||
unless => "semanage port -l | grep '^ssh_port_t' | grep 'tcp' | grep '${ssh_fw_port}'",
|
||||
path => ['/usr/bin', '/usr/sbin'],
|
||||
}
|
||||
}</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,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>
|
||||
@@ -6,22 +6,11 @@
|
||||
class confdroid_ssh::firewall::iptables (
|
||||
|
||||
) inherits confdroid_ssh::params {
|
||||
if $ssh_use_firewall == true {
|
||||
firewall { "${ssh_fw_order}${ssh_fw_port} allow SSH on port ${ssh_fw_port}":
|
||||
ensure => 'present',
|
||||
proto => 'tcp',
|
||||
source => $ssh_source_range,
|
||||
dport => $ssh_fw_port,
|
||||
jump => 'accept',
|
||||
}
|
||||
}
|
||||
if $ssh_use_firewall == false {
|
||||
firewall { "${ssh_fw_order}${ssh_fw_port} remove SSH on port ${ssh_fw_port}":
|
||||
ensure => 'absent',
|
||||
proto => 'tcp',
|
||||
source => $ssh_source_range,
|
||||
dport => $ssh_fw_port,
|
||||
jump => 'accept',
|
||||
}
|
||||
firewall { "${ssh_fw_order}${ssh_fw_port} allow SSH on port ${ssh_fw_port}":
|
||||
ensure => $ssh_fw_rule,
|
||||
proto => 'tcp',
|
||||
source => $ssh_source_range,
|
||||
dport => $ssh_fw_port,
|
||||
jump => 'accept',
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ class confdroid_ssh::main::dirs (
|
||||
path => $ssh_etc_path,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
mode => '0700',
|
||||
mode => '0755',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
@@ -23,7 +23,7 @@ class confdroid_ssh::main::dirs (
|
||||
ensure => directory,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
mode => '0700',
|
||||
mode => '0755',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => etc_t,
|
||||
|
||||
@@ -23,7 +23,7 @@ class confdroid_ssh::main::files (
|
||||
|
||||
if $ssh_manage_config {
|
||||
file { $sshd_custom_conf:
|
||||
ensure => file,
|
||||
ensure => $ssh_custom_ensure,
|
||||
path => $sshd_custom_conf,
|
||||
owner => $sshd_user,
|
||||
group => $sshd_user,
|
||||
@@ -35,12 +35,5 @@ class confdroid_ssh::main::files (
|
||||
content => template($sshd_custom_erb),
|
||||
notify => Service[$sshd_service],
|
||||
}
|
||||
# we want the default root login setting to be managed by the custom conf,
|
||||
# so we remove the default file if it exists
|
||||
file { $sshd_root_login_file:
|
||||
ensure => absent,
|
||||
path => $sshd_root_login_file,
|
||||
notify => Service[$sshd_service],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,9 +7,7 @@ class confdroid_ssh::main::service (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::files
|
||||
require confdroid_ssh::selinux::semanage
|
||||
if $ssh_use_firewall {
|
||||
require confdroid_ssh::firewall::iptables
|
||||
}
|
||||
require confdroid_ssh::firewall::iptables
|
||||
|
||||
service { $sshd_service:
|
||||
ensure => running,
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
# @summary Class contains all class parameters for confdroid_ssh
|
||||
# @param [Array] ssh_reqpackages packages to install
|
||||
# @param [String] pkg_ensure version to install: 'present' or 'latest'
|
||||
# @param [Boolean] ssh_use_firewall whether to manage firewall settings
|
||||
# @param [String] ssh_fw_rule whether set the fw rule to
|
||||
# present or absent.
|
||||
# @param [String] ssh_fw_port port to use for SSHD and in fw
|
||||
# @param [String] ssh_fw_order order of firewall rule
|
||||
# @param [String] ssh_source_range source range for firewall rule
|
||||
@@ -15,26 +16,256 @@
|
||||
# @param [String] ssh_strict_modes StrictModes setting for sshd_config
|
||||
# @param [String] ssh_max_auth_tries MaxAuthTries setting for sshd_config
|
||||
# @param [String] ssh_max_sessions MaxSessions setting for sshd_config
|
||||
# @param [String] ssh_pubkey_auth PubkeyAuthentication setting for sshd_config
|
||||
# @param [String] ssh_auth_key_files AuthorizedKeysFile setting for sshd_config
|
||||
# @param [String] ssh_authorized_principals_file AuthorizedPrincipalsFile
|
||||
# setting for sshd_config. Default is 'none' to disable this setting.
|
||||
# @param [String] ssh_authorized_keys_command AuthorizedKeysCommand setting for sshd_config.
|
||||
# Default is 'none' to disable this setting.
|
||||
# @param [String] ssh_authorized_keys_command_user AuthorizedKeysCommandUser setting for sshd_config.
|
||||
# Default is 'nobody' to use an unpriviledged user.
|
||||
# @param [Boolean] ssh_use_specific_hostkey whether to use a specific host key
|
||||
# @param [String] ssh_hostkey_type type of host key to use if
|
||||
# ssh_use_specific_hostkey is true
|
||||
# @param [String] ssh_rekeylimit RekeyLimit setting for sshd_config.
|
||||
# Default is 'default none'.
|
||||
# @param [String] ssh_syslog_facility SyslogFacility setting for sshd_config.
|
||||
# Default is 'AUTH'.
|
||||
# @param [String] ssh_log_level LogLevel setting for sshd_config.
|
||||
# Default is 'INFO'.
|
||||
# @param [String] ssh_password_authentication PasswordAuthentication setting
|
||||
# for sshd_config. Default is 'no', which requires key-based authentication.
|
||||
# This is a recommended security setting, so passwords do not show up in logs,
|
||||
# but can be set to 'yes' if password authentication is desired.
|
||||
# @param [String] ssh_permit_empty_passwords PermitEmptyPasswords setting
|
||||
# for sshd_config. Default is 'no', which is a recommended security setting
|
||||
# and works in connection with key-based authentication, but can be set
|
||||
# to 'yes' if password authentication should be allowed and empty passwords
|
||||
# should be allowed. Again, this should be used with caution if enabled.
|
||||
# @param [String] ssh_kbd_interactive_auth setting for sshd_config.
|
||||
# Default is 'no', which is a recommended security setting together
|
||||
# with password authentication, but can be set to 'yes' if
|
||||
# keyboard-interactive authentication should be allowed. (not recommended)
|
||||
# @param [String] ssh_kerberos_authentication setting for sshd_config.
|
||||
# Default is 'no'. Kerberos authentication is not commonly used and
|
||||
# requires a lot of other settings, so it is disabled by default, but can be
|
||||
# set to 'yes' if desired.
|
||||
# @param [String] ssh_kerberos_or_local_passwd setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if Kerberos authentication is
|
||||
# enabled, and should be set to 'yes' if you want to allow local password
|
||||
# authentication as a fallback if Kerberos authentication fails, but can be
|
||||
# set to 'no' if you want to only allow Kerberos authentication.
|
||||
# @param [String] ssh_kerberos_ticket_cleanup setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if Kerberos authentication
|
||||
# is enabled, and should be set to 'yes' if you want to enable ticket cleanup,
|
||||
# but can be set to 'no' if you want to disable it.
|
||||
# @param [String] ssh_kerberos_get_afstoken setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if Kerberos authentication
|
||||
# is enabled, and should be set to 'yes' if you want to enable AFS token retrieval,
|
||||
# but can be set to 'no' if you want to disable it.
|
||||
# @param [String] ssh_kerberos_use_kuserok setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if Kerberos authentication
|
||||
# is enabled, and should be set to 'yes' if you want to enable userok with
|
||||
# Kerberos, but can be set to 'no' if you want to disable it.
|
||||
# @param [Boolean] ssh_use_kerberos whether to use Kerberos authentication.
|
||||
# If true, the relevant Kerberos settings will be included in the sshd_config,
|
||||
# otherwise they will be ignored.
|
||||
# @param [Boolean] ssh_use_gssapi whether to use GSSAPI authentication.
|
||||
# If true, GSSAPI authentication will be enabled in sshd_config, otherwise it
|
||||
# will be disabled. GSSAPI authentication is not commonly used and requires
|
||||
# a lot of other settings, so it is disabled by default, but can be set to
|
||||
# true if desired.
|
||||
# @param [String] ssh_gssapi_authentication setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if GSSAPI authentication is
|
||||
# enabled, and should be set to 'yes' if you want to enable GSS authentication,
|
||||
# but can be set to 'no' if you want to disable it.
|
||||
# @param [String] ssh_gssapi_cleanup_credentials setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if GSSAPI authentication is
|
||||
# enabled, and should be set to 'yes' if you want to enable GSS credential
|
||||
# cleanup, but can be set to 'no' if you want to disable it.
|
||||
# @param [String] ssh_gssapi_key_exchange setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if GSSAPI authentication is
|
||||
# enabled, and should be set to 'yes' if you want to enable GSS key exchange.
|
||||
# @param [String] ssh_gssapi_enablek5users setting for sshd_config.
|
||||
# Default is 'no'. This setting is only relevant if GSSAPI authentication is
|
||||
# enabled, and should be set to 'yes' if you want to enable GSSAPI for k5users.
|
||||
# @param [String] ssh_use_pam setting for sshd_config. Default is 'no'. PAM is not
|
||||
# commonly used for SSH authentication and can introduce security risks if
|
||||
# not configured properly, so it is disabled by default. Thi setting is
|
||||
# related to PasswordAuthentication and KbdInteractiveAuthentication, and
|
||||
# should be set to 'yes' only if you want to use PAM for authentication
|
||||
# together with those settings.
|
||||
# @param [String] ssh_allow_agent_forwarding setting for sshd_config.
|
||||
# Default is 'yes', which allows SSH agent forwarding, but can be set to 'no'
|
||||
# if you want to disable this feature for security reasons.
|
||||
# @param [String] ssh_allow_tcp_forwarding setting for sshd_config.
|
||||
# Default is 'yes', which allows TCP forwarding, but can be set to 'no'
|
||||
# if you want to disable this feature for security reasons.
|
||||
# @param [String] ssh_gateway_ports setting for sshd_config.
|
||||
# Default is 'no', which means that remote hosts cannot connect to
|
||||
# forwarded ports, but can be set to 'yes' or 'clientspecified' if you want
|
||||
# to allow remote hosts to connect to forwarded ports. This setting should
|
||||
# be used with caution if enabled, as it can introduce security risks.
|
||||
# @param [String] ssh_x11_forwarding setting for sshd_config.
|
||||
# Default is 'no', which disables X11 forwarding, but can be set to 'yes'
|
||||
# if you want to allow X11 forwarding. This setting should be used with
|
||||
# caution if enabled.
|
||||
# @param [String] ssh_x11_display_offset setting for sshd_config.
|
||||
# Default is '10'. This setting is only relevant if X11 forwarding is
|
||||
# enabled, and specifies the first display number available for X11
|
||||
# forwarding. The default of '10' means that the first forwarded display
|
||||
# will be :10, the second will be :11, and so on. This setting can be
|
||||
# adjusted if you want to use a different range of display numbers for
|
||||
# X11 forwarding.
|
||||
# @param [String] ssh_x11_use_localhost setting for sshd_config.
|
||||
# Default is 'yes', which means that X11 forwarding will only be
|
||||
# available on the loopback interface, but can be set to 'no' if you want
|
||||
# to allow X11 forwarding on all network interfaces.
|
||||
# @param [String] ssh_permit_tty setting for sshd_config.
|
||||
# Default is 'yes', which allows TTY allocation, but can be set to 'no'
|
||||
# if you want to disable TTY allocation.
|
||||
# @param [String] ssh_print_motd setting for sshd_config.
|
||||
# Default is 'yes', which means that the message of the day will be printed
|
||||
# when users log in, but can be set to 'no' if you want to disable this feature.
|
||||
# @param [String] ssh_print_lastlog setting for sshd_config.
|
||||
# Default is 'yes', which means that the last login information will be printed
|
||||
# when users log in, but can be set to 'no' if you want to disable this feature.
|
||||
# @param [String] ssh_tcp_keepalive setting for sshd_config.
|
||||
# Default is 'yes', which means that TCP keepalive messages will be sent, but
|
||||
# can be set to 'no' if you want to disable this feature. This setting can
|
||||
# be useful to disable if you have issues with dropped connections, but in
|
||||
# general it is recommended to keep it enabled.
|
||||
# @param [String] ssh_permit_user_environment setting for sshd_config.
|
||||
# Default is 'no', which means that user environment variables will not be
|
||||
# processed, but can be set to 'yes' if you want to allow users to specify
|
||||
# environment variables in their ~/.ssh/environment file.
|
||||
# @param [String] ssh_compression setting for sshd_config.
|
||||
# Default is 'delayed', which means that compression will be enabled after
|
||||
# successful authentication, but can be set to 'yes' if you want to enable
|
||||
# compression from the start of the connection. The 'delayed' setting is a
|
||||
# good compromise that allows for faster authentication while still providing
|
||||
# the benefits of compression for the rest of the session.
|
||||
# @param [String] ssh_client_alive_interval setting for sshd_config.
|
||||
# Default is '0', which means that no keepalive messages will be sent by the
|
||||
# server, but can be set to a positive integer to specify the interval in seconds
|
||||
# between keepalive messages sent by the server to the client. This can be useful
|
||||
# to detect and close stale connections, but should be used with caution as it can
|
||||
# cause unexpected disconnections if set too aggressively.
|
||||
# @param [String] ssh_client_alive_count_max setting for sshd_config.
|
||||
# Default is '3'. This setting is only relevant if ssh_client_alive_interval is set
|
||||
# to a positive integer, and specifies the number of consecutive keepalive messages
|
||||
# that can be sent without receiving a response from the client before the server
|
||||
# considers the connection to be stale and disconnects it.
|
||||
# @param [String] ssh_use_dns setting for sshd_config.
|
||||
# Default is 'no', which means that the server will not perform DNS lookups on
|
||||
# connecting clients, but can be set to 'yes' if you want the server to
|
||||
# perform DNS lookups. Disabling DNS lookups can improve connection times
|
||||
# and reduce the risk of DNS spoofing attacks, so it is generally
|
||||
# recommended to keep this setting disabled unless you have a specific need for it.
|
||||
# @param [String] ssh_pid_file setting for sshd_config.
|
||||
# Default is '/var/run/sshd.pid', which is the common location for the
|
||||
# sshd PID file, but can be set to a different path if desired.
|
||||
# This setting specifies the location of the sshd PID file.
|
||||
# @param [String] ssh_max_startups setting for sshd_config.
|
||||
# Default is '10:30:100', which means that the server will allow up to 10
|
||||
# concurrent unauthenticated connections, and will start dropping connections
|
||||
# with a probability that increases linearly.
|
||||
# @param [String] ssh_permit_tunnel setting for sshd_config.
|
||||
# Default is 'no', which means that tunneling is not allowed, but can be
|
||||
# set to 'yes' if you want to allow tunneling, or 'point-to-point' to allow
|
||||
# only point-to-point tunneling. This setting should be used with caution if enabled.
|
||||
# @param [String] ssh_chroot_directory setting for sshd_config.
|
||||
# Default is 'none', which means that no chroot directory will be used, but
|
||||
# can be set to a valid directory path if you want to use chroot for SSH
|
||||
# sessions.
|
||||
# @param [String] ssh_version_addendum setting for sshd_config.
|
||||
# Default is 'none', which means that no version addendum will be included in
|
||||
# the SSH banner, but can be set to a custom string if you want to include
|
||||
# additional information in the SSH version banner. This can be used for
|
||||
# branding purposes, but should be used with caution as it can potentially
|
||||
# leak information about the server that could be useful to attackers.
|
||||
# @param [String] ssh_banner setting for sshd_config.
|
||||
# Default is 'none', which means that no banner will be displayed to users
|
||||
# when they connect, but can be set to a valid file path if you want to
|
||||
# display a custom banner message to users when they connect. This can be used
|
||||
# to display legal notices, security warnings, or other information to users when
|
||||
# they connect to the SSH server.
|
||||
# @param [String] ssh_login_grace_time setting for sshd_config.
|
||||
# Default is '2m', which means that users have 2 minutes to successfully
|
||||
# authenticate before the server disconnects them, but can be set to a different
|
||||
# time interval if desired. This setting can be used to limit the amount of time
|
||||
# that attackers have to attempt to brute-force authentication, but should be set
|
||||
# to a reasonable value to avoid disconnecting legitimate users who may need more time to log
|
||||
# @param [String] ssh_custom_ensure whether the custom configuration file
|
||||
# should be file or absent.
|
||||
##############################################################################
|
||||
class confdroid_ssh::params (
|
||||
|
||||
Array $ssh_reqpackages = ['openssh','openssh-clients','openssh-server'],
|
||||
String $pkg_ensure = 'present',
|
||||
Array $ssh_reqpackages = ['openssh','openssh-clients','openssh-server'],
|
||||
String $pkg_ensure = 'present',
|
||||
|
||||
# firewall settings
|
||||
Boolean $ssh_use_firewall = true,
|
||||
String $ssh_fw_port = '22',
|
||||
String $ssh_fw_order = '50',
|
||||
String $ssh_source_range = '0.0.0.0/0',
|
||||
String $ssh_fw_rule = 'present',
|
||||
String $ssh_fw_port = '22',
|
||||
String $ssh_fw_order = '50',
|
||||
String $ssh_source_range = '0.0.0.0/0',
|
||||
|
||||
# main configuration
|
||||
Boolean $ssh_manage_config = true,
|
||||
String $ssh_address_family = 'any',
|
||||
String $ssh_listen_address = '0.0.0.0',
|
||||
String $ssh_root_login = 'prohibit-password',
|
||||
String $ssh_strict_modes = 'yes',
|
||||
String $ssh_max_auth_tries = '6',
|
||||
String $ssh_max_sessions = '10',
|
||||
# sshd configuration
|
||||
String $ssh_custom_ensure = 'absent',
|
||||
Boolean $ssh_manage_config = true,
|
||||
String $ssh_address_family = 'any',
|
||||
String $ssh_listen_address = '0.0.0.0',
|
||||
String $ssh_login_grace_time = '2m',
|
||||
String $ssh_root_login = 'prohibit-password',
|
||||
String $ssh_strict_modes = 'yes',
|
||||
String $ssh_max_auth_tries = '6',
|
||||
String $ssh_max_sessions = '10',
|
||||
String $ssh_pubkey_auth = 'yes',
|
||||
String $ssh_auth_key_files = '.ssh/authorized_keys',
|
||||
String $ssh_authorized_principals_file = 'none',
|
||||
String $ssh_authorized_keys_command = 'none',
|
||||
String $ssh_authorized_keys_command_user = 'nobody',
|
||||
Boolean $ssh_use_specific_hostkey = false,
|
||||
String $ssh_hostkey_type = 'rsa',
|
||||
String $ssh_rekeylimit = 'default none',
|
||||
String $ssh_syslog_facility = 'AUTH',
|
||||
String $ssh_log_level = 'INFO',
|
||||
String $ssh_password_authentication = 'yes',
|
||||
String $ssh_permit_empty_passwords = 'no',
|
||||
String $ssh_kbd_interactive_auth = 'yes',
|
||||
Boolean $ssh_use_kerberos = false,
|
||||
String $ssh_kerberos_authentication = 'yes',
|
||||
String $ssh_kerberos_or_local_passwd = 'yes',
|
||||
String $ssh_kerberos_ticket_cleanup = 'yes',
|
||||
String $ssh_kerberos_get_afstoken = 'no',
|
||||
String $ssh_kerberos_use_kuserok = 'yes',
|
||||
Boolean $ssh_use_gssapi = false,
|
||||
String $ssh_gssapi_authentication = 'yes',
|
||||
String $ssh_gssapi_cleanup_credentials = 'yes',
|
||||
String $ssh_gssapi_key_exchange = 'no',
|
||||
String $ssh_gssapi_enablek5users = 'no',
|
||||
String $ssh_use_pam = 'no',
|
||||
String $ssh_allow_agent_forwarding = 'yes',
|
||||
String $ssh_allow_tcp_forwarding = 'yes',
|
||||
String $ssh_gateway_ports = 'no',
|
||||
String $ssh_x11_forwarding = 'no',
|
||||
String $ssh_x11_display_offset = '10',
|
||||
String $ssh_x11_use_localhost = 'yes',
|
||||
String $ssh_permit_tty = 'yes',
|
||||
String $ssh_print_motd = 'yes',
|
||||
String $ssh_print_lastlog = 'yes',
|
||||
String $ssh_tcp_keepalive = 'yes',
|
||||
String $ssh_permit_user_environment = 'no',
|
||||
String $ssh_compression = 'delayed',
|
||||
String $ssh_client_alive_interval = '0',
|
||||
String $ssh_client_alive_count_max = '3',
|
||||
String $ssh_use_dns = 'no',
|
||||
String $ssh_pid_file = '/var/run/sshd.pid',
|
||||
String $ssh_max_startups = '10:30:100',
|
||||
String $ssh_permit_tunnel = 'no',
|
||||
String $ssh_chroot_directory = 'none',
|
||||
String $ssh_version_addendum = 'none',
|
||||
String $ssh_banner = 'none',
|
||||
|
||||
) {
|
||||
# default facts
|
||||
|
||||
@@ -5,11 +5,69 @@
|
||||
##### be made in the Puppet manifest parameters. #
|
||||
###############################################################################
|
||||
|
||||
Port <%= @ssh_fw_port %>
|
||||
AddressFamily <%= @ssh_address_family %>
|
||||
ListenAddress <%= @ssh_listen_address %>
|
||||
#Port <%= @ssh_fw_port %>
|
||||
#AddressFamily <%= @ssh_address_family %>
|
||||
#ListenAddress <%= @ssh_listen_address %>
|
||||
<% if @ssh_use_specific_hostkey -%>
|
||||
#HostKey /etc/ssh/ssh_host_<%= @ssh_hostkey_type %>_key
|
||||
<% end -%>
|
||||
#RekeyLimit <%= @ssh_rekeylimit %>
|
||||
|
||||
PermitRootLogin <%= @ssh_root_login %>
|
||||
StrictModes <%= @ssh_strict_modes %>
|
||||
MaxAuthTries <%= @ssh_max_auth_tries %>
|
||||
MaxSessions <%= @ssh_max_sessions %>
|
||||
#SyslogFacility <%= @ssh_syslog_facility %>
|
||||
#LogLevel <%= @ssh_log_level %>
|
||||
|
||||
#LoginGraceTime <%= @ssh_login_grace_time %>
|
||||
#PermitRootLogin <%= @ssh_root_login %>
|
||||
#StrictModes <%= @ssh_strict_modes %>
|
||||
#MaxAuthTries <%= @ssh_max_auth_tries %>
|
||||
#MaxSessions <%= @ssh_max_sessions %>
|
||||
|
||||
#PubkeyAuthentication <%= @ssh_pubkey_auth %>
|
||||
#AuthorizedKeysFile <%= @ssh_auth_key_files %>
|
||||
|
||||
#AuthorizedPrincipalsFile <%= @ssh_authorized_principals_file %>
|
||||
#AuthorizedKeysCommand <%= @ssh_authorized_keys_command %>
|
||||
#AuthorizedKeysCommandUser <%= @ssh_authorized_keys_command_user %>
|
||||
|
||||
#PasswordAuthentication <%= @ssh_password_authentication %>
|
||||
#PermitEmptyPasswords <%= @ssh_permit_empty_passwords %>
|
||||
#KbdInteractiveAuthentication <%= @ssh_kbd_interactive_auth %>
|
||||
#UsePAM <%= @ssh_use_pam %>
|
||||
|
||||
<% if @ssh_use_kerberos -%>
|
||||
KerberosAuthentication <%= @ssh_kerberos_authentication %>
|
||||
KerberosOrLocalPasswd <%= @ssh_kerberos_or_local_passwd %>
|
||||
KerberosTicketCleanup <%= @ssh_kerberos_ticket_cleanup %>
|
||||
KerberosGetAFSToken <%= @ssh_kerberos_get_afstoken %>
|
||||
KerberosUseKuserok <%= @ssh_kerberos_use_kuserok %>
|
||||
<% end -%>
|
||||
|
||||
<% if @ssh_use_gssapi -%>
|
||||
GSSAPIAuthentication <%= @ssh_gssapi_authentication %>
|
||||
GSSAPICleanupCredentials <%= @ssh_gssapi_cleanup_credentials %>
|
||||
GSSAPIKeyExchange <%= @ssh_gssapi_key_exchange %>
|
||||
GSSAPIEnablek5users <%= @ssh_gssapi_enablek5users %>
|
||||
<% end -%>
|
||||
|
||||
#AllowAgentForwarding <%= @ssh_allow_agent_forwarding %>
|
||||
#AllowTcpForwarding <%= @ssh_allow_tcp_forwarding %>
|
||||
#GatewayPorts <%= @ssh_gateway_ports %>
|
||||
#X11Forwarding <%= @ssh_x11_forwarding %>
|
||||
#X11DisplayOffset <%= @ssh_x11_display_offset %>
|
||||
#X11UseLocalhost <%= @ssh_x11_use_localhost %>
|
||||
#PermitTTY <%= @ssh_permit_tty %>
|
||||
#PrintMotd <%= @ssh_print_motd %>
|
||||
#PrintLastLog <%= @ssh_print_lastlog %>
|
||||
#TCPKeepAlive <%= @ssh_tcp_keepalive %>
|
||||
#PermitUserEnvironment <%= @ssh_permit_user_environment %>
|
||||
#Compression <%= @ssh_compression %>
|
||||
#ClientAliveInterval <%= @ssh_client_alive_interval %>
|
||||
#ClientAliveCountMax <%= @ssh_client_alive_count_max %>
|
||||
#UseDNS <%= @ssh_use_dns %>
|
||||
#PidFile <%= @ssh_pid_file %>
|
||||
#MaxStartups <%= @ssh_max_startups %>
|
||||
#PermitTunnel <%= @ssh_permit_tunnel %>
|
||||
#ChrootDirectory <%= @ssh_chroot_directory %>
|
||||
#VersionAddendum <%= @ssh_version_addendum %>
|
||||
|
||||
#Banner <%= @ssh_banner %>
|
||||
Reference in New Issue
Block a user