Help us shape the future of Go! Take the 2026 Go Developer Survey

rwfs

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package rwfs implements a read-write FileSystem that maps virtual paths under a sandbox root onto the host filesystem.

All writes hit the host disk after a path-containment check and an O_NOFOLLOW open (where supported). Symlinks at any intermediate component are rejected by default — see Options.AllowSymlinks.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FS

type FS struct {
	// contains filtered or unexported fields
}

FS is the rwfs FileSystem.

func New

func New(opts Options) (*FS, error)

New constructs an FS. The root directory is created if it does not already exist.

func (*FS) AllPaths

func (f *FS) AllPaths() []string

AllPaths returns nil — enumerating the entire host subtree is too expensive to do eagerly. Glob expansion against rwfs walks lazily via ReadDir.

func (*FS) AppendFile

func (f *FS) AppendFile(name string, data []byte, perm os.FileMode) error

func (*FS) Chmod

func (f *FS) Chmod(name string, mode os.FileMode) error

func (*FS) Chtimes

func (f *FS) Chtimes(name string, atime, mtime time.Time) error

func (*FS) Create

func (f *FS) Create(name string) (gobashfs.File, error)
func (f *FS) Link(oldpath, newpath string) error

func (*FS) Lstat

func (f *FS) Lstat(name string) (os.FileInfo, error)

func (*FS) Mkdir

func (f *FS) Mkdir(name string, perm os.FileMode) error

func (*FS) MkdirAll

func (f *FS) MkdirAll(name string, perm os.FileMode) error

func (*FS) Open

func (f *FS) Open(name string) (iofs.File, error)

func (*FS) OpenFile

func (f *FS) OpenFile(name string, flag int, perm os.FileMode) (gobashfs.File, error)

func (*FS) ReadDir

func (f *FS) ReadDir(name string) ([]iofs.DirEntry, error)

func (*FS) ReadFile

func (f *FS) ReadFile(name string) ([]byte, error)
func (f *FS) Readlink(name string) (string, error)

func (*FS) Realpath

func (f *FS) Realpath(name string) (string, error)

func (*FS) Remove

func (f *FS) Remove(name string) error

func (*FS) RemoveAll

func (f *FS) RemoveAll(name string) error

func (*FS) Rename

func (f *FS) Rename(oldpath, newpath string) error

func (*FS) Stat

func (f *FS) Stat(name string) (os.FileInfo, error)
func (f *FS) Symlink(target, linkpath string) error

func (*FS) WriteFile

func (f *FS) WriteFile(name string, data []byte, perm os.FileMode) error

type Options

type Options struct {
	Root          string // absolute path; required
	AllowSymlinks bool   // when false, symlinks are rejected during resolve
}

Options configures an FS instance.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL