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.
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
Change directory to the project root, then run bundle exec rake spec SPEC_OPTS='--format documentation'