Sha256: f4ae0a1d1f9c2663e91f87133d72e2ebae1dbadf6a4b4814b4d469a94f5f059f

Contents?: true

Size: 1.2 KB

Versions: 24

Compression:

Stored size: 1.2 KB

Contents

require_relative 'common'
require 'yaml'

module Kontena::Cli::Stacks
  class ValidateCommand < Kontena::Command
    include Kontena::Cli::Common
    include Kontena::Cli::GridOptions
    include Common

    banner "Validates a YAML file"

    include Common::StackFileOrNameParam
    include Common::StackNameOption

    include Common::StackValuesToOption
    include Common::StackValuesFromOption

    option '--online', :flag, "Enable connections to current master", default: false

    def execute
      unless online?
        config.current_master = nil
        values ||= {}
        values.merge!('GRID' => 'validate')
      end

      reader = reader_from_yaml(filename, name: name, values: values)
      outcome = reader.execute
      hint_on_validation_notifications(outcome[:notifications]) unless outcome[:notifications].empty?
      abort_on_validation_errors(outcome[:errors]) unless outcome[:errors].empty?

      dump_variables(reader) if values_to

      result = reader.fully_interpolated_yaml.merge(
        # simplest way to stringify keys in a hash
        'variables' => JSON.parse(reader.variables.to_h(with_values: true, with_errors: true).to_json)
      )
      puts ::YAML.dump(result)
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
kontena-cli-1.3.5 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.5.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.4.0.pre6 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.4.0.pre5 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.4.0.pre4 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.4.0.pre3 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.4.0.pre2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.4.0.pre1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.4 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.4.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.3 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.3.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.2.rc2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.2.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.1.rc2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.1.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.0 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.3.0.rc4 lib/kontena/cli/stacks/validate_command.rb