I'm trying to find software to put ~10 different software pieces of information. The pieces of information include the following for the 'base' install:

  • intended tested operating system
  • other pre-requisite software (java, tomcat, .net4.0, IIS, ImageMagick,etc)
  • connection to a tested database (mysql, sqlserver, possibly by intent like OLTP or OLAP version)
  • connection to other webservices (such as provided by other 'base' applications within the same tool)
  • any other items that might need to be configured.


BASE INFO  (intended tool to store)
Name: MyApp
SupportedOS: Windows 2012, RHEL 6
SupportedDB: Mysql 5.6, MS SQL 2012
Pre-requisite: jre8, tomcat8
Service Dependency:  MyOtherApp/service/REST.WADL?version=v1
Service Dependency (optional):  MyYetAnotherApp/service/SOAP.WSDL?version=v2

CUSTOMER_DEPLOYMENT1 (generated from this information, possibly outside of the tool, possibly into other format such as vagrant or ansible JSON variable files)
TargetOS: Windows 2012
Database: Customer1_mysqlserver.aws.com
Service Hooks:   http://serverXYZ/MyOtherApp/service/REST.WADL?version=v1

INTERNAL_CERT_SYSTEM(generated from this information, possibly outside of the tool, possibly into other format such as vagrant or ansible JSON variable files)
TargetOS: RHEL 6
Database: cert_mysqlserver.mycompany.com
Service Hooks:   http://serverZZYY/MyOtherApp/service/REST.WADL?version=v1

Note that the intent is not to store configuration files, but rather all this related information to, ideally, generate the configuration file, generate diagrams, etc as this 'tool' should already have all the base information.

Basically, everything one would need to setup and deploy a running version of the software on a per-customer/per-environment (Dev/QA/Staging/prod/etc). The idea/intent would for, after that information is collected, to generate diagrams for review (deployment diagrams, data flow diagrams, etc).

Open source preferred to add/extend as needed (for example, may add security authentication requirements and protocol type to the 'connection' definition); but I'll take anything over excel sheets.... :-)

(p.s. I've already had questions rejected by ServerFault and StackOverflow on similar software question/recommendations so keep pointing to here).


Not quite what you are looking for but you might be able to get a very good start by looking at Vagrant & Packer these let you specify the environment(s) required to run, configure and test your software, including your OS, OS Settings, Database, Other Tools, etc. and generate them.

So from "simple" text/json files, that you can version control, you can define both your development environment and the deployment/test environment. Developers can fire up a VM, using VirtualBox, VMWare, Docker, etc. very quickly and your testers and installers can generate identical environments on demand.

For a pre-existing solution you can iteratively generate the necessary information by firing up a Vagrant box with the base OS, sorry you need to know that for yourself. Testing to see what dependencies are not met. Close down the box, add the dependency and fire up again.

Since this will capture the information that you require you can also parse the Vagrant/Packer files for your diagrams, etc.

  • packer is one of my targets to fill-in a json property file when creating an image for a new customer/new environment, but want the information to come from 'somewhere'...this tool I'm looking for is the origination point. I didn't get into templating/convention formula's, but I can post-process that anyway once there is a 'single source' for all the base information. – dhartford Apr 15 '16 at 17:47
  • I think that you are trying to document what people have done rather than engineer, iteratively, what they are supposed to be doing! The process should be Architect/Analyst specifies what the system should consist of, developer tries with that and points out the deficiencies so that they can be added to the design. – Steve Barnes Apr 15 '16 at 18:50
  • "The process should be Architect/Analyst specifies what the system should consist of" if that contains the information identified above, great! Where do they store that information (other than word/excel)? – dhartford Apr 20 '16 at 12:38
  • @dhartford - in the packer/vagrant system the Architect/Analyst would store the configuration information in the packer specification file which would then go under version control in git/svn/hg and be used to provision the box(es), image(s), etc. it processing that could produce any word/excel. Word is for writing letters, Excel for calculating numbers - they should be end points not start points. – Steve Barnes Apr 20 '16 at 14:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.