image

package
v0.244.0 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2026 License: Apache-2.0 Imports: 26 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetCompressionPipeline added in v0.40.2

func GetCompressionPipeline(compression string, buildPipeline manifest.Build, inputPipeline manifest.FilePipeline) manifest.FilePipeline

Types

type AnacondaContainerInstaller added in v0.29.0

type AnacondaContainerInstaller struct {
	Base
	AnacondaInstallerBase

	ContainerSource           container.SourceSpec
	InstallerPayload          container.SourceSpec
	ContainerRemoveSignatures bool

	// Locale for the installer. This should be set to the same locale as the
	// ISO OS payload, if known.
	Locale string

	// Filesystem type for the installed system as opposed to that of the ISO.
	InstallRootfsType disk.FSType

	// KernelVer is needed so that dracut finds it files
	KernelVer string
	// {Kernel,Initramfs}Path is needed for grub2.iso
	KernelPath    string
	InitramfsPath string
	// bootc installer cannot use /root as installer home
	InstallerHome string
}

func NewAnacondaContainerInstaller added in v0.29.0

func NewAnacondaContainerInstaller(platform platform.Platform, filename string, container container.SourceSpec) *AnacondaContainerInstaller

func (*AnacondaContainerInstaller) InstantiateManifestFromContainer added in v0.210.0

func (img *AnacondaContainerInstaller) InstantiateManifestFromContainer(m *manifest.Manifest,
	containers []container.SourceSpec,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type AnacondaContainerInstallerLegacy added in v0.210.0

type AnacondaContainerInstallerLegacy struct {
	Base
	AnacondaInstallerBase

	ExtraBasePackages rpmmd.PackageSet

	ContainerSource           container.SourceSpec
	ContainerRemoveSignatures bool

	// Locale for the installer. This should be set to the same locale as the
	// ISO OS payload, if known.
	Locale string

	// Filesystem type for the installed system as opposed to that of the ISO.
	InstallRootfsType disk.FSType
}

func NewAnacondaContainerInstallerLegacy added in v0.210.0

func NewAnacondaContainerInstallerLegacy(platform platform.Platform, filename string, container container.SourceSpec) *AnacondaContainerInstallerLegacy

func (*AnacondaContainerInstallerLegacy) InstantiateManifest added in v0.210.0

func (img *AnacondaContainerInstallerLegacy) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type AnacondaInstallerBase added in v0.230.0

type AnacondaInstallerBase struct {
	InstallerCustomizations manifest.InstallerCustomizations
	ISOCustomizations       manifest.ISOCustomizations
	RootfsCompression       string
	Kickstart               *kickstart.Options
}

common struct that all anaconda installers share

type AnacondaLiveInstaller

type AnacondaLiveInstaller struct {
	Base
	AnacondaInstallerBase

	Environment       environment.Environment
	ExtraBasePackages rpmmd.PackageSet

	// Locale for the installer. This should be set to the same locale as the
	// ISO OS payload, if known.
	Locale string

	AdditionalDracutModules []string
	AdditionalDrivers       []string
}

func NewAnacondaLiveInstaller

func NewAnacondaLiveInstaller(platform platform.Platform, filename string) *AnacondaLiveInstaller

func (*AnacondaLiveInstaller) InstantiateManifest

func (img *AnacondaLiveInstaller) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type AnacondaNetInstaller added in v0.176.0

type AnacondaNetInstaller struct {
	Base
	AnacondaInstallerBase

	Environment environment.Environment

	ExtraBasePackages rpmmd.PackageSet

	Language string
}

func NewAnacondaNetInstaller added in v0.176.0

func NewAnacondaNetInstaller(platform platform.Platform, filename string) *AnacondaNetInstaller

func (*AnacondaNetInstaller) InstantiateManifest added in v0.176.0

func (img *AnacondaNetInstaller) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type AnacondaOSTreeInstaller

type AnacondaOSTreeInstaller struct {
	Base
	AnacondaInstallerBase

	ExtraBasePackages rpmmd.PackageSet

	// Subscription options to include
	Subscription *subscription.ImageOptions

	Commit ostree.SourceSpec

	// Locale for the installer. This should be set to the same locale as the
	// ISO OS payload, if known.
	Locale string
}

func NewAnacondaOSTreeInstaller

func NewAnacondaOSTreeInstaller(platform platform.Platform, filename string, commit ostree.SourceSpec) *AnacondaOSTreeInstaller

func (*AnacondaOSTreeInstaller) InstantiateManifest

func (img *AnacondaOSTreeInstaller) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type AnacondaTarInstaller

type AnacondaTarInstaller struct {
	Base
	AnacondaInstallerBase

	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment

	ExtraBasePackages rpmmd.PackageSet
}

func NewAnacondaTarInstaller

func NewAnacondaTarInstaller(platform platform.Platform, filename string) *AnacondaTarInstaller

func (*AnacondaTarInstaller) InstantiateManifest

func (img *AnacondaTarInstaller) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type Archive

type Archive struct {
	Base
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Compression      string

	OSVersion string
}

func NewArchive

func NewArchive(platform platform.Platform, filename string) *Archive

func (*Archive) InstantiateManifest

func (img *Archive) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type Base

type Base struct {
	BuildOptions *manifest.BuildOptions
	// contains filtered or unexported fields
}

func NewBase

func NewBase(name string, platform platform.Platform, filename string) Base

func (Base) Name

func (img Base) Name() string

type BaseContainer

type BaseContainer struct {
	Base
	OSCustomizations           manifest.OSCustomizations
	OCIContainerCustomizations manifest.OCIContainerCustomizations
	Environment                environment.Environment
}

func NewBaseContainer

func NewBaseContainer(platform platform.Platform, filename string) *BaseContainer

func (*BaseContainer) InstantiateManifest

func (img *BaseContainer) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type BootcDiskImage added in v0.30.0

type BootcDiskImage struct {
	Base

	PartitionTable *disk.PartitionTable

	ContainerSource      *container.SourceSpec
	BuildContainerSource *container.SourceSpec

	// Customizations
	OSCustomizations manifest.OSCustomizations
}

func NewBootcDiskImage added in v0.30.0

func NewBootcDiskImage(platform platform.Platform, filename string, container container.SourceSpec, buildContainer container.SourceSpec) *BootcDiskImage

func (*BootcDiskImage) InstantiateManifestFromContainers added in v0.30.0

func (img *BootcDiskImage) InstantiateManifestFromContainers(m *manifest.Manifest,
	containers []container.SourceSpec,
	runner runner.Runner,
	rng *rand.Rand) error

type BootcLegacyDiskImage added in v0.40.2

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

Legacy pipeline to create bootc images. This can be removed once

https://github.com/containers/bootc/pull/462

or

https://www.mail-archive.com/qemu-devel@nongnu.org/msg1034508.html

is available everyhwere

func NewBootcLegacyDiskImage added in v0.40.2

func NewBootcLegacyDiskImage(real *BootcDiskImage) *BootcLegacyDiskImage

func (*BootcLegacyDiskImage) InstantiateManifestFromContainers added in v0.40.2

func (img *BootcLegacyDiskImage) InstantiateManifestFromContainers(m *manifest.Manifest,
	containers []container.SourceSpec,
	runner runner.Runner,
	rng *rand.Rand) error

type BootcPXEImage added in v0.234.0

type BootcPXEImage struct {
	Base

	PartitionTable *disk.PartitionTable

	ContainerSource      *container.SourceSpec
	BuildContainerSource *container.SourceSpec

	// Customizations
	OSCustomizations manifest.OSCustomizations

	// Kernel version from the container, used to copy it into the PXE tar tree
	KernelVersion string

	// Compression used for the tar
	Compression string
}

func NewBootcPXEImage added in v0.234.0

func NewBootcPXEImage(platform platform.Platform, filename string, container container.SourceSpec, buildContainer container.SourceSpec) *BootcPXEImage

func (*BootcPXEImage) InstantiateManifestFromContainers added in v0.234.0

func (img *BootcPXEImage) InstantiateManifestFromContainers(m *manifest.Manifest,
	containers []container.SourceSpec,
	runner runner.Runner,
	rng *rand.Rand) error

type ContainerBasedIso added in v0.234.0

type ContainerBasedIso struct {
	Base

	// Container source for the OS tree
	ContainerSource container.SourceSpec

	// PayloadContainer is an optional container to embed in the image's
	// container storage (for bootc installer scenarios where the payload
	// container needs to be available at install time).
	PayloadContainer *container.SourceSpec

	Product string
	Version string
	Release string

	ISOLabel string

	RootfsCompression string
	RootfsType        manifest.ISORootfsType

	KernelPath    string
	KernelOpts    []string
	InitramfsPath string

	Grub2MenuDefault *int
	Grub2MenuTimeout *int

	Grub2MenuEntries []manifest.ISOGrub2MenuEntry
}

func NewContainerBasedIso added in v0.234.0

func NewContainerBasedIso(platform platform.Platform, filename string, container container.SourceSpec, buildOpts *manifest.BuildOptions) *ContainerBasedIso

func (*ContainerBasedIso) InstantiateManifestFromContainer added in v0.234.0

func (img *ContainerBasedIso) InstantiateManifestFromContainer(m *manifest.Manifest,
	containers []container.SourceSpec,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type DiskImage

type DiskImage struct {
	Base

	PartitionTable   *disk.PartitionTable
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Compression      string

	// Control the VPC subformat use of force_size
	VPCForceSize *bool
	PartTool     osbuild.PartTool

	NoBLS     bool
	OSProduct string
	OSVersion string
	OSNick    string
}

func NewDiskImage

func NewDiskImage(platform platform.Platform, filename string) *DiskImage

func (*DiskImage) InstantiateManifest

func (img *DiskImage) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type ImageKind

type ImageKind interface {
	Name() string
	InstantiateManifest(m *manifest.Manifest, repos []rpmmd.RepoConfig, runner runner.Runner, rng *rand.Rand) (*artifact.Artifact, error)
}

type OSTreeArchive

type OSTreeArchive struct {
	Base
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment

	// OSTreeParent specifies the source for an optional parent commit for the
	// new commit being built.
	OSTreeParent *ostree.SourceSpec

	// OSTreeRef is the ref of the commit that will be built.
	OSTreeRef string

	OSVersion string

	InstallWeakDeps bool

	BootContainer bool

	// bootc install config for defining the preferred filesystem type and
	// kernel arguments for bootable containers.
	// This is ignored if BootContainer = false.
	BootcConfig *bootc.Config

	// Bootupd enables bootupd metadata generation for ostree commits.
	// When true, runs bootupctl backend generate-update-metadata to
	// transform /usr/lib/ostree-boot into bootupd-compatible update metadata.
	Bootupd bool
}

func NewOSTreeArchive

func NewOSTreeArchive(platform platform.Platform, filename string, ref string) *OSTreeArchive

func (*OSTreeArchive) InstantiateManifest

func (img *OSTreeArchive) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type OSTreeContainer

type OSTreeContainer struct {
	Base
	OSCustomizations                 manifest.OSCustomizations
	OSTreeCommitServerCustomizations manifest.OSTreeCommitServerCustomizations
	OCIContainerCustomizations       manifest.OCIContainerCustomizations
	Environment                      environment.Environment

	// OSTreeParent specifies the source for an optional parent commit for the
	// new commit being built.
	OSTreeParent *ostree.SourceSpec

	// OSTreeRef is the ref of the commit that will be built.
	OSTreeRef string

	OSVersion              string
	ExtraContainerPackages rpmmd.PackageSet // FIXME: this is never read
	ContainerLanguage      string
}

func NewOSTreeContainer

func NewOSTreeContainer(platform platform.Platform, filename string, ref string) *OSTreeContainer

func (*OSTreeContainer) InstantiateManifest

func (img *OSTreeContainer) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type OSTreeDiskImage

type OSTreeDiskImage struct {
	Base
	OSCustomizations manifest.OSCustomizations
	PartitionTable   *disk.PartitionTable

	OSTreeDeploymentCustomizations manifest.OSTreeDeploymentCustomizations

	CommitSource    *ostree.SourceSpec
	ContainerSource *container.SourceSpec

	Remote ostree.Remote
	OSName string
	Ref    string

	Compression string
}

func NewOSTreeDiskImageFromCommit added in v0.20.0

func NewOSTreeDiskImageFromCommit(platform platform.Platform, filename string, commit ostree.SourceSpec) *OSTreeDiskImage

func NewOSTreeDiskImageFromContainer added in v0.20.0

func NewOSTreeDiskImageFromContainer(platform platform.Platform, filename string, container container.SourceSpec, ref string) *OSTreeDiskImage

func (*OSTreeDiskImage) InstantiateManifest

func (img *OSTreeDiskImage) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type OSTreeSimplifiedInstaller

type OSTreeSimplifiedInstaller struct {
	Base

	OSCustomizations        manifest.OSCustomizations
	Environment             environment.Environment
	InstallerCustomizations manifest.InstallerCustomizations
	ISOCustomizations       manifest.ISOCustomizations

	ExtraBasePackages rpmmd.PackageSet

	// ISO label template (architecture-free)
	ISOLabelTmpl string

	// OSName for ostree deployment
	OSName string

	FDO *fdo.Options

	// Ignition firstboot configuration options
	IgnitionFirstBoot *ignition.FirstBootOptions

	// Ignition embedded configuration options
	IgnitionEmbedded *ignition.EmbeddedOptions
	// contains filtered or unexported fields
}

func NewOSTreeSimplifiedInstaller

func NewOSTreeSimplifiedInstaller(platform platform.Platform, filename string, rawImage *OSTreeDiskImage, installDevice string) *OSTreeSimplifiedInstaller

func (*OSTreeSimplifiedInstaller) InstantiateManifest

func (img *OSTreeSimplifiedInstaller) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

type PXETar added in v0.195.0

type PXETar struct {
	Base
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Compression      string

	OSVersion string
}

func NewPXETar added in v0.195.0

func NewPXETar(platform platform.Platform, filename string) *PXETar

func (*PXETar) InstantiateManifest added in v0.195.0

func (img *PXETar) InstantiateManifest(m *manifest.Manifest,
	repos []rpmmd.RepoConfig,
	runner runner.Runner,
	rng *rand.Rand) (*artifact.Artifact, error)

Jump to

Keyboard shortcuts

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