I've a question on how to set up a complex puppet project in RubyMine. To start things off, a littlbe bit of background:
I'm working on a big project das DevOps engineer. We are using puppet for managing, deploying and orchestrating a failry complex distributed application. We have around 90 puppet modules from which 46 are self developed and maintained by my team. Each module lives in it's own git repository and about 12 people are constantly developing those modules. The modules have a lot of interdependencies. We have used Eclipse with Geppetto as IDE for quite a while know. But geppetto is no longer maintained so we were looking for an alternative IDE for puppet development in Windows
Because our project already has a IntelliJ all Products Pack for every team member, we tried RubyMine. While things looked promising, we are having difficulties to set up our Project in RubyMine.
I first tried to open every module in a single project window in RubyMine. But there seems to be now way of managing dependencys other than putting them in a local directory inside of your module (either trough fixtures, or through librarian-puppet). That leaves us with a lot of duplicated module folders and a big pain to manage them all.
So the second thing I tried is opening our Puppetfile-Repository (Puppet Control Repo) as primary projects and then adding all of the other modules as projects in the same window. While this works really well for dependency management, it does not for two other aspects:
1. VCS - Git. VCS doesn't seem to work anymore, because every project has it's own repo. Adding and comming files seems bugged, diff constantly says it cannot be displayed because of indexing actions.
2. Performance - The overall GUI performance with that many projects opened in one IDE is really bad (it worked well in Eclipse).
So, here are my questions:
Has anybody experience with setting up such a complex Puppet Module structure in RubyMine? Is there a guide on how to do it and what to do to improve performance when you have that many modules loaded?