agentartifacts

package
v0.1.20-rc.4 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package agentartifacts defines the agent bootstrap artifact manifest, paths, and source URL resolution used by the agent and offline artifact tooling.

Index

Constants

View Source
const (
	// KubernetesDefaultBaseURL is the upstream base URL for Kubernetes
	// binary releases. Mirrors must preserve the <base>/v<ver>/bin/linux/<arch>/
	// layout used by dl.k8s.io.
	KubernetesDefaultBaseURL = "https://dl.k8s.io"

	// ContainerdDefaultBaseURL is the upstream base URL for containerd releases.
	// Mirrors must preserve the <base>/v<ver>/<asset> layout.
	ContainerdDefaultBaseURL = "https://github.com/containerd/containerd/releases/download"

	// RuncDefaultBaseURL is the upstream base URL for runc releases.
	// Mirrors must preserve the <base>/v<ver>/<asset> layout.
	RuncDefaultBaseURL = "https://github.com/opencontainers/runc/releases/download"

	// CNIDefaultBaseURL is the upstream base URL for CNI plugin releases.
	// Mirrors must preserve the <base>/v<ver>/<asset> layout.
	CNIDefaultBaseURL = "https://github.com/containernetworking/plugins/releases/download"

	// CrictlDefaultBaseURL is the upstream base URL for cri-tools releases.
	CrictlDefaultBaseURL = "https://github.com/kubernetes-sigs/cri-tools/releases/download"

	ManifestFileName = "manifest.json"
)

Variables

View Source
var KubernetesBinaries = []string{"kubelet", "kubectl", "kube-proxy"}

Functions

func CNIArtifactPath

func CNIArtifactPath(version, arch string) string

func CNIPluginsArchive

func CNIPluginsArchive(override *goalstates.DownloadSource, version, arch string) string

CNIPluginsArchive resolves the CNI plugins tarball URL honoring the optional override. Mirrors must publish under <base>/v<ver>/<asset>.

func ContainerdArchive

func ContainerdArchive(override *goalstates.DownloadSource, version, arch string) string

ContainerdArchive resolves the containerd release tarball URL, honoring BaseURL / URL overrides. The upstream path-and-filename layout (containerd-<ver>-linux-<arch>.tar.gz) is preserved so mirrors must publish under the same structure.

func ContainerdArtifactPath

func ContainerdArtifactPath(version, arch string) string

func CrictlArchive

func CrictlArchive(override *goalstates.DownloadSource, version, hostOS, hostArch string) string

CrictlArchive resolves the cri-tools crictl tarball URL honoring the optional override. Mirrors must publish assets under the same <base>/v<ver>/<asset> layout as GitHub releases.

func CrictlArtifactPath

func CrictlArtifactPath(version, hostOS, arch string) string

func CrictlVersionForKubernetesVersion

func CrictlVersionForKubernetesVersion(kubernetesVersion string) (string, error)

CrictlVersionForKubernetesVersion returns the cri-tools version for the Kubernetes major.minor release. cri-tools releases are published as v<major>.<minor>.0.

func KubernetesArtifactPath

func KubernetesArtifactPath(version, arch, binary string) string

func KubernetesBinary

func KubernetesBinary(override *goalstates.DownloadSource, version, arch, binary string) string

KubernetesBinary resolves the download URL for a Kubernetes binary (kubelet, kubectl, kube-proxy) honoring the optional override.

func NormalizeKubernetesVersion

func NormalizeKubernetesVersion(version string) string

func RuncArtifactPath

func RuncArtifactPath(version, arch string) string

func RuncBinary

func RuncBinary(override *goalstates.DownloadSource, version, arch string) string

RuncBinary resolves the runc binary URL, honoring BaseURL / URL overrides. The upstream filename (runc.<arch>) is preserved.

func StripLeadingV

func StripLeadingV(version string) string

Types

type Manifest

type Manifest struct {
	SchemaVersion int      `json:"schemaVersion,omitempty"`
	Versions      Versions `json:"versions"`
}

func NormalizeManifest

func NormalizeManifest(manifest Manifest) (Manifest, error)

type Versions

type Versions struct {
	Kubernetes string `json:"kubernetes"`
	Containerd string `json:"containerd"`
	Runc       string `json:"runc"`
	CNI        string `json:"cni"`
	Crictl     string `json:"crictl"`
}

Jump to

Keyboard shortcuts

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