class Falcon::Command::Host

def assume_privileges(path)

def assume_privileges(path)
	stat = File.stat(path)
	
	Process::GID.change_privilege(stat.gid)
	Process::UID.change_privilege(stat.uid)
end

def call(container = Async::Container.new)

def call(container = Async::Container.new)
	container = run(container, parent.verbose?)
	
	container.wait(true)
end

def run(container, verbose = false)

def run(container, verbose = false)
	configuration = Configuration.new(verbose)
	configuration.load_file(@path)
	
	Async.logger.info(self) {"Starting services described by #{@path}..."}
	
	assume_privileges(@path)
	
	hosts = Hosts.new(configuration)
	hosts.each do |host|
		host.run(container)
	end
	
	services = Services.new(configuration)
	services.each do |service|
		service.run(container)
	end
	
	return container
end