Both new and experienced users alike will accidentally type "puppet apply -t" when they mean to do a puppet run (puppet agent -t)
puppet apply -t is a valid use case, and should not be removed, but if changed as it could affect those using masterless puppet. If the client were to detect that puppet apply -t was run, no file argument was given, no input has been fed on standard in and that it was waiting for input, it could print an informational message, such as:
"INFO: puppet apply ready for input on stdin"
Then it would prevent confusion as people wait 2.. 5... 10... seconds (or going for coffee) before thinking that puppet has hung before realizing the issue, hitting CTRL-C to break, running "puppet agent -t" like they meant to and kicking themselves for making this mistake AGAIN...
Both new and experienced users alike will accidentally type "puppet apply -t" when they mean to do a puppet run (puppet agent -t)
puppet apply -t is a valid use case, and should not be changed as it could affect those using masterless puppet. If the client were to detect that puppet apply -t was run, no file argument was given, no input has been fed on standard in and that it was waiting for input, it could print an informational message, such as:
"INFOInfo: puppet Puppet apply ready for input on stdin"
Then it would prevent confusion as people wait 2.. 5... 10... seconds (or going for coffee) before thinking that puppet has hung, hitting CTRL-C to break, running "puppet agent -t" like they meant to and kicking themselves for making this mistake AGAIN...
Info: Loading facts Info: Loading facts Info: Loading facts Notice: Compiled catalog for solaris11.puppetlabs.vm in environment production in 0.04 seconds
Info: Applying configuration version '1470249265'
Notice: hello Notice: /Stage[main]/Main/Notify[hello]/message: defined 'message' as 'hello' Notice: Applied catalog in 0.05 seconds
I don't know of any other CLI tool that emits a message like that. I think it would be better to allow the user to specify {} to mean read from stdin, and generate a usage error if neither execute/-e, catalog, nor {} were specified. Also the puppet apply help should mention that it can read from stdin (currently there's no mention).