Forge Home

initscript

generic init script

17,355 downloads

4,279 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

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 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 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 module to your Puppetfile:

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

Add this module to your 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.

Download

Documentation

eyp/initscript — version 0.1.11 Jun 27th 2019

initscript

Table of Contents

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

Overview

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

Setup

What initscript affects

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

Setup Requirements

None

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'],
}

Usage

  • 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',
}

estil

  • 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',
}

Reference

defines

initscript::service

  • 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)

Limitations

Should work anywhere

Development

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