Sha256: 06761e73eb94da9f4b0ffc50be0607aa89c715c8dec9ffb3a5eb78c251935ff9

Contents?: true

Size: 776 Bytes

Versions: 4

Compression:

Stored size: 776 Bytes

Contents

module Kuby
  module Docker
    class SetupPhase < Layer
      DEFAULT_WORKING_DIR = '/usr/src/app'.freeze

      attr_accessor :base_image, :working_dir, :rails_env

      def apply_to(dockerfile)
        dockerfile.from(base_image || default_base_image)
        dockerfile.workdir(working_dir || DEFAULT_WORKING_DIR)
        dockerfile.env("RAILS_ENV=#{rails_env || Kuby.env}")
        dockerfile.env("KUBY_ENV=#{Kuby.env}")
        dockerfile.arg('RAILS_MASTER_KEY')
      end

      private

      def default_base_image
        @default_base_image ||= case metadata.distro
          when :debian
            "ruby:#{RUBY_VERSION}"
          when :alpine
            "ruby:#{RUBY_VERSION}-alpine"
          else
            # ERROR
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
kuby-core-0.10.1 lib/kuby/docker/setup_phase.rb
kuby-core-0.10.0 lib/kuby/docker/setup_phase.rb
kuby-core-0.9.1 lib/kuby/docker/setup_phase.rb
kuby-core-0.9.0 lib/kuby/docker/setup_phase.rb