Skip to content

Releases: StackStorm/puppet-st2

v1.2.0

25 Sep 12:19
eb104aa
Compare
Choose a tag to compare

Changes

  • Removed manifests/container.pp and manifests/profile/source.pp. These files
    were unused and unmaintained. Also removed module dependencies
    puppetlabs/vcsrepo and jfryman/tiller that are no longer used because
    these two files have been removed. (Change)
    Contributed by @nmaludy

  • Removed archived build files from Puppet 3. (Clean up)
    Contributed by @nmaludy

  • Added support for Puppet 6 on all platforms. (Enhancement)
    Contributed by @nmaludy

  • Added default ChatOps config ('HUBOT_ADAPTER' => 'slack'), so that the ChatOps
    service starts cleanly without the user needing to provide any variables into
    the ::st2 class. #233 (Enhancement)
    Contributed by @nmaludy

  • Added support for st2timersengine service on StackStorm >= 2.9.0.
    Two new options were added to ::st2:

    • timersengine_enabled - Set to true if the st2timersengine service should
      be enabled on this node (default: true)
    • timersengine_timezone - The local timezone for this node.
      (default: 'America/Los_Angeles')
      #221 (Enhancement)
      Contributed by @nmaludy
  • Changed integration tests to test for HTTP 308 redirect on
    when redirecting from http:// to https:// (Enhancement)
    Contributed by @nmaludy

  • Fixed bug where the default nginx splash page was not being removed
    on RHEL/CentOS installs. (Bugfix)
    Contributed by @nmaludy

v1.1.0

06 Sep 23:22
6e14e49
Compare
Choose a tag to compare

Changes

  • DEPRECATION WARNING - Dropped support for Puppet 3. (Enhancement)
    Contributed by @nmaludy

  • Added tests for Puppet 4 and Puppet 5 on all platforms:

    • RHEL/CentOS 6
    • RHEL/CentOS 7
    • Ubunut 14.04
    • Ubunut 16.04
      Contributed by @nmaludy
  • Re-ordered dependencies in the Puppetfile for Puppet 4 and Puppet 5.
    puppetlabs/stdlib and puppetlabs/concat are now at the bottom in order to
    let librarian-puppet choose the version of these based on other dependencies
    defined throughout the rest of the file. (Bugfix)
    Contributed by @nmaludy

  • Fixed MongoDB race condition when enabling auth. Now we try to establish
    a connection to the database in a loop (using mongodb_conn_validator).
    Once the database connection is established the provisioning continues.
    (Bugfix)
    Contributed by @nmaludy

  • Fixed Ubuntu 14 issue where adding the PackageCloud repo corrupted the
    apt cache. Now, after the PackageCloud repo is added, the apt-cache is
    complete cleaned and rebuilt. (Bugfix)
    Contributed by @nmaludy

  • Added puppetmodule.info badge to README. (Enhancement)
    Contributed by @nmaludy

  • Removed Puppet 3 references from README. (Enhancement)
    Contributed by @nmaludy

  • Converted module over to PDK (Puppet Development Kit) for unit testing
    and module templating. (Enhancement)
    Contributed by @nmaludy

  • Rubocop linting is now enforced. As part of the conversion to PDK we're
    now running the standard testing and verification tasks, which includes
    Rubocop. (Enhancement)
    Contributed by @nmaludy

v1.0.0

23 Jul 23:21
b36ee5e
Compare
Choose a tag to compare

Overview

This is the official 1.0.0 release of the StackStorm puppet-st2 module! We feel it is finally mature and production ready. It now contains integration tests with InSpec along with a large number of features and options for configuring your StackStorm deployment.

Changes

  • Added an implementation for every auth backend available (at the time).
    All auth backends can be configured with every parameter detailed on their
    GitHub page. The following backends are supported: flat_file (default),
    keystone, ldap, mongodb, pam. (Feature)
    Contributed by @nmaludy

  • Changed the behavior of st2 packages. Previously they were automatically
    updating due to the package resources having ensure => latest set. Going
    forward, packages will have ensure => present set by default and it will be
    the responsibility of the end user to update the packages. (Change)
    Contributed by @nmaludy

  • Fixed st2_pack type to properly pass the locale settings of the system
    to the st2 CLI command. (Bugfix)
    Contributed by @nmaludy

  • Added support for new st2workflowengine (Orchestra) service (Feature)!
    Contributed by @nmaludy

  • Fixed bug where CentOS 7 would sometimes fail to install NodeJS properly.
    (Bugfix)
    Contributed by @nmaludy

  • DEPRECATION WARNING - Support for Puppet 3 will be dropped in the next
    minor release!
    Contributed by @nmaludy

  • Added integration tests using InSpec.
    Contributed by @nmaludy

  • Added ability to utilize MongoDB auth with Puppet >= 4.0.
    Contributed by @nmaludy

  • Changed facts for Mistral and now MongoDB to use ghoneycutt/facter. This
    moves the fact for Mistral from /etc/facter/facts.d/mistral_bootstrapped.txt
    to /etc/facter/facts.d/facts.txt.
    Contributed by @nmaludy

  • Added RabbitMQ not listen address to be 127.0.0.1.
    Contributed by @nmaludy

  • Fixed st2::user so that it properly create ~/.ssh/authorized_keys.
    Contributed by @nmaludy

  • Fixed group ownership of st2::user SSH keys to be $name instead of root.
    Contributed by @nmaludy

v1.0.0-rc2

09 Jan 21:08
5f8d3d7
Compare
Choose a tag to compare
v1.0.0-rc2 Pre-release
Pre-release

Changes

  • Fixed a bug in st2chatops configuration where the wrong URLs for ST2_API and
    ST2_AUTH were specified. (Bugfix)
    Contributed by @nmaludy

  • Changed the MongoDB port value from a String to an Integer. This makes it
    compatible with the latest version of the puppet-mongodb module in Puppet 4
    and Puppet 5. (Bugfix)
    Contributed by @nmaludy

v1.0.0-rc

19 Dec 20:19
d67372e
Compare
Choose a tag to compare
v1.0.0-rc Pre-release
Pre-release

Changes

  • Added new chatops parameters to ::st and ::st2::profile::chataops.
    A majority of the settings in chatops are now configurable.

    • chatops_hubot_log_level - Logging level for hubot (string)
    • chatops_hubot_express_port - Port that hubot operates on (integer or
      string)
    • chatops_tls_cert_reject_unauthorized - Should hubot validate SSL certs.
      Set to 1 when using self signed certs
    • chatops_hubot_name - Name of the bot in chat. Should be properly quoted if
      it has special characters, example: '"MyBot!"'
    • chatops_hubot_alias - Character to trigger the bot at the beginning of a
      message. Must be properly quoted of it's a special character,
      example: "'!'"
    • chatops_api_key - API key generated by st2 apikey create that hubot will
      use to post data back to StackStorm.
    • chatops_st2_hostname - Hostname of the StackStorm instance that chatops
      will connect to for API and Auth
    • chatops_web_url - Public URL of StackStorm WebUI instance used by chatops
      to offer links to execution details in a chat.

    Contributed by @nmaludy

  • Complete rewrite of the build and testing system. Everything is now based on
    Docker, running in an isolated environment. Implemented integration tests that
    install StackStorm within a Docker container. #178 (Enhancement)
    Contributed by @nmaludy

  • Migrated to voxpupuli puppet/rabbitmq module and puppet/mongodb modules as
    the puppetlabs/rabbitmq and puppetlabs/mongodb modules are deprecated.
    Contributed by @nmaludy

  • Upgraded NodeJS to 6.x when installing StackStorm >= 2.4.0.
    If you're currently running a version of StackStorm 2.4.0 with NodeJS 4.x
    installed, the repo will be updated to point at 6.x.
    To upgrade NodeJS go through the normal upgrade process on your system,
    example for RHEL: yum clean all; yum upgrade -y
    Contributed by @nmaludy

  • Upgraded MongoDB to 3.4 when installing StackStorm >= 2.4.0.
    If you're currently running a version of StackStorm 2.4.0 with MongoDB 3.2
    installed, the repo will be updated to point at 3.4.
    To upgrade MongoDB go through the normal upgrade process on your system,
    example for RHEL: yum clean all; yum upgrade -y
    Contributed by @nmaludy

  • New type and provider for managing st2 packs: st2_pack.
    Added new parameter index_url to ::st2 allowing custom st2 Exchange
    index file location.
    Profile fullinstall does not force installation of package st2 anymore.

  • Added a new class chatops to manage the chatops package, service and
    configuration.
    Added new parameters chatops_adapter and chatops_adapter_conf to ::st2
    for allowing user to manage the hubot adapter packages and configuration. #187
    Contributed by @ruriky

  • Added new parameter mongodb_manage_repo to ::st2 so that the mongodb
    install
    will not manage the repository files, allowing for installations from locally
    cached repos. #184
    Contributed by @ruriky

  • Added new parameter nginx_manage_repo to ::st2 so that the nginx install
    will not manage the repository files, allowing for installations from locally
    cached repos. #182
    Contributed by @ruriky

  • Make sure key type is defined for user public ssh key. #189 (Bugfix)
    Contributed by @bdandoy

  • Ensure group creation. #188 (Enhancement)
    Contributed by @bdandoy

  • Added more puppet-lint checks. #181
    Contributed by @bdandoy

  • Added Slack notifications to https://stackstorm-community.slack.com #puppet
    for Travis build failures. #180
    Contributed by @armab

v1.0.0-beta

14 Aug 16:41
Compare
Choose a tag to compare
v1.0.0-beta Pre-release
Pre-release

Overview

This is a pre-release for v1.0.0 that updates the code to work with modern StackStorm deployments (v2.3+).
Please test and report any bugs.

Compatibility

This release has been tested with the following OSes:

  • RHEL 6
  • RHEL 7
  • Ubuntu 14.04
  • Ubuntu 16.04

Changes

files/repo/nodesource/NODESOURCE-GPG-SIGNING-KEY-EL

  • Removed unused file after cleaning up nodejs profiel (Enhancement)

manifests/auth/standalone.pp

  • Did not have access to the ::st2 variables (Bugfix).
  • Had a dependency issue where (on some platforms) allowed the htpasswd file to be created after the st2 services were starting (Bugfix)
  • Created an unnecessary "test user" (Bugfix)

manifests/auth_user.pp

  • Dependency issues here where the htpasswd file was sometimes trying to be created before the /etc/st2 directory was created, and other times it was trying to be created after the st2 services had started. (Bugfix)

manifests/init.pp

  • Needed extra variables for SSL setup in st2web. (Feature)
  • Needed extra variables for proper database setup (mongodb and postgres) (Enhancement)
  • Needed path to the st2auth logging config file (Enhancement)
  • Needed variables about the datastore encryption keys (Feature)

manifests/kv.pp

  • Some puppet lint problems (notice the whitespace fix and reordering of class params) (Bugfix)
  • Dependency issues where the tag being used for the Service resource was incorrect (Bugfix)
  • Dependency issues where sometimes st2 hadn't been reloaded so the k/v loads would fail (Bugfix)

manifests/notices.pp

  • Puppet lint fixes for using double quotes without variable interpolation in the string. (Bugfix)

manifests/pack.pp

  • Unit tests revealed that many of the dependencies of this resource were not declared (group and directories) (Bugfix)
  • Pointing at old location for config directory (Bugfix)
  • Needed lots of dependency work to ensure resources were created in the proper order (Bugfix)

manifests/params.pp

  • Broke down the old st2_server_packages variable into various components to align more with what ansible-st2 and the "one liner" shell scripts do in their functions. (Enhancement)
  • Removed some unused code in the "init provider" section (Enhancement)
  • Broke down the old st2_services into its components similar to st2_server_packages. FYI: The mistral services are handled by the mistral install instead of being grouped together into st2 server. (Enhancement)
  • Added lots of new parameters for services that were not configured in the past like (nginx, st2web, mongodb, rabbitmq) (Feature)

manifests/profile/client.pp

  • Removed stale comment (Enhancement)

manifests/profile/fullinstall.pp

  • Mainly dependency cleanup here. (Bugfix)
  • Ensure that packages are installed in the correct order and that there are meaningful anchors in place in case others need to execute tasks at certain points during the install. (Bugfix)

manifests/profile/mistral.pp

  • This was completely re-written (Enhancement)
  • Previously it was performing a lot of tasks manually that i believe st2mistral package now handles for us (Enhancement)

manifests/profile/mongodb.pp

  • Completely re-written (Enhancement)
  • It now handles auth (did not previously) (Enhancement)
  • It also deals with several deficiencies in the puppetlabs-mongodb module. This module has lots of annoying bugs. I'm not at the point where i want to code up a new module myself yet, but we do have to work around several quirks for this to even work (sorry!). (Bugfix)

manifests/profile/nginx.pp

  • New profile that installs and configures nginx (does not setup st2web config, that is left to the st2web profile) (Feature)
  • Utilizes the nginx puppet module to do all of the heavy lifting here (Feature)

manifests/profile/nodejs.pp

  • Completely re-written (Enhancement)
  • Utilizes the nodejs puppet module to do all of the heavy lifting instead of doing it ourselves (Enhancement)
  • Works around a small quirk of the module on RedHat distributions (BugFix)

manifests/profile/postgresql.pp

  • Expanded this to properly configure postgres for listening according to the standard installs (shell scripts and ansible-st2) (Enhancement)
  • Also ensured that 9.4 is installed on RHEL6 (Bugfix)

manifests/profile/rabbitmq.pp

  • Greatly simplified by allowing the rabbitmq module to do all of the heavy lifting for us (Enhancement)

manifests/profile/repos.pp

  • Fixed a bug where we were pointing to an all lowercase URL which caused st2 package installs to fail (Bugfix)

manifests/profile/selinux.pp

  • Added a class that configures SELinux on RHEL hosts (Feature)

manifests/profile/server.pp

  • Small changes here related to adding database auth capability (Enhancement)
  • Added stanley user creation (Feature)
  • Added datastore crypto creation (Feature)
  • Added additional dependency management (Bugfix)

manifests/profile/web.pp

  • Completely re-written (Enhancement)
  • I don't believe that st2web was complete when this module was last touched, so this class got a complete overhaul (Enhancement)

manifests/rbac.pp

  • Fixed a few puppet lint errors (Bugfix)
  • Fixed an error where the RBAC rules were executed every puppet run (Bugfix)

manifests/server/datastore_keys.pp

  • New manifest that manages the datastore crypto keys (Feature)

manifests/stanley.pp

  • Removed unnecessary warning about ssh keys (Bugfix)

manifests/user.pp

  • Fixed a couple small bugs related to a legacy "robots" group. (Bugfix)
  • This got a pretty big overhaul with regards to SSH key creation. Now, if SSH keys are not present new ones will be created (just like the shell scripts and ansible-st2) (Bugfix)

metadata.json

  • Reformatted the whole file to standard JSON formatting scheme (Enhancement)
  • Updated module dependencies (some were missing) (Bugfix)
  • Added supported OS block (Enhancement)
  • Added supported puppet versions block (Enhancement)

spec/*

  • Lots of small fixes here related to running the tests on various versions of ruby. (Bugfix)
  • Finally found a happy medium where all tests now pass (Bugfix)
  • Removed tests for the "st2::package::debian" type that no longer exists (Bugfix)

templates/*

  • Removed the following unused templates due to code cleanup and modernizaiton (Enhancement)
    • templates/etc/init.d/mistral-api.erb
    • templates/etc/init.d/mistral.erb
    • templates/etc/init/mistral-api.conf.erb
    • templates/etc/init/mistral.conf.erb
    • templates/etc/init/st2actionrunner-worker.conf.erb
    • templates/etc/systemd/system/mistral-api.service.erb
    • templates/etc/systemd/system/mistral.service.erb
    • templates/etc/systemd/system/st2actionrunner.service.erb
    • templates/etc/systemd/system/st2service_multi.service.erb
    • templates/etc/systemd/system/st2service_single.service.erb
    • templates/opt/st2web/config.js.erb