Skip to content
This repository has been archived by the owner on Jan 15, 2024. It is now read-only.

Preparation for 2.1 #189

Merged
merged 10 commits into from
Nov 8, 2018
Merged

Preparation for 2.1 #189

merged 10 commits into from
Nov 8, 2018

Commits on Nov 3, 2018

  1. Use Puppet's new type system for several APIs (including internals)

    In a0d1d79 Puppet 3.x has been dropped in favor of Puppet 4 which
    introduced a new type system which made the validate_* function sof
    `puppetlabs-stdlib` obsolete.
    
    The most relevant components now use a type system as well, the rest
    will follow or declared as deprecated.
    
    Fixes #186
    Ma27 committed Nov 3, 2018
    Configuration menu
    Copy the full SHA
    cbc70e7 View commit details
    Browse the repository at this point in the history
  2. Drop hacky ruby setup

    To evaluate the Puppet catalogue on the Puppet Master, the client
    doesn't need `rubygems` as well. This was an ancient hack (maintained
    over years) to avoid such a setup in test environments for Puppet such
    as Vagrant.
    
    Instead something like this might be implemented:
    
    ``` ruby
    Vagrant.configure(2) do |config|
      # ...
    
      config.vm.provision :puppet do |puppet|
        puppet.module_path = ['puppet', ...]
      end
    end
    ```
    
    With the `manifests/default.pp`:
    
    ``` puppet
    node default {
      contain ::nodejs
    
      package { ['ruby', 'rubygems']:
        ensure => present,
      } ->
      Class['::nodejs']
    }
    ```
    Ma27 committed Nov 3, 2018
    Configuration menu
    Copy the full SHA
    9bf43ee View commit details
    Browse the repository at this point in the history
  3. Make $nodejs_default_path configurable

    It's now listed in `::nodejs::params` as sensitive default, but in
    edge-cases it might be helpful to specify a different directory than
    `/usr/local/node/node-default` as directory for the default nodejs
    instance.
    Ma27 committed Nov 3, 2018
    Configuration menu
    Copy the full SHA
    6d3aade View commit details
    Browse the repository at this point in the history
  4. Refactor install_dir usage to avoid ::nodejs::params references i…

    …nside the module
    
    The `::nodejs::params` class shall only be used as container with
    sensitive defaults to provide a working setup on an average OS.
    
    It should never be referenced directly inside the module's code, instead
    `::nodejs` should pass it down to all internal APIs.
    
    This is not a breaking change and much rather a cosmetic change as it
    only affects private parts of the module and `::nodejs` has a parameter
    with a default value.
    Ma27 committed Nov 3, 2018
    Configuration menu
    Copy the full SHA
    e2a2cde View commit details
    Browse the repository at this point in the history
  5. Deprecate ::nodejs::npm

    Please refer to the changelog and the readme for further information.
    
    Fixes #187
    Ma27 committed Nov 3, 2018
    Configuration menu
    Copy the full SHA
    c090fdf View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2018

  1. Make the node.js source (by default nodejs.org/dist) configurable

    As requested it might be helpful to specify your own location for either
    source or binary distribution. Possible cases where this might be needed
    are e.g. corporate environments without internet access or to deploy a
    patched/forked version of NodeJS to Puppet nodes.
    
    As the NodeJS distribution provides several ways to index the available
    versions, the source_server behaves different when used with a custom
    server.
    
    ```
    class { '::nodejs':
      source => 'https://your-server.com/nodejs.tar.gz',
    }
    ```
    
    You can't specify a version, but you need to directly specify the source
    ot be installed.
    
    `make_install => true` can be used for source builds with Puppet as
    well.
    
    Fixes #185
    Ma27 committed Nov 4, 2018
    Configuration menu
    Copy the full SHA
    b604443 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8e5d702 View commit details
    Browse the repository at this point in the history
  3. Minor dependency bumps

    Don't support EOLed stdlib versions anymore, introduce upper-bound
    version constraints in `metadata.json` to ensure no accidental breakage
    with new major releases.
    Ma27 committed Nov 4, 2018
    Configuration menu
    Copy the full SHA
    0118c8a View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2018

  1. Fix RuboCop configuration due to fallout from stdlib bump

    RuboCop searches for all `.rubocop.yml` inside the cwd, also
    the (broken) one from `puppetlabs-stdlib` which has deprecated rules
    and requires extra gems that aren't used by this module.
    Ma27 committed Nov 6, 2018
    Configuration menu
    Copy the full SHA
    8b70b55 View commit details
    Browse the repository at this point in the history
  2. Introduce acceptance testing of Puppet manifests with beaker

    Due to several changes inside to the dependencies in the module this is
    a rather drastic change. The module `puppetlabs-gcc` seems to be
    abandoned (Puppet 3.x only support, last commit in 2015) which broke an
    automated install with enabled dependency resolution (as done in
    beaker). The logic of the module is now directly in
    `::nodejs::instance::pkgs`.
    
    To automate such testing processesin the future, `beaker` has been
    introduced with `docker` as hypervisor (it's far more lightweight than a
    full-blown `vagrant` setup).
    
    Currently we only support Ubuntu 16.04 LTS in the testing matrix, but
    whenever distros start to conflict with this module, the test suite can
    be easily extended.
    
    As `PUPPET_VERSION` is interpreted by beaker as well the test suite has
    been split into two tasks (:test and :acceptance) as gem's version
    constraint will break APT while provisioning docker.
    
    Fixes #188
    Ma27 committed Nov 6, 2018
    Configuration menu
    Copy the full SHA
    98b26e0 View commit details
    Browse the repository at this point in the history