How do you verify the state of the environment for a system without drastically increasing the scope of the system?
I'm working on a system which talks to some remote servers. For example, it connects to a server and grabs logs of MyApp that ran on that server. These remote servers use a multitude of operating systems and are "manually" managed. Our system can't install MyApp on the remote servers, but our system can't function correctly if MyApp isn't installed.
I would like to check that these applications are installed on the remote server before our software does its job. And I'd like these checks to throw reasonable error messages.
My fear is that this can't be effectively done without our system "taking over" these remote servers and being responsible for their configuration -- which is way out of scope for our project.
What do you think?