Package wkfs implements the pluggable "well-known filesystem" abstraction layer.

Instead of accessing files directly through the operating system using os.Open or os.Stat, code should use wkfs.Open or wkfs.Stat, which first try to intercept paths at well-known top-level directories representing previously-registered mount types, otherwise fall through to the operating system paths.

Example of top-level well-known directories that might be registered include /gcs/bucket/object for Google Cloud Storage or /s3/bucket/object for AWS S3.



This section is empty.


This section is empty.


func Lstat

func Lstat(name string) (os.FileInfo, error)

func MkdirAll

func MkdirAll(path string, perm os.FileMode) error

func ReadFile

func ReadFile(filename string) ([]byte, error)

func RegisterFS

func RegisterFS(prefix string, fs FileSystem)

RegisterFS registers a well-known filesystem. It intercepts anything beginning with prefix (which must start and end with a forward slash) and forwards it to fs.

func Remove

func Remove(name string) error

func Stat

func Stat(name string) (os.FileInfo, error)

func WriteFile

func WriteFile(filename string, data []byte, perm os.FileMode) error

WriteFile writes data to a file named by filename. If the file does not exist, WriteFile creates it with permissions perm; otherwise WriteFile truncates it before writing.


type File

type File interface {
	Name() string
	Stat() (os.FileInfo, error)

func Open

func Open(name string) (File, error)

type FileSystem

type FileSystem interface {
	Open(name string) (File, error)
	OpenFile(name string, flag int, perm os.FileMode) (FileWriter, error)
	Stat(name string) (os.FileInfo, error)
	Lstat(name string) (os.FileInfo, error)
	MkdirAll(path string, perm os.FileMode) error
	Remove(name string) error

type FileWriter

type FileWriter interface {

func Create

func Create(name string) (FileWriter, error)

func OpenFile

func OpenFile(name string, flag int, perm os.FileMode) (FileWriter, error)

Source Files


Path Synopsis
gcs Package gcs registers a Google Cloud Storage filesystem at the well-known /gcs/ filesystem path if the current machine is running on Google Compute Engine.