hydro-project / fluent

A data-driven compute platform
Apache License 2.0
1.22k stars 173 forks source link

Enable run-time specification of conf file via Kubernetes #14

Closed vsreekanti closed 5 years ago

vsreekanti commented 6 years ago

All the run-time constants that the KVS relies on are now encapsulated in conf/kvs-config.yml, which means that we don't need to recompile the server in order to change them. This is great, but the problem is that they are fixed in the Docker image, which means that we do need to rebuild the Docker image to change constants, which is just as silly.

Instead, we should allow users to specify a server configuration when the create_cluster.sh script is called. Everything from this script would be coped into the run-time configuration. Note that we'd have to be careful of what's specified by Kubernetes and the bash scripts during cluster and node creation, but as long as we limit the conf file to only have things like node counts and replica counts, this should be fine. We should probably add a Python scripts that verifies the conf file before creating the cluster.

This will be particularly valuable when doing experiments.