Documentation
¶
Overview ¶
Package distro is for the api representation of Distro Package
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ZarfDistro ¶
type ZarfDistro struct {
APIVersion string `json:"apiVersion,omitempty" jsonschema:"enum=zarf.dev/v1alpha1"`
Kind v1alpha1.ZarfDistroKind `json:"kind" jsonschema:"enum=ZarfDistro"`
Metadata ZarfDistroMetadata `json:"metadata"`
Build ZarfDistroBuildData `json:"build,omitempty"`
Spec ZarfDistroSpec `json:"spec"`
}
ZarfDistro root information
func (ZarfDistro) IsSBOMAble ¶
func (distro ZarfDistro) IsSBOMAble() bool
IsSBOMAble has files that can have a sbom generated from
type ZarfDistroActions ¶
type ZarfDistroActions struct {
// OnCreate actions
OnCreate zarf.ZarfComponentActionSet `json:"onCreate,omitempty"`
}
ZarfDistroActions that are ran during certain phases of the distro package
type ZarfDistroBuildData ¶
type ZarfDistroBuildData struct {
// Architecture of the distro package
Architecture string `json:"architecture,omitempty"`
// Timestamp of when the distro was created
Timestamp string `json:"timestamp,omitempty"`
// Version of the distro is created as
Version string `json:"version,omitempty"`
// RegistryOverrides for who the distro was created with
RegistryOverrides map[string]string `json:"registryOverrides,omitempty"`
// Whether this package was signed
Signed *bool `json:"signed,omitempty"`
// ProvenanceFiles lists files present in the package that are not included in checksums.txt.
// These are files added after checksum generation (e.g., signature files).
// This list is authenticated through the signed zarf.yaml.
ProvenanceFiles []string `json:"provenanceFiles,omitempty"`
}
ZarfDistroBuildData time information
type ZarfDistroConfig ¶
type ZarfDistroConfig struct {
// Files are files that will be populated on the hosts, regardless of what install method is used
Files v1alpha1.ZarfFiles `json:"files,omitempty"`
// ImagesConfig for the images
ImagesConfig ZarfDistroImageConfig `json:"imageConfig,omitempty"`
// OS for the node os
OS ZarfDistroOS `json:"os,omitempty"`
// Engine is used for configuring the engine
Engine dig.Mapping `json:"engine,omitempty"`
}
ZarfDistroConfig holds values for distro config
type ZarfDistroImageConfig ¶
type ZarfDistroImageConfig struct {
// Compression that the image tar balls will be compressed with
Compression string `json:"compression,omitempty" jsonschema:"default=none,enum=none,enum=gz,enum=zstd"`
// Path that the image tar balls will be uploaded too
Path string `json:"path,omitempty"`
// Images list of the various required offline images
Images []string `json:"images,omitempty" jsonschema:"uniqueItems=true"`
}
ZarfDistroImageConfig holds values for the images that will be populated on a host
type ZarfDistroMetadata ¶
type ZarfDistroMetadata struct {
// Uncompressed indicates if this package should be compressed or not
Uncompressed bool
// Architecture the CPU architecture this distro is built for
Architecture string `json:"architecture,omitempty" jsonschema:"default=amd64,enum=amd64,enum=arm64"`
// Name of the distro package
Name string `json:"name" jsonschema:"pattern=^[a-z0-9][a-z0-9\\-]*$"`
// Description of what this distro package is created to do
Description string `json:"description,omitempty"`
// Version of the distro that will be installed, suggested to align to the kubernetes version being installed
Version string `json:"version,omitempty"`
// Annotations that will be added to the OCI manifest
Annotations map[string]string `json:"annotations,omitempty"`
// URL is used by the oci annotation for the URL to find more information on the image.
URL string `json:"url,omitempty"`
// Authors is used by the oci annotation for the contact details of the people or organization responsible for the image (freeform string).
Authors string `json:"athors,omitempty"`
// Documentation source is used by the oci annotation for the URL to get documentation on the image.
Documentation string `json:"documentation,omitempty"`
// Source is used by the oci annotation for the URL to get source code for building the image.
Source string `json:"source,omitempty"`
// Vendor is used by the oci annotation for the name of the distributing entity, organization or individual.
Vendor string `json:"vendor,omitempty"`
// AggregateChecksum of a checksums.txt file that contains checksums all the layers within the package.
AggregateChecksum string `json:"aggregateChecksum,omitempty"`
}
ZarfDistroMetadata for the distro package
type ZarfDistroOS ¶
type ZarfDistroOS struct {
// Sysctl a map of sysctl values that will be applied to a host
Sysctl map[string]string `json:"sysctl,omitempty"`
// FAPolicyd config file contents that will be applied to a host
FAPolicyd string `json:"fapolicyd,omitempty"`
// Files that will be uploaded to a host
Files v1alpha1.ZarfFiles `json:"files,omitempty"`
// Kernel list of the requested kerenel modules to be enabled on the host system
Kernel []string `json:"kernel,omitempty"`
// Environment a map of environment variables that will be populated on the host system
Environment map[string]string `json:"env,omitempty"`
}
ZarfDistroOS holds specific values for apply to a host
type ZarfDistroSpec ¶
type ZarfDistroSpec struct {
// Type of distro that is being created
Type string `json:"type" jsonschema:"enum=rke2,enum=k3s"`
// Version of the engine
Version string `json:"version"`
// Actions that are ran during some package phases
Actions ZarfDistroActions `json:"actions,omitempty"`
// Config for the distro
Config ZarfDistroConfig `json:"config"`
}
ZarfDistroSpec that manage the distro spec
Click to show internal directories.
Click to hide internal directories.