forked from ungleich-public/cdist
		
	Add simple __service type
This commit is contained in:
		
					parent
					
						
							
								ef2f4b9a00
							
						
					
				
			
			
				commit
				
					
						09540dc6bd
					
				
			
		
					 5 changed files with 84 additions and 0 deletions
				
			
		
							
								
								
									
										8
									
								
								cdist/conf/type/__service/explorer/service-manager
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								cdist/conf/type/__service/explorer/service-manager
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Assume systemd if systemctl is in PATH.
 | 
				
			||||||
 | 
					if [ "$(command -v systemctl)" ]; then
 | 
				
			||||||
 | 
						printf "systemd"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						printf "unknown"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										9
									
								
								cdist/conf/type/__service/gencode-remote
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								cdist/conf/type/__service/gencode-remote
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					manager="$(cat "$__object/explorer/service-manager")"
 | 
				
			||||||
 | 
					name=$__object_id
 | 
				
			||||||
 | 
					action="$(cat "$__object/parameter/action")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ "$manager" = "unknown" ]; then
 | 
				
			||||||
 | 
						echo "service '$name' '$action'"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										51
									
								
								cdist/conf/type/__service/man.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								cdist/conf/type/__service/man.rst
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,51 @@
 | 
				
			||||||
 | 
					cdist-type__service(7)
 | 
				
			||||||
 | 
					======================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NAME
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					cdist-type__service - Run action on a system service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DESCRIPTION
 | 
				
			||||||
 | 
					-----------
 | 
				
			||||||
 | 
					This type allows you to run an action against a system service.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					REQUIRED PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					action
 | 
				
			||||||
 | 
					  Arbitrary parameter passed as action. Usually 'start', 'stop', 'reload' or 'restart'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OPTIONAL PARAMETERS
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					None.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BOOLEAN PARAMETERS
 | 
				
			||||||
 | 
					------------------
 | 
				
			||||||
 | 
					None.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXAMPLES
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. code-block:: sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Restart nginx service.
 | 
				
			||||||
 | 
					    __service nginx --action restart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Stop postfix service.
 | 
				
			||||||
 | 
					    __service postfix --action stop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AUTHORS
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Timothée Floure <timothee.floure@ungleich.ch>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPYING
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					Copyright \(C) 2019 Timothée Floure. You can redistribute it
 | 
				
			||||||
 | 
					and/or modify it under the terms of the GNU General Public License as
 | 
				
			||||||
 | 
					published by the Free Software Foundation, either version 3 of the
 | 
				
			||||||
 | 
					License, or (at your option) any later version.
 | 
				
			||||||
							
								
								
									
										15
									
								
								cdist/conf/type/__service/manifest
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								cdist/conf/type/__service/manifest
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					manager="$(cat "$__object/explorer/service-manager")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name=$__object_id
 | 
				
			||||||
 | 
					action="$(cat "$__object/parameter/action")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$manager" in
 | 
				
			||||||
 | 
						systemd)
 | 
				
			||||||
 | 
							__systemd_service "$name" --action "$action"
 | 
				
			||||||
 | 
						;;
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							# Unknown: handled by `service $NAME $action` in gencode-remote.
 | 
				
			||||||
 | 
						;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										1
									
								
								cdist/conf/type/__service/parameter/required
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								cdist/conf/type/__service/parameter/required
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					action
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue