__daemontools*: add/improve; + add man pages
This commit is contained in:
		
					parent
					
						
							
								cf0ab2a5bd
							
						
					
				
			
			
				commit
				
					
						d30103e9d2
					
				
			
		
					 11 changed files with 199 additions and 0 deletions
				
			
		
							
								
								
									
										63
									
								
								cdist/conf/type/__daemontools/files/init.d-svscan
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								cdist/conf/type/__daemontools/files/init.d-svscan
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,63 @@
 | 
				
			||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					### BEGIN INIT INFO
 | 
				
			||||||
 | 
					# Provides:          svscan
 | 
				
			||||||
 | 
					# Required-Start:
 | 
				
			||||||
 | 
					# Required-Stop:
 | 
				
			||||||
 | 
					# Default-Start:     2 3 4 5
 | 
				
			||||||
 | 
					# Default-Stop:      0 1 6
 | 
				
			||||||
 | 
					# Short-Description: svscan
 | 
				
			||||||
 | 
					# Description:       djb svscan
 | 
				
			||||||
 | 
					### END INIT INFO
 | 
				
			||||||
 | 
					# from https://gist.githubusercontent.com/pacojp/5766990/raw/2ed009ab19515afc9e58291b636d673c5ca864b3/init.d.svscan
 | 
				
			||||||
 | 
					# written by Adam McKenna <adam@debian.org>
 | 
				
			||||||
 | 
					# edited by Kamila Součková <kamila@ksp.sk>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export PATH=$PATH:/usr/local/bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					l=/var/log/svscan
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ ! -d $l ]; then
 | 
				
			||||||
 | 
					  mkdir $l
 | 
				
			||||||
 | 
					  chown daemon $l
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
					    start)
 | 
				
			||||||
 | 
					        echo -n "Starting daemontools: "
 | 
				
			||||||
 | 
					        if [ ! `pidof svscan` ]; then
 | 
				
			||||||
 | 
					                echo -n "svscan "
 | 
				
			||||||
 | 
					                env - PATH="$PATH" svscan /service 2>&1 | setuidgid daemon multilog t /var/log/svscan &
 | 
				
			||||||
 | 
					                echo "."
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                echo "already running."
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					    stop)
 | 
				
			||||||
 | 
					        echo -n "Stopping daemontools: "
 | 
				
			||||||
 | 
					        if [ `pidof svscan` ]; then
 | 
				
			||||||
 | 
					                echo -n "svscan"
 | 
				
			||||||
 | 
					                while [ `pidof svscan` ]; do
 | 
				
			||||||
 | 
					                     kill `pidof svscan`
 | 
				
			||||||
 | 
					                     echo -n "."
 | 
				
			||||||
 | 
					                done
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        echo -n " services"
 | 
				
			||||||
 | 
					        for i in `ls -d /service/*`; do
 | 
				
			||||||
 | 
					                svc -dx $i
 | 
				
			||||||
 | 
					                echo -n "."
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        echo -n " logging "
 | 
				
			||||||
 | 
					        for i in `ls -d /service/*/log`; do
 | 
				
			||||||
 | 
					                svc -dx $i
 | 
				
			||||||
 | 
					                echo -n "."
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        echo ""
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					    restart|force-reload)
 | 
				
			||||||
 | 
					        $0 stop
 | 
				
			||||||
 | 
					        $0 start
 | 
				
			||||||
 | 
					        ;;
 | 
				
			||||||
 | 
					    *)
 | 
				
			||||||
 | 
					        echo 'Usage: /etc/init.d/svscan {start|stop|restart|force-reload}'
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										42
									
								
								cdist/conf/type/__daemontools/man.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								cdist/conf/type/__daemontools/man.rst
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,42 @@
 | 
				
			||||||
 | 
					cdist-type__daemontools(7)
 | 
				
			||||||
 | 
					==========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NAME
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					cdist-type__daemontools - Install daemontools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DESCRIPTION
 | 
				
			||||||
 | 
					-----------
 | 
				
			||||||
 | 
					Install djb daemontools and (optionally) an init script.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REQUIRED PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					None.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OPTIONAL PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					from-package
 | 
				
			||||||
 | 
					   Package to install. Must be compatible with the original daemontools. Example: daemontools-encore. Default: daemontools.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BOOLEAN PARAMETERS
 | 
				
			||||||
 | 
					------------------
 | 
				
			||||||
 | 
					install-init-script
 | 
				
			||||||
 | 
					   Add an init script and set it to start on boot. Default yes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXAMPLES
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    __daemontools --from-package daemontools-encore  # if you prefer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SEE ALSO
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					cdist-type__daemontools_service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AUTHORS
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Kamila Součková <kamila--@--ksp.sk>
 | 
				
			||||||
							
								
								
									
										20
									
								
								cdist/conf/type/__daemontools/manifest
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								cdist/conf/type/__daemontools/manifest
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pkg=$(cat "$__object/parameter/from-package")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					__package $pkg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -f "$__object/parameter/install-init-script" ]; then
 | 
				
			||||||
 | 
						init=$(cat "$__global/explorer/init")
 | 
				
			||||||
 | 
						case $init in
 | 
				
			||||||
 | 
							init)
 | 
				
			||||||
 | 
								__config_file /etc/init.d/svscan --mode 755 --source "$__type/files/init.d-svscan"
 | 
				
			||||||
 | 
								require="$require __config_file/etc/init.d/svscan" __start_on_boot svscan
 | 
				
			||||||
 | 
								require="$require __start_on_boot/svscan" __process svscan --start 'service svscan start'
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
							*)
 | 
				
			||||||
 | 
								echo "Your init system ($init) is not supported by this type. Submit a patch at github.com/ungleich/cdist!"
 | 
				
			||||||
 | 
								exit 1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										1
									
								
								cdist/conf/type/__daemontools/parameter/boolean
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__daemontools/parameter/boolean
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					install-init-script
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					daemontools
 | 
				
			||||||
							
								
								
									
										1
									
								
								cdist/conf/type/__daemontools/parameter/optional
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__daemontools/parameter/optional
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					from-package
 | 
				
			||||||
							
								
								
									
										0
									
								
								cdist/conf/type/__daemontools/singleton
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								cdist/conf/type/__daemontools/singleton
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										1
									
								
								cdist/conf/type/__daemontools_service/explorer/svc
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__daemontools_service/explorer/svc
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					command -v svc
 | 
				
			||||||
							
								
								
									
										63
									
								
								cdist/conf/type/__daemontools_service/man.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								cdist/conf/type/__daemontools_service/man.rst
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,63 @@
 | 
				
			||||||
 | 
					cdist-type__daemontools_service(7)
 | 
				
			||||||
 | 
					==================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NAME
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					cdist-type__daemontools_service - Create a daemontools-compatible service dir.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DESCRIPTION
 | 
				
			||||||
 | 
					-----------
 | 
				
			||||||
 | 
					Create a directory structure compatible with daemontools-like service management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note that svc must be present on the target system.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The object ID will be used as the service name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REQUIRED PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					None.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OPTIONAL PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					run
 | 
				
			||||||
 | 
					   Command to run. exec-ing and stderr redirection will be added. One of run, run-file must be specified.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Example: `my-program`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run-file
 | 
				
			||||||
 | 
					   File to save as <servicedir>/run. One of run, run-file must be specified.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Example:
 | 
				
			||||||
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					    #!/bin/sh
 | 
				
			||||||
 | 
					    exec 2>&1
 | 
				
			||||||
 | 
					    exec my_program
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					log-run
 | 
				
			||||||
 | 
					   Command to run for log consumption. Default: `multilog t ./main`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					servicedir
 | 
				
			||||||
 | 
					   Directory to install into. Default: `/service`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BOOLEAN PARAMETERS
 | 
				
			||||||
 | 
					------------------
 | 
				
			||||||
 | 
					None.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXAMPLES
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    require="__daemontools" __daemontools_service prometheus --run "setuidgid prometheus $GOBIN/prometheus $FLAGS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SEE ALSO
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					cdist-type__daemontools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AUTHORS
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Kamila Součková <kamila--@--ksp.sk>
 | 
				
			||||||
| 
						 | 
					@ -10,6 +10,13 @@ run=$(cat "$__object/parameter/run")
 | 
				
			||||||
runfile=$(cat "$__object/parameter/run-file")
 | 
					runfile=$(cat "$__object/parameter/run-file")
 | 
				
			||||||
logrun=$(cat "$__object/parameter/log-run")
 | 
					logrun=$(cat "$__object/parameter/log-run")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					svc=$(cat "$__type/explorer/svc")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$svc" ]; then
 | 
				
			||||||
 | 
						echo "svc not found! Install daemontools first: see __daemontools"
 | 
				
			||||||
 | 
						exit 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
badusage() {
 | 
					badusage() {
 | 
				
			||||||
	echo "__daemontools_service/$__object_id: exactly one of --run, --run-file must be set" >&2
 | 
						echo "__daemontools_service/$__object_id: exactly one of --run, --run-file must be set" >&2
 | 
				
			||||||
	exit 1
 | 
						exit 1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue