Sha256: 4e63d7c814828325bf9c306de02e5f8e9ff0e308915db9424d42bca28c3a1c71

Contents?: true

Size: 1.94 KB

Versions: 2

Compression:

Stored size: 1.94 KB

Contents

module Taperole
  module Commands
    class Ansible < Thor
      include Taperole::AnsibleRunner
      include Taperole::Helpers::Logging

      class_option :limit,
                   type: :string,
                   aliases: :l,
                   desc: 'Limits ansible runs to hosts matching the given pattern'
      class_option :task,
                   type: :string,
                   aliases: :T,
                   desc: 'Name of the rake task to execute'
      class_option :inventory,
                   aliases: :i,
                   type: :string,
                   desc: 'Do actions with the given inventory file'
      class_option :name,
                   aliases: :n,
                   type: :string,
                   desc: 'The name of the machine to operate on'
      class_option :port,
                   aliases: :p,
                   type: :numeric,
                   desc: 'The port that the machine is listening on for SSH connections'
      class_option :tags,
                   aliases: :t,
                   type: :string,
                   desc: 'Only run plays and tasks tagged with these values'
      class_option :role,
                   aliases: :r,
                   type: :string,
                   desc: 'Name of the role to operate on'

      class_option :'ask-vault-pass', type: :boolean, desc: 'Ask for Ansible vault password'

      class_option :book,
                   aliases: :b,
                   type: :string,
                   desc: 'A custom playbook to run'

      desc 'everything', 'Initial setup of a server'
      def everything
        Taperole::Notifier.register_notifiers(options)
        valid_preconfigs ? ansible(options: options) : puts("Not a Rails or JS app")
      end

      desc 'deploy', 'Deploy the latest version of the app'
      def deploy
        Taperole::Notifier.register_notifiers(options)
        ansible_deploy(args: '-t be_deploy,fe_deploy', options: options)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
taperole-1.7.1 lib/taperole/commands/ansible.rb
taperole-1.7.0 lib/taperole/commands/ansible.rb