Sha256: f99bf922d4f53abf7038ac4aad29454614ab5821c0c6f1a9a3e2ef37867af180

Contents?: true

Size: 1.26 KB

Versions: 13

Compression:

Stored size: 1.26 KB

Contents

require 'itamae'
require 'thor'

module Itamae
  class CLI < Thor
    class_option :log_level, type: :string, aliases: ['-l'], default: 'info'
    class_option :color, type: :boolean, default: true

    def initialize(*args)
      super

      Itamae::Logger.level = ::Logger.const_get(options[:log_level].upcase)
      Itamae::Logger.formatter.colored = options[:color]
    end

    desc "local RECIPE [RECIPE...]", "Run Itamae locally"
    option :node_json, type: :string, aliases: ['-j']
    option :dry_run, type: :string, aliases: ['-n']
    option :ohai, type: :boolean, default: false
    def local(*recipe_files)
      Runner.run(recipe_files, :local, options)
    end

    desc "ssh RECIPE [RECIPE...]", "Run Itamae via ssh"
    option :node_json, type: :string, aliases: ['-j']
    option :dry_run, type: :string, aliases: ['-n']
    option :host, required: true, type: :string, aliases: ['-h']
    option :user, type: :string, aliases: ['-u']
    option :key, type: :string, aliases: ['-i']
    option :port, type: :numeric, aliases: ['-p']
    option :ohai, type: :boolean, default: false
    def ssh(*recipe_files)
      Runner.run(recipe_files, :ssh, options)
    end

    desc "version", "Print version"
    def version
      puts "Itamae v#{Itamae::VERSION}"
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
itamae-1.0.0.beta28 lib/itamae/cli.rb
itamae-1.0.0.beta27 lib/itamae/cli.rb
itamae-1.0.0.beta26 lib/itamae/cli.rb
itamae-1.0.0.beta25 lib/itamae/cli.rb
itamae-1.0.0.beta24 lib/itamae/cli.rb
itamae-1.0.0.beta23 lib/itamae/cli.rb
itamae-1.0.0.beta22 lib/itamae/cli.rb
itamae-1.0.0.beta21 lib/itamae/cli.rb
itamae-1.0.0.beta20 lib/itamae/cli.rb
itamae-1.0.0.beta19 lib/itamae/cli.rb
itamae-1.0.0.beta18 lib/itamae/cli.rb
itamae-1.0.0.beta17 lib/itamae/cli.rb
itamae-1.0.0.beta16 lib/itamae/cli.rb