Sha256: e76b9d3f829e417b7d1aa2759364bc324f02cf3b702b15c12794869cc072168e

Contents?: true

Size: 1.8 KB

Versions: 8

Compression:

Stored size: 1.8 KB

Contents

# frozen_string_literal: true

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

module Bolt
  class Config
    module Transport
      class Orch < Base
        # NOTE: All transport configuration options should have a corresponding schema definition
        #       in schemas/bolt-transport-definitions.json
        OPTIONS = {
          "cacert"            => { type: String,
                                   desc: "The path to the CA certificate." },
          "host"              => { type: String,
                                   desc: "Host name." },
          "job-poll-interval" => { type: Integer,
                                   desc: "Set interval to poll orchestrator for job status." },
          "job-poll-timeout"  => { type: Integer,
                                   desc: "Set time to wait for orchestrator job status." },
          "service-url"       => { type: String,
                                   desc: "The URL of the orchestrator API." },
          "task-environment"  => { type: String,
                                   desc: "The environment the orchestrator loads task code from." },
          "token-file"        => { type: String,
                                   desc: "The path to the token file." }
        }.freeze

        DEFAULTS = {
          "task-environment" => "production"
        }.freeze

        private def validate
          super

          if @config['cacert']
            @config['cacert'] = File.expand_path(@config['cacert'], @project)
            Bolt::Util.validate_file('cacert', @config['cacert'])
          end

          if @config['token-file']
            @config['token-file'] = File.expand_path(@config['token-file'], @project)
            Bolt::Util.validate_file('token-file', @config['token-file'])
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
bolt-2.15.0 lib/bolt/config/transport/orch.rb
bolt-2.14.0 lib/bolt/config/transport/orch.rb
bolt-2.13.0 lib/bolt/config/transport/orch.rb
bolt-2.12.0 lib/bolt/config/transport/orch.rb
bolt-2.11.1 lib/bolt/config/transport/orch.rb
bolt-2.11.0 lib/bolt/config/transport/orch.rb
bolt-2.10.0 lib/bolt/config/transport/orch.rb
bolt-2.9.0 lib/bolt/config/transport/orch.rb