icingaweb2-module-director
icingaweb2-module-director copied to clipboard
Allow Constants like PluginDir everywhere in the Command path
Expected Behavior
PluginDir and other constants should be usable in Commands, no matter where in the path.
Current Behavior
PluginDir and other constants are only allowed when they are placed at the start.
According to #1075 the accepted way to use sudo is to use the full path, however this does not work across operating systems, as the PluginDir can be different (eg RHEL vs Ubuntu).
This means, that we either need to create different command definitions for different operating systems, or symlink the directories on the remote servers themselves. Both would not be necessary if reserved words/constants like "PluginDir" would be replaced everywhere in the string.
Possible Solution
Fully allow the use of constants.
Steps to Reproduce (for bugs)
- Create a new command, try to use PluginDir somwhere in the command, eg
/usr/bin/sudo + PluginDir + check_... - Look at the preview, or create a service on a host and look at Actions > Inspect
Your Environment
- Director version (System - About): 1.7.2
- Icinga Web 2 version and modules (System - About): 2.7.3