[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Please opine: how to provide alternative git repos for app creation (or other cartridge overrides)

OpenShift administrators would like to be able to customize the app skeletons, i.e. the git repo you clone when you first create an app. Then the administrator can brand them for the organization and customize them as desired without having to patch the cartridge RPMs.

Sure, you can create git repos separately and tell users how to consume them via the client (rhc app create --repo), but it would be better if it was just the installation default.

Two approaches suggest themselves:

1) Broker-based
Create broker conf settings to specify the repo per cartridge. This would serve as the default passed to the cartridge if not otherwise specified by the API call coming in from the client.
Advantages: Simple and centralized. Change the repo in one place and all future create events get it.
Disadvantages: The repos must be deployed somewhere all nodes can see them, and are an external dependency that can break.

2) Node-based
On all node hosts, put a git repo under e.g. /etc/openshift/cartridge/<cartridge>/repo which is then used as the default rather than what the cartridge has.
Advantages: Can deploy this as change-controlled RPM on OpenShift. No need for fallible external reference. Also this same mechanism may be useful for overriding other cartridge defaults per-installation.
Disadvantages: Have to deploy it the same on all nodes. Each change has to be re-deployed, on all nodes.

I think there may be an argument for implementing both, but probably only time to do one to start with. What are your thoughts on the best way to do this?

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]