silverstripe-servicetools

Puppet module for easy installation of files from arbitrary sources.


Keywords
tools
License
BSD-3-Clause
Install
puppet module install silverstripe-servicetools --version 1.1.0

Documentation

Puppet Servicetools

Provides resources for standardised installation of arbitrary binaries, including daemonising them through systemd. Designed to work well with hiera - you can install binaries without needing to write custom puppet manifests.

Hiera usage

To improve composability, the module does NOT make assumptions on how your keys are named in hiera, and does not create_resources for you. Map the resources to hiera keys:

create_resources(servicetools::install_file, hiera('servicetools::install_file', {}))
create_resources(servicetools::install_localfile, hiera('servicetools::install_localfile', {}))
create_resources(servicetools::install_deb, hiera('servicetools::install_deb', {}))
create_resources(servicetools::install_tgz, hiera('servicetools::install_tgz', {}))
create_resources(servicetools::install_systemd_unit, hiera('servicetools::install_systemd_unit', {}))

Now you can use hiera to provision arbitrary resources:

servicetools::install_tgz:
  "/usr/local/bin/discombobulator":
	source: "https://github.com/reticulant/discombobulator/releases/download/0.1/discombobulator_0.1_linux_amd64.tar.gz"
servicetools::install_systemd_unit:
  "discombobulator":
	service_options:
	  ExecStart: "/usr/local/bin/discombobulator --reticulate-splines --calibrate-blue-skies"
	  Restart: "on-failure"
	  RestartSec: "5"
	service_ensure: "stopped"
	service_enable: true

Running tests

Change directory to the project root, then run bundle exec rake spec SPEC_OPTS='--format documentation'