# class Chef::Knife::ConfigureClient

### Public Instance Methods

run() click to toggle source

    # File lib/chef/knife/configure_client.rb, line 26
    def run
      unless @config_dir = @name_args[0]
        ui.fatal "You must provide the directory to put the files in"
        show_usage
        exit(1)
      end

      ui.info("Creating client configuration")
      FileUtils.mkdir_p(@config_dir)
      ui.info("Writing client.rb")
      File.open(File.join(@config_dir, "client.rb"), "w") do |file|
        file.puts('log_level        :info')
        file.puts('log_location     STDOUT')
        file.puts("chef_server_url  '#{Chef::Config[:chef_server_url]}'")
        file.puts("validation_client_name '#{Chef::Config[:validation_client_name]}'")
      end
      ui.info("Writing validation.pem")
      File.open(File.join(@config_dir, 'validation.pem'), "w") do |validation|
        validation.puts(IO.read(Chef::Config[:validation_key]))
      end
    end