Sha256: 253d86e41ae27b44dd53dc0a79a8a81bf2063e67d50c86c7b594dd84dd6021fc

Contents?: true

Size: 1.94 KB

Versions: 2

Compression:

Stored size: 1.94 KB

Contents

# frozen_string_literal: true

require 'bolt/error'
require 'bolt/config/transport/base'

module Bolt
  class Config
    module Transport
      class Docker < Base
        OPTIONS = {
          "cleanup"       => { type: TrueClass,
                               desc: "Whether to clean up temporary files created on targets." },
          "host"          => { type: String,
                               desc: "Host name." },
          "interpreters"  => { type: Hash,
                               desc: "A map of an extension name to the absolute path of an executable, "\
                                    "enabling you to override the shebang defined in a task executable. The "\
                                    "extension can optionally be specified with the `.` character (`.py` and "\
                                    "`py` both map to a task executable `task.py`) and the extension is case "\
                                    "sensitive. When a target's name is `localhost`, Ruby tasks run with the "\
                                    "Bolt Ruby interpreter by default." },
          "service-url"   => { type: String,
                               desc: "URL of the Docker host used for API requests." },
          "shell-command" => { type: String,
                               desc: "A shell command to wrap any Docker exec commands in, such as `bash -lc`." },
          "tmpdir"        => { type: String,
                               desc: "The directory to upload and execute temporary files on the target." },
          "tty"           => { type: TrueClass,
                               desc: "Whether to enable tty on exec commands." }
        }.freeze

        DEFAULTS = {
          'cleanup' => true
        }.freeze

        private def validate
          super

          if @config['interpreters']
            @config['interpreters'] = normalize_interpreters(@config['interpreters'])
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bolt-2.8.0 lib/bolt/config/transport/docker.rb
bolt-2.7.0 lib/bolt/config/transport/docker.rb