code: func Read(vm *jsonnet.VM, path string) ([]runtime.Object, error) {
  	ext := filepath.Ext(path)
  	if ext == ".json" {
  		f, err := os.Open(path)
  		if err != nil {
  			return nil, err
  		}
  		defer f.Close()
  		return jsonReader(f)
  	} else if ext == ".yaml" {
  		f, err := os.Open(path)
  		if err != nil {
  			return nil, err
  		}
  		defer f.Close()
  		return yamlReader(f)
  	} else if ext == ".jsonnet" {
  		return jsonnetReader(vm, path)
  	}
  
  	return nil, fmt.Errorf("Unknown file extension: %s", path)
  }
docs: // Read fetches and decodes K8s objects by path.
  // TODO: Replace this with something supporting more sophisticated
  // content negotiation.