Documentation
¶
Index ¶
- Constants
- Variables
- type AddRepo
- type Arch
- type ArtifactSources
- type ContainerImage
- type Context
- type Definition
- type DiskSize
- type EmbeddedArtifactRegistry
- type Helm
- type HelmAuthentication
- type HelmChart
- type HelmRepository
- type Image
- type IsoConfiguration
- type Kubernetes
- type LocalRPMConfig
- type Manifests
- type Network
- type Node
- type NtpConfiguration
- type OperatingSystem
- type OperatingSystemGroup
- type OperatingSystemUser
- type Packages
- type Proxy
- type RawConfiguration
- type Registry
- type RegistryAuthentication
- type Suma
- type Systemd
- type Time
Constants ¶
View Source
const ( TypeISO = "iso" TypeRAW = "raw" TypeTar = "tar" ArchTypeX86 Arch = "x86_64" ArchTypeARM Arch = "aarch64" KubernetesDistroRKE2 = "rke2" KubernetesDistroK3S = "k3s" KubernetesNodeTypeServer = "server" KubernetesNodeTypeAgent = "agent" CNITypeNone = "none" CNITypeCilium = "cilium" CNITypeCanal = "canal" CNITypeCalico = "calico" IngressTypeTraefik = "traefik" )
Variables ¶
View Source
var ErrorInvalidSchemaVersion = errors.New("invalid schema version")
Functions ¶
This section is empty.
Types ¶
type ArtifactSources ¶ added in v1.1.0
type ArtifactSources struct {
MetalLB struct {
Chart string `yaml:"chart"`
Repository string `yaml:"repository"`
Version string `yaml:"version"`
} `yaml:"metallb"`
EndpointCopierOperator struct {
Chart string `yaml:"chart"`
Repository string `yaml:"repository"`
Version string `yaml:"version"`
} `yaml:"endpoint-copier-operator"`
Kubernetes struct {
K3s struct {
SELinuxPackage string `yaml:"selinuxPackage"`
SELinuxRepository string `yaml:"selinuxRepository"`
SELinuxRepositoryPriority int `yaml:"selinuxRepositoryPriority"`
ReleaseURL string `yaml:"releaseURL"`
} `yaml:"k3s"`
Rke2 struct {
SELinuxPackage string `yaml:"selinuxPackage"`
SELinuxRepository string `yaml:"selinuxRepository"`
SELinuxRepositoryPriority int `yaml:"selinuxRepositoryPriority"`
ReleaseURL string `yaml:"releaseURL"`
} `yaml:"rke2"`
} `yaml:"kubernetes"`
}
type ContainerImage ¶
type ContainerImage struct {
Name string `yaml:"name"`
}
type Context ¶
type Context struct {
// ImageConfigDir is the root directory storing all configuration files.
ImageConfigDir string
// BuildDir is the directory used for assembling the different components used in a build.
BuildDir string
// CombustionDir is a subdirectory under BuildDir containing the Combustion script and its smaller related files.
CombustionDir string
// ArtefactsDir is a subdirectory under BuildDir containing the larger Combustion related files.
ArtefactsDir string
// ImageDefinition contains the image definition properties.
ImageDefinition *Definition
// ArtifactSources contains the information necessary for the deployment of external artifacts.
ArtifactSources *ArtifactSources
// CacheDir contains all of the artifacts that are cached for the build process.
CacheDir string
// IsConfigDrive defines whether this is an image or config drive build
IsConfigDrive bool
}
func (*Context) OutputPath ¶ added in v1.3.0
type Definition ¶
type Definition struct {
APIVersion string `yaml:"apiVersion"`
Image Image `yaml:"image"`
OperatingSystem OperatingSystem `yaml:"operatingSystem"`
EmbeddedArtifactRegistry EmbeddedArtifactRegistry `yaml:"embeddedArtifactRegistry"`
Kubernetes Kubernetes `yaml:"kubernetes"`
}
func ParseDefinition ¶
func ParseDefinition(data []byte) (*Definition, error)
type EmbeddedArtifactRegistry ¶
type EmbeddedArtifactRegistry struct {
ContainerImages []ContainerImage `yaml:"images"`
Registries []Registry `yaml:"registries"`
}
type Helm ¶
type Helm struct {
Charts []HelmChart `yaml:"charts"`
Repositories []HelmRepository `yaml:"repositories"`
}
type HelmAuthentication ¶
type HelmChart ¶
type HelmChart struct {
Name string `yaml:"name"`
ReleaseName string `yaml:"releaseName"`
RepositoryName string `yaml:"repositoryName"`
Version string `yaml:"version"`
TargetNamespace string `yaml:"targetNamespace"`
CreateNamespace bool `yaml:"createNamespace"`
InstallationNamespace string `yaml:"installationNamespace"`
ValuesFile string `yaml:"valuesFile"`
APIVersions []string `yaml:"apiVersions"`
}
type HelmRepository ¶
type IsoConfiguration ¶
type IsoConfiguration struct {
InstallDevice string `yaml:"installDevice"`
}
type Kubernetes ¶
type LocalRPMConfig ¶
type NtpConfiguration ¶
type OperatingSystem ¶
type OperatingSystem struct {
KernelArgs []string `yaml:"kernelArgs"`
Groups []OperatingSystemGroup `yaml:"groups"`
Users []OperatingSystemUser `yaml:"users"`
Systemd Systemd `yaml:"systemd"`
Suma Suma `yaml:"suma"`
Packages Packages `yaml:"packages"`
IsoConfiguration IsoConfiguration `yaml:"isoConfiguration"`
RawConfiguration RawConfiguration `yaml:"rawConfiguration"`
Time Time `yaml:"time"`
Proxy Proxy `yaml:"proxy"`
Keymap string `yaml:"keymap"`
EnableFIPS bool `yaml:"enableFIPS"`
}
type OperatingSystemGroup ¶
type OperatingSystemUser ¶
type OperatingSystemUser struct {
Username string `yaml:"username"`
UID int `yaml:"uid"`
EncryptedPassword string `yaml:"encryptedPassword"`
SSHKeys []string `yaml:"sshKeys"`
PrimaryGroup string `yaml:"primaryGroup"`
SecondaryGroups []string `yaml:"secondaryGroups"`
CreateHomeDir bool `yaml:"createHomeDir"`
}
type RawConfiguration ¶
type Registry ¶ added in v1.2.0
type Registry struct {
URI string `yaml:"uri"`
Authentication RegistryAuthentication `yaml:"authentication"`
}
type RegistryAuthentication ¶ added in v1.2.0
type Time ¶
type Time struct {
Timezone string `yaml:"timezone"`
NtpConfiguration NtpConfiguration `yaml:"ntp"`
}
Click to show internal directories.
Click to hide internal directories.