Compare commits

...

64 Commits

Author SHA1 Message Date
Jenkins Server
b5c0b3672c Remove Jenkinsfile for Gitea mirror 2026-04-22 15:56:52 +02:00
Jenkins Server
07fa818fea Merge build 18 into master 2026-04-22 15:56:49 +02:00
Jenkins Server
0dd226590a Recommit for updates in build 18 2026-04-22 15:56:48 +02:00
Jenkins Server
b0ba8611cc Merge remote-tracking branch 'origin/master' into jenkins-build-18 2026-04-22 15:55:53 +02:00
713be3a9ef OP#590 fix selinux 2026-04-22 15:55:34 +02:00
Jenkins Server
d9b2fb9ce4 Merge build 17 into master 2026-04-22 15:47:39 +02:00
Jenkins Server
29d1c32e8d Recommit for updates in build 17 2026-04-22 15:47:38 +02:00
Jenkins Server
7695df44d3 Merge remote-tracking branch 'origin/master' into jenkins-build-17 2026-04-22 15:46:43 +02:00
1e2da5edf4 OP#590 fix path 2026-04-22 15:46:21 +02:00
Jenkins Server
08461d4f86 Merge build 16 into master 2026-04-22 15:32:17 +02:00
Jenkins Server
d7ed416df3 Recommit for updates in build 16 2026-04-22 15:32:16 +02:00
Jenkins Server
99aad766f9 Merge remote-tracking branch 'origin/master' into jenkins-build-16 2026-04-22 15:31:20 +02:00
d13b8c6a54 OP#590 add main dirs 2026-04-22 15:30:53 +02:00
Jenkins Server
786dacfaad Merge build 15 into master 2026-04-18 17:48:35 +02:00
Jenkins Server
447a52c03e Recommit for updates in build 15 2026-04-18 17:48:34 +02:00
Jenkins Server
256db2dfc4 Merge remote-tracking branch 'origin/master' into jenkins-build-15 2026-04-18 17:47:45 +02:00
2a9d490fcb OP#581 edit Readme 2026-04-18 17:47:26 +02:00
Jenkins Server
fa4e3b625a Merge build 14 into master 2026-04-16 17:53:29 +02:00
Jenkins Server
226a67e37b Merge remote-tracking branch 'origin/master' into jenkins-build-14 2026-04-16 17:52:34 +02:00
01f02f1cbd OP#581 add tagging sync 2026-04-16 17:52:17 +02:00
190c397809 OP#581 add tagging sync 2026-04-16 17:47:59 +02:00
Jenkins Server
f860dfa44e Merge build 12 into master 2026-04-16 17:11:05 +02:00
Jenkins Server
15a64cccd5 Recommit for updates in build 12 2026-04-16 17:11:03 +02:00
Jenkins Server
66bc7c25c5 Merge remote-tracking branch 'origin/master' into jenkins-build-12 2026-04-16 17:10:13 +02:00
1707d16d5e OP#581 add gpgkey 2026-04-16 17:09:41 +02:00
Jenkins Server
5c6dfa2b5b Merge build 11 into master 2026-04-16 16:47:21 +02:00
Jenkins Server
831e66bd54 Recommit for updates in build 11 2026-04-16 16:47:19 +02:00
f6b2a99afa OP#581 remove docs from dev branch 2026-04-16 16:46:20 +02:00
Jenkins Server
41f52c7277 Merge build 9 into master 2026-04-16 16:39:23 +02:00
Jenkins Server
5a6eb3ae0e Recommit for updates in build 9 2026-04-16 16:39:21 +02:00
Jenkins Server
fc6128e6f3 Merge remote-tracking branch 'origin/master' into jenkins-build-9 2026-04-16 16:38:28 +02:00
39b79517b1 OP#581 edit Readme 2026-04-16 16:38:11 +02:00
Jenkins Server
6107af263f Merge build 8 into master 2026-04-16 16:32:02 +02:00
Jenkins Server
0b6492808c Recommit for updates in build 8 2026-04-16 16:32:01 +02:00
f4d99f7e90 OP#581 edit Readme 2026-04-16 16:30:45 +02:00
Jenkins Server
51aeb2c28b Merge build 5 into master 2026-04-16 16:10:07 +02:00
Jenkins Server
8074aebbf7 Recommit for updates in build 5 2026-04-16 16:10:06 +02:00
Jenkins Server
2ee26ead57 Merge remote-tracking branch 'origin/master' into jenkins-build-5 2026-04-16 16:09:09 +02:00
96abe7bd38 OP#581 edit jenkinsfile so the mirror only receives relevant files 2026-04-16 16:08:48 +02:00
002172003a OP#581 edit jenkinsfile so the mirror only receives relevant files 2026-04-16 16:07:54 +02:00
6b79ed1b50 OP#581 remove .vscode in jenkinsfile 2026-04-16 15:59:41 +02:00
Jenkins Server
06f863f4f5 Merge build 4 into master 2026-04-16 15:57:01 +02:00
Jenkins Server
61bb18e13f Recommit for updates in build 4 2026-04-16 15:57:00 +02:00
Jenkins Server
3a95d3eb66 Merge remote-tracking branch 'origin/master' into jenkins-build-4 2026-04-16 15:56:08 +02:00
b755593488 OP#581 fix yumrepo 2026-04-16 15:55:52 +02:00
Jenkins Server
660eb13cb4 Merge build 3 into master 2026-04-16 15:51:28 +02:00
Jenkins Server
083dd38721 Recommit for updates in build 3 2026-04-16 15:51:26 +02:00
Jenkins Server
0211e0b23b Merge remote-tracking branch 'origin/master' into jenkins-build-3 2026-04-16 15:50:34 +02:00
a11ba2289b OP#581 fix params 2026-04-16 15:50:13 +02:00
Jenkins Server
16362ba2ae Merge build 2 into master 2026-04-16 15:42:42 +02:00
Jenkins Server
d48be49fc9 Recommit for updates in build 2 2026-04-16 15:42:40 +02:00
Jenkins Server
a00078ff6d Merge remote-tracking branch 'origin/master' into jenkins-build-2 2026-04-16 15:41:44 +02:00
07eb81d5e6 OP#581 fix repo and keys for Rocky9 2026-04-16 15:41:22 +02:00
Jenkins Server
0f1be9eea8 Merge build 1 into master 2026-04-16 14:31:35 +02:00
Jenkins Server
fbfba28dd0 Recommit for updates in build 1 2026-04-16 14:31:34 +02:00
db468b4bbd OP#581 initial commit after fork 2026-04-16 14:30:16 +02:00
Jenkins
50e0301188 Merge branch 'jenkins-build-10' into 'master'
Auto-merge for build 10

See merge request internal/jenkins_cd!2
2025-10-21 15:19:39 +00:00
Jenkins Server
66a067cf3f Merge remote-tracking branch 'origin/master' into jenkins-build-10 2025-10-21 17:18:21 +02:00
Arne Teuke
5f13a79a12 update jenkinsfile - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/283 2025-10-21 17:18:00 +02:00
Jenkins Server
a78f217902 Recommit for updates in build 9 2025-10-21 17:15:29 +02:00
Arne Teuke
7e35fcaa2b add jenkins sudoer - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/283 2025-10-21 17:14:08 +02:00
Jenkins Server
94b6c68d9c Recommit for updates in build 6 2025-05-22 18:14:39 +02:00
Jenkins Server
e8e4341735 Merge remote-tracking branch 'origin/master' into jenkins-build-6 2025-05-22 18:14:00 +02:00
Jenkins Server
52000465d5 recommit for updates in build 5 2025-05-06 13:18:48 +02:00
28 changed files with 1087 additions and 698 deletions

2
.gitignore vendored
View File

@@ -2,3 +2,5 @@
Gemfile.lock
FileList
.scannerwork
.vscode
.puppet-lint.rc

View File

@@ -1,5 +0,0 @@
{
"cSpell.words": [
"fontconfig"
]
}

100
Jenkinsfile vendored
View File

@@ -1,100 +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
# 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=jenkins_cd \
-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 origin HEAD:master
'''
}
}
}
}
}

View File

@@ -1,22 +1,47 @@
# Readme
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=jenkins_cd)](https://jenkins.confdroid.com/job/jenkins_cd/)|
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_jenkins&style=plastic)](https://jenkins.confdroid.com/job/confdroid_jenkins/)
[![Security Hotspots](https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_jenkins&metric=security_hotspots&token=sqb_ab7299f9502c7e498c19b03bb06497fa15bdd70c)](https://sonarqube.confdroid.com/dashboard?id=confdroid_jenkins)
[[_TOC_]]
- [Readme](#readme)
- [Synopsis](#synopsis)
- [WARNING](#warning)
- [Features](#features)
- [Core](#core)
- [Optional](#optional)
- [Repo Documentation](#repo-documentation)
- [Dependencies](#dependencies)
- [Deployment](#deployment)
- [SELINUX](#selinux)
- [Known Problems](#known-problems)
- [Support](#support)
- [Tests](#tests)
- [Contact Us](#contact-us)
- [Disclaimer](#disclaimer)
## Synopsis
Puppet 6 repo for managing Jenkins. Internal only due to access details for gitlab
Jenkins is an open-source automation server written in Java that automates the software development process, including building, testing, and deploying code.
`confdroid_jenkins` is a Puppet module for installing and managing Jenkins.
> This is a Work in Progress, currently features are added.
## WARNING
***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***
> **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**
## Features
INSTALLATION
### Core
* installs required binaries
- installs required binaries
- manage service
### Optional
- create a sudoers file for the Jenkins user to allow passwordless sudo, via `js_use_sudo`. Defaults to `false`
- manage firewall ports via `js_enable_fw`. Defaults to `true`. requires `puppetlabs-firewall`.
## Repo Documentation
@@ -26,21 +51,22 @@ See the full Puppet documentation including parameters in `docs/index.html`
All dependencies must be included in the catalogue.
* [java_cd](https://gitlab.confdroid.com/puppet/java_cd) to install java
- [confdroid_java](https://sourcecode.confdroid.com/confdroid/confdroid_java) to install java
- puppetlabs-firewall via r10k
## Deployment
* native Puppet deployment
- native Puppet deployment
via site.pp or nodes.pp
```bash
node 'example.example.net' {
include jenkins_cd
include confdroid_jenkins
}
```
* through Foreman:
- through Foreman:
In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.
@@ -54,21 +80,22 @@ All files and directories are configured with correct selinux context. If selinu
## Support
* OS: Rocky 9
* Puppet 6-8
- OS: Rocky 9 (all RHEL-based OS should work but Rocky 9 is tested)
- Puppet 8
## Tests
* Puppet Lint
* Puppet Parser
* ERB Template Parser
* Sonar Quality Gate
- Puppet Lint
- 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
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.
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.

View File

@@ -64,52 +64,52 @@
<td valign='top' width="33%">
<ul id="alpha_J" class="alpha">
<li class="letter">J</li>
<ul id="alpha_C" class="alpha">
<li class="letter">C</li>
<ul>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd.html" title="puppet_classes::jenkins_cd (puppet_class)">jenkins_cd</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins.html" title="puppet_classes::confdroid_jenkins (puppet_class)">confdroid_jenkins</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::jenkins_cd::firewall::iptables (puppet_class)">jenkins_cd::firewall::iptables</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_jenkins::firewall::iptables (puppet_class)">confdroid_jenkins::firewall::iptables</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::jenkins_cd::main::config (puppet_class)">jenkins_cd::main::config</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_jenkins::main::config (puppet_class)">confdroid_jenkins::main::config</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Adirs.html" title="puppet_classes::jenkins_cd::main::dirs (puppet_class)">jenkins_cd::main::dirs</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_jenkins::main::dirs (puppet_class)">confdroid_jenkins::main::dirs</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Afiles.html" title="puppet_classes::jenkins_cd::main::files (puppet_class)">jenkins_cd::main::files</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_jenkins::main::files (puppet_class)">confdroid_jenkins::main::files</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::jenkins_cd::main::install (puppet_class)">jenkins_cd::main::install</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_jenkins::main::install (puppet_class)">confdroid_jenkins::main::install</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Aservice.html" title="puppet_classes::jenkins_cd::main::service (puppet_class)">jenkins_cd::main::service</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_jenkins::main::service (puppet_class)">confdroid_jenkins::main::service</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::jenkins_cd::main::yumrepo (puppet_class)">jenkins_cd::main::yumrepo</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_jenkins::main::yumrepo (puppet_class)">confdroid_jenkins::main::yumrepo</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span>
</li>

View File

@@ -60,23 +60,70 @@
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://pipelines.confdroid.com/job/jenkins_cd/"><img src="https://pipelines.confdroid.com/buildStatus/icon?job=jenkins_cd"></a>|</p>
<p>[[<em>TOC</em>]]</p>
<p><a href="https://jenkins.confdroid.com/job/confdroid_jenkins/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_jenkins&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_jenkins"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_jenkins&amp;metric=security_hotspots&amp;token=sqb_ab7299f9502c7e498c19b03bb06497fa15bdd70c"></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>
<ul><li>
<p><a href="#core">Core</a></p>
</li><li>
<p><a href="#optional">Optional</a></p>
</li></ul>
</li><li>
<p><a href="#repo-documentation">Repo Documentation</a></p>
</li><li>
<p><a href="#dependencies">Dependencies</a></p>
</li><li>
<p><a href="#deployment">Deployment</a></p>
</li><li>
<p><a href="#selinux">SELINUX</a></p>
</li><li>
<p><a href="#known-problems">Known Problems</a></p>
</li><li>
<p><a href="#support">Support</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>Puppet 6 repo for managing Jenkins. Internal only due to access details for gitlab</p>
<p>Jenkins is an open-source automation server written in Java that automates the software development process, including building, testing, and deploying code.</p>
<p><code>confdroid_jenkins</code> is a Puppet module for installing and managing Jenkins.</p>
<blockquote>
<p>This is a Work in Progress, currently features are added.</p>
</blockquote>
<h2 id="label-WARNING">WARNING</h2>
<p><strong><em>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</em></strong></p>
<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>
<p>INSTALLATION</p>
<h3 id="label-Core">Core</h3>
<ul><li>
<p>installs required binaries</p>
</li><li>
<p>manage service</p>
</li></ul>
<h3 id="label-Optional">Optional</h3>
<ul><li>
<p>create a sudoers file for the Jenkins user to allow passwordless sudo, via <code>js_use_sudo</code>. Defaults to <code>false</code></p>
</li><li>
<p>manage firewall ports via <code>js_enable_fw</code>. Defaults to <code>true</code>. requires <code>puppetlabs-firewall</code>.</p>
</li></ul>
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
@@ -87,7 +134,9 @@
<p>All dependencies must be included in the catalogue.</p>
<ul><li>
<p><a href="https://gitlab.confdroid.com/puppet/java_cd">java_cd</a> to install java</p>
<p><a href="https://sourcecode.confdroid.com/confdroid/confdroid_java">confdroid_java</a> to install java</p>
</li><li>
<p>puppetlabs-firewall via r10k</p>
</li></ul>
<h2 id="label-Deployment">Deployment</h2>
@@ -98,7 +147,7 @@
<p>via site.pp or nodes.pp</p>
<pre class="code ruby"><code class="ruby">node &#39;example.example.net&#39; {
include jenkins_cd
include confdroid_jenkins
}
</code></pre>
<ul><li>
@@ -117,26 +166,15 @@
<h2 id="label-Support">Support</h2>
<ul><li>
<p>OS: Rocky 9</p>
<p>OS: Rocky 9 (all RHEL-based OS should work but Rocky 9 is tested)</p>
</li><li>
<p>Puppet 6-8</p>
<p>Puppet 8</p>
</li></ul>
<h2 id="label-Tests">Tests</h2>
<ul><li>
<p>Puppet Lint</p>
</li><li>
<p>excluded tests:</p>
<ul><li>
<p><code>--no-class_inherits_from_params_class-check</code>:relevant only to non-supported outdated puppet versions</p>
</li><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><li>
<p><code>--no-80chars-check</code>: it is not always possible to stay within 80 characters, although typically only occurring on the parameter vault <code>params.pp</code>.</p>
</li><li>
<p><code>--no-arrow_alignment-check</code>: this check leads to actually not having am easily readable arrow alignment, as this checks <code>per block</code>, not per class.</p>
</li></ul>
</li><li>
<p>Puppet Parser</p>
</li><li>
<p>ERB Template Parser</p>
@@ -145,8 +183,11 @@
</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>

View File

@@ -60,23 +60,70 @@
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://pipelines.confdroid.com/job/jenkins_cd/"><img src="https://pipelines.confdroid.com/buildStatus/icon?job=jenkins_cd"></a>|</p>
<p>[[<em>TOC</em>]]</p>
<p><a href="https://jenkins.confdroid.com/job/confdroid_jenkins/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_jenkins&amp;style=plastic"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_jenkins"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_jenkins&amp;metric=security_hotspots&amp;token=sqb_ab7299f9502c7e498c19b03bb06497fa15bdd70c"></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>
<ul><li>
<p><a href="#core">Core</a></p>
</li><li>
<p><a href="#optional">Optional</a></p>
</li></ul>
</li><li>
<p><a href="#repo-documentation">Repo Documentation</a></p>
</li><li>
<p><a href="#dependencies">Dependencies</a></p>
</li><li>
<p><a href="#deployment">Deployment</a></p>
</li><li>
<p><a href="#selinux">SELINUX</a></p>
</li><li>
<p><a href="#known-problems">Known Problems</a></p>
</li><li>
<p><a href="#support">Support</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>Puppet 6 repo for managing Jenkins. Internal only due to access details for gitlab</p>
<p>Jenkins is an open-source automation server written in Java that automates the software development process, including building, testing, and deploying code.</p>
<p><code>confdroid_jenkins</code> is a Puppet module for installing and managing Jenkins.</p>
<blockquote>
<p>This is a Work in Progress, currently features are added.</p>
</blockquote>
<h2 id="label-WARNING">WARNING</h2>
<p><strong><em>Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production</em></strong></p>
<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>
<p>INSTALLATION</p>
<h3 id="label-Core">Core</h3>
<ul><li>
<p>installs required binaries</p>
</li><li>
<p>manage service</p>
</li></ul>
<h3 id="label-Optional">Optional</h3>
<ul><li>
<p>create a sudoers file for the Jenkins user to allow passwordless sudo, via <code>js_use_sudo</code>. Defaults to <code>false</code></p>
</li><li>
<p>manage firewall ports via <code>js_enable_fw</code>. Defaults to <code>true</code>. requires <code>puppetlabs-firewall</code>.</p>
</li></ul>
<h2 id="label-Repo+Documentation">Repo Documentation</h2>
@@ -87,7 +134,9 @@
<p>All dependencies must be included in the catalogue.</p>
<ul><li>
<p><a href="https://gitlab.confdroid.com/puppet/java_cd">java_cd</a> to install java</p>
<p><a href="https://sourcecode.confdroid.com/confdroid/confdroid_java">confdroid_java</a> to install java</p>
</li><li>
<p>puppetlabs-firewall via r10k</p>
</li></ul>
<h2 id="label-Deployment">Deployment</h2>
@@ -98,7 +147,7 @@
<p>via site.pp or nodes.pp</p>
<pre class="code ruby"><code class="ruby">node &#39;example.example.net&#39; {
include jenkins_cd
include confdroid_jenkins
}
</code></pre>
<ul><li>
@@ -117,26 +166,15 @@
<h2 id="label-Support">Support</h2>
<ul><li>
<p>OS: Rocky 9</p>
<p>OS: Rocky 9 (all RHEL-based OS should work but Rocky 9 is tested)</p>
</li><li>
<p>Puppet 6-8</p>
<p>Puppet 8</p>
</li></ul>
<h2 id="label-Tests">Tests</h2>
<ul><li>
<p>Puppet Lint</p>
</li><li>
<p>excluded tests:</p>
<ul><li>
<p><code>--no-class_inherits_from_params_class-check</code>:relevant only to non-supported outdated puppet versions</p>
</li><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><li>
<p><code>--no-80chars-check</code>: it is not always possible to stay within 80 characters, although typically only occurring on the parameter vault <code>params.pp</code>.</p>
</li><li>
<p><code>--no-arrow_alignment-check</code>: this check leads to actually not having am easily readable arrow alignment, as this checks <code>per block</code>, not per class.</p>
</li></ul>
</li><li>
<p>Puppet Parser</p>
</li><li>
<p>ERB Template Parser</p>
@@ -145,8 +183,11 @@
</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>

View File

@@ -36,65 +36,65 @@
<ul id="full_list" class="puppet_class">
<li id="object_puppet_classes::jenkins_cd" class="odd">
<li id="object_puppet_classes::confdroid_jenkins" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd.html" title="puppet_classes::jenkins_cd (puppet_class)">jenkins_cd</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins.html" title="puppet_classes::confdroid_jenkins (puppet_class)">confdroid_jenkins</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::firewall::iptables" class="even">
<li id="object_puppet_classes::confdroid_jenkins::firewall::iptables" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::jenkins_cd::firewall::iptables (puppet_class)">jenkins_cd::firewall::iptables</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_jenkins::firewall::iptables (puppet_class)">confdroid_jenkins::firewall::iptables</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::main::config" class="odd">
<li id="object_puppet_classes::confdroid_jenkins::main::config" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::jenkins_cd::main::config (puppet_class)">jenkins_cd::main::config</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_jenkins::main::config (puppet_class)">confdroid_jenkins::main::config</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::main::dirs" class="even">
<li id="object_puppet_classes::confdroid_jenkins::main::dirs" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Adirs.html" title="puppet_classes::jenkins_cd::main::dirs (puppet_class)">jenkins_cd::main::dirs</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_jenkins::main::dirs (puppet_class)">confdroid_jenkins::main::dirs</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::main::files" class="odd">
<li id="object_puppet_classes::confdroid_jenkins::main::files" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Afiles.html" title="puppet_classes::jenkins_cd::main::files (puppet_class)">jenkins_cd::main::files</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_jenkins::main::files (puppet_class)">confdroid_jenkins::main::files</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::main::install" class="even">
<li id="object_puppet_classes::confdroid_jenkins::main::install" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::jenkins_cd::main::install (puppet_class)">jenkins_cd::main::install</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_jenkins::main::install (puppet_class)">confdroid_jenkins::main::install</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::main::service" class="odd">
<li id="object_puppet_classes::confdroid_jenkins::main::service" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Aservice.html" title="puppet_classes::jenkins_cd::main::service (puppet_class)">jenkins_cd::main::service</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_jenkins::main::service (puppet_class)">confdroid_jenkins::main::service</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::main::yumrepo" class="even">
<li id="object_puppet_classes::confdroid_jenkins::main::yumrepo" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::jenkins_cd::main::yumrepo (puppet_class)">jenkins_cd::main::yumrepo</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_jenkins::main::yumrepo (puppet_class)">confdroid_jenkins::main::yumrepo</a></span>
</div>
</li>
<li id="object_puppet_classes::jenkins_cd::params" class="odd">
<li id="object_puppet_classes::confdroid_jenkins::params" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span>
<span class='object_link'><a href="puppet_classes/confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span>
</div>
</li>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd
Puppet Class: confdroid_jenkins
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd";
pathId = "puppet_classes::confdroid_jenkins";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd</span>
<span class="title">confdroid_jenkins</span>
</div>
@@ -59,7 +59,7 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins</h1>
<div class="box_info">
@@ -72,13 +72,13 @@
</div>
<h2>Summary</h2>
Class initializes the jenkins_cd module.
Class initializes the confdroid_jenkins module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::init.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::init.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -103,8 +103,8 @@
<td>
<pre class="code"><span class="info file"># File 'manifests/init.pp', line 6</span>
class jenkins_cd {
include jenkins_cd::params
class confdroid_jenkins {
include confdroid_jenkins::params
}</pre>
</td>
</tr>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::firewall::iptables
Puppet Class: confdroid_jenkins::firewall::iptables
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::firewall::iptables";
pathId = "puppet_classes::confdroid_jenkins::firewall::iptables";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::firewall::iptables</span>
<span class="title">confdroid_jenkins::firewall::iptables</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::firewall::iptables</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::firewall::iptables</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -83,7 +83,7 @@
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::firewall::iptables.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::firewall::iptables.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -117,9 +117,9 @@
<td>
<pre class="code"><span class="info file"># File 'manifests/firewall/iptables.pp', line 6</span>
class jenkins_cd::firewall::iptables (
class confdroid_jenkins::firewall::iptables (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if ($fqdn == $js_host_fqdn) and ($js_enable_fw == true) {
firewall { &quot;${js_fw_rule}${js_jenkins_port} tcp port ${js_jenkins_port}&quot;:
proto =&gt; &#39;tcp&#39;,

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::main::config
Puppet Class: confdroid_jenkins::main::config
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::main::config";
pathId = "puppet_classes::confdroid_jenkins::main::config";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::main::config</span>
<span class="title">confdroid_jenkins::main::config</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::main::config</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::main::config</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -77,13 +77,13 @@
</div>
<h2>Summary</h2>
Class manages the logic for the jenkins_cd module.
Class manages the logic for the confdroid_jenkins module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::main::config.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::main::config.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -112,11 +112,11 @@
<td>
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
class jenkins_cd::main::config (
class confdroid_jenkins::main::config (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
include jenkins_cd::main::service
include confdroid_jenkins::main::service
}
}</pre>
</td>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::main::dirs
Puppet Class: confdroid_jenkins::main::dirs
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::main::dirs";
pathId = "puppet_classes::confdroid_jenkins::main::dirs";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::main::dirs</span>
<span class="title">confdroid_jenkins::main::dirs</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::main::dirs</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::main::dirs</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -83,7 +83,7 @@
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::main::dirs.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::main::dirs.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -107,16 +107,112 @@
9
10
11
12</pre>
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/dirs.pp', line 6</span>
class jenkins_cd::main::dirs (
class confdroid_jenkins::main::dirs (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require jenkins_cd::main::install
require confdroid_jenkins::main::install
# jenkins home
file { $js_jenkins_home:
ensure =&gt; &#39;directory&#39;,
owner =&gt; &#39;jenkins&#39;,
group =&gt; &#39;jenkins&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; var_lib_t,
seluser =&gt; unconfined_u,
}
# jenkins logs
file { $js_jenkins_logs:
ensure =&gt; &#39;directory&#39;,
owner =&gt; &#39;jenkins&#39;,
group =&gt; &#39;jenkins&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; var_lib_t,
seluser =&gt; system_u,
}
# jenkins cache
file { $js_jenkins_cache:
ensure =&gt; &#39;directory&#39;,
owner =&gt; &#39;jenkins&#39;,
group =&gt; &#39;jenkins&#39;,
mode =&gt; &#39;0750&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; var_t,
seluser =&gt; unconfined_u,
}
# jenkins run
file { $js_jenkins_run:
ensure =&gt; &#39;directory&#39;,
owner =&gt; &#39;jenkins&#39;,
group =&gt; &#39;jenkins&#39;,
mode =&gt; &#39;0770&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; var_run_t,
seluser =&gt; system_u,
}
}
}</pre>
</td>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::main::files
Puppet Class: confdroid_jenkins::main::files
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::main::files";
pathId = "puppet_classes::confdroid_jenkins::main::files";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::main::files</span>
<span class="title">confdroid_jenkins::main::files</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::main::files</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::main::files</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -83,7 +83,7 @@
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::main::files.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::main::files.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -107,16 +107,52 @@
9
10
11
12</pre>
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
class jenkins_cd::main::files (
class confdroid_jenkins::main::files (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require jenkins_cd::main::dirs
require confdroid_jenkins::main::dirs
if $js_use_sudo == true {
file { $js_sudoers_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0440&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template($js_sudoers_erb),
}
}
if $js_use_sudo != true {
file { $js_sudoers_file:
ensure =&gt; absent,
}
}
}
}</pre>
</td>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::main::install
Puppet Class: confdroid_jenkins::main::install
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::main::install";
pathId = "puppet_classes::confdroid_jenkins::main::install";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::main::install</span>
<span class="title">confdroid_jenkins::main::install</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::main::install</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::main::install</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -83,7 +83,7 @@
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::main::install.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::main::install.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -117,15 +117,15 @@
<td>
<pre class="code"><span class="info file"># File 'manifests/main/install.pp', line 6</span>
class jenkins_cd::main::install (
class confdroid_jenkins::main::install (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require java_cd
require jenkins_cd::main::yumrepo
require confdroid_java
require confdroid_jenkins::main::yumrepo
package { $reqpackages:
ensure =&gt; $pkg_ensure,
package { $js_reqpackages:
ensure =&gt; $js_pkg_ensure,
}
}
}</pre>

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::main::service
Puppet Class: confdroid_jenkins::main::service
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::main::service";
pathId = "puppet_classes::confdroid_jenkins::main::service";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::main::service</span>
<span class="title">confdroid_jenkins::main::service</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::main::service</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::main::service</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -83,7 +83,7 @@
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::main::service.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::main::service.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -120,12 +120,12 @@
<td>
<pre class="code"><span class="info file"># File 'manifests/main/service.pp', line 6</span>
class jenkins_cd::main::service (
class confdroid_jenkins::main::service (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require jenkins_cd::main::files
require jenkins_cd::firewall::iptables
require confdroid_jenkins::main::files
require confdroid_jenkins::firewall::iptables
service { $js_service:
ensure =&gt; running,

View File

@@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::main::yumrepo
Puppet Class: confdroid_jenkins::main::yumrepo
&mdash; Documentation by YARD 0.9.36
@@ -15,7 +15,7 @@
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::jenkins_cd::main::yumrepo";
pathId = "puppet_classes::confdroid_jenkins::main::yumrepo";
relpath = '../';
</script>
@@ -36,10 +36,10 @@
<div id="header">
<div id="menu">
<a href="../_index.html">Index (j)</a> &raquo;
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::main::yumrepo</span>
<span class="title">confdroid_jenkins::main::yumrepo</span>
</div>
@@ -59,12 +59,12 @@
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: jenkins_cd::main::yumrepo</h1>
<div id="content"><h1>Puppet Class: confdroid_jenkins::main::yumrepo</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="jenkins_cd_3A_3Aparams.html" title="puppet_classes::jenkins_cd::params (puppet_class)">jenkins_cd::params</a></span></dd>
<dd><span class='object_link'><a href="confdroid_jenkins_3A_3Aparams.html" title="puppet_classes::confdroid_jenkins::params (puppet_class)">confdroid_jenkins::params</a></span></dd>
</dl>
@@ -83,7 +83,7 @@
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::main::yumrepo.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
<p>confdroid_jenkins::main::yumrepo.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
@@ -123,26 +123,30 @@
25
26
27
28</pre>
28
29
30</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/yumrepo.pp', line 6</span>
class jenkins_cd::main::yumrepo (
class confdroid_jenkins::main::yumrepo (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
yumrepo { &#39;jenkins&#39;:
descr =&gt; &#39;Jenkins-stable&#39;,
baseurl =&gt; $js_base_url,
gpgcheck =&gt; &#39;1&#39;,
enabled =&gt; &#39;1&#39;;
descr =&gt; &#39;Jenkins-stable&#39;,
baseurl =&gt; $js_base_url,
gpgcheck =&gt; $js_gpg_check,
gpgkey =&gt; &quot;${js_base_url}/${js_key}&quot;,
repo_gpgcheck =&gt; $js_gpg_repo_check,
enabled =&gt; $js_repo_enabled,
}
# import rpm key
exec { $js_key_url:
command =&gt; &quot;rpm --import ${js_key_url}&quot;,
exec { $js_key:
command =&gt; &quot;rpm --import ${js_base_url}/${js_key}&quot;,
path =&gt; &#39;/bin:/usr/bin:/sbin:/usr/sbin&#39;,
cwd =&gt; &#39;/tmp&#39;,
user =&gt; &#39;root&#39;,

View File

@@ -0,0 +1,482 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_jenkins::params
&mdash; 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_jenkins::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> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_jenkins::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_jenkins::params</h1>
<div class="box_info">
<dl>
<dt>Inherited by:</dt>
<dd>
<span class='object_link'><a href="confdroid_jenkins_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_jenkins::main::dirs (puppet_class)">confdroid_jenkins::main::dirs</a></span><br/>
<span class='object_link'><a href="confdroid_jenkins_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_jenkins::main::files (puppet_class)">confdroid_jenkins::main::files</a></span><br/>
<span class='object_link'><a href="confdroid_jenkins_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_jenkins::main::config (puppet_class)">confdroid_jenkins::main::config</a></span><br/>
<span class='object_link'><a href="confdroid_jenkins_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_jenkins::main::install (puppet_class)">confdroid_jenkins::main::install</a></span><br/>
<span class='object_link'><a href="confdroid_jenkins_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_jenkins::main::service (puppet_class)">confdroid_jenkins::main::service</a></span><br/>
<span class='object_link'><a href="confdroid_jenkins_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_jenkins::main::yumrepo (puppet_class)">confdroid_jenkins::main::yumrepo</a></span><br/>
<span class='object_link'><a href="confdroid_jenkins_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_jenkins::firewall::iptables (puppet_class)">confdroid_jenkins::firewall::iptables</a></span><br/>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/params.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class holds all parameters for the confdroid_jenkins module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_jenkins::params.pp Module name: confdroid_jenkins Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>js_reqpackages</span>
<span class='type'>(<tt>Array</tt>)</span>
<em class="default">(defaults to: <tt>[&#39;jenkins&#39;,&#39;fontconfig&#39;]</tt>)</em>
&mdash;
<div class='inline'>
<p>which packages to install</p>
</div>
</li>
<li>
<span class='name'>js_pkg_ensure</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;present&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>which packages to install</p>
</div>
</li>
<li>
<span class='name'>js_gpg_check</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;1&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to enable GPG check for Jenkins packages</p>
</div>
</li>
<li>
<span class='name'>js_repo_enabled</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;1&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to enable the Jenkins repository</p>
</div>
</li>
<li>
<span class='name'>js_host_fqdn</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;jenkins.example.net&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>fqdn of the host where Jenkins should run</p>
</div>
</li>
<li>
<span class='name'>js_base_url</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;https://pkg.jenkins.io/rpm-stable&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the base URL for the Jenkins repository</p>
</div>
</li>
<li>
<span class='name'>js_key</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;repodata/repomd.xml.key&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the filename of the Jenkins GPG key to import</p>
</div>
</li>
<li>
<span class='name'>js_key_code</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;gpg-pubkey-14abfc68-69494683&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the code of the Jenkins GPG key to check</p>
</div>
</li>
<li>
<span class='name'>js_gpg_repo_check</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;1&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to enable GPG check for the Jenkins repository</p>
</div>
</li>
<li>
<span class='name'>js_enable_fw</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>true</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to enable firewall control</p>
</div>
</li>
<li>
<span class='name'>js_fw_rule</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;50&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the prefix for the firewall rule order</p>
</div>
</li>
<li>
<span class='name'>js_jenkins_port</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;8080&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the port to open for Jenkins</p>
</div>
</li>
<li>
<span class='name'>js_source_net</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;0.0.0.0/0&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the source range to open</p>
</div>
</li>
<li>
<span class='name'>js_use_sudo</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>false</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to add Jenkins to sudoers list</p>
</div>
</li>
</ul>
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 20</span>
class confdroid_jenkins::params (
Array $js_reqpackages = [&#39;jenkins&#39;,&#39;fontconfig&#39;],
String $js_pkg_ensure = &#39;present&#39;,
String $js_gpg_check = &#39;1&#39;,
String $js_repo_enabled = &#39;1&#39;,
String $js_gpg_repo_check = &#39;1&#39;,
String $js_base_url = &#39;https://pkg.jenkins.io/rpm-stable&#39;,
String $js_key = &#39;repodata/repomd.xml.key&#39;,
String $js_key_code = &#39;gpg-pubkey-14abfc68-69494683&#39;,
# server fqdn
String $js_host_fqdn = &#39;jenkins.example.net&#39;,
# firewall
Boolean $js_enable_fw = true,
String $js_fw_rule = &#39;50&#39;,
String $js_jenkins_port = &#39;8080&#39;,
String $js_source_net = &#39;0.0.0.0/0&#39;,
# user
Boolean $js_use_sudo = false,
) {
# facts
$fqdn = $facts[&#39;networking&#39;][&#39;fqdn&#39;]
$domain = $facts[&#39;networking&#39;][&#39;domain&#39;]
$os_name = $facts[&#39;os&#39;][&#39;name&#39;]
$os_release = $facts[&#39;os&#39;][&#39;release&#39;][&#39;major&#39;]
$js_sudoers_file = &#39;/etc/sudoers.d/jenkins_sudo&#39;
$js_sudoers_erb = &#39;confdroid_jenkins/sudoers.erb&#39;
# Service
$js_service = &#39;jenkins&#39;
# directories
$js_jenkins_home = &#39;/var/lib/jenkins&#39;
$js_jenkins_logs = &quot;${js_jenkins_home}/logs&quot;
$js_jenkins_cache = &#39;/var/cache/jenkins&#39;
$js_jenkins_run = &#39;/run/jenkins&#39;
# includes must be last
include confdroid_jenkins::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>

View File

@@ -1,330 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: jenkins_cd::params
&mdash; 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::jenkins_cd::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 (j)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">jenkins_cd::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: jenkins_cd::params</h1>
<div class="box_info">
<dl>
<dt>Inherited by:</dt>
<dd>
<span class='object_link'><a href="jenkins_cd_3A_3Amain_3A_3Adirs.html" title="puppet_classes::jenkins_cd::main::dirs (puppet_class)">jenkins_cd::main::dirs</a></span><br/>
<span class='object_link'><a href="jenkins_cd_3A_3Amain_3A_3Afiles.html" title="puppet_classes::jenkins_cd::main::files (puppet_class)">jenkins_cd::main::files</a></span><br/>
<span class='object_link'><a href="jenkins_cd_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::jenkins_cd::main::config (puppet_class)">jenkins_cd::main::config</a></span><br/>
<span class='object_link'><a href="jenkins_cd_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::jenkins_cd::main::install (puppet_class)">jenkins_cd::main::install</a></span><br/>
<span class='object_link'><a href="jenkins_cd_3A_3Amain_3A_3Aservice.html" title="puppet_classes::jenkins_cd::main::service (puppet_class)">jenkins_cd::main::service</a></span><br/>
<span class='object_link'><a href="jenkins_cd_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::jenkins_cd::main::yumrepo (puppet_class)">jenkins_cd::main::yumrepo</a></span><br/>
<span class='object_link'><a href="jenkins_cd_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::jenkins_cd::firewall::iptables (puppet_class)">jenkins_cd::firewall::iptables</a></span><br/>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/params.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class holds all parameters for the jenkins_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>jenkins_cd::params.pp Module name: jenkins_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>reqpackages</span>
<span class='type'>(<tt>Array</tt>)</span>
<em class="default">(defaults to: <tt>[&#39;jenkins&#39;,&#39;fontconfig&#39;]</tt>)</em>
&mdash;
<div class='inline'>
<p>which 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>&#39;latest&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>which packages to install</p>
</div>
</li>
<li>
<span class='name'>js_host_fqdn</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;jenkins.example.net&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>fqdn of the host where Jenkins should run</p>
</div>
</li>
<li>
<span class='name'>js_enable_fw</span>
<span class='type'>(<tt>Boolean</tt>)</span>
<em class="default">(defaults to: <tt>true</tt>)</em>
&mdash;
<div class='inline'>
<p>whether to enable firewall control</p>
</div>
</li>
<li>
<span class='name'>js_fw_rule</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;50&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the prefix for the firewall rule order</p>
</div>
</li>
<li>
<span class='name'>js_jenkins_port</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;8080&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the port to open for Jenkins</p>
</div>
</li>
<li>
<span class='name'>js_source_net</span>
<span class='type'>(<tt>String</tt>)</span>
<em class="default">(defaults to: <tt>&#39;0.0.0.0/0&#39;</tt>)</em>
&mdash;
<div class='inline'>
<p>the source range to open</p>
</div>
</li>
</ul>
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
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</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/params.pp', line 13</span>
class jenkins_cd::params (
Array $reqpackages = [&#39;jenkins&#39;,&#39;fontconfig&#39;],
String $pkg_ensure = &#39;latest&#39;,
# server fqdn
String $js_host_fqdn = &#39;jenkins.example.net&#39;,
# firewall
Boolean $js_enable_fw = true,
String $js_fw_rule = &#39;50&#39;,
String $js_jenkins_port = &#39;8080&#39;,
String $js_source_net = &#39;0.0.0.0/0&#39;,
) {
# facts
$fqdn = $facts[&#39;networking&#39;][&#39;fqdn&#39;]
$domain = $facts[&#39;networking&#39;][&#39;domain&#39;]
$os_name = $facts[&#39;os&#39;][&#39;name&#39;]
$os_release = $facts[&#39;os&#39;][&#39;release&#39;][&#39;major&#39;]
# yum repo
$js_base_url = &#39;https://pkg.jenkins.io/redhat-stable/&#39;
$js_key_url = &quot;${js_base_url}/jenkins.io-2023.key&quot;
$js_key_code = &#39;gpg-pubkey-ef5975ca-6421ce2b&#39;
# Service
$js_service = &#39;jenkins&#39;
# includes must be last
include jenkins_cd::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>

View File

@@ -1,11 +1,11 @@
## jenkins_cd::firewall::iptables.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_jenkins::firewall::iptables.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages Jenkins iptables
##############################################################################
class jenkins_cd::firewall::iptables (
class confdroid_jenkins::firewall::iptables (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if ($fqdn == $js_host_fqdn) and ($js_enable_fw == true) {
firewall { "${js_fw_rule}${js_jenkins_port} tcp port ${js_jenkins_port}":
proto => 'tcp',

View File

@@ -1,8 +1,8 @@
## jenkins_cd::init.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class initializes the jenkins_cd module.
## confdroid_jenkins::init.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class initializes the confdroid_jenkins module.
##############################################################################
class jenkins_cd {
include jenkins_cd::params
class confdroid_jenkins {
include confdroid_jenkins::params
}

View File

@@ -1,12 +1,12 @@
## jenkins_cd::main::config.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages the logic for the jenkins_cd module.
## confdroid_jenkins::main::config.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the logic for the confdroid_jenkins module.
##############################################################################
class jenkins_cd::main::config (
class confdroid_jenkins::main::config (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
include jenkins_cd::main::service
include confdroid_jenkins::main::service
}
}

View File

@@ -1,12 +1,60 @@
## jenkins_cd::main::dirs.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_jenkins::main::dirs.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages Jenkins dirs
##############################################################################
class jenkins_cd::main::dirs (
class confdroid_jenkins::main::dirs (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require jenkins_cd::main::install
require confdroid_jenkins::main::install
# jenkins home
file { $js_jenkins_home:
ensure => 'directory',
owner => 'jenkins',
group => 'jenkins',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => var_lib_t,
seluser => unconfined_u,
}
# jenkins logs
file { $js_jenkins_logs:
ensure => 'directory',
owner => 'jenkins',
group => 'jenkins',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => var_lib_t,
seluser => system_u,
}
# jenkins cache
file { $js_jenkins_cache:
ensure => 'directory',
owner => 'jenkins',
group => 'jenkins',
mode => '0750',
selrange => s0,
selrole => object_r,
seltype => var_t,
seluser => unconfined_u,
}
# jenkins run
file { $js_jenkins_run:
ensure => 'directory',
owner => 'jenkins',
group => 'jenkins',
mode => '0770',
selrange => s0,
selrole => object_r,
seltype => var_run_t,
seluser => system_u,
}
}
}

View File

@@ -1,12 +1,30 @@
## jenkins_cd::main::files.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_jenkins::main::files.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages Jenkins files
##############################################################################
class jenkins_cd::main::files (
class confdroid_jenkins::main::files (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require jenkins_cd::main::dirs
require confdroid_jenkins::main::dirs
if $js_use_sudo == true {
file { $js_sudoers_file:
ensure => file,
owner => 'root',
group => 'root',
mode => '0440',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($js_sudoers_erb),
}
}
if $js_use_sudo != true {
file { $js_sudoers_file:
ensure => absent,
}
}
}
}

View File

@@ -1,17 +1,17 @@
## jenkins_cd::main::install.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_jenkins::main::install.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages installation details
##############################################################################
class jenkins_cd::main::install (
class confdroid_jenkins::main::install (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require java_cd
require jenkins_cd::main::yumrepo
require confdroid_java
require confdroid_jenkins::main::yumrepo
package { $reqpackages:
ensure => $pkg_ensure,
package { $js_reqpackages:
ensure => $js_pkg_ensure,
}
}
}

View File

@@ -1,14 +1,14 @@
## jenkins_cd::main::service.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_jenkins::main::service.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages Jenkins service
##############################################################################
class jenkins_cd::main::service (
class confdroid_jenkins::main::service (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
require jenkins_cd::main::files
require jenkins_cd::firewall::iptables
require confdroid_jenkins::main::files
require confdroid_jenkins::firewall::iptables
service { $js_service:
ensure => running,

View File

@@ -1,23 +1,25 @@
## jenkins_cd::main::yumrepo.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_jenkins::main::yumrepo.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages yum repos for the installation
##############################################################################
class jenkins_cd::main::yumrepo (
class confdroid_jenkins::main::yumrepo (
) inherits jenkins_cd::params {
) inherits confdroid_jenkins::params {
if $fqdn == $js_host_fqdn {
yumrepo { 'jenkins':
descr => 'Jenkins-stable',
baseurl => $js_base_url,
gpgcheck => '1',
enabled => '1';
descr => 'Jenkins-stable',
baseurl => $js_base_url,
gpgcheck => $js_gpg_check,
gpgkey => "${js_base_url}/${js_key}",
repo_gpgcheck => $js_gpg_repo_check,
enabled => $js_repo_enabled,
}
# import rpm key
exec { $js_key_url:
command => "rpm --import ${js_key_url}",
exec { $js_key:
command => "rpm --import ${js_base_url}/${js_key}",
path => '/bin:/usr/bin:/sbin:/usr/sbin',
cwd => '/tmp',
user => 'root',

View File

@@ -1,28 +1,44 @@
## jenkins_cd::params.pp
# Module name: jenkins_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class holds all parameters for the jenkins_cd module.
# @param [array] reqpackages which packages to install
# @param [string] pkg_ensure which packages to install
# @param [string] js_host_fqdn fqdn of the host where Jenkins should run
# @param [boolean] js_enable_fw whether to enable firewall control
# @param [string] js_fw_rule the prefix for the firewall rule order
# @param [string] js_jenkins_port the port to open for Jenkins
# @param [string] js_source_net the source range to open
## confdroid_jenkins::params.pp
# Module name: confdroid_jenkins
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class holds all parameters for the confdroid_jenkins module.
# @param [Array] js_reqpackages which packages to install
# @param [String] js_pkg_ensure which packages to install
# @param [String] js_gpg_check whether to enable GPG check for Jenkins packages
# @param [String] js_repo_enabled whether to enable the Jenkins repository
# @param [String] js_host_fqdn fqdn of the host where Jenkins should run
# @param [String] js_base_url the base URL for the Jenkins repository
# @param [String] js_key the filename of the Jenkins GPG key to import
# @param [String] js_key_code the code of the Jenkins GPG key to check
# @param [String] js_gpg_repo_check whether to enable GPG check for the Jenkins repository
# @param [Boolean] js_enable_fw whether to enable firewall control
# @param [String] js_fw_rule the prefix for the firewall rule order
# @param [String] js_jenkins_port the port to open for Jenkins
# @param [String] js_source_net the source range to open
# @param [Boolean] js_use_sudo whether to add Jenkins to sudoers list
##############################################################################
class jenkins_cd::params (
class confdroid_jenkins::params (
Array $reqpackages = ['jenkins','fontconfig'],
String $pkg_ensure = 'latest',
Array $js_reqpackages = ['jenkins','fontconfig'],
String $js_pkg_ensure = 'present',
String $js_gpg_check = '1',
String $js_repo_enabled = '1',
String $js_gpg_repo_check = '1',
String $js_base_url = 'https://pkg.jenkins.io/rpm-stable',
String $js_key = 'repodata/repomd.xml.key',
String $js_key_code = 'gpg-pubkey-14abfc68-69494683',
# server fqdn
String $js_host_fqdn = 'jenkins.example.net',
String $js_host_fqdn = 'jenkins.example.net',
# firewall
Boolean $js_enable_fw = true,
String $js_fw_rule = '50',
String $js_jenkins_port = '8080',
String $js_source_net = '0.0.0.0/0',
Boolean $js_enable_fw = true,
String $js_fw_rule = '50',
String $js_jenkins_port = '8080',
String $js_source_net = '0.0.0.0/0',
# user
Boolean $js_use_sudo = false,
) {
# facts
@@ -31,14 +47,18 @@ class jenkins_cd::params (
$os_name = $facts['os']['name']
$os_release = $facts['os']['release']['major']
# yum repo
$js_base_url = 'https://pkg.jenkins.io/redhat-stable/'
$js_key_url = "${js_base_url}/jenkins.io-2023.key"
$js_key_code = 'gpg-pubkey-ef5975ca-6421ce2b'
$js_sudoers_file = '/etc/sudoers.d/jenkins_sudo'
$js_sudoers_erb = 'confdroid_jenkins/sudoers.erb'
# Service
$js_service = 'jenkins'
# directories
$js_jenkins_home = '/var/lib/jenkins'
$js_jenkins_logs = "${js_jenkins_home}/logs"
$js_jenkins_cache = '/var/cache/jenkins'
$js_jenkins_run = '/run/jenkins'
# includes must be last
include jenkins_cd::main::config
include confdroid_jenkins::main::config
}

7
templates/sudoers.erb Normal file
View File

@@ -0,0 +1,7 @@
################################################################################
##### sudo_rule managed by Puppet | manual changes will be overwritten #####
################################################################################
Defaults:jenkins !requiretty
jenkins ALL=(root) NOPASSWD: ALL