Compare commits
17 Commits
f86ab809c8
...
dfc90f5bf6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfc90f5bf6 | ||
| 256cf6ad08 | |||
|
|
efdc857056 | ||
|
|
da57a39a62 | ||
|
|
60227434d5 | ||
|
|
84977adbc5 | ||
|
|
ac7699e75d | ||
|
|
f8f31dfc55 | ||
|
|
dd089da959 | ||
|
|
4ba4fdcd59 | ||
|
|
e02ae9235c | ||
|
|
63682ed6b1 | ||
|
|
d22955d0d9 | ||
|
|
54ed3f5567 | ||
|
|
f9e9796a97 | ||
|
|
b764d9903e | ||
|
|
b526c90e50 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -34,3 +34,6 @@
|
||||
.plan_cache.json
|
||||
.rerun.json
|
||||
bolt-debug.log
|
||||
.vscode
|
||||
.puppet-lint.rc
|
||||
.rspec
|
||||
|
||||
96
Jenkinsfile
vendored
96
Jenkinsfile
vendored
@@ -1,96 +0,0 @@
|
||||
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
|
||||
git pull origin master
|
||||
git checkout -b jenkins '''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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 '''find . -iname *.pp -exec /usr/local/rvm/gems/ruby-2.5.0/wrappers/puppet-lint \\
|
||||
--no-class_inherits_from_params_class-check \\
|
||||
--no-variable_scope-check \\
|
||||
--no-80chars-check \\
|
||||
--no-arrow_alignment-check \\
|
||||
--no-autoloader_layout-check \\
|
||||
--no-140chars-check \\
|
||||
--log-format "%{path}:%{line}:%{check}:%{KIND}:%{message}" {} \\;
|
||||
'''
|
||||
recordIssues aggregatingResults: true, tool: puppetLint()
|
||||
}
|
||||
}
|
||||
|
||||
stage('SonarScan') {
|
||||
steps {
|
||||
sh '''
|
||||
/opt/sonar-scanner/bin/sonar-scanner \
|
||||
-Dsonar.projectKey=ssh_cd \
|
||||
-Dsonar.sources=. \
|
||||
-Dsonar.host.url=https://sonarqube.confdroid.com \
|
||||
-Dsonar.token=sqa_aca21cc41336d0f31987ed196ccfb9be55ded774
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
echo `git add -A && git commit -am "recommit for updates in build $BUILD_NUMBER"`
|
||||
git push origin HEAD:master'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
42
README.md
42
README.md
@@ -1,12 +1,21 @@
|
||||
# Readme
|
||||
|
||||
[
|
||||
[](https://jenkins.confdroid.com/job/confdroid_ssh/)
|
||||
|
||||
[[_TOC_]]
|
||||
- [Readme](#readme)
|
||||
- [Synopsis](#synopsis)
|
||||
- [WARNING](#warning)
|
||||
- [Features](#features)
|
||||
- [Support](#support)
|
||||
- [Parameter Inheritance](#parameter-inheritance)
|
||||
- [Module Deployment](#module-deployment)
|
||||
- [Tests](#tests)
|
||||
- [Contact Us](#contact-us)
|
||||
- [Disclaimer](#disclaimer)
|
||||
|
||||
## Synopsis
|
||||
|
||||
`ssh_cd`manages the aspects of the sshd daemon.
|
||||
`confdroid_ssh`manages the aspects of the sshd daemon.
|
||||
|
||||
## WARNING
|
||||
|
||||
@@ -14,12 +23,10 @@
|
||||
|
||||
## Features
|
||||
|
||||
See [CHANGELOG.md](CHANGELOG.md)
|
||||
|
||||
## Support
|
||||
|
||||
* Rocky 9
|
||||
* Puppet 8
|
||||
- Rocky 9
|
||||
- Puppet 8
|
||||
|
||||
## Parameter Inheritance
|
||||
|
||||
@@ -31,22 +38,17 @@ ALmost every puppet setup is done in very custom ways, and hence the way the mod
|
||||
|
||||
## Tests
|
||||
|
||||
* Puppet Lint
|
||||
* excluded tests:
|
||||
* `--no-class_inherits_from_params_class-check`:relevant only to non-supported outdated puppet versions
|
||||
* `--no-variable_scope-check`: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.
|
||||
* `--no-80chars-check`: it is not always possible to stay within 80 characters, although typically only occurring on the parameter vault `params.pp`.
|
||||
* `--no-arrow_alignment-check`: this check leads to actually not having am easily readable arrow alignment, as this checks `per block`, not per class.
|
||||
* Puppet Parser
|
||||
* ERB Template Parser
|
||||
* Test for unwanted UTF8 files in the Puppet code (see tests/UTF_Files)
|
||||
* Markdown-lint
|
||||
* Spellcheck
|
||||
* Sonar Quality Gate
|
||||
- Puppet Lint
|
||||
- excluded tests:
|
||||
- `--no-variable_scope-check`: not applicable as we are inheriting parameters from params class. the lint check does not distinguish between facts and inherited parameters.
|
||||
- Puppet Parser
|
||||
- ERB Template Parser
|
||||
- Sonar Quality Gate
|
||||
|
||||
## Contact Us
|
||||
|
||||
[contact Us](https://confdroid.com/contact/)
|
||||
- [contact Us](https://confdroid.com/contact/)
|
||||
- [Feedback Portal](https://feedback.confdroid.com/)
|
||||
|
||||
## Disclaimer
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
## ssh_cd::init.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class initializes the ssh_cd module
|
||||
## confdroid_ssh::init.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class initializes the confdroid_ssh module
|
||||
##############################################################################
|
||||
class ssh_cd::init {
|
||||
include ssh_cd::params
|
||||
class confdroid_ssh {
|
||||
include confdroid_ssh::params
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
## ssh_cd::main::config.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
## confdroid_ssh::main::config.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class manages module logic
|
||||
##############################################################################
|
||||
class ssh_cd::main::config (
|
||||
) inherits ssh_cd::params {
|
||||
include ssh_cd::main::service
|
||||
class confdroid_ssh::main::config (
|
||||
) inherits confdroid_ssh::params {
|
||||
include confdroid_ssh::main::service
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
## ssh_cd::main::dirs.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
## confdroid_ssh::main::dirs.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class manages directories
|
||||
##############################################################################
|
||||
class ssh_cd::main::dirs (
|
||||
) inherits ssh_cd::params {
|
||||
require ssh_cd::main::install
|
||||
class confdroid_ssh::main::dirs (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::install
|
||||
|
||||
file { $ssh_etc_path:
|
||||
ensure => directory,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
## ssh_cd::main::files.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
## confdroid_ssh::main::files.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class manages files
|
||||
##############################################################################
|
||||
class ssh_cd::main::files (
|
||||
) inherits ssh_cd::params {
|
||||
require ssh_cd::main::dirs
|
||||
class confdroid_ssh::main::files (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::dirs
|
||||
|
||||
file { $sshd_config_path:
|
||||
ensure => file,
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
## ssh_cd::main::install.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
## confdroid_ssh::main::install.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class manages installation
|
||||
##############################################################################
|
||||
class ssh_cd::main::install (
|
||||
) inherits ssh_cd::params {
|
||||
class confdroid_ssh::main::install (
|
||||
) inherits confdroid_ssh::params {
|
||||
package { $reqpackages:
|
||||
ensure => $pkg_ensure,
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
## ssh_cd::main::service.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
## confdroid_ssh::main::service.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class manages service settings
|
||||
##############################################################################
|
||||
class ssh_cd::main::service (
|
||||
) inherits ssh_cd::params {
|
||||
require ssh_cd::main::files
|
||||
class confdroid_ssh::main::service (
|
||||
) inherits confdroid_ssh::params {
|
||||
require confdroid_ssh::main::files
|
||||
|
||||
service { $sshd_service:
|
||||
ensure => running,
|
||||
|
||||
@@ -1,22 +1,29 @@
|
||||
## ssh_cd::params.pp
|
||||
# Module name: ssh_cd
|
||||
# Author: Arne Teuke (arne_teuke@confdroid.com)
|
||||
# @summary Class contains all class parameters for ssh_cd
|
||||
# @param [array] reqpackages packages to install
|
||||
# @param [string] pkg_ensure version to install: 'present' or 'latest'
|
||||
## confdroid_ssh::params.pp
|
||||
# Module name: confdroid_ssh
|
||||
# Author: 12ww1160 (12ww1160@confdroid.com)
|
||||
# @summary Class contains all class parameters for confdroid_ssh
|
||||
# @param [Array] reqpackages packages to install
|
||||
# @param [String] pkg_ensure version to install: 'present' or 'latest'
|
||||
##############################################################################
|
||||
class ssh_cd::params (
|
||||
class confdroid_ssh::params (
|
||||
|
||||
Array $reqpackages = ['openssh','openssh-clients','openssh-server'],
|
||||
String $pkg_ensure = 'latest',
|
||||
String $pkg_ensure = 'present',
|
||||
|
||||
) {
|
||||
# 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_config_erb = 'ssh_cd/ssh_config.erb'
|
||||
$sshd_config_erb = 'confdroid_ssh/ssh_config.erb'
|
||||
|
||||
# includes must be last
|
||||
include ssh_cd::main::config
|
||||
include confdroid_ssh::main::config
|
||||
}
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
###############################################################################
|
||||
##### DO NOT EDIT THIS FILE MANUALLY #
|
||||
##### This file is managed by Puppet. Any changes to this file will be #
|
||||
###### overwritten. If you want to change the content of this file, edit the #
|
||||
##### template ssh_config.erb ##### and then run Puppet to apply the changes. #
|
||||
###############################################################################
|
||||
|
||||
# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
|
||||
|
||||
# This is the sshd server system-wide configuration file. See
|
||||
|
||||
Reference in New Issue
Block a user