The use case I am using fabric8 for, is to create a platform which has a pre-built SaaS infrastructure in it. So things which are common among all SaaS applications like, user management, licensing & entitlement, self service, reporting and etc. So the expectation is, that I will provision a fully working SaaS application to one of our Joint Ventures fully deployed. I am trying to minimize manual steps by taking advantage of IaC and other automation. This process will be repeated dozens of times each year. Additionally, if I want to create a second cluster to replace the first cluster, I would like to have this as automated as possible to gain repeatable and predictable results. From disaster recovery all the way to business continuity.
We do plan on using Gitlab as the on-premise solution for all our code repositories. There will be a central location, and we will just automate the transfer of these components from the central location, into the new cluster's Gitlab instance.
But rather than manually using the UI to add every component, I would like to automate the process.I expect that I will have hundreds of services which will need to be provisioned when the platform hits maturity. Doing this manually for each join venture and dozens and dozens of times each year will be a pain, and we will have to rely too much on domain knowledge and documentation. The preference is obviously to automate this.
But even if I did not have the unique requirements for repeating the process over and over again, I would still want it for disaster recovery, swapping clusters for more powerful ones and etc to minimize the labor , domain knowledge and etc.
Basically, our organization is going to propagating Fabric8 into dozens of start up companies every year :)
Yeah, so figure the configuration would ship with the application, I might only have to minor tweak a few things per repository in the config. But if I have hundreds of services that make up an application, I would automate transferring from the central repos into the new Join Ventures on premise Gitlab. From there, I want to load up all the repositories through automation to get them building and etc without having to manually do each one in the UI. Configuration in the repo would have the pipeline defined and everything else. Any config value that need modification, I can bulk do those in the automation before it is injected into the new repository destination.
I am in Google, and will eventually also support AWS, but I have not plans on going into OpenShift at this time.
I will look more into the mvn fabric8:import - so if that would allow me to accomplish the part of getting all of the repositories built inside the cluster instance through an automation tool, that would be great.
Thank you for the context James, I will look into your points a bit further and see where I get.