Forge Home


generic init script

jordi prats



3,409 latest version

5.0 quality score

Version information

  • 0.1.11 (latest)
  • 0.1.10
  • 0.1.9
  • 0.1.4
released Jun 27th 2019
This version is compatible with:
  • Puppet Enterprise 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.8.0
  • RedHat, CentOS, Scientific, OEL, OracleLinux, Debian, Ubuntu, SLES

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this declaration to your Puppetfile:

mod 'eyp-initscript', '0.1.11'
Learn more about managing modules with a Puppetfile

Add this module to a Bolt project:

bolt module add eyp-initscript
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install eyp-initscript --version 0.1.11

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



eyp/initscript — version 0.1.11 Jun 27th 2019


Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Reference
  6. Limitations
  7. Development


Creates a generic sysV initscript given a command to run.

Module Description

Manages a sysV compatible init script to be able to start arbitrary services


What initscript affects

Creates a $name script file on /etc/init.d to start and stop a service

Setup Requirements


Beginning with initscript

basic example from eyp-kibana:

initscript::service { 'kibana':
  cmd => "${basedir}/${productname}/bin/kibana",
  require   => [ Class['initscript'], File["${basedir}/${productname}/config/kibana.yml"] ],
  before => Service['kibana'],


  • Start a given service using a start command that runs in the foregroundA
initscript::service { 'demo1':
  cmd   => 'sleep 1337m',
  • Start a given service using a start command that runs in the foreground using a specific user
initscript::service { 'demo2':
  cmd      => 'sleep 666m',
  run_user => 'evil',


  • Start a given service using a command to start it and another command to stop it. Start command have to start the service in the background
initscript::service { 'demo3':
  cmd_start => 'nohup sleep 31173m &',
  cmd_stop  => 'pkill sleep',




  • initscript: script name (default: resource's name)
  • description: script description (default: "default script for ${name}")
  • cmd: command to start a foreground service (default: undef)
  • cmd_start: command to start a servie in background mode (default: undef)
  • cmd_stop: command to stop a service in background mode (default: undef)
  • run_user: start daemon using a specific user (default: root)
  • option_scripts: load script before running start/stop commands (default: [])
  • tcp_listen_check: use a specific TCP port to check if the daemon is running (default: undef)
  • pid_file: set PID file for the service - only used in cmd mode (default: /var/run/generic.init.${name}.pid)
  • debug: set a debug log file (default: undef)


Should work anywhere


We are pushing to have acceptance testing in place, so any new feature should have some test to check both presence and absence of any feature