diff --git a/.travis.yml b/.travis.yml index b18193a..04844d1 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" + - rvm: 2.5.1 + env: PUPPET_VERSION="~> 6.0" deploy: provider: puppetforge on: 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/manifests/config.pp b/manifests/config.pp index 69bef11..763d4da 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -33,69 +33,52 @@ 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 { - 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") - } + $unit_file_path = '/etc/systemd/system/puppet-forge-server.service' + $unit_file_template = "${module_name}/puppet-forge-server.service.erb" } } '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: { - 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" } } } + + 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, + } + } 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") + } + } } diff --git a/manifests/init.pp b/manifests/init.pp index c77eada..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 = $::forge_server::forge_server_script + $forge_server_script = $::forge_server::params::forge_server_script, ) inherits forge_server::params { if $scl { diff --git a/metadata.json b/metadata.json index 5efc306..cd1e75e 100644 --- a/metadata.json +++ b/metadata.json @@ -1,14 +1,14 @@ { - "name": "unibet-forge_server", - "version": "0.5.0", - "author": "unibet", + "name": "parshipelite-forge_server", + "version": "0.5.3", + "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", - "project_page": "https://github.com/unibet/puppet-forge_server", - "issues_url": "https://github.com/unibet/puppet-forge_server/issues", + "source": "https://github.com/parship/puppet-forge_server.git", + "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":">= 1.0.0"} + {"name":"puppetlabs-stdlib","version_requirement":">= 4.10.0"} ], "operatingsystem_support": [ { @@ -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/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 diff --git a/templates/Debian/puppet-forge-server.service.erb b/templates/Debian/puppet-forge-server.service.erb new file mode 100644 index 0000000..ec598d2 --- /dev/null +++ b/templates/Debian/puppet-forge-server.service.erb @@ -0,0 +1,27 @@ +[Unit] +Description=Puppet Forge Server +After=network.target + +[Service] +<%- 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 @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