image

package
v0.56.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 20 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
	Users             []users.User
	Groups            []users.Group

	SquashfsCompression string

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

	ContainerSource container.SourceSpec

	Filename string

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

	// Kernel options that will be apended to the installed system
	// (not the iso)
	KickstartKernelOptionsAppend []string
	// Enable networking on on boot in the installed system
	KickstartNetworkOnBoot 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
	OSName    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
	Users             []users.User
	Groups            []users.Group

	Language *string
	Keyboard *string
	Timezone *string

	// Create a sudoers drop-in file for each user or group to enable the
	// NOPASSWD option
	NoPasswd []string

	// Add kickstart options to make the installation fully unattended
	UnattendedKickstart bool

	SquashfsCompression string

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

	Commit ostree.SourceSpec

	Filename string

	AdditionalDracutModules   []string
	AdditionalAnacondaModules []string
	AdditionalDrivers         []string
	FIPS                      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
	Users             []users.User
	Groups            []users.Group

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

	// Create a sudoers drop-in file for each user or group to enable the
	// NOPASSWD option
	NoPasswd []string

	// Add kickstart options to make the installation fully unattended.
	// Enabling this option also automatically enables the ISORootKickstart
	// option.
	UnattendedKickstart bool

	SquashfsCompression string

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

	Filename string

	AdditionalKernelOpts      []string
	AdditionalAnacondaModules []string
	AdditionalDracutModules   []string
	AdditionalDrivers         []string
}

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
}

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