Sha256: 6ec08a61a96868d1adaf1a9447d6dc551cabb9587f7c6e6cfa594e0cd553be11

Contents?: true

Size: 1.28 KB

Versions: 17

Compression:

Stored size: 1.28 KB

Contents

# Core helper methods.
#
# * docker_image - Docker image name to be used when a the docker image is build. This is defined in .ufo/config.rb
# * dockerfile_port - Exposed port in the Dockerfile.  Only supports one exposed port, the first one that is encountered.
#
module Ufo::TaskDefinition::Helpers
  module Core
    extend Memoist

    def dockerfile_port
      dockerfile_path = "#{Ufo.root}/Dockerfile"
      if File.exist?(dockerfile_path)
        parse_for_dockerfile_port(dockerfile_path)
      end
    end

    def docker_image
      # Dont need to use @options here. Helps simplify the Helper initialization.
      Ufo::Docker::Builder.new({}).docker_image
    end

    def env(text)
      Vars.new(text: text).env
    end
    alias_method :env_vars, :env
    alias_method :environment, :env

    def env_file(path)
      Vars.new(file: path).env
    end

    def secrets(text)
      Vars.new(text: text).secrets
    end

    def secrets_file(path)
      Vars.new(file: path).secrets
    end

    def parse_for_dockerfile_port(dockerfile_path)
      lines = IO.read(dockerfile_path).split("\n")
      expose_line = lines.find { |l| l =~ /^EXPOSE / }
      if expose_line
        md = expose_line.match(/EXPOSE (\d+)/)
        port = md[1] if md
      end
      port.to_i if port
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
ufo-6.2.0 lib/ufo/task_definition/helpers/core.rb
ufo-6.1.5 lib/ufo/task_definition/helpers/core.rb
ufo-6.1.4 lib/ufo/task_definition/helpers/core.rb
ufo-6.1.3 lib/ufo/task_definition/helpers/core.rb
ufo-6.1.2 lib/ufo/task_definition/helpers/core.rb
ufo-6.1.1 lib/ufo/task_definition/helpers/core.rb
ufo-6.1.0 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.9 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.8 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.7 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.6 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.5 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.4 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.3 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.2 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.1 lib/ufo/task_definition/helpers/core.rb
ufo-6.0.0 lib/ufo/task_definition/helpers/core.rb