From 6001c4743c6818620fcd3f8eedae1cfa0907dcdc Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Thu, 8 Apr 2021 20:58:17 -0700 Subject: [PATCH 1/8] drop puppet5 support; bump puppet, stdlib, python, vcsrepo deps Closes #326. --- metadata.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/metadata.json b/metadata.json index 5fa7c05f..b5f20b31 100644 --- a/metadata.json +++ b/metadata.json @@ -31,21 +31,21 @@ "requirements": [ { "name": "puppet", - "version_requirement": ">= 5.5.8 < 7.0.0" + "version_requirement": ">= 6.1.0 < 8.0.0" } ], "dependencies": [ { "name": "puppetlabs/stdlib", - "version_requirement": ">= 4.13.1 < 7.0.0" + "version_requirement": ">= 4.13.1 < 8.0.0" }, { "name": "puppet/python", - "version_requirement": ">= 4.1.0 < 6.0.0" + "version_requirement": ">= 4.1.0 < 7.0.0" }, { "name": "puppetlabs/vcsrepo", - "version_requirement": ">= 1.3.1 < 4.0.0" + "version_requirement": ">= 1.3.1 < 6.0.0" } ] } From 2ea6824218331253b6f8e92d16abb2a944240181 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Wed, 25 Nov 2020 17:39:29 +0100 Subject: [PATCH 2/8] modulesync 4.0.0 --- .github/CONTRIBUTING.md | 5 +-- .github/workflows/ci.yml | 75 ++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 29 +++++++++++++ .msync.yml | 2 +- .pmtignore | 17 +++++++- .travis.yml | 77 ----------------------------------- Gemfile | 27 +++--------- Rakefile | 9 +++- 8 files changed, 136 insertions(+), 105 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml delete mode 100644 .travis.yml diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index cace33e6..f1f88ccf 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -232,14 +232,14 @@ simple tests against it after applying the module. You can run this with: ```sh -bundle exec rake acceptance +bundle exec rake beaker ``` This will run the tests on the module's default nodeset. You can override the nodeset used, e.g., ```sh -BEAKER_set=centos-7-x64 bundle exec rake acceptance +BEAKER_set=centos-7-x64 bundle exec rake beaker ``` There are default rake tasks for the various acceptance test modules, e.g., @@ -269,7 +269,6 @@ The following strings are known to work: * ubuntu2004 * debian9 * debian10 -* centos6 * centos7 * centos8 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..b4f47e87 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,75 @@ +name: CI + +on: pull_request + +jobs: + setup_matrix: + name: 'Setup Test Matrix' + runs-on: ubuntu-latest + outputs: + beaker_setfiles: ${{ steps.get-outputs.outputs.beaker_setfiles }} + puppet_major_versions: ${{ steps.get-outputs.outputs.puppet_major_versions }} + puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }} + env: + BUNDLE_WITHOUT: development:test:release + steps: + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Run rake validate + run: bundle exec rake validate + - name: Setup Test Matrix + id: get-outputs + run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false + + unit: + needs: setup_matrix + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: ${{fromJson(needs.setup_matrix.outputs.puppet_unit_test_matrix)}} + env: + BUNDLE_WITHOUT: development:system_tests:release + PUPPET_VERSION: "~> ${{ matrix.puppet }}.0" + name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }}) + steps: + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Run tests + run: bundle exec rake + + acceptance: + needs: setup_matrix + runs-on: ubuntu-latest + env: + BUNDLE_WITHOUT: development:test:release + strategy: + fail-fast: false + matrix: + setfile: ${{fromJson(needs.setup_matrix.outputs.beaker_setfiles)}} + puppet: ${{fromJson(needs.setup_matrix.outputs.puppet_major_versions)}} + name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }} + steps: + - name: Enable IPv6 on docker + run: | + echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json + sudo service docker restart + - uses: actions/checkout@v2 + - name: Setup ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Run tests + run: bundle exec rake beaker + env: + BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }} + BEAKER_setfile: ${{ matrix.setfile.value }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..68b85284 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +name: Release + +on: + push: + tags: + - '*' + +env: + BUNDLE_WITHOUT: development:test:system_tests + +jobs: + deploy: + name: 'deploy to forge' + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + - name: Build and Deploy + env: + # Configure secrets here: + # https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets + BLACKSMITH_FORGE_USERNAME: '${{ secrets.PUPPET_FORGE_USERNAME }}' + BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}' + run: bundle exec rake module:push diff --git a/.msync.yml b/.msync.yml index 5758aced..a0770a83 100644 --- a/.msync.yml +++ b/.msync.yml @@ -1,2 +1,2 @@ --- -modulesync_config_version: '3.1.0' +modulesync_config_version: '4.0.0' diff --git a/.pmtignore b/.pmtignore index 4e6d54b8..33a8c65d 100644 --- a/.pmtignore +++ b/.pmtignore @@ -1,11 +1,12 @@ docs/ pkg/ +Gemfile Gemfile.lock Gemfile.local vendor/ .vendor/ -spec/fixtures/manifests/ -spec/fixtures/modules/ +spec/ +Rakefile .vagrant/ .bundle/ .ruby-version @@ -13,9 +14,21 @@ coverage/ log/ .idea/ .dependencies/ +.github/ .librarian/ Puppetfile.lock *.iml +.editorconfig +.fixtures.yml +.gitignore +.msync.yml +.overcommit.yml +.pmtignore +.rspec +.rspec_parallel +.rubocop.yml +.sync.yml .*.sw? .yardoc/ +.yardopts Dockerfile diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d74e3e2b..00000000 --- a/.travis.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -# yamllint disable rule:line-length rule:truthy -os: linux -dist: focal -language: ruby -cache: bundler -before_install: - - yes | gem update --system - - bundle --version -script: - - 'bundle exec rake $CHECK' -jobs: - fast_finish: true - include: - - rvm: 2.4.4 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 5.0" CHECK=test - - rvm: 2.5.3 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 6.0" CHECK=test_with_coveralls - - rvm: 2.5.3 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 6.0" CHECK=rubocop - - rvm: 2.4.4 - bundler_args: --without system_tests development release - env: PUPPET_VERSION="~> 5.0" CHECK=build DEPLOY_TO_FORGE=yes - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=ubuntu1604-64{image=ubuntu:xenial-20191212} CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=ubuntu1604-64{image=ubuntu:xenial-20191212} CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=ubuntu1804-64 CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=ubuntu1804-64 CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=debian9-64 CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=debian9-64 CHECK=beaker - services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=debian10-64 CHECK=beaker - services: docker -branches: - only: - - master - - /^v\d/ -notifications: - email: false - webhooks: https://voxpupu.li/incoming/travis - irc: - on_success: always - on_failure: always - channels: - - "chat.freenode.org#voxpupuli-notifications" -deploy: - provider: puppetforge - username: puppet - password: - secure: "Hw0ScFZ+tANSuxXvkQlHOtbnV+9O6FyIxY4e8ZuNiE+4E045olgGjqus+ffo0MoHOHzCPPbThF107yQIXXHCwIy3wzOVIjQ7KQ/yVeamCl4K9A4AFP1Pcr/zMTRdK16zrgxBH+6wDkjSxHGonT8AyUKBrT7AeET+pqxwVHvHCfo=" - on: - tags: true - # all_branches is required to use tags - all_branches: true - # Only publish the build marked with "DEPLOY_TO_FORGE" - condition: "$DEPLOY_TO_FORGE = yes" diff --git a/Gemfile b/Gemfile index df44af06..53c14917 100644 --- a/Gemfile +++ b/Gemfile @@ -1,15 +1,5 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" -def location_for(place, fake_version = nil) - if place =~ /^(git[:@][^#]*)#(.*)/ - [fake_version, { :git => $1, :branch => $2, :require => false }].compact - elsif place =~ /^file:\/\/(.*)/ - ['>= 0', { :path => File.expand_path($1), :require => false }] - else - [place, { :require => false }] - end -end - group :test do gem 'voxpupuli-test', '~> 2.1', :require => false gem 'coveralls', :require => false @@ -18,14 +8,13 @@ group :test do end group :development do - gem 'travis', :require => false - gem 'travis-lint', :require => false gem 'guard-rake', :require => false gem 'overcommit', '>= 0.39.1', :require => false end group :system_tests do - gem 'voxpupuli-acceptance', :require => false + gem 'puppet_metadata', '~> 0.3.0', :require => false + gem 'voxpupuli-acceptance', :require => false end group :release do @@ -35,15 +24,11 @@ group :release do gem 'puppet-strings', '>= 2.2', :require => false end +gem 'puppetlabs_spec_helper', '~> 2.0', :require => false +gem 'rake', :require => false +gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test] - -if facterversion = ENV['FACTER_GEM_VERSION'] - gem 'facter', facterversion.to_s, :require => false, :groups => [:test] -else - gem 'facter', :require => false, :groups => [:test] -end - -ENV['PUPPET_VERSION'].nil? ? puppetversion = '~> 6.0' : puppetversion = ENV['PUPPET_VERSION'].to_s +puppetversion = ENV['PUPPET_VERSION'] || '~> 6.0' gem 'puppet', puppetversion, :require => false, :groups => [:test] # vim: syntax=ruby diff --git a/Rakefile b/Rakefile index b450fe7b..d1bf7491 100644 --- a/Rakefile +++ b/Rakefile @@ -1,4 +1,10 @@ -require 'voxpupuli/test/rake' +# Attempt to load voxupuli-test (which pulls in puppetlabs_spec_helper), +# otherwise attempt to load it directly. +begin + require 'voxpupuli/test/rake' +rescue LoadError + require 'puppetlabs_spec_helper/rake_tasks' +end # load optional tasks for releases # only available if gem group releases is installed @@ -26,6 +32,7 @@ end begin require 'github_changelog_generator/task' + require 'puppet_blacksmith' GitHubChangelogGenerator::RakeTask.new :changelog do |config| version = (Blacksmith::Modulefile.new).version config.future_release = "v#{version}" if version =~ /^\d+\.\d+.\d+$/ From 61c875af864cc6c7bbc8ef803dc7590f36408aa9 Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Thu, 8 Apr 2021 21:09:36 -0700 Subject: [PATCH 3/8] drop EOL Debian 9, Ubuntu 16.04; add Ubuntu 20.04 --- .sync.yml | 5 ++--- metadata.json | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.sync.yml b/.sync.yml index 6806868c..7a83914b 100644 --- a/.sync.yml +++ b/.sync.yml @@ -1,10 +1,9 @@ --- .travis.yml: - secure: "Hw0ScFZ+tANSuxXvkQlHOtbnV+9O6FyIxY4e8ZuNiE+4E045olgGjqus+ffo0MoHOHzCPPbThF107yQIXXHCwIy3wzOVIjQ7KQ/yVeamCl4K9A4AFP1Pcr/zMTRdK16zrgxBH+6wDkjSxHGonT8AyUKBrT7AeET+pqxwVHvHCfo=" + secure: 'Hw0ScFZ+tANSuxXvkQlHOtbnV+9O6FyIxY4e8ZuNiE+4E045olgGjqus+ffo0MoHOHzCPPbThF107yQIXXHCwIy3wzOVIjQ7KQ/yVeamCl4K9A4AFP1Pcr/zMTRdK16zrgxBH+6wDkjSxHGonT8AyUKBrT7AeET+pqxwVHvHCfo=' docker_sets: - - set: ubuntu1604-64{image=ubuntu:xenial-20191212} - set: ubuntu1804-64 - - set: debian9-64 + - set: ubuntu2004-64 - set: debian10-64 Gemfile: optional: diff --git a/metadata.json b/metadata.json index b5f20b31..74d0f6f3 100644 --- a/metadata.json +++ b/metadata.json @@ -16,15 +16,14 @@ { "operatingsystem": "Debian", "operatingsystemrelease": [ - "9", "10" ] }, { "operatingsystem": "Ubuntu", "operatingsystemrelease": [ - "16.04", - "18.04" + "18.04", + "20.04" ] } ], From 720f092ffc9f08c42ec36cd5f9738dff4e9762ff Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Thu, 8 Apr 2021 21:18:34 -0700 Subject: [PATCH 4/8] README: linting --- README.md | 56 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index c76ffc85..bcfb1b58 100644 --- a/README.md +++ b/README.md @@ -11,20 +11,20 @@ 1. [Overview](#overview) 1. [Setup](#setup) - * [Installation](#installation) - * [Dependencies](#dependencies) + - [Installation](#installation) + - [Dependencies](#dependencies) 1. [Usage](#usage) 1. [Number of Reports](#number-of-reports) 1. [Offline Mode](#offline-mode) 1. [Set Default Environment](#set-default-environment) 1. [Disable SELinux Management](#disable-selinux-management) 1. [Apache](#apache) - * [Apache (with Reverse Proxy)](#apache-with-reverse-proxy) -1. [RedHat/CentOS 7 with Python 3](#redhatcentos-7-with-python-3) + - [Apache (with Reverse Proxy)](#apache-with-reverse-proxy) +1. [RedHat/CentOS 7 with Python 3](#redhatcentos-7-with-python-3) 1. [Using SSL to the PuppetDB host](#using-ssl-to-the-puppetdb-host) - * [Using SSL to PuppetDB >= 6.9.1](#using-ssl-to-puppetdb--691) + - [Using SSL to PuppetDB >= 6.9.1](#using-ssl-to-puppetdb--691) 1. [Development](#development) - * [Authors](#authors) + - [Authors](#authors) ## Overview @@ -34,7 +34,6 @@ Puppetboard is an open source puppet dashboard https://github.com/voxpupuli/puppetboard - ## Setup ### Installation @@ -47,8 +46,7 @@ Note that this module no longer explicitly requires the puppetlabs apache module puppet module install puppetlabs-apache -This module also requires the ``git`` and ``virtualenv`` packages. These can be enabled in the module by: - +This module also requires the `git` and `virtualenv` packages. These can be enabled in the module by: ```puppet class { 'puppetboard': @@ -67,8 +65,7 @@ Declare the base puppetboard manifest: class { 'puppetboard': } ``` -Number of Reports ------ +## Number of Reports NOTE: In order to have reports present in the dashboard, report storage must be enabled on the Puppet master node. This is not the default behavior, so it mush be enabled. @@ -85,8 +82,8 @@ class { 'puppetboard': } ``` -Offline Mode ------ + +## Offline Mode If you are running puppetboard in an environment which does not have network access to public CDNs, puppet board can load static assets (jquery, semantic-ui, tablesorter, etc) from the local web server instead of a CDN: @@ -97,8 +94,7 @@ class { 'puppetboard': } ``` -Set Default Environment ------ +## Set Default Environment by default, puppetboard defaults to "production" environment. This can be set to default to a different environment. @@ -117,9 +113,8 @@ class { 'puppetboard': } ``` +## Disable SELinux Management -Disable SELinux Management ------ ```puppet class { 'puppetboard': manage_selinux => false, @@ -241,7 +236,6 @@ CentOS with gunicorn as a webserver and nginx/apache forwarding to it. ## Using SSL to the PuppetDB host - If you would like to use certificate auth into the PuppetDB service you must configure puppetboard to use a client certificate and private key. You have two options for the source of the client certificate & key: @@ -250,14 +244,17 @@ You have two options for the source of the client certificate & key: 2. Use the existing puppet client certificate If you choose option 1, generate the new certificates on the CA puppet master as follows: + ``` sudo puppet cert generate puppetboard.example.com ``` + Note: this name cannot conflict with an existing certificate name. The new certificate and private key can be found in $certdir/.pem and $privatekeydir/.pem on the CA puppet master. If you are not running puppetboard on the CA puppet master you will need to copy the certificate and key to the node running puppetboard. Here's an example, using new certificates: + ```puppet $ssl_dir = '/var/lib/puppetboard/ssl' $puppetboard_certname = 'puppetboard.example.com' @@ -270,6 +267,7 @@ class { 'puppetboard': puppetdb_cert => "${ssl_dir}/certs/${puppetboard_certname}.pem", } ``` + If you are re-using the existing puppet client certificates, they will already exist on the node (assuming puppet has been run and the client cert signed by the puppet master). However, the puppetboaard user will not have permission to read the private key unless you add it to the puppet group. Here's a complete example, re-using the puppet client certs: @@ -287,6 +285,7 @@ class { 'puppetboard': puppetdb_cert => "${ssl_dir}/certs/${puppetboard_certname}.pem", } ``` + Note that both the above approaches only work if you have the Puppet CA root certificate added to the root certificate authority file used by your operating system. If you want to specify the location to the Puppet CA file ( you probably do) you have to use the syntax below. Currently this is a bit of a gross hack, but it's an open issue to resolve it in the Puppet module: ```puppet @@ -309,7 +308,7 @@ As of PuppetDB `6.9.1` the `/metrics/v2` API is only accessible on the loopback/ interface of the PuppetDB server. This requires you to run `puppetboard` locally on that host and configure `puppetdb_host` to `127.0.0.1`: -``` puppet +```puppet $ssl_dir = $::settings::ssldir $puppetboard_certname = $::certname @@ -325,12 +324,12 @@ class { 'puppetboard': ``` **NOTE** In order for SSL to verify properly in this setup, you'll need your - Puppet SSL certificate to have an IP Subject Alternative Name setup - for `127.0.0.1`, otherwise the certificate verification will fail. - You can set this up in your `puppet.conf` with the `dns_alt_names` - configuration option, documented [here](https://puppet.com/docs/puppet/latest/configuration.html#dnsaltnames). +Puppet SSL certificate to have an IP Subject Alternative Name setup +for `127.0.0.1`, otherwise the certificate verification will fail. +You can set this up in your `puppet.conf` with the `dns_alt_names` +configuration option, documented [here](https://puppet.com/docs/puppet/latest/configuration.html#dnsaltnames). -``` ini +```ini [main] dns_alt_names = puppetdb,puppetdb.domain.tld,puppetboard,puppetboard.domain.tld,IP:127.0.0.1 ``` @@ -338,7 +337,7 @@ class { 'puppetboard': **NOTE** If you need to regenerate your existing cert to add DNS Alt Names follow the documentation [here](https://puppet.com/docs/puppet/latest/ssl_regenerate_certificates.html#regenerate_agent_certs_and_add_dns_alt_names): -``` shell +```shell # remove the existing agent certs puppetserver ca clean --certname puppet ssl clean @@ -369,6 +368,7 @@ Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for more details. Please log tickets and issues on github. ### Authors -* Spencer Krum -* Vox Pupuli Team -* The core of this module was based on Hunter Haugen's puppetboard-vagrant repo. + +- Spencer Krum +- Vox Pupuli Team +- The core of this module was based on Hunter Haugen's puppetboard-vagrant repo. From 94ae06ab1f4da609f656816208a544fed2a15767 Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Thu, 8 Apr 2021 21:18:51 -0700 Subject: [PATCH 5/8] REFERENCE: regenerate --- REFERENCE.md | 271 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 169 insertions(+), 102 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index d5152350..48b48536 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -9,7 +9,6 @@ * [`puppetboard`](#puppetboard): Base class for Puppetboard. Sets up the user and python environment. * [`puppetboard::apache::conf`](#puppetboardapacheconf): Creates an entry in your apache configuration directory to run PuppetBoard server-wide (i.e. not in a vhost). * [`puppetboard::apache::vhost`](#puppetboardapachevhost): Sets up an apache::vhost to run PuppetBoard, and writes an appropriate wsgi.py from template -* [`puppetboard::params`](#puppetboardparams): == Class: puppetboard::params Defines default values for puppetboard parameters. Inherited by Class['puppetboard']. ### Data types @@ -17,7 +16,7 @@ ## Classes -### `puppetboard` +### `puppetboard` class { 'puppetboard': user => 'pboard', @@ -40,9 +39,50 @@ configure puppetboard with an apache config for a subpath (http://$fqdn/puppetbo #### Parameters -The following parameters are available in the `puppetboard` class. - -##### `user` +The following parameters are available in the `puppetboard` class: + +* [`user`](#user) +* [`homedir`](#homedir) +* [`group`](#group) +* [`groups`](#groups) +* [`basedir`](#basedir) +* [`git_source`](#git_source) +* [`puppetdb_host`](#puppetdb_host) +* [`puppetdb_port`](#puppetdb_port) +* [`puppetdb_key`](#puppetdb_key) +* [`puppetdb_ssl_verify`](#puppetdb_ssl_verify) +* [`puppetdb_cert`](#puppetdb_cert) +* [`puppetdb_timeout`](#puppetdb_timeout) +* [`dev_listen_host`](#dev_listen_host) +* [`dev_listen_port`](#dev_listen_port) +* [`unresponsive`](#unresponsive) +* [`enable_catalog`](#enable_catalog) +* [`enable_query`](#enable_query) +* [`offline_mode`](#offline_mode) +* [`localise_timestamp`](#localise_timestamp) +* [`python_loglevel`](#python_loglevel) +* [`python_proxy`](#python_proxy) +* [`python_index`](#python_index) +* [`default_environment`](#default_environment) +* [`experimental`](#experimental) +* [`revision`](#revision) +* [`manage_git`](#manage_git) +* [`manage_virtualenv`](#manage_virtualenv) +* [`python_version`](#python_version) +* [`virtualenv_dir`](#virtualenv_dir) +* [`manage_user`](#manage_user) +* [`manage_group`](#manage_group) +* [`manage_selinux`](#manage_selinux) +* [`reports_count`](#reports_count) +* [`listen`](#listen) +* [`extra_settings`](#extra_settings) +* [`override`](#override) +* [`enable_ldap_auth`](#enable_ldap_auth) +* [`ldap_require_group`](#ldap_require_group) +* [`apache_confd`](#apache_confd) +* [`apache_service`](#apache_service) + +##### `user` Data type: `String` @@ -50,7 +90,7 @@ Puppetboard system user. Default value: `'puppetboard'` -##### `homedir` +##### `homedir` Data type: `Optional[Stdlib::Absolutepath]` @@ -58,7 +98,7 @@ Puppetboard system user's home directory. Default value: ``undef`` -##### `group` +##### `group` Data type: `String` @@ -66,7 +106,7 @@ Puppetboard system group. Default value: `'puppetboard'` -##### `groups` +##### `groups` Data type: `Optional[Variant[String[1], Array[String[1]]]]` @@ -74,7 +114,7 @@ additional groups for the user that runs puppetboard Default value: ``undef`` -##### `basedir` +##### `basedir` Data type: `Stdlib::AbsolutePath` @@ -82,7 +122,7 @@ Base directory where to build puppetboard vcsrepo and python virtualenv. Default value: `'/srv/puppetboard'` -##### `git_source` +##### `git_source` Data type: `String` @@ -90,7 +130,7 @@ Location of upstream Puppetboard GIT repository Default value: `'https://github.com/voxpupuli/puppetboard'` -##### `puppetdb_host` +##### `puppetdb_host` Data type: `String` @@ -98,7 +138,7 @@ PuppetDB Host Default value: `'127.0.0.1'` -##### `puppetdb_port` +##### `puppetdb_port` Data type: `Stdlib::Port` @@ -106,7 +146,7 @@ PuppetDB Port Default value: `8080` -##### `puppetdb_key` +##### `puppetdb_key` Data type: `Optional[Stdlib::AbsolutePath]` @@ -114,7 +154,7 @@ path to PuppetMaster/CA signed client SSL key Default value: ``undef`` -##### `puppetdb_ssl_verify` +##### `puppetdb_ssl_verify` Data type: `Variant[Boolean, Stdlib::AbsolutePath]` @@ -122,7 +162,7 @@ whether PuppetDB uses SSL or not (true or false), or the path to the puppet CA Default value: ``false`` -##### `puppetdb_cert` +##### `puppetdb_cert` Data type: `Optional[Stdlib::AbsolutePath]` @@ -130,7 +170,7 @@ path to PuppetMaster/CA signed client SSL cert Default value: ``undef`` -##### `puppetdb_timeout` +##### `puppetdb_timeout` Data type: `Integer[0]` @@ -138,7 +178,7 @@ timeout, in seconds, for connecting to PuppetDB Default value: `20` -##### `dev_listen_host` +##### `dev_listen_host` Data type: `String` @@ -146,7 +186,7 @@ host that dev server binds to/listens on Default value: `'127.0.0.1'` -##### `dev_listen_port` +##### `dev_listen_port` Data type: `Stdlib::Port` @@ -154,7 +194,7 @@ port that dev server binds to/listens on Default value: `5000` -##### `unresponsive` +##### `unresponsive` Data type: `Integer[0]` @@ -162,7 +202,7 @@ number of hours after which a node is considered "unresponsive" Default value: `3` -##### `enable_catalog` +##### `enable_catalog` Data type: `Boolean` @@ -170,7 +210,7 @@ Whether to allow the user to browser catalog comparisons. Default value: ``false`` -##### `enable_query` +##### `enable_query` Data type: `Boolean` @@ -178,7 +218,7 @@ Whether to allow the user to run raw queries against PuppetDB. Default value: ``true`` -##### `offline_mode` +##### `offline_mode` Data type: `Boolean` @@ -186,7 +226,7 @@ Weather to load static assents (jquery, semantic-ui, tablesorter, etc) Default value: ``false`` -##### `localise_timestamp` +##### `localise_timestamp` Data type: `Boolean` @@ -194,7 +234,7 @@ Whether to localise the timestamps in the UI. Default value: ``true`` -##### `python_loglevel` +##### `python_loglevel` Data type: `Puppetboard::Syslogpriority` @@ -202,7 +242,7 @@ Python logging module log level. Default value: `'info'` -##### `python_proxy` +##### `python_proxy` Data type: `Optional[String[1]]` @@ -210,7 +250,7 @@ HTTP proxy server to use for pip/virtualenv. Default value: ``undef`` -##### `python_index` +##### `python_index` Data type: `Optional[String[1]]` @@ -218,7 +258,7 @@ HTTP index server to use for pip/virtualenv. Default value: ``undef`` -##### `default_environment` +##### `default_environment` Data type: `String[1]` @@ -226,7 +266,7 @@ set the default environment Default value: `'production'` -##### `experimental` +##### `experimental` Data type: `Boolean` @@ -234,7 +274,7 @@ Enable experimental features. Default value: ``false`` -##### `revision` +##### `revision` Data type: `Optional[String]` @@ -242,7 +282,7 @@ Commit, tag, or branch from Puppetboard's Git repo to be used Default value: ``undef`` -##### `manage_git` +##### `manage_git` Data type: `Boolean` @@ -250,7 +290,7 @@ If true, require the git package. If false do nothing. Default value: ``false`` -##### `manage_virtualenv` +##### `manage_virtualenv` Data type: `Boolean` @@ -258,15 +298,13 @@ If true, require the virtualenv package. If false do nothing. Default value: ``false`` -##### `python_version` +##### `python_version` Data type: `Pattern[/^3\.\d$/]` Python version to use in virtualenv. -Default value: `$puppetboard::params::python_version` - -##### `virtualenv_dir` +##### `virtualenv_dir` Data type: `Stdlib::Absolutepath` @@ -274,7 +312,7 @@ Set location where virtualenv will be installed Default value: `"${basedir}/virtenv-puppetboard"` -##### `manage_user` +##### `manage_user` Data type: `Boolean` @@ -282,7 +320,7 @@ If true, manage (create) this group. If false do nothing. Default value: ``true`` -##### `manage_group` +##### `manage_group` Data type: `Boolean` @@ -290,15 +328,15 @@ If true, manage (create) this group. If false do nothing. Default value: ``true`` -##### `manage_selinux` +##### `manage_selinux` Data type: `Boolean` If true, manage selinux policies for puppetboard. If false do nothing. -Default value: `$puppetboard::params::manage_selinux` +Default value: `pick($facts['os.selinux.enabled'], false)` -##### `reports_count` +##### `reports_count` Data type: `Integer[0]` @@ -306,7 +344,7 @@ This is the number of reports that we want the dashboard to display. Default value: `10` -##### `listen` +##### `listen` Data type: `Enum['public', 'private']` @@ -314,7 +352,7 @@ If set to 'public' puppetboard will listen on all interfaces Default value: `'private'` -##### `extra_settings` +##### `extra_settings` Data type: `Hash` @@ -322,7 +360,7 @@ Defaults to an empty hash '{}'. Used to pass in arbitrary key/value Default value: `{}` -##### `override` +##### `override` Data type: `String[1]` @@ -330,7 +368,7 @@ Sets the Apache AllowOverride value Default value: `'None'` -##### `enable_ldap_auth` +##### `enable_ldap_auth` Data type: `Boolean` @@ -338,7 +376,7 @@ Whether to enable LDAP auth Default value: ``false`` -##### `ldap_require_group` +##### `ldap_require_group` Data type: `Boolean` @@ -346,23 +384,19 @@ LDAP group to require on login Default value: ``false`` -##### `apache_confd` +##### `apache_confd` Data type: `Stdlib::Absolutepath` path to the apache2 vhost directory -Default value: `$puppetboard::params::apache_confd` - -##### `apache_service` +##### `apache_service` Data type: `String[1]` name of the apache2 service -Default value: `$puppetboard::params::apache_service` - -### `puppetboard::apache::conf` +### `puppetboard::apache::conf` Creates an entry in your apache configuration directory to run PuppetBoard server-wide (i.e. not in a vhost). @@ -370,9 +404,24 @@ Creates an entry in your apache configuration directory to run PuppetBoard serve #### Parameters -The following parameters are available in the `puppetboard::apache::conf` class. - -##### `wsgi_alias` +The following parameters are available in the `puppetboard::apache::conf` class: + +* [`wsgi_alias`](#wsgi_alias) +* [`threads`](#threads) +* [`max_reqs`](#max_reqs) +* [`user`](#user) +* [`group`](#group) +* [`basedir`](#basedir) +* [`enable_ldap_auth`](#enable_ldap_auth) +* [`ldap_bind_dn`](#ldap_bind_dn) +* [`ldap_bind_password`](#ldap_bind_password) +* [`ldap_url`](#ldap_url) +* [`ldap_bind_authoritative`](#ldap_bind_authoritative) +* [`ldap_require_group`](#ldap_require_group) +* [`ldap_require_group_dn`](#ldap_require_group_dn) +* [`virtualenv_dir`](#virtualenv_dir) + +##### `wsgi_alias` Data type: `Stdlib::Unixpath` @@ -380,7 +429,7 @@ WSGI script alias source Default value: `'/puppetboard'` -##### `threads` +##### `threads` Data type: `Integer[1]` @@ -388,7 +437,7 @@ Number of WSGI threads to use Default value: `5` -##### `max_reqs` +##### `max_reqs` Data type: `Integer[0]` @@ -396,7 +445,7 @@ Limit on number of requests allowed to daemon process Defaults to 0 (no limit) Default value: `0` -##### `user` +##### `user` Data type: `String[1]` @@ -404,7 +453,7 @@ WSGI daemon process user, and daemon process name Default value: `$puppetboard::user` -##### `group` +##### `group` Data type: `String[1]` @@ -412,7 +461,7 @@ WSGI daemon process group owner, and daemon process group Default value: `$puppetboard::group` -##### `basedir` +##### `basedir` Data type: `Stdlib::AbsolutePath` @@ -420,7 +469,7 @@ Base directory where to build puppetboard vcsrepo and python virtualenv. Default value: `$puppetboard::basedir` -##### `enable_ldap_auth` +##### `enable_ldap_auth` Data type: `Boolean` @@ -428,7 +477,7 @@ Whether to enable LDAP auth Default value: `$puppetboard::enable_ldap_auth` -##### `ldap_bind_dn` +##### `ldap_bind_dn` Data type: `Optional[String[1]]` @@ -436,7 +485,7 @@ LDAP Bind DN Default value: ``undef`` -##### `ldap_bind_password` +##### `ldap_bind_password` Data type: `Optional[String[1]]` @@ -444,7 +493,7 @@ LDAP password Default value: ``undef`` -##### `ldap_url` +##### `ldap_url` Data type: `Optional[String[1]]` @@ -452,7 +501,7 @@ LDAP connection string Default value: ``undef`` -##### `ldap_bind_authoritative` +##### `ldap_bind_authoritative` Data type: `Optional[String[1]]` @@ -460,7 +509,7 @@ Determines if other authentication providers are used when a user can be mapped Default value: ``undef`` -##### `ldap_require_group` +##### `ldap_require_group` Data type: `Boolean` @@ -468,7 +517,7 @@ LDAP group to require on login Default value: `$puppetboard::ldap_require_group` -##### `ldap_require_group_dn` +##### `ldap_require_group_dn` Data type: `Optional[String[1]]` @@ -476,7 +525,7 @@ LDAP group DN for LDAP group Default value: ``undef`` -##### `virtualenv_dir` +##### `virtualenv_dir` Data type: `Stdlib::Absolutepath` @@ -484,21 +533,43 @@ Set location where virtualenv will be installed Default value: `$puppetboard::virtualenv_dir` -### `puppetboard::apache::vhost` +### `puppetboard::apache::vhost` Sets up an apache::vhost to run PuppetBoard, and writes an appropriate wsgi.py from template #### Parameters -The following parameters are available in the `puppetboard::apache::vhost` class. - -##### `vhost_name` +The following parameters are available in the `puppetboard::apache::vhost` class: + +* [`vhost_name`](#vhost_name) +* [`wsgi_alias`](#wsgi_alias) +* [`port`](#port) +* [`ssl`](#ssl) +* [`ssl_cert`](#ssl_cert) +* [`ssl_key`](#ssl_key) +* [`ssl_chain`](#ssl_chain) +* [`threads`](#threads) +* [`user`](#user) +* [`group`](#group) +* [`basedir`](#basedir) +* [`override`](#override) +* [`enable_ldap_auth`](#enable_ldap_auth) +* [`ldap_bind_dn`](#ldap_bind_dn) +* [`ldap_bind_password`](#ldap_bind_password) +* [`ldap_url`](#ldap_url) +* [`ldap_bind_authoritative`](#ldap_bind_authoritative) +* [`ldap_require_group`](#ldap_require_group) +* [`ldap_require_group_dn`](#ldap_require_group_dn) +* [`virtualenv_dir`](#virtualenv_dir) +* [`custom_apache_parameters`](#custom_apache_parameters) + +##### `vhost_name` Data type: `String[1]` The vhost ServerName. -##### `wsgi_alias` +##### `wsgi_alias` Data type: `Stdlib::Unixpath` @@ -506,7 +577,7 @@ WSGI script alias source Default value: `'/'` -##### `port` +##### `port` Data type: `Stdlib::Port` @@ -514,7 +585,7 @@ Port for the vhost to listen on. Default value: `5000` -##### `ssl` +##### `ssl` Data type: `Boolean` @@ -522,7 +593,7 @@ If vhost should be configured with ssl Default value: ``false`` -##### `ssl_cert` +##### `ssl_cert` Data type: `Optional[Stdlib::AbsolutePath]` @@ -530,7 +601,7 @@ Path to server SSL cert Default value: ``undef`` -##### `ssl_key` +##### `ssl_key` Data type: `Optional[Stdlib::AbsolutePath]` @@ -538,7 +609,7 @@ Path to server SSL key Default value: ``undef`` -##### `ssl_chain` +##### `ssl_chain` Data type: `Optional[Stdlib::AbsolutePath]` @@ -546,7 +617,7 @@ Path to server CA Chain file Default value: ``undef`` -##### `threads` +##### `threads` Data type: `Integer[1]` @@ -554,7 +625,7 @@ Number of WSGI threads to use. Default value: `5` -##### `user` +##### `user` Data type: `String[1]` @@ -562,7 +633,7 @@ WSGI daemon process user, and daemon process name Default value: `$puppetboard::user` -##### `group` +##### `group` Data type: `String[1]` @@ -570,7 +641,7 @@ WSGI daemon process group owner, and daemon process group Default value: `$puppetboard::group` -##### `basedir` +##### `basedir` Data type: `Stdlib::AbsolutePath` @@ -578,7 +649,7 @@ Base directory where to build puppetboard vcsrepo and python virtualenv. Default value: `$puppetboard::basedir` -##### `override` +##### `override` Data type: `String[1]` @@ -586,7 +657,7 @@ Sets the Apache AllowOverride value Default value: `$puppetboard::override` -##### `enable_ldap_auth` +##### `enable_ldap_auth` Data type: `Boolean` @@ -594,7 +665,7 @@ Whether to enable LDAP auth Default value: `$puppetboard::enable_ldap_auth` -##### `ldap_bind_dn` +##### `ldap_bind_dn` Data type: `Optional[String[1]]` @@ -602,7 +673,7 @@ LDAP Bind DN Default value: ``undef`` -##### `ldap_bind_password` +##### `ldap_bind_password` Data type: `Optional[String[1]]` @@ -610,7 +681,7 @@ LDAP password Default value: ``undef`` -##### `ldap_url` +##### `ldap_url` Data type: `Optional[String[1]]` @@ -618,7 +689,7 @@ LDAP connection string Default value: ``undef`` -##### `ldap_bind_authoritative` +##### `ldap_bind_authoritative` Data type: `Optional[String[1]]` @@ -626,7 +697,7 @@ Determines if other authentication providers are used when a user can be mapped Default value: ``undef`` -##### `ldap_require_group` +##### `ldap_require_group` Data type: `Boolean` @@ -634,7 +705,7 @@ LDAP group to require on login Default value: `$puppetboard::ldap_require_group` -##### `ldap_require_group_dn` +##### `ldap_require_group_dn` Data type: `Optional[String[1]]` @@ -642,7 +713,7 @@ LDAP group DN for LDAP group Default value: ``undef`` -##### `virtualenv_dir` +##### `virtualenv_dir` Data type: `Stdlib::Absolutepath` @@ -650,7 +721,7 @@ Set location where virtualenv will be installed Default value: `$puppetboard::virtualenv_dir` -##### `custom_apache_parameters` +##### `custom_apache_parameters` Data type: `Hash` @@ -658,19 +729,15 @@ A hash passed to the `apache::vhost` for custom settings Default value: `{}` -### `puppetboard::params` - -== Class: puppetboard::params - -Defines default values for puppetboard parameters. - -Inherited by Class['puppetboard']. - ## Data types -### `Puppetboard::Syslogpriority` +### `Puppetboard::Syslogpriority` type for the different Python log levels -Alias of `Enum['debug', 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg']` +Alias of + +```puppet +Enum['debug', 'info', 'notice', 'warning', 'err', 'crit', 'alert', 'emerg'] +``` From 87dc62b8dd250816822c2d627b72133a3cedd7e2 Mon Sep 17 00:00:00 2001 From: Kenyon Ralph Date: Thu, 8 Apr 2021 21:23:24 -0700 Subject: [PATCH 6/8] spec_helper_acceptance: bump puppetlabs-apache constraint --- spec/spec_helper_acceptance.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index c682880b..f718ff65 100644 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -2,7 +2,7 @@ configure_beaker do |host| # Install additional modules for soft deps - install_module_from_forge_on(host, 'puppetlabs-apache', '>= 2.1.0 < 6.0.0') + install_module_from_forge_on(host, 'puppetlabs-apache', '>= 2.1.0 < 7.0.0') install_module_from_forge_on(host, 'puppetlabs-puppetdb', '>= 7.6.0 < 8.0.0') install_module_from_forge_on(host, 'puppet-epel', '>= 3.0.0 < 4.0.0') end From be5509e8319fb22980ad6848c547474cdf120546 Mon Sep 17 00:00:00 2001 From: Tim Meusel Date: Thu, 10 Jun 2021 10:26:03 +0200 Subject: [PATCH 7/8] modulesync 4.1.0 --- .github/CONTRIBUTING.md | 34 ++-------------------------------- .github/workflows/ci.yml | 10 +++++----- .msync.yml | 2 +- Dockerfile | 2 +- Gemfile | 8 ++++---- 5 files changed, 13 insertions(+), 43 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index f1f88ccf..887d571a 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -232,33 +232,7 @@ simple tests against it after applying the module. You can run this with: ```sh -bundle exec rake beaker -``` - -This will run the tests on the module's default nodeset. You can override the -nodeset used, e.g., - -```sh -BEAKER_set=centos-7-x64 bundle exec rake beaker -``` - -There are default rake tasks for the various acceptance test modules, e.g., - -```sh -bundle exec rake beaker:centos-7-x64 -bundle exec rake beaker:ssh:centos-7-x64 -``` - -If you don't want to have to recreate the virtual machine every time you can -use `BEAKER_destroy=no` and `BEAKER_provision=no`. On the first run you will at -least need `BEAKER_provision` set to yes (the default). The Vagrantfile for the -created virtual machines will be in `.vagrant/beaker_vagrant_files`. - -Beaker also supports docker containers. We also use that in our automated CI -pipeline at [travis-ci](http://travis-ci.org). To use that instead of Vagrant: - -```sh -PUPPET_INSTALL_TYPE=agent BEAKER_IS_PE=no BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_debug=true BEAKER_setfile=debian10-64{hypervisor=docker} BEAKER_destroy=yes bundle exec rake beaker +BEAKER_setfile=debian10-x64 bundle exec rake beaker ``` You can replace the string `debian10` with any common operating system. @@ -272,11 +246,7 @@ The following strings are known to work: * centos7 * centos8 -The easiest way to debug in a docker container is to open a shell: - -```sh -docker exec -it -u root ${container_id_or_name} bash -``` +For more information and tips & tricks, see [voxpupuli-acceptance's documentation](https://github.com/voxpupuli/voxpupuli-acceptance#running-tests). The source of this file is in our [modulesync_config](https://github.com/voxpupuli/modulesync_config/blob/master/moduleroot/.github/CONTRIBUTING.md.erb) repository. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4f47e87..97ddc620 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,12 +6,13 @@ jobs: setup_matrix: name: 'Setup Test Matrix' runs-on: ubuntu-latest + timeout-minutes: 40 outputs: beaker_setfiles: ${{ steps.get-outputs.outputs.beaker_setfiles }} puppet_major_versions: ${{ steps.get-outputs.outputs.puppet_major_versions }} puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }} env: - BUNDLE_WITHOUT: development:test:release + BUNDLE_WITHOUT: development:release steps: - uses: actions/checkout@v2 - name: Setup ruby @@ -21,6 +22,8 @@ jobs: bundler-cache: true - name: Run rake validate run: bundle exec rake validate + - name: Run rake rubocop + run: bundle exec rake rubocop - name: Setup Test Matrix id: get-outputs run: bundle exec metadata2gha --use-fqdn --pidfile-workaround false @@ -28,6 +31,7 @@ jobs: unit: needs: setup_matrix runs-on: ubuntu-latest + timeout-minutes: 40 strategy: fail-fast: false matrix: @@ -58,10 +62,6 @@ jobs: puppet: ${{fromJson(needs.setup_matrix.outputs.puppet_major_versions)}} name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }} steps: - - name: Enable IPv6 on docker - run: | - echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json - sudo service docker restart - uses: actions/checkout@v2 - name: Setup ruby uses: ruby/setup-ruby@v1 diff --git a/.msync.yml b/.msync.yml index a0770a83..57ff5038 100644 --- a/.msync.yml +++ b/.msync.yml @@ -1,2 +1,2 @@ --- -modulesync_config_version: '4.0.0' +modulesync_config_version: '4.1.0' diff --git a/Dockerfile b/Dockerfile index 6fd63422..a51c6416 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ruby:2.5.3 +FROM ruby:2.7 WORKDIR /opt/puppet diff --git a/Gemfile b/Gemfile index 53c14917..59bf2477 100644 --- a/Gemfile +++ b/Gemfile @@ -18,10 +18,10 @@ group :system_tests do end group :release do - gem 'github_changelog_generator', :require => false, :git => 'https://github.com/voxpupuli/github-changelog-generator', :branch => 'voxpupuli_essential_fixes' - gem 'puppet-blacksmith', :require => false - gem 'voxpupuli-release', :require => false - gem 'puppet-strings', '>= 2.2', :require => false + gem 'github_changelog_generator', '>= 1.16.1', :require => false + gem 'puppet-blacksmith', :require => false + gem 'voxpupuli-release', :require => false + gem 'puppet-strings', '>= 2.2', :require => false end gem 'puppetlabs_spec_helper', '~> 2.0', :require => false From 298600c3ee1ade6d60986cd764f528dfcb92fd20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=20Tarti=C3=A8re?= Date: Thu, 22 Jul 2021 12:34:09 -1000 Subject: [PATCH 8/8] Drop explicit virtualenv usage virtualenv deprecated support has been removed from the python module at version 6.0.0. Require at least this version of the module and remove deprecated parameters. --- manifests/init.pp | 6 ++---- metadata.json | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 6b599d0d..05eb21bd 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -194,10 +194,8 @@ if $manage_virtualenv { class { 'python': - virtualenv => 'present', - manage_virtualenv_package => true, - version => $python_version, - dev => 'present', + version => $python_version, + dev => 'present', } Class['python'] -> Class['puppetboard'] } diff --git a/metadata.json b/metadata.json index 74d0f6f3..07531389 100644 --- a/metadata.json +++ b/metadata.json @@ -40,7 +40,7 @@ }, { "name": "puppet/python", - "version_requirement": ">= 4.1.0 < 7.0.0" + "version_requirement": ">= 6.0.0 < 7.0.0" }, { "name": "puppetlabs/vcsrepo",