Sha256: 56efd437625dd9d9ce9ca32ec8ac55c38a797501f23fda7dff7d4ca7d8e2b9b2

Contents?: true

Size: 1.24 KB

Versions: 16

Compression:

Stored size: 1.24 KB

Contents

require_relative 'common'

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

    option '--values-to', '[FILE]', 'Output variable values as YAML to file'

    include Common::StackValuesFromOption

    requires_current_master # the stack may use a vault resolver
    requires_current_master_token

    def execute
      reader = reader_from_yaml(filename, name: name, values: values)
      outcome = reader.execute
      hint_on_validation_notifications(outcome[:notifications]) if outcome[:notifications].size > 0
      abort_on_validation_errors(outcome[:errors]) if outcome[:errors].size > 0

      if values_to
        vals = reader.variables.to_h(values_only: true).reject {|k,_| k == 'STACK' || k == 'GRID' }
        File.write(values_to, ::YAML.dump(vals))
      end
      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

16 entries across 16 versions & 1 rubygems

Version Path
kontena-cli-1.1.6 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.2.0.pre1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.5 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.5.rc3 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.5.rc2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.5.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.4 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.2.0.dev1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.3 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.2.rc2 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.2.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.1.rc1 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.0 lib/kontena/cli/stacks/validate_command.rb
kontena-cli-1.1.0.rc2 lib/kontena/cli/stacks/validate_command.rb