Sha256: acfa5b147b61cc3a1efc4cacd5a265bbe8857f3babf04a23364eeb31c59d5535

Contents?: true

Size: 1.32 KB

Versions: 2

Compression:

Stored size: 1.32 KB

Contents

require 'json'
require 'logger'
require 'commands/add-env'
require 'plan-step-class'

class ApplyConfig
    def initialize ()
        @log = Logger.new(Canzea::config[:logging_root] + '/plans.log')
    end

    def do (gitRoot, test = false, stepNum = nil, task = nil)
        ps = PlanStep.new

        # Read the configuration file and make calls out to run

        log "Processing #{gitRoot}/configure.json"

        steps = JSON.parse(File.read("#{gitRoot}/configure.json"))


        index = 1
        steps["steps"].each { | step |

            # Needs to be after each step because new env vars could be set (i.e./ CONSUL_URL)
            AddEnv.new.injectEnvironmentVariables()

            ref = "Step #{index.to_s.rjust(2, "0")} / #{steps['steps'].length}"

            role = step['role']
            solution = step['solution']

            ENV['ES_STEP'] = index;

            if (stepNum == nil or index >= Integer(stepNum))
                log "  [#{ref}] Configure for #{role} and #{solution}"
                ps.runPhaseConfigure role, solution, test, (task == nil ? 1:task), ref
                task = 1
            else
                log "  [#{ref}] Configure for #{role} and #{solution} SKIP"
            end
            index = index + 1
        }
    end

    def log (msg)
        puts msg
        @log.info(msg)
    end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
canzea-0.1.98 lib/commands/apply-config.rb
canzea-0.1.97 lib/commands/apply-config.rb