Documentation
¶
Overview ¶
Package release writes reproducible release archives.
Index ¶
- func Archive(output io.Writer, source fs.FS, paths []string) error
- func ArchiveRoot(output io.Writer, source *os.Root, paths []string) error
- func PublicBundle(ctx context.Context, destination *os.Root, releaseID string, source fs.FS, ...) error
- func TarGZ(output io.Writer, source fs.FS, paths []string) error
- func ZIP(output io.Writer, source fs.FS, paths []string) error
- func ZIPRoot(output io.Writer, source *os.Root, paths []string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Archive ¶
Archive writes a deterministic gzip-compressed tar archive. source must be immutable or snapshotted: generic mutable fs.FS values cannot close symlink TOCTOU races. ArchiveRoot provides rooted live-filesystem confinement.
func ArchiveRoot ¶
ArchiveRoot writes an archive from a live, rooted source. os.Root confines symlink resolution beneath source during concurrent filesystem changes.
func PublicBundle ¶ added in v0.1.1
func PublicBundle(ctx context.Context, destination *os.Root, releaseID string, source fs.FS, paths []string) error
PublicBundle copies one immutable release beneath releases/<releaseID>. Existing equal bytes are retained; differing bytes are a collision.
func TarGZ ¶
TarGZ writes a deterministic gzip-compressed tar archive. source has the same immutable-or-snapshotted contract as Archive.
Types ¶
This section is empty.