image

package
v0.80.0 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: Apache-2.0 Imports: 23 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

	SquashfsCompression string

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

	ContainerSource           container.SourceSpec
	ContainerRemoveSignatures bool

	Filename string

	AdditionalDracutModules   []string
	AdditionalAnacondaModules []string
	DisabledAnacondaModules   []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
}

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

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

	Filename string

	AdditionalKernelOpts []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

	SquashfsCompression string

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

	Commit ostree.SourceSpec

	Filename string

	AdditionalDracutModules   []string
	AdditionalAnacondaModules []string
	DisabledAnacondaModules   []string
	AdditionalDrivers         []string
	FIPS                      bool

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

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

	SquashfsCompression string

	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

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