Sha256: 84ac3e2277cd1444e407b3033a55c98ae77dd71435606b0a156465a12bd3af86

Contents?: true

Size: 1.62 KB

Versions: 4

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

require 'thor'
require_relative '../pulumi'
require_relative '../logger'

module Bauble
  module Cli
    module Commands
      # Up command
      module Up
        class << self
          def included(thor)
            thor.class_eval do
              desc 'up', 'Deploy the application'
              method_option :stack, type: :string, desc: 'The stack to stand up', aliases: '-s'

              def up
                Logger.logo

                # check for any stacks
                raise 'No stacks found' if @app.stacks.empty?

                # check for multiple stacks
                if @app.stacks.length > 1 && options[:stack].nil?
                  Logger.error 'Must provide a stack when multiple are defined'
                  exit(1)
                end

                # set up stack
                stack_name = options[:stack] || @app.stacks.first.name
                @app.change_current_stack(stack_name)

                # bundle assets
                Logger.block_log 'Bundling assets...'
                Logger.nl
                @app.bundle

                # write template file
                pulumi.create_pulumi_yml(@app.template)

                # initialize pulumi
                pulumi.init!

                # create or select stack
                pulumi.create_or_select_stack(stack_name)

                # deploy the rest
                Logger.block_log 'Deploying application resources...'
                pulumi.up

                # log completion
                Logger.log "Up complete\n"
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
bauble_core-0.5.0 lib/bauble/cli/commands/up.rb
bauble_core-0.4.0 lib/bauble/cli/commands/up.rb
bauble_core-0.3.0 lib/bauble/cli/commands/up.rb
bauble_core-0.2.0 lib/bauble/cli/commands/up.rb