class Kontena::Cli::Stacks::ValidateCommand
Public Instance Methods
execute()
click to toggle source
# File lib/kontena/cli/stacks/validate_command.rb, line 41 def execute if dependency_tree? puts ::YAML.dump('name' => stack_name, 'stack' => source, 'depends' => stack['dependencies']) exit 0 end validate_dependencies if dependencies? if online? set_env_variables(stack_name, require_current_grid) else config.current_master = nil set_env_variables(stack_name, 'validate', 'validate-platform') end stack # runs validations hint_on_validation_notifications(reader.notifications, dependencies? ? loader.source : nil) abort_on_validation_errors(reader.errors, dependencies? ? loader.source : nil) dump_variables if values_to case self.format when 'api-json' puts JSON.pretty_generate(stack) when 'yaml' result = ::YAML.dump(reader.fully_interpolated_yaml) result = result.sub(/\A---$/, "---\n# #{loader.source}") if dependencies? puts result else exit_with_error "Unknown --format=#{self.format}" end end
validate_dependencies()
click to toggle source
# File lib/kontena/cli/stacks/validate_command.rb, line 24 def validate_dependencies dependencies = loader.dependencies return if dependencies.nil? dependencies.each do |dependency| target_name = "#{stack_name}-#{dependency['name']}" cmd = ['stack', 'validate'] cmd << '--online' if online? cmd.concat ['--parent-name', stack_name] dependency['variables'].merge(dependency_values_from_options(dependency['name'])).each do |key, value| cmd.concat ['-v', "#{key}=#{value}"] end cmd << dependency['stack'] Kontena.run(cmd) end end