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…
Reference in a new issue