# All the shutdown commands (consider enabling in the future)
# Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/reboot, /sbin/halt

# Service start/stop/restart commands for te- services
Cmnd_Alias TE__VA_SERVICE_CMDS = /bin/systemctl start te-va, /bin/systemctl stop te-va, /bin/systemctl restart te-va, /bin/systemctl status te-va
Cmnd_Alias TE__AGENT_SERVICE_CMDS = /bin/systemctl start te-agent, /bin/systemctl stop te-agent, /bin/systemctl restart te-agent, /bin/systemctl status te-agent
Cmnd_Alias TE__BROWSERBOT_SERVICE_CMDS = /bin/systemctl start te-browserbot, /bin/systemctl stop te-browserbot, /bin/systemctl restart te-browserbot, /bin/systemctl status te-browserbot
Cmnd_Alias TE__OS_SERVICE_CMDS = /sbin/reboot, sudoedit /etc/hosts, /usr/bin/lsof
Cmnd_Alias TE__SERVICE_CMDS = TE__VA_SERVICE_CMDS, TE__AGENT_SERVICE_CMDS, \
                              TE__BROWSERBOT_SERVICE_CMDS, TE__OS_SERVICE_CMDS

# te-agent-utils
# /usr/local/bin should be removed once the packages are updated to /usr/bin
Cmnd_Alias TE__AGENT_UTILS_CMDS = /usr/bin/te-*, \
                                  /usr/local/bin/te-*, \
                                  /usr/sbin/te-*, \
                                  /usr/local/sbin/te-*


# apt-get install commands for te- services
Cmnd_Alias TE__APT_GET_INSTALL_CMDS = /usr/bin/apt-get update, \
                                      /usr/bin/apt-get install te-agent, \
                                      /usr/bin/apt-get install te-browserbot, \
                                      /usr/bin/apt-get install te-va, \
                                      /usr/bin/apt-get install te-pa, \
                                      /usr/bin/apt-get install te-va-unlock, \
                                      /usr/bin/apt-get install te-appliance-sidecar, \
                                      /usr/bin/apt-get install te-agent-utils, \
                                      /usr/bin/apt-get install ntpdate, \
                                      /usr/bin/apt-cache

# Allow read-only access to select log files.
Cmnd_Alias TE__LOG_READ_CMDS = /usr/bin/cat /var/log/apt/*.log, \
                               /usr/bin/zcat /var/log/apt/*.log.[0-9]*.gz, \
                               /usr/bin/cat /var/log/dist-upgrade/*.log, \
                               /usr/bin/zcat /var/log/dist-upgrade/*.log.[0-9]*.gz, \
                               /usr/bin/cat /var/log/dmesg, \
                               /usr/bin/cat /var/log/dmesg.[0-9]*, \
                               /usr/bin/zcat /var/log/dmesg.[0-9]*.gz, \
                               /usr/bin/cat /var/log/kern.log, \
                               /usr/bin/cat /var/log/kern.log.[0-9]*, \
                               /usr/bin/zcat /var/log/kern.log.[0-9]*.gz

# Allow read-only journalctl by only permitting it without arguments
Cmnd_Alias TE__JOURNALCTL_CMDS = /usr/bin/journalctl ""

thousandeyes ALL=(ALL) NOPASSWD: TE__SERVICE_CMDS, \
                                 TE__APT_GET_INSTALL_CMDS, \
                                 TE__AGENT_UTILS_CMDS, \
                                 TE__LOG_READ_CMDS, \
                                 TE__JOURNALCTL_CMDS
