Pro tip:
➜ icinga2 git:(master) cat sudocmd.conf
object CheckCommand "nosudo" {
command = [ "nosudo" ]
arguments = {
"-n" = {
value = "m"
}
}
}
template CheckCommand "withsudo" {
command = [ "sudo" ] + command
}
object CheckCommand "nosudo-withsudo" {
import "nosudo"
import "withsudo"
}
➜ icinga2 git:(master) prefix/sbin/icinga2 daemon -c sudocmd.conf -C
[2021-01-14 19:01:45 +0100] information/cli: Icinga application loader (version: v2.12.0-426-g5f548c8f8)
[2021-01-14 19:01:45 +0100] information/cli: Loading configuration file(s).
[2021-01-14 19:01:45 +0100] warning/config: Ignoring directory '/Users/aklimov/NET/WS/icinga2/prefix/etc/icinga2/zones.d/master' for unknown zone 'master'.
[2021-01-14 19:01:45 +0100] warning/config: Ignoring directory '/Users/aklimov/NET/WS/icinga2/prefix/var/lib/icinga2/api/zones/master' for unknown zone 'master'.
[2021-01-14 19:01:45 +0100] information/ConfigItem: Committing config item(s).
[2021-01-14 19:01:45 +0100] information/ConfigItem: Instantiated 2 CheckCommands.
[2021-01-14 19:01:45 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2021-01-14 19:01:45 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix/var/cache/icinga2/icinga2.vars'
[2021-01-14 19:01:45 +0100] information/cli: Finished validating the configuration file(s).
➜ icinga2 git:(master) prefix/sbin/icinga2 object list -t CheckCommand --name nosudo-withsudo
Object 'nosudo-withsudo' of type 'CheckCommand':
% declared in 'sudocmd.conf', lines 14:1-14:37
* __name = "nosudo-withsudo"
* arguments
% = modified in 'sudocmd.conf', lines 3:2-7:2
* -n
* value = "m"
* command = [ "sudo", "nosudo" ]
% = modified in 'sudocmd.conf', lines 2:2-2:23
% = modified in 'sudocmd.conf', lines 11:2-11:31
* env = null
* execute
% = modified in 'methods-itl.conf', lines 19:3-19:23
% = modified in 'methods-itl.conf', lines 19:3-19:23
* arguments = [ "checkable", "cr", "resolvedMacros", "useResolvedMacros" ]
* deprecated = false
* name = "Internal#PluginCheck"
* side_effect_free = false
* type = "Function"
* name = "nosudo-withsudo"
* package = "_etc"
* source_location
* first_column = 1
* first_line = 14
* last_column = 37
* last_line = 14
* path = "sudocmd.conf"
* templates = [ "nosudo-withsudo", "plugin-check-command", "nosudo", "plugin-check-command", "withsudo" ]
% = modified in 'sudocmd.conf', lines 14:1-14:37
% = modified in 'methods-itl.conf', lines 18:2-18:94
% = modified in 'sudocmd.conf', lines 1:0-1:27
% = modified in 'methods-itl.conf', lines 18:2-18:94
% = modified in 'sudocmd.conf', lines 10:1-10:32
* timeout = 60
* type = "CheckCommand"
* vars = null
* zone = ""
➜ icinga2 git:(master)