Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type IllegalSlugError ¶ added in v0.6.0
type IllegalSlugError struct {
Err error
}
IllegalSlugError indicates the provided slug (io.Writer for Pack, io.Reader for Unpack) violates a rule about its contents. For example, an absolute or external symlink. It implements the error interface.
func (*IllegalSlugError) Error ¶ added in v0.6.0
func (e *IllegalSlugError) Error() string
func (*IllegalSlugError) Unwrap ¶ added in v0.6.0
func (e *IllegalSlugError) Unwrap() error
Unwrap returns the underlying issue with the provided Slug into the error chain.
type Meta ¶
type Meta struct { // The list of files contained in the slug. Files []string // Total size of the slug in bytes. Size int64 }
Meta provides detailed information about a slug.
type Packer ¶ added in v0.7.0
type Packer struct {
// contains filtered or unexported fields
}
Packer holds options for the Pack function.
func NewPacker ¶ added in v0.7.0
func NewPacker(options ...PackerOption) (*Packer, error)
NewPacker is a constructor for Packer.
func (*Packer) Pack ¶ added in v0.7.0
Pack creates a slug from a src directory, and writes the new slug to w. Returns metadata about the slug and any errors.
When dereference is set to true, symlinks with a target outside of the src directory will be dereferenced. When dereference is set to false symlinks with a target outside the src directory are omitted from the slug.
type PackerOption ¶ added in v0.7.0
PackerOption is a functional option that can configure non-default Packers.
func AllowSymlinkTarget
deprecated
added in
v0.10.0
func AllowSymlinkTarget(path string) PackerOption
AllowSymlinkTarget relaxes safety checks on symlinks with targets matching path. Specifically, absolute symlink targets (e.g. "/foo/bar") and relative targets (e.g. "../foo/bar") which resolve to a path outside of the source/destination directories for pack/unpack operations respectively, may be expressly permitted, whereas they are forbidden by default. Exercise caution when using this option. A symlink matches path if its target resolves to path exactly, or if path is a parent directory of target.
Deprecated: This option is deprecated and will be removed in a future release.
func ApplyTerraformIgnore ¶ added in v0.7.0
func ApplyTerraformIgnore() PackerOption
ApplyTerraformIgnore is a PackerOption that will apply the .terraformignore rules and skip packing files it specifies.
func DereferenceSymlinks ¶ added in v0.7.0
func DereferenceSymlinks() PackerOption
DereferenceSymlinks is a PackerOption that will allow symlinks that reference a target outside of the source directory by copying the link target, turning it into a normal file within the archive.
Directories
¶
Path | Synopsis |
---|---|
internal
|
|
ignorefiles
Package ignorefiles deals with the ".terraformignore" file format, which is a convention similar to ".gitignore" that specifies path patterns that match files Terraform should discard or ignore when interpreting a package fetched from a remote location.
|
Package ignorefiles deals with the ".terraformignore" file format, which is a convention similar to ".gitignore" that specifies path patterns that match files Terraform should discard or ignore when interpreting a package fetched from a remote location. |
Package sourceaddrs deals with the various types of source code address that Terraform can gather into a source bundle via the sibling package "sourcebundle".
|
Package sourceaddrs deals with the various types of source code address that Terraform can gather into a source bundle via the sibling package "sourcebundle". |
Package sourcebundle deals with the construction of and later consumption of "source bundles", which are in some sense "meta-slugs" that capture a variety of different source packages together into a single working directory, which can optionally be bundled up into an archive for insertion into a blob storage system.
|
Package sourcebundle deals with the construction of and later consumption of "source bundles", which are in some sense "meta-slugs" that capture a variety of different source packages together into a single working directory, which can optionally be bundled up into an archive for insertion into a blob storage system. |