Sha256: e45f2d048580be4ed5cf780d9a03875d7974e2ae946779cc2fb5d8f4e3e8c729
Contents?: true
Size: 1.69 KB
Versions: 10
Compression:
Stored size: 1.69 KB
Contents
require 'json' require 'logger' require 'plan-step-class' class AddEnv def initialize () @log = Logger.new(Canzea::config[:logging_root] + '/plans.log') end def add (key, value) extraConfig = Canzea::config[:catalog_location] + "/env.json" envs = loadFile() envs["vars"][key] = value File.write(extraConfig, JSON.generate(envs)) end def addSecret (key, value) extraConfig = Canzea::config[:catalog_location] + "/env.json" envs = loadFile() envs['secrets'][key] = value File.write(extraConfig, JSON.generate(envs)) end def loadFile() extraConfig = Canzea::config[:catalog_location] + "/env.json" if File.exists?(extraConfig) file = File.read(extraConfig) envs = JSON.parse(file) else envs = {"vars"=>{}, "secrets"=>{}} end return envs end def injectEnvironmentVariables() extraConfig = Canzea::config[:catalog_location] + "/env.json" @log.info "Looking to read env.json" if File.exists?(extraConfig) puts "-- Reading #{extraConfig}" file = File.read(extraConfig) envs = JSON.parse(file) envs['vars'].keys.each { | key | val = envs['vars'][key] puts "-- #{key} == #{val}" @log.info "Setting: #{key} == #{val}" ENV.store(key, val) } envs['secrets'].keys.each { | key | val = envs['secrets'][key] puts "-- #{key} == XXXXXX" @log.info "Setting: #{key} == XXXXXXX" ENV.store(key, val) } end end end
Version data entries
10 entries across 10 versions & 1 rubygems