Descripción del problema
La ejecución del siguiente usuario LaunchAgent no muestra un trabajo iniciado, ni el trabajo registra un error o hace algo detectable. Sin embargo, los comandos de Vault incrustados en el archivo plist funcionan bien cuando se ejecutan desde un crontab de usuario o desde la línea de comandos. He ejecutado los siguientes comandos como usuario no root:
# returns exit status 3
launchctl start local.localhost.RenewVaultToken.plist
echo $?
# also returns exit status 3
launchctl enable gui/$UID/local.localhost.RenewVaultToken
launchctl start gui/$UID/local.localhost.RenewVaultToken
echo $?
# returns "Load failed: 5: Input/output error"
launchctl load gui/$UID/local.localhost.RenewVaultToken
# no results
launchctl list | fgrep -i vault
La búsqueda en el registro del sistema no muestra nada identificable, ni se crea ningún archivo de registro. Por lo que puedo decir, el trabajo no puede/no quiere iniciarse o ejecutarse, pero no estoy seguro de cómo depurarlo efectivamente.
Contenido del archivo LaunchAgent
Tengo el siguiente archivo almacenado en ~/Library/LaunchAgents
con el nombre de archivo local.localhost.RenewVaultToken.plist
. El archivo está configurado en modo 0600
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0/EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- ~/Library/LaunchAgents/local.localhost.RenewVaultToken.plist -->
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.localhost.RenewVaultToken</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/vault</string>
<string>token</string>
<string>renew</string>
<string>-increment=12h</string>
<string>-address="https://vault.example.com"</string>
</array>
<key>StartInterval</key>
<integer>14400</integer>
<key>RunAtLoad</key>
<true/>
<key>Debug</key>
<true/>
<key>StandardOutPath</key>
<string>/Users/foo/stdout.log</string>
<key>StandardErrorPath</key>
<string>/Users/foo/stderr.log</string>
</dict>
</plist>