Sha256: 0a3c050575ed9c2146a1e1575f2b058e70a835aeef5a229ddaedc87b8fe6bcc7

Contents?: true

Size: 1.42 KB

Versions: 6

Compression:

Stored size: 1.42 KB

Contents

module Vpsb
  module Commands
    class Build
      include AskSupport
      def initialize(core)
        @core = core
      end

      def execute(params)
        web_role.call
        deploy_bags.call
        apps_bags.call
        db_postgres_role.call
        db_postgres_bags.call if core.present?(:db_postgres_json)
        es_role.call          if ask_to_confirm("Do you want configure elasticsearch")
        monit_role.call       if ask_to_confirm("Do you want configure monit(newrelic)")
        # packages_bags.call    if ask_to_confirm("Do you want to install additional apt-get apps")
        node.call
        ask { puts "Now everything will be installed. It should take 10-15 minutes. Click ENTER to start" }
      end

      private
      attr_reader :core

      def node
        Vpsb::Tasks::Node.new(core)
      end

      def apps_bags
        Vpsb::Tasks::AppsBags.new(core)
      end

      def deploy_bags
        Vpsb::Tasks::DeployBags.new(core)
      end

      def packages_bags
        Vpsb::Tasks::PackagesBags.new(core)
      end

      def db_postgres_bags
        Vpsb::Tasks::DbPostgresBags.new(core)
      end

      def db_postgres_role
        Vpsb::Tasks::DbPostgresRole.new(core)
      end

      def es_role
        Vpsb::Tasks::EsRole.new(core)
      end

      def monit_role
        Vpsb::Tasks::MonitRole.new(core)
      end

      def web_role
        Vpsb::Tasks::WebRole.new(core)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vpsb-1.1.8 lib/vpsb/commands/build.rb
vpsb-1.1.7 lib/vpsb/commands/build.rb
vpsb-1.1.6 lib/vpsb/commands/build.rb
vpsb-1.1.5 lib/vpsb/commands/build.rb
vpsb-1.1.4 lib/vpsb/commands/build.rb
vpsb-1.1.3 lib/vpsb/commands/build.rb