+++ /dev/null
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-def diff_hash base, final
- diffed = {}
- base.each do |k,v|
- bk = base[k]
- fk = final[k]
- if bk.is_a? Hash
- d = diff_hash bk, fk
- if d.length > 0
- diffed[k] = d
- end
- else
- if bk.to_yaml != fk.to_yaml
- diffed[k] = fk
- end
- end
- end
- diffed
-end
-
-namespace :config do
- desc 'Print items that differ between legacy application.yml and system config.yml'
- task diff: :environment do
- diffed = diff_hash $arvados_config_global, $arvados_config
- cfg = { "Clusters" => {}}
- cfg["Clusters"][$arvados_config["ClusterID"]] = diffed.select {|k,v| k != "ClusterID"}
- if cfg["Clusters"][$arvados_config["ClusterID"]].empty?
- puts "No migrations required for /etc/arvados/config.yml"
- else
- puts cfg.to_yaml
- end
- end
-
- desc 'Print config.yml after merging with legacy application.yml'
- task migrate: :environment do
- diffed = diff_hash $arvados_config_defaults, $arvados_config
- cfg = { "Clusters" => {}}
- cfg["Clusters"][$arvados_config["ClusterID"]] = diffed.select {|k,v| k != "ClusterID"}
- puts cfg.to_yaml
- end
-
- desc 'Print configuration as accessed through Rails.configuration'
- task dump: :environment do
- combined = $arvados_config.deep_dup
- combined.update $remaining_config
- puts combined.to_yaml
- end
-
- desc 'Legacy config check task -- it is a noop now'
- task check: :environment do
- # This exists so that build/rails-package-scripts/postinst.sh doesn't fail.
- end
-end