Skip to content
This repository was archived by the owner on Jun 29, 2019. It is now read-only.

Commit f2eb592

Browse files
committed
more config
1 parent e125b1d commit f2eb592

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

environment.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ module Uphold
44
require 'bundler/setup'
55
Bundler.require(:default)
66

7-
@root = File.dirname(File.expand_path(__FILE__))
8-
Dir["#{@root}/lib/helpers/*.rb"].sort.each { |file| require file }
9-
Dir["#{@root}/lib/*.rb"].sort.each { |file| require file }
7+
ROOT = File.dirname(File.expand_path(__FILE__))
8+
Dir["#{ROOT}/lib/helpers/*.rb"].sort.each { |file| require file }
9+
Dir["#{ROOT}/lib/*.rb"].sort.each { |file| require file }
1010

11-
@config = Config.load_global
11+
UPHOLD = Config.load_global
1212

1313
include Logging
14-
logger.level = Logger.const_get(@config[:log_level])
14+
logger.level = Logger.const_get(UPHOLD[:log_level])
1515
logger.info 'Starting Uphold'
1616

17-
Docker.url = @config[:docker_url]
17+
Docker.url = UPHOLD[:docker_url]
1818
logger.debug "Docker URL - '#{Docker.url}'"
1919
end

lib/config.rb

+15-4
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ class Config
88
def initialize(config)
99
fail unless config
1010
yaml = YAML.load_file(File.join('/etc', 'uphold', 'conf.d', config))
11+
yaml.merge!(file: File.basename(config, '.yml'))
1112
@yaml = Config.deep_convert(yaml)
1213
fail unless valid?
13-
logger.info "Loaded config '#{@yaml[:name]}' from '#{config}'"
14+
logger.debug "Loaded config '#{@yaml[:name]}' from '#{config}'"
1415
@yaml = supplement
1516
end
1617

1718
def valid?
1819
valid = true
19-
valid = false if @yaml[:enabled] != true
2020
valid = false unless Config.engines.any? { |e| e[:name] == @yaml[:engine][:type] }
2121
valid = false unless Config.transports.any? { |e| e[:name] == @yaml[:transport][:type] }
2222
valid
@@ -28,16 +28,27 @@ def supplement
2828
@yaml
2929
end
3030

31+
def self.load_configs
32+
Dir['/etc/uphold/conf.d/*.yml'].sort.map do |file|
33+
new(File.basename(file)).yaml
34+
end
35+
end
36+
3137
def self.load_global
3238
yaml = YAML.load_file(File.join('/', 'etc', 'uphold', 'uphold.yml'))
3339
yaml = deep_convert(yaml)
3440
yaml[:log_level] ||= 'INFO'
3541
yaml[:docker_url] ||= 'unix:///var/run/docker.sock'
42+
yaml[:docker_container] ||= 'uphold-tester'
43+
yaml[:docker_tag] ||= 'latest'
44+
yaml[:docker_mounts] ||= []
45+
yaml[:config_path] ||= '/etc/uphold'
46+
yaml[:docker_log_path] ||= '/var/log/uphold'
3647
yaml
3748
end
3849

3950
def self.load_engines
40-
[Dir["#{@root}/lib/engines/*.rb"], Dir['/etc/uphold/engines/*.rb']].flatten.uniq.sort.each do |file|
51+
[Dir["#{ROOT}/lib/engines/*.rb"], Dir['/etc/uphold/engines/*.rb']].flatten.uniq.sort.each do |file|
4152
require file
4253
basename = File.basename(file, '.rb')
4354
add_engine name: basename, klass: Object.const_get("Uphold::Engines::#{File.basename(file, '.rb').capitalize}")
@@ -56,7 +67,7 @@ def self.add_engine(engine)
5667
end
5768

5869
def self.load_transports
59-
[Dir["#{@root}/lib/transports/*.rb"], Dir['/etc/uphold/transports/*.rb']].flatten.uniq.sort.each do |file|
70+
[Dir["#{ROOT}/lib/transports/*.rb"], Dir['/etc/uphold/transports/*.rb']].flatten.uniq.sort.each do |file|
6071
require file
6172
basename = File.basename(file, '.rb')
6273
add_transport name: basename, klass: Object.const_get("Uphold::Transports::#{File.basename(file, '.rb').capitalize}")

0 commit comments

Comments
 (0)