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" ArchTypeX86 Arch = "x86_64" ArchTypeARM Arch = "aarch64" KubernetesDistroRKE2 = "rke2" KubernetesDistroK3S = "k3s" KubernetesNodeTypeServer = "server" KubernetesNodeTypeAgent = "agent" CNITypeNone = "none" CNITypeCilium = "cilium" CNITypeCanal = "canal" CNITypeCalico = "calico" )
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"` } `yaml:"k3s"` Rke2 struct { SELinuxPackage string `yaml:"selinuxPackage"` SELinuxRepository string `yaml:"selinuxRepository"` } `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 }
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.