module Terraspace::Booter
Public Instance Methods
boot()
click to toggle source
# File lib/terraspace/booter.rb, line 3 def boot run_hooks Terraspace::Bundle.require # load plugins load_plugin_default_configs Terraspace::App::Inits.run_all set_plugin_cache! end
load_plugin_default_configs()
click to toggle source
# File lib/terraspace/booter.rb, line 11 def load_plugin_default_configs Terraspace::Plugin.config_classes.each do |klass| # IE: TerraspacePluginAws::Interfaces::Config.instance.load_project_config klass.instance.load_project_config end end
run_hook(env=nil)
click to toggle source
# File lib/terraspace/booter.rb, line 37 def run_hook(env=nil) name = env ? "boot/#{env}" : "boot" path = "#{Terraspace.root}/config/#{name}.rb" require path if File.exist?(path) end
run_hooks()
click to toggle source
Special boot hooks run super early, even before plugins are loaded. Useful for setting env vars and other early things.
config/boot.rb config/boot/dev.rb
# File lib/terraspace/booter.rb, line 32 def run_hooks run_hook run_hook(Terraspace.env) end
set_plugin_cache!()
click to toggle source
# File lib/terraspace/booter.rb, line 18 def set_plugin_cache! plugin_cache = Terraspace.config.terraform.plugin_cache return unless plugin_cache.enabled dir = ENV['TF_PLUGIN_CACHE_DIR'] ||= plugin_cache.dir FileUtils.mkdir_p(dir) dir end