-["#{::Rails.root.to_s}/config/config.defaults.yml", "/etc/arvados/config.yml"].each do |path|
- if File.exist? path
- confs = YAML.load(IO.read(path), deserialize_symbols: false)
- if confs
- clusters = confs["Clusters"].first
- $arvados_config["ClusterID"] = clusters[0]
- $arvados_config.deep_merge!(clusters[1])
- end
- end
+clusterID, clusterConfig = $arvados_config_defaults["Clusters"].first
+$arvados_config_defaults = clusterConfig
+$arvados_config_defaults["ClusterID"] = clusterID
+
+# Initialize the global config with the defaults
+$arvados_config_global = $arvados_config_defaults.deep_dup
+
+# Load the global config file
+confs = ConfigLoader.load "/etc/arvados/config.yml"
+if !confs.empty?
+ clusterID, clusterConfig = confs["Clusters"].first
+ $arvados_config_global["ClusterID"] = clusterID
+
+ # Copy the cluster config over the defaults
+ $arvados_config_global.deep_merge!(clusterConfig)