Documentation ¶
Index ¶
- Variables
- type AccountsOption
- type Architecture
- func (a Architecture) Compatible(b Architecture) bool
- func (a Architecture) String() string
- func (a Architecture) ToAPK() string
- func (a Architecture) ToOCIPlatform() *v1.Platform
- func (a Architecture) ToQEmu() string
- func (a Architecture) ToRustTriplet(suffix string) string
- func (a Architecture) ToTriplet(suffix string) string
- func (a *Architecture) UnmarshalYAML(unmarshal func(interface{}) error) error
- type BuildOption
- type ContentsOption
- type Group
- type ImageAccounts
- type ImageConfiguration
- func (ic *ImageConfiguration) Load(imageConfigPath string, logger log.Logger) error
- func (ic *ImageConfiguration) ProbeVCSUrl(imageConfigPath string, logger log.Logger)
- func (ic *ImageConfiguration) Summarize(logger log.Logger)
- func (ic *ImageConfiguration) Validate() error
- func (ic *ImageConfiguration) ValidateServiceBundle() error
- type ImageContents
- type ImageEntrypoint
- type ListOption
- type OSRelease
- type PathMutation
- type SBOM
- type User
Constants ¶
This section is empty.
Variables ¶
var AllArchs = []Architecture{
_386,
amd64,
arm64,
armv6,
armv7,
ppc64le,
riscv64,
s390x,
}
AllArchs contains the standard set of supported architectures, which are used by `apko publish` when no architectures are specified.
Functions ¶
This section is empty.
Types ¶
type AccountsOption ¶ added in v0.7.0
type AccountsOption struct {
RunAs string `yaml:"run-as,omitempty"`
}
AccountsOption describes an optional deviation to an apko environment's run-as setting.
type Architecture ¶ added in v0.2.0
type Architecture string
Architecture represents a CPU architecture for the container image. TODO(kaniini): Maybe this should be its own package at this point?
func ParseArchitecture ¶ added in v0.2.0
func ParseArchitecture(s string) Architecture
ParseArchitecture parses a single architecture in string form, and returns the equivalent Architecture value.
Any apk-style arch string (e.g., "x86_64") is converted to the OCI-style equivalent ("amd64").
func ParseArchitectures ¶ added in v0.2.0
func ParseArchitectures(in []string) []Architecture
ParseArchitectures parses architecture values in string form, and returns the equivalent slice of Architectures.
apk-style arch strings (e.g., "x86_64") are converted to the OCI-style equivalent ("amd64"). Values are deduped, and the resulting slice is sorted for reproducibility.
func (Architecture) Compatible ¶ added in v0.2.0
func (a Architecture) Compatible(b Architecture) bool
func (Architecture) String ¶ added in v0.2.0
func (a Architecture) String() string
func (Architecture) ToAPK ¶ added in v0.2.0
func (a Architecture) ToAPK() string
ToAPK returns the apk-style equivalent string for the Architecture.
func (Architecture) ToOCIPlatform ¶ added in v0.2.0
func (a Architecture) ToOCIPlatform() *v1.Platform
func (Architecture) ToQEmu ¶ added in v0.2.0
func (a Architecture) ToQEmu() string
func (Architecture) ToRustTriplet ¶ added in v0.6.0
func (a Architecture) ToRustTriplet(suffix string) string
func (Architecture) ToTriplet ¶ added in v0.6.0
func (a Architecture) ToTriplet(suffix string) string
func (*Architecture) UnmarshalYAML ¶ added in v0.3.0
func (a *Architecture) UnmarshalYAML(unmarshal func(interface{}) error) error
type BuildOption ¶ added in v0.7.0
type BuildOption struct { Contents ContentsOption `yaml:"contents,omitempty"` Accounts AccountsOption `yaml:"accounts,omitempty"` Environment map[string]string `yaml:"environment,omitempty"` Entrypoint ImageEntrypoint `yaml:"entrypoint,omitempty"` }
BuildOption describes an optional deviation to an apko environment. Deprecated: Use WithExtraPackages.
func (BuildOption) Apply ¶ added in v0.7.0
func (bo BuildOption) Apply(ic *ImageConfiguration) error
Apply applies a patch described by a BuildOption to an apko environment.
type ContentsOption ¶ added in v0.7.0
type ContentsOption struct {
Packages ListOption `yaml:"packages,omitempty"`
}
ContentsOption describes an optional deviation to an apko environment's contents block.
type ImageAccounts ¶ added in v0.7.0
type ImageConfiguration ¶
type ImageConfiguration struct { // Required: The apk packages in the container image Contents ImageContents `yaml:"contents,omitempty"` // Required: The entrypoint of the container image // // This typically is the path to the executable to run. Since many of // images do not include a shell, this should be the full path // to the executable. Entrypoint ImageEntrypoint `yaml:"entrypoint,omitempty"` // Optional: The command of the container image // // These are the additional arguments to pass to the entrypoint. Cmd string `yaml:"cmd,omitempty"` // Optional: The stop signal used to suspend the execution of the containers process StopSignal string `yaml:"stop-signal,omitempty"` // Optional: The working directory of the container WorkDir string `yaml:"work-dir,omitempty"` // Optional: Account configuration for the container image Accounts ImageAccounts `yaml:"accounts,omitempty"` // Optional: List of CPU architectures to build the container image for // // The list of supported architectures is: 386, amd64, arm64, arm/v6, arm/v7, ppc64le, riscv64, s390x Archs []Architecture `yaml:"archs,omitempty"` // Optional: Envionment variables to set in the container image Environment map[string]string `yaml:"environment,omitempty"` // Optional: List of paths mutations Paths []PathMutation `yaml:"paths,omitempty"` // Optional: The /etc/os-release configuration for the container image OSRelease OSRelease `yaml:"os-release,omitempty"` // Optional: The link to version control system for this container's source code VCSUrl string `yaml:"vcs-url,omitempty"` // Optional: Annotations to apply to the images manifests Annotations map[string]string `yaml:"annotations,omitempty"` // Optional: Path to a local file containing additional image configuration // // The included configuration is deep merged with the parent configuration Include string `yaml:"include,omitempty"` // Optional: A map of named build option deviations // // Deprecated: Use WithExtraPackages. Options map[string]BuildOption `yaml:"options,omitempty"` // Optional: A list of volumes to configure // // This is _not_ the same as Paths, but refers to the OCI spec "volumes" // field used by some container runtimes (docker) to create volumes at // runtime. For most use cases, this is not needed, but consider using this // when the image requires special volume configuration at runtime for // supported container runtimes. Volumes []string `yaml:"volumes,omitempty"` }
func (*ImageConfiguration) Load ¶
func (ic *ImageConfiguration) Load(imageConfigPath string, logger log.Logger) error
Loads an image configuration given a configuration file path.
func (*ImageConfiguration) ProbeVCSUrl ¶ added in v0.5.0
func (ic *ImageConfiguration) ProbeVCSUrl(imageConfigPath string, logger log.Logger)
Attempt to probe an upstream VCS URL if known.
func (*ImageConfiguration) Summarize ¶ added in v0.2.0
func (ic *ImageConfiguration) Summarize(logger log.Logger)
func (*ImageConfiguration) Validate ¶
func (ic *ImageConfiguration) Validate() error
Do preflight checks and mutations on an image configuration.
func (*ImageConfiguration) ValidateServiceBundle ¶
func (ic *ImageConfiguration) ValidateServiceBundle() error
Do preflight checks and mutations on an image configured to manage a service bundle.
type ImageContents ¶ added in v0.7.0
type ImageContents struct { // A list of apk repositories to use for pulling packages Repositories []string `yaml:"repositories,omitempty"` // A list of public keys used to verify the desired repositories Keyring []string `yaml:"keyring,omitempty"` // A list of packages to include in the image Packages []string `yaml:"packages,omitempty"` }
type ImageEntrypoint ¶ added in v0.7.0
type ImageEntrypoint struct { // Optional: The type of entrypoint. Only "service-bundle" is supported. Type string // Required: The command of the entrypoint Command string // Optional: The shell fragment of the entrypoint command ShellFragment string `yaml:"shell-fragment"` Services map[string]string }
type ListOption ¶ added in v0.7.0
type ListOption struct { Add []string `yaml:"add,omitempty"` Remove []string `yaml:"remove,omitempty"` }
ListOption describes an optional deviation to a list, for example, a list of packages.
type OSRelease ¶ added in v0.3.0
type OSRelease struct { // Optional: The name of the OS Name string // Optional: The unique identifier for the OS ID string // Optional: The unique identifier for the version of the OS VersionID string `yaml:"version-id"` // Optional: The human readable description of the OS PrettyName string `yaml:"pretty-name"` // Optional: The URL of the homepage for the OS HomeURL string `yaml:"home-url"` // Optional: The URL of the bug reporting website for the OS BugReportURL string `yaml:"bug-report-url"` }
type PathMutation ¶ added in v0.3.0
type PathMutation struct { // The target path to mutate Path string // The type of mutation to perform // // This can be one of: directory, empty-file, hardlink, symlink, permissions Type string // The mutation's desired user ID UID uint32 // The mutation's desired group ID GID uint32 // The permission bits for the path Permissions uint32 // The source path to mutate Source string // Toggle whether to mutate recursively Recursive bool }