image

package
v0.124.0 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2025 License: Apache-2.0 Imports: 27 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnacondaContainerInstaller added in v0.29.0

type AnacondaContainerInstaller struct {
	Base
	Platform          platform.Platform
	ExtraBasePackages rpmmd.PackageSet

	RootfsCompression string
	RootfsType        manifest.RootfsType
	ISOBoot           manifest.ISOBootType

	ISOLabel  string
	Product   string
	Variant   string
	Ref       string
	OSVersion string
	Release   string
	Preview   bool

	ContainerSource           container.SourceSpec
	ContainerRemoveSignatures bool

	Filename string

	AdditionalAnacondaModules []string
	DisabledAnacondaModules   []string

	AdditionalDracutModules []string
	AdditionalDrivers       []string

	FIPS bool

	Kickstart *kickstart.Options

	UseRHELLoraxTemplates bool

	// Uses the old, deprecated, Anaconda config option "kickstart-modules".
	// Only for RHEL 8.
	UseLegacyAnacondaConfig bool

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

func NewAnacondaContainerInstaller added in v0.29.0

func NewAnacondaContainerInstaller(container container.SourceSpec, ref string) *AnacondaContainerInstaller

func (*AnacondaContainerInstaller) InstantiateManifest added in v0.29.0

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

type AnacondaLiveInstaller

type AnacondaLiveInstaller struct {
	Base
	Platform    platform.Platform
	Environment environment.Environment
	Workload    workload.Workload

	ExtraBasePackages rpmmd.PackageSet

	RootfsCompression string
	RootfsType        manifest.RootfsType
	ISOBoot           manifest.ISOBootType

	ISOLabel  string
	Product   string
	Variant   string
	OSVersion string
	Release   string
	Preview   bool

	Filename string

	AdditionalKernelOpts []string

	// 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() *AnacondaLiveInstaller

func (*AnacondaLiveInstaller) InstantiateManifest

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

type AnacondaOSTreeInstaller

type AnacondaOSTreeInstaller struct {
	Base
	Platform          platform.Platform
	ExtraBasePackages rpmmd.PackageSet

	Kickstart *kickstart.Options

	// Subscription options to include
	Subscription *subscription.ImageOptions

	RootfsCompression string
	RootfsType        manifest.RootfsType
	ISOBoot           manifest.ISOBootType

	ISOLabel  string
	Product   string
	Variant   string
	OSVersion string
	Release   string
	Preview   bool

	Commit ostree.SourceSpec

	Filename string

	AdditionalAnacondaModules []string
	DisabledAnacondaModules   []string

	AdditionalDracutModules []string
	AdditionalDrivers       []string

	FIPS bool

	// Uses the old, deprecated, Anaconda config option "kickstart-modules".
	// Only for RHEL 8.
	UseLegacyAnacondaConfig bool

	// 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(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
	Platform         platform.Platform
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload

	ExtraBasePackages rpmmd.PackageSet

	// If set, the kickstart file will be added to the bootiso-tree at the
	// default path for osbuild, otherwise any kickstart options will be
	// configured in the default location for interactive defaults in the
	// rootfs. Enabling UnattendedKickstart automatically enables this option
	// because automatic installations cannot be configured using interactive
	// defaults.
	ISORootKickstart bool
	Kickstart        *kickstart.Options

	RootfsCompression string
	RootfsType        manifest.RootfsType
	ISOBoot           manifest.ISOBootType

	ISOLabel  string
	Product   string
	Variant   string
	OSVersion string
	Release   string
	Preview   bool

	Filename string

	AdditionalKernelOpts      []string
	AdditionalAnacondaModules []string
	DisabledAnacondaModules   []string

	AdditionalDracutModules []string
	AdditionalDrivers       []string

	// Uses the old, deprecated, Anaconda config option "kickstart-modules".
	// Only for RHEL 8.
	UseLegacyAnacondaConfig bool
}

func NewAnacondaTarInstaller

func NewAnacondaTarInstaller() *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
	Platform         platform.Platform
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload
	Filename         string
}

func NewArchive

func NewArchive() *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 {
	// contains filtered or unexported fields
}

func NewBase

func NewBase(name string) Base

func (Base) Name

func (img Base) Name() string

type BaseContainer

type BaseContainer struct {
	Base
	Platform         platform.Platform
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload
	Filename         string
}

func NewBaseContainer

func NewBaseContainer() *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

	Platform       platform.Platform
	PartitionTable *disk.PartitionTable

	Filename string

	ContainerSource *container.SourceSpec

	// Customizations
	KernelOptionsAppend []string

	// The users to put into the image, note that /etc/paswd (and friends)
	// will become unmanaged state by bootc when used
	Users  []users.User
	Groups []users.Group

	// Custom directories and files to create in the image
	Directories []*fsnode.Directory
	Files       []*fsnode.File

	// SELinux policy, when set it enables the labeling of the tree with the
	// selected profile
	SELinux string
}

func NewBootcDiskImage added in v0.30.0

func NewBootcDiskImage(container 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.56.0

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.56.0

func NewBootcLegacyDiskImage(real *BootcDiskImage) *BootcLegacyDiskImage

func (*BootcLegacyDiskImage) InstantiateManifestFromContainers added in v0.56.0

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

type DiskImage

type DiskImage struct {
	Base
	Platform         platform.Platform
	PartitionTable   *disk.PartitionTable
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload
	Filename         string
	Compression      string

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

	NoBLS     bool
	OSProduct string
	OSVersion string
	OSNick    string

	// InstallWeakDeps enables installation of weak dependencies for packages
	// that are statically defined for the payload pipeline of the image.
	InstallWeakDeps *bool
}

func NewDiskImage

func NewDiskImage() *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
	Platform         platform.Platform
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload

	// 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
	Filename  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
}

func NewOSTreeArchive

func NewOSTreeArchive(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
	Platform         platform.Platform
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload

	// 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
	Filename               string
}

func NewOSTreeContainer

func NewOSTreeContainer(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

	Platform       platform.Platform
	Workload       workload.Workload
	PartitionTable *disk.PartitionTable

	OSTreeDeploymentCustomizations manifest.OSTreeDeploymentCustomizations

	CommitSource    *ostree.SourceSpec
	ContainerSource *container.SourceSpec

	Remote ostree.Remote
	OSName string
	Ref    string

	Filename string

	Compression string

	// Container buildable tweaks the buildroot to be container friendly,
	// i.e. to not rely on an installed osbuild-selinux
	ContainerBuildable bool
}

func NewOSTreeDiskImageFromCommit added in v0.20.0

func NewOSTreeDiskImageFromCommit(commit ostree.SourceSpec) *OSTreeDiskImage

func NewOSTreeDiskImageFromContainer added in v0.20.0

func NewOSTreeDiskImageFromContainer(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

	Platform         platform.Platform
	OSCustomizations manifest.OSCustomizations
	Environment      environment.Environment
	Workload         workload.Workload

	ExtraBasePackages rpmmd.PackageSet

	ISOLabel string

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

	// Product string for ISO buildstamp
	Product string

	// OSVersion string for ISO buildstamp
	OSVersion string

	// Variant string for ISO buildstamp
	Variant string

	// OSName for ostree deployment
	OSName string

	Filename string

	FDO *fdo.Options

	// Ignition firstboot configuration options
	IgnitionFirstBoot *ignition.FirstBootOptions

	// Ignition embedded configuration options
	IgnitionEmbedded *ignition.EmbeddedOptions

	AdditionalDracutModules []string
	AdditionalDrivers       []string
	// contains filtered or unexported fields
}

func NewOSTreeSimplifiedInstaller

func NewOSTreeSimplifiedInstaller(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)

Jump to

Keyboard shortcuts

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