We have made some cookbooks in order to set up an environment that runs our software solution. These cookbooks are located on two git servers and depend on public cookbooks (we're using berkshelf).
We need to provision our software solution into different client environments (their hardware) and in order to do that we would like to be able to create a package of everything on one of our development machines and upload that package to a provisioning machine in the client environment. Then we'd like to use that provisioning machine to set everything up for that client.
The reason we need to do it this way is that the provisioning machine in the client environment won't have access to the git servers storing our cookbooks. It might not even have internet access. We basically want to treat the client environment as a completely isolated island.
I would like to be able to package and upload a whole environment (including dependencies) onto the provisioning server. There I would then fire up chef-zero and provision all the nodes for that environment from that.
Problem is, I don't really have any idea how to achieve this.