Add "rake config:check" task. refs #2076
authorTom Clegg <tom@curoverse.com>
Wed, 5 Mar 2014 19:46:09 +0000 (14:46 -0500)
committerTom Clegg <tom@curoverse.com>
Wed, 5 Mar 2014 19:46:09 +0000 (14:46 -0500)
apps/workbench/config/initializers/load_config.rb
apps/workbench/lib/tasks/config_check.rake [new file with mode: 0644]
services/api/config/config.defaults.yml
services/api/config/initializers/load_config.rb
services/api/lib/tasks/config_check.rake [new file with mode: 0644]

index 7f2b1cc1827cb781fc2d4af564d042fa29ce145a..90ddbde9d7c0025e21b396919fd242e5ac753169 100644 (file)
@@ -1,17 +1,17 @@
-conf = {}
+$application_config = {}
 %w(config.defaults config).each do |cfgfile|
   path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml"
   if File.exists? path
     yaml = ERB.new(IO.read path).result(binding)
     confs = YAML.load(yaml)
-    conf.merge!(confs['common'] || {})
-    conf.merge!(confs[::Rails.env.to_s] || {})
+    $application_config.merge!(confs['common'] || {})
+    $application_config.merge!(confs[::Rails.env.to_s] || {})
   end
 end
 
 ArvadosWorkbench::Application.configure do
   nils = []
-  conf.each do |k, v|
+  $application_config.each do |k, v|
     # "foo.bar: baz" --> { config.foo.bar = baz }
     cfg = config
     ks = k.split '.'
diff --git a/apps/workbench/lib/tasks/config_check.rake b/apps/workbench/lib/tasks/config_check.rake
new file mode 100644 (file)
index 0000000..c9f12fc
--- /dev/null
@@ -0,0 +1,8 @@
+namespace :config do
+  desc 'Ensure site configuration has all required settings'
+  task check: :environment do
+    $application_config.sort.each do |k, v|
+      $stderr.puts "%-32s %s" % [k, eval("Rails.configuration.#{k}")]
+    end
+  end
+end
index d4749884bbe8097e65e213e63b8020e2b02499e7..8b454eab6271fb8bd79d0e2964bf82884caf5a86 100644 (file)
@@ -63,7 +63,7 @@ common:
   compute_node_ec2run_args: -g arvados-compute
   compute_node_spot_bid: 0.11
 
-  compute_node_domain: <%= `hostname --domain`.strip %>
+  compute_node_domain: <%= `hostname`.split('.')[1..-1].join('.').strip %>
   compute_node_nameservers:
     - 192.168.1.1
   compute_node_ec2_tag_enable: false
index f56bb2db41fcc67f923199d6d3ced566725e65f5..954ab48dbcc55e7e2873956a283a6a690d315a58 100644 (file)
@@ -1,17 +1,18 @@
-conf = {}
+$application_config = {}
+
 %w(config.defaults config).each do |cfgfile|
   path = "#{::Rails.root.to_s}/config/#{cfgfile}.yml"
   if File.exists? path
     yaml = ERB.new(IO.read path).result(binding)
     confs = YAML.load(yaml)
-    conf.merge!(confs['common'] || {})
-    conf.merge!(confs[::Rails.env.to_s] || {})
+    $application_config.merge!(confs['common'] || {})
+    $application_config.merge!(confs[::Rails.env.to_s] || {})
   end
 end
 
 Server::Application.configure do
   nils = []
-  conf.each do |k, v|
+  $application_config.each do |k, v|
     # "foo.bar: baz" --> { config.foo.bar = baz }
     cfg = config
     ks = k.split '.'
diff --git a/services/api/lib/tasks/config_check.rake b/services/api/lib/tasks/config_check.rake
new file mode 100644 (file)
index 0000000..c9f12fc
--- /dev/null
@@ -0,0 +1,8 @@
+namespace :config do
+  desc 'Ensure site configuration has all required settings'
+  task check: :environment do
+    $application_config.sort.each do |k, v|
+      $stderr.puts "%-32s %s" % [k, eval("Rails.configuration.#{k}")]
+    end
+  end
+end