From 146a98822349541ccd12d9c5c3991733e0854204 Mon Sep 17 00:00:00 2001 From: beilers Date: Tue, 4 Aug 2020 18:02:43 +0200 Subject: [PATCH 01/11] bump stdlib dependency to version 4.10.0, use service_provider fact to identify if systemd is present --- manifests/config.pp | 71 ++++++++++++++++++--------------------------- metadata.json | 2 +- 2 files changed, 30 insertions(+), 43 deletions(-) diff --git a/manifests/config.pp b/manifests/config.pp index 69bef11..f7480d1 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -33,28 +33,9 @@ case $::operatingsystem { 'RedHat', 'CentOS', 'Fedora', 'Scientific', 'OracleLinux', 'SLC': { if versioncmp($::operatingsystemmajrelease, '7') >= 0 { - file { '/usr/lib/tmpfiles.d/puppet-forge-server.conf': - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => template("${module_name}/puppet-forge-server.tmpfilesd.erb") - } - file { '/etc/systemd/system/puppet-forge-server.service': - ensure => present, - owner => 'root', - group => 'root', - mode => '0640', - content => template("${module_name}/puppet-forge-server.service.erb"), - notify => Exec['forge_systemctl-daemon-reload'], - } - exec { 'forge_systemctl-daemon-reload': - command => 'systemctl daemon-reload', - path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin', - refreshonly => true, - } - } - else { + $unit_file_path = '/etc/systemd/system/puppet-forge-server.service' + $unit_file_template = "${module_name}/puppet-forge-server.service.erb" + } else { file { '/etc/init.d/puppet-forge-server': ensure => present, owner => 'root', @@ -66,26 +47,8 @@ } 'SLES': { if versioncmp($::operatingsystemmajrelease, '12') >= 0 { - file { '/usr/lib/tmpfiles.d/puppet-forge-server.conf': - ensure => present, - owner => 'root', - group => 'root', - mode => '0644', - content => template("${module_name}/puppet-forge-server.tmpfilesd.erb") - } - file { '/usr/lib/systemd/system/puppet-forge-server.service': - ensure => present, - owner => 'root', - group => 'root', - mode => '0640', - content => template("${module_name}/${::osfamily}/puppet-forge-server.service.erb"), - notify => Exec['forge_systemctl-daemon-reload'], - } - exec { 'forge_systemctl-daemon-reload': - command => 'systemctl daemon-reload', - path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin', - refreshonly => true, - } + $unit_file_path = '/usr/lib/systemd/system/puppet-forge-server.service' + $unit_file_template = "${module_name}/${::osfamily}/puppet-forge-server.service.erb" } } default: { @@ -98,4 +61,28 @@ } } } + + if $::service_provider == 'systemd' { + file { '/usr/lib/tmpfiles.d/puppet-forge-server.conf': + ensure => present, + owner => 'root', + group => 'root', + mode => '0644', + content => template("${module_name}/puppet-forge-server.tmpfilesd.erb") + } + file { $unit_file_path: + ensure => present, + owner => 'root', + group => 'root', + mode => '0640', + content => template($unit_file_template), + notify => Exec['forge_systemctl-daemon-reload'], + } + exec { 'forge_systemctl-daemon-reload': + command => 'systemctl daemon-reload', + path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin', + refreshonly => true, + } + } + } diff --git a/metadata.json b/metadata.json index 5efc306..f6c31d4 100644 --- a/metadata.json +++ b/metadata.json @@ -8,7 +8,7 @@ "project_page": "https://github.com/unibet/puppet-forge_server", "issues_url": "https://github.com/unibet/puppet-forge_server/issues", "dependencies": [ - {"name":"puppetlabs-stdlib","version_requirement":">= 1.0.0"} + {"name":"puppetlabs-stdlib","version_requirement":">= 4.10.0"} ], "operatingsystem_support": [ { From 70d6ee34433e9b5001dfe9b9769d50133d2bf12d Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 11:43:24 +0200 Subject: [PATCH 02/11] refactor non-systemd code, add ubuntu systemd support --- manifests/config.pp | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/manifests/config.pp b/manifests/config.pp index f7480d1..da55ac0 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -35,14 +35,6 @@ if versioncmp($::operatingsystemmajrelease, '7') >= 0 { $unit_file_path = '/etc/systemd/system/puppet-forge-server.service' $unit_file_template = "${module_name}/puppet-forge-server.service.erb" - } else { - file { '/etc/init.d/puppet-forge-server': - ensure => present, - owner => 'root', - group => 'root', - mode => '0755', - content => template("${module_name}/${::osfamily}/puppet-forge-server.initd.erb") - } } } 'SLES': { @@ -51,15 +43,14 @@ $unit_file_template = "${module_name}/${::osfamily}/puppet-forge-server.service.erb" } } - default: { - file { '/etc/init.d/puppet-forge-server': - ensure => present, - owner => 'root', - group => 'root', - mode => '0755', - content => template("${module_name}/${::osfamily}/puppet-forge-server.initd.erb") + 'Ubuntu': { + if versioncmp($::operatingsystemmajrelease, '15') >= 0 { + $unit_file_path = '/etc/systemd/system/puppet-forge-server.service' + $unit_file_template = "${module_name}/${::osfamily}/puppet-forge-server.service.erb" } } + default: { + } } if $::service_provider == 'systemd' { @@ -83,6 +74,13 @@ path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin', refreshonly => true, } + } else { + file { '/etc/init.d/puppet-forge-server': + ensure => present, + owner => 'root', + group => 'root', + mode => '0755', + content => template("${module_name}/${::osfamily}/puppet-forge-server.initd.erb") + } } - } From b8fcf38a48ace2dee3535ba190b01c68b998c911 Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 13:19:18 +0200 Subject: [PATCH 03/11] add default for forge_server_script variable to fix the module and its tests --- manifests/init.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index c77eada..500b6dc 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -91,7 +91,7 @@ $log_dir = $::forge_server::params::log_dir, $debug = false, $provider = 'gem', - $forge_server_script = $::forge_server::forge_server_script + $forge_server_script = 'puppet-forge-server.ruby2.1', ) inherits forge_server::params { if $scl { From 7039c896cb35d680ac9e8afc8510697ad43b0b7a Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 13:35:40 +0200 Subject: [PATCH 04/11] add missing template --- .../Debian/puppet-forge-server.service.erb | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 templates/Debian/puppet-forge-server.service.erb diff --git a/templates/Debian/puppet-forge-server.service.erb b/templates/Debian/puppet-forge-server.service.erb new file mode 100644 index 0000000..092d070 --- /dev/null +++ b/templates/Debian/puppet-forge-server.service.erb @@ -0,0 +1,34 @@ +[Unit] +Description=Puppet Forge Server +After=network.target + +[Service] +<%- if @scl then -%> +# SCL is a bit hacky +Environment=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rh/<%= @scl %>/root/usr/lib64:/opt/rh/<%= @scl %>/root/usr/local/share/gems:/opt/rh/<%= @scl %>/root/usr/share/gems +Environment=GEM_PATH=/opt/rh/<%= @scl %>/root/usr/local/share/gems:/opt/rh/<%= @scl %>/root/usr/share/gems +Environment=PATH=/opt/rh/<%= @scl %>/root/usr/bin:$PATH +<%- end -%> + +<%- if @provider == "pe_gem" then -%> +Environment=PATH=/opt/puppet/bin:$PATH +<%- end -%> +<%- if @provider == "puppet_gem" then -%> +Environment=PATH=/opt/puppetlabs/puppet/bin:$PATH +<%- end -%> + +Type=simple +User=<%= @user %> +Group=<%= @user %> +ExecStart=/bin/bash -c 'puppet-forge-server <%- if @pidfile then -%>--pidfile "<%= @pidfile -%>"<%- end -%><%- if @port then -%> --port <%= @port %><%- end -%><%- if @bind_host then -%> --bind <%= @bind_host -%><%- end -%><%- if @module_directory then -%><%- if @module_directory.is_a? Array then @module_directory.each do |md| -%> --module-dir "<%= md %>"<%- end else -%> --module-dir "<%= @module_directory %>"<%- end end -%><%- if @proxy then -%><%- if @proxy.is_a? Array then @proxy.each do |pr| -%> --proxy <%= pr %><%- end else -%> --proxy <%= @proxy %><%- end end -%><%- if @cache_basedir then -%> --cache-basedir "<%= @cache_basedir %>"<%- end -%><%- if @log_dir then -%> --log-dir "<%= @log_dir %>"<%- end -%><%- if @debug then -%> --debug<%- end -%>' + +# Give a reasonable amount of time for the server to start up/shut down +TimeoutSec=300 + +<%- if @http_proxy -%> +Environment=HTTP_PROXY=<%= @http_proxy %> +Environment=HTTPS_PROXY=<%= @http_proxy %> +<%- end -%> + +[Install] +WantedBy=multi-user.target From f6eb3d03a852e3c1016c3276f5b124ca8a817666 Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 13:57:08 +0200 Subject: [PATCH 05/11] fix issue with forge_server_script, removed pifile parameter as it's not needed with systemd, remove scl reference from Debian systemd unit file template --- manifests/init.pp | 2 +- metadata.json | 2 +- templates/Debian/puppet-forge-server.service.erb | 9 +-------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 500b6dc..c61fcda 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -91,7 +91,7 @@ $log_dir = $::forge_server::params::log_dir, $debug = false, $provider = 'gem', - $forge_server_script = 'puppet-forge-server.ruby2.1', + $forge_server_script = $::forge_server::params::forge_server_script, ) inherits forge_server::params { if $scl { diff --git a/metadata.json b/metadata.json index f6c31d4..c9b4875 100644 --- a/metadata.json +++ b/metadata.json @@ -17,7 +17,7 @@ }, { "operatingsystem": "Ubuntu", - "operatingsystemrelease": [ "14.04", "12.04" ] + "operatingsystemrelease": [ "18.04", "16.04", "14.04", "12.04" ] }, { "operatingsystem": "SLES", diff --git a/templates/Debian/puppet-forge-server.service.erb b/templates/Debian/puppet-forge-server.service.erb index 092d070..ec598d2 100644 --- a/templates/Debian/puppet-forge-server.service.erb +++ b/templates/Debian/puppet-forge-server.service.erb @@ -3,13 +3,6 @@ Description=Puppet Forge Server After=network.target [Service] -<%- if @scl then -%> -# SCL is a bit hacky -Environment=LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/rh/<%= @scl %>/root/usr/lib64:/opt/rh/<%= @scl %>/root/usr/local/share/gems:/opt/rh/<%= @scl %>/root/usr/share/gems -Environment=GEM_PATH=/opt/rh/<%= @scl %>/root/usr/local/share/gems:/opt/rh/<%= @scl %>/root/usr/share/gems -Environment=PATH=/opt/rh/<%= @scl %>/root/usr/bin:$PATH -<%- end -%> - <%- if @provider == "pe_gem" then -%> Environment=PATH=/opt/puppet/bin:$PATH <%- end -%> @@ -20,7 +13,7 @@ Environment=PATH=/opt/puppetlabs/puppet/bin:$PATH Type=simple User=<%= @user %> Group=<%= @user %> -ExecStart=/bin/bash -c 'puppet-forge-server <%- if @pidfile then -%>--pidfile "<%= @pidfile -%>"<%- end -%><%- if @port then -%> --port <%= @port %><%- end -%><%- if @bind_host then -%> --bind <%= @bind_host -%><%- end -%><%- if @module_directory then -%><%- if @module_directory.is_a? Array then @module_directory.each do |md| -%> --module-dir "<%= md %>"<%- end else -%> --module-dir "<%= @module_directory %>"<%- end end -%><%- if @proxy then -%><%- if @proxy.is_a? Array then @proxy.each do |pr| -%> --proxy <%= pr %><%- end else -%> --proxy <%= @proxy %><%- end end -%><%- if @cache_basedir then -%> --cache-basedir "<%= @cache_basedir %>"<%- end -%><%- if @log_dir then -%> --log-dir "<%= @log_dir %>"<%- end -%><%- if @debug then -%> --debug<%- end -%>' +ExecStart=/bin/bash -c 'puppet-forge-server <%- if @port then -%> --port <%= @port %><%- end -%><%- if @bind_host then -%> --bind <%= @bind_host -%><%- end -%><%- if @module_directory then -%><%- if @module_directory.is_a? Array then @module_directory.each do |md| -%> --module-dir "<%= md %>"<%- end else -%> --module-dir "<%= @module_directory %>"<%- end end -%><%- if @proxy then -%><%- if @proxy.is_a? Array then @proxy.each do |pr| -%> --proxy <%= pr %><%- end else -%> --proxy <%= @proxy %><%- end end -%><%- if @cache_basedir then -%> --cache-basedir "<%= @cache_basedir %>"<%- end -%><%- if @log_dir then -%> --log-dir "<%= @log_dir %>"<%- end -%><%- if @debug then -%> --debug<%- end -%>' # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 8c41be3a8c72be8f5ef751c873126b4ce9f651cb Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 14:42:06 +0200 Subject: [PATCH 06/11] update metadata json in order to publish the module on the puppet forge under the Parship Group organization --- metadata.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/metadata.json b/metadata.json index c9b4875..831b683 100644 --- a/metadata.json +++ b/metadata.json @@ -1,10 +1,10 @@ { - "name": "unibet-forge_server", - "version": "0.5.0", - "author": "unibet", + "name": "parship-forge_server", + "version": "0.5.1", + "author": "Parship Group", "summary": "A Puppet module to manage puppet-forge-server", "license": "Apache-2.0", - "source": "https://github.com/unibet/puppet-forge_server.git", + "source": "https://github.com/parship/puppet-forge_server.git", "project_page": "https://github.com/unibet/puppet-forge_server", "issues_url": "https://github.com/unibet/puppet-forge_server/issues", "dependencies": [ From 7b8de5ee45367b6dca3aa49c4bb1372422491b63 Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 14:45:31 +0200 Subject: [PATCH 07/11] update metadata json in order to publish the module on the puppet forge under the Parship Group organization --- metadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.json b/metadata.json index 831b683..cafbc44 100644 --- a/metadata.json +++ b/metadata.json @@ -1,5 +1,5 @@ { - "name": "parship-forge_server", + "name": "parshipelite-forge_server", "version": "0.5.1", "author": "Parship Group", "summary": "A Puppet module to manage puppet-forge-server", From c6ada1249422128fe3354382be29e8fcc05068ac Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 16:21:20 +0200 Subject: [PATCH 08/11] remove puppet 3 support add puppet 5 support, debugging output in rspec to troubleshoot travis.ci builds failing --- .travis.yml | 6 ++---- spec/classes/init_spec.rb | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b18193a..c5ba74f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,12 +7,10 @@ script: - bundle exec rake spec matrix: include: - - rvm: 1.9.3 - env: PUPPET_VERSION="~> 3.8" DEPLOY="true" - - rvm: 1.9.3 - env: PUPPET_VERSION="~> 3.8" FUTURE_PARSER="yes" - rvm: 2.1.7 env: PUPPET_VERSION="~> 4.0" + - rvm: 2.4.10 + env: PUPPET_VERSION="~> 5.0" deploy: provider: puppetforge on: diff --git a/spec/classes/init_spec.rb b/spec/classes/init_spec.rb index 36330e9..ddab45b 100644 --- a/spec/classes/init_spec.rb +++ b/spec/classes/init_spec.rb @@ -2,6 +2,7 @@ describe 'forge_server' do on_supported_os.each do |os, facts| + puts "stdout-debug OS: '#{os}' -- operatingsystemmajrelease: '#{facts[:operatingsystemmajrelease]}'" context "with defaults for all parameters (on #{os})" do let(:facts) do facts From d028c52c2611dacec62656aa0e01369f5328bc98 Mon Sep 17 00:00:00 2001 From: beilers Date: Wed, 5 Aug 2020 17:21:45 +0200 Subject: [PATCH 09/11] remove puppet4 and add puppet 6 test for travis.ci --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c5ba74f..04844d1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,10 +7,10 @@ script: - bundle exec rake spec matrix: include: - - rvm: 2.1.7 - env: PUPPET_VERSION="~> 4.0" - rvm: 2.4.10 env: PUPPET_VERSION="~> 5.0" + - rvm: 2.5.1 + env: PUPPET_VERSION="~> 6.0" deploy: provider: puppetforge on: From cde152133a7345afe6c05e327dc56f2f7f76ecc8 Mon Sep 17 00:00:00 2001 From: beilers Date: Thu, 6 Aug 2020 12:05:51 +0200 Subject: [PATCH 10/11] remove empty default section in switch case, update project and issue urls to point to parship fork, bump version to 0.5.2 --- manifests/config.pp | 2 -- metadata.json | 6 +++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/manifests/config.pp b/manifests/config.pp index da55ac0..763d4da 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -49,8 +49,6 @@ $unit_file_template = "${module_name}/${::osfamily}/puppet-forge-server.service.erb" } } - default: { - } } if $::service_provider == 'systemd' { diff --git a/metadata.json b/metadata.json index cafbc44..ca3f946 100644 --- a/metadata.json +++ b/metadata.json @@ -1,12 +1,12 @@ { "name": "parshipelite-forge_server", - "version": "0.5.1", + "version": "0.5.2", "author": "Parship Group", "summary": "A Puppet module to manage puppet-forge-server", "license": "Apache-2.0", "source": "https://github.com/parship/puppet-forge_server.git", - "project_page": "https://github.com/unibet/puppet-forge_server", - "issues_url": "https://github.com/unibet/puppet-forge_server/issues", + "project_page": "https://github.com/parship/puppet-forge_server", + "issues_url": "https://github.com/parship/puppet-forge_server/issues", "dependencies": [ {"name":"puppetlabs-stdlib","version_requirement":">= 4.10.0"} ], From 06d313575d95a8053a8b4c988664a76aa17f9938 Mon Sep 17 00:00:00 2001 From: beilers Date: Thu, 6 Aug 2020 12:16:47 +0200 Subject: [PATCH 11/11] correct URLs in README.md, bump version to 0.5.3 --- README.md | 8 ++++---- metadata.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 281b258..6aa7b80 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # forge_server -[![Build Status](https://secure.travis-ci.org/unibet/puppet-forge_server.png)](http://travis-ci.org/unibet/puppet-forge_server) -[![Puppet Forge](https://img.shields.io/puppetforge/v/unibet/forge_server.svg)](https://forge.puppetlabs.com/unibet/forge_server) -[![Puppet Forge](https://img.shields.io/puppetforge/f/unibet/forge_server.svg)](https://forge.puppetlabs.com/unibet/forge_server) +[![Build Status](https://secure.travis-ci.org/parship/puppet-forge_server.png)](https://travis-ci.org/parship/puppet-forge_server) +[![Puppet Forge](https://img.shields.io/puppetforge/v/parshipelite/forge_server.svg)](https://forge.puppetlabs.com/parshipelite/forge_server) +[![Puppet Forge](https://img.shields.io/puppetforge/f/parshipelite/forge_server.svg)](https://forge.puppetlabs.com/parshipelite/forge_server) #### Table of Contents @@ -42,7 +42,7 @@ If installing in system ruby it must be at least version 1.9.3 Install the module: ``` -puppet module install unibet-forge_server +puppet module install parshipelite-forge_server ``` ## Usage diff --git a/metadata.json b/metadata.json index ca3f946..cd1e75e 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "parshipelite-forge_server", - "version": "0.5.2", + "version": "0.5.3", "author": "Parship Group", "summary": "A Puppet module to manage puppet-forge-server", "license": "Apache-2.0",