distro

package
v0.10.1 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL