Hey! I'm working on configuration management in cloud environment [1]. I put some finding in the ticket [1] but let me tell you more about the options I investigated:
- Kubernetes/OpenShift ConfigMaps [2][3] - Those structures are specially designed to hold configuration data in any format (yaml, json, properties, xml, doesn't matter). - The configuration can be mounted into a pod as a directory (technically a volume). We can not mount it as a single file. Having said that we would need to either store cloud.xml file separately (standalone/cloud/configuration?) or ask users to build configuration from whole standalone/configuration directory. Both options are valid in my opinion. - OpenShift S2I [4] builder - S2I builder takes a git repository and a Docker image and combines those two together. - We could store a cloud.xml file inside a git repository and modify our infinispan Docker image to support S2I scripts (if cloud.xml is detected in a git repository - replace the default configuration). - Unfortunately it's OpenShift specific thing. - Extend the Infinispan Docker image - We could ask users to extend our Docker image and put their specific configuration there - The biggest advantage - it will work regardless to the environment (pure Docker, Kubernetes, OpenShift, doesn't matter) All options require restarting pods to update configuration (remember, pods were designed to be immutable). I think we should support 2 options - ConfigMaps for Kubernetes and OpenShift and extending our Docker image for all other use cases (because this option gives the most flexibility). What do you think? Thanks Sebastian [1] https://issues.jboss.org/browse/ISPN-6675 [2] http://kubernetes.io/docs/user-guide/configmap/ [3] https://docs.openshift.org/latest/dev_guide/configmaps.html [4] https://github.com/openshift/source-to-image
_______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev