internal

package
v0.33.7 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	InstallSegment           = "install"
	InstallStandaloneSegment = "install-standalone"
	ReleaseChannelSegment    = "release-channel"

	ModulesSegment        = "modules"
	ModulesReleaseSegment = "release"
	ModulesExtraSegment   = "extra"

	PackagesSegment        = "packages"
	PackagesVersionSegment = "version"
	PackagesExtraSegment   = "extra"

	InstallerSegment = "installer"

	SecuritySegment = "security"

	SecurityTrivyDBSegment     = "trivy-db"
	SecurityTrivyBDUSegment    = "trivy-bdu"
	SecurityTrivyJavaDBSegment = "trivy-java-db"
	SecurityTrivyChecksSegment = "trivy-checks"
)

deckhouse repo structure (relative to root path like registry.deckhouse.io/deckhouse/fe)

Platform:

<root>:<version>                                    - Deckhouse main image
<root>/release-channel:<channel>                    - Release channel metadata
<root>/install:<version>                            - Installer image
<root>/install-standalone:<version>                 - Standalone installer

Security:

<root>/security/<security-name>:<version>           - Security databases (trivy-db, trivy-bdu, etc.)

Modules:

<root>/modules/<module-name>:<version>                    - Module main image
<root>/modules/<module-name>/release:<channel>            - Module release channel metadata
<root>/modules/<module-name>/extra/<extra-name>:<version> - Module extra images

Packages (same shape as modules, but under packages/ with a version/ release segment):

<root>/packages/<package-name>:<version>                    - Package main image
<root>/packages/<package-name>/version:<channel>            - Package version channel metadata
<root>/packages/<package-name>/extra/<extra-name>:<version> - Package extra images
View Source
const (
	AlphaChannel       = "alpha"
	BetaChannel        = "beta"
	EarlyAccessChannel = "early-access"
	StableChannel      = "stable"
	RockSolidChannel   = "rock-solid"
	LTSChannel         = "lts"
)

Variables

View Source
var ErrNoReleaseChannels = errors.New("no release channel found in the source registry")

ErrNoReleaseChannels means the source registry serves the repository but publishes none of the known release channels.

Functions

func ChannelIsValid added in v0.20.14

func ChannelIsValid(c string) bool

func GetAllDefaultReleaseChannels added in v0.20.14

func GetAllDefaultReleaseChannels() []string

func InstallPathByMirrorType added in v0.22.9

func InstallPathByMirrorType(mirrorType MirrorType) string

InstallPathByMirrorType returns the path segment for install based on the mirror type.

Types

type DeckhouseRequirement added in v0.30.11

type DeckhouseRequirement struct {
	Constraint string
}

DeckhouseRequirement represents a constraint on the Deckhouse cluster version.

type EnvVar

type EnvVar struct {
	Name string
}

EnvVar represents an environment variable required by the plugin

type Flag

type Flag struct {
	Name string
}

Flag represents a command-line flag supported by the plugin

type KubernetesRequirement

type KubernetesRequirement struct {
	Constraint string
}

KubernetesRequirement represents Kubernetes version constraint

type MirrorType added in v0.22.1

type MirrorType int
const (
	MirrorTypeDeckhouse MirrorType = iota
	MirrorTypeDeckhouseInstall
	MirrorTypeDeckhouseInstallStandalone
	MirrorTypeDeckhouseReleaseChannels
	MirrorTypeModules
	MirrorTypeModulesReleaseChannels
	MirrorTypeSecurity
	MirrorTypeSecurityTrivyDBSegment
	MirrorTypeSecurityTrivyBDUSegment
	MirrorTypeSecurityTrivyJavaDBSegment
	MirrorTypeSecurityTrivyChecksSegment
	MirrorTypePackages
	MirrorTypePackagesVersionChannels
)

type ModuleGroup added in v0.33.2

type ModuleGroup struct {
	Name        string
	Description string
	Modules     []ModuleRequirement
}

ModuleGroup is a named group of module requirements, shared by the AnyOf and NoneOf buckets of ModuleRequirementsGroup (bucket semantics are documented there). Name is a required, stable identifier used in diagnostics; Description is optional human-facing text.

type ModuleRequirement

type ModuleRequirement struct {
	Name       string
	Constraint string
}

ModuleRequirement represents a required Deckhouse module

type ModuleRequirementsGroup added in v0.30.11

type ModuleRequirementsGroup struct {
	Mandatory   []ModuleRequirement
	Conditional []ModuleRequirement
	AnyOf       []ModuleGroup
	NoneOf      []ModuleGroup
}

ModuleRequirementsGroup splits module requirements into Mandatory, Conditional, AnyOf, and NoneOf.

  • Mandatory: the module must be enabled AND satisfy the constraint.
  • Conditional: only enforced if the module is enabled.
  • AnyOf: at least one module per group must be enabled and satisfy its constraint.
  • NoneOf: no module in any group may be enabled (a member constraint, if set, narrows the forbidden version range).

type Plugin

type Plugin struct {
	Name         string
	Version      string
	Description  string
	Env          []EnvVar
	Flags        []Flag
	Requirements Requirements
}

Plugin represents a plugin domain entity

type PluginRequirement added in v0.26.4

type PluginRequirement struct {
	Name       string
	Constraint string
}

PluginRequirement represents a required plugin

type PluginRequirementsGroup added in v0.30.11

type PluginRequirementsGroup struct {
	Mandatory   []PluginRequirement
	Conditional []PluginRequirement
}

PluginRequirementsGroup splits plugin requirements into Mandatory and Conditional.

  • Mandatory: the dependent plugin must be installed AND satisfy the constraint.
  • Conditional: only enforced if the dependent plugin is installed; otherwise skipped.

type Requirements

type Requirements struct {
	Kubernetes KubernetesRequirement
	Deckhouse  DeckhouseRequirement
	Modules    ModuleRequirementsGroup
	Plugins    PluginRequirementsGroup
}

Requirements represents plugin dependencies (v2 schema).

v1 schema: flat array of plugin and module requirements v2 schema: structured groups (with matchers anyOf, mandatory, conditional) + deckhouse

Directories

Path Synopsis
auth
backup
cmd
cni
cr
cmd
Package cr wires the `d8 cr` subtree.
Package cr wires the `d8 cr` subtree.
cmd/completion
Package completion provides shell-completion helpers for the `d8 cr` subtree.
Package completion provides shell-completion helpers for the `d8 cr` subtree.
cmd/fs
Package fs implements the `d8 cr fs` subtree - filesystem inspection of container images.
Package fs implements the `d8 cr fs` subtree - filesystem inspection of container images.
cmd/rootflagnames
Package rootflagnames holds the persistent-flag names of the `d8 cr` root command in one place.
Package rootflagnames holds the persistent-flag names of the `d8 cr` root command in one place.
internal/image
Package image holds pure operations over v1.Image / v1.ImageIndex values that stand on their own (multi-arch resolution, future diff helpers, ...).
Package image holds pure operations over v1.Image / v1.ImageIndex values that stand on their own (multi-arch resolution, future diff helpers, ...).
internal/imagefs
Package imagefs reads the filesystem of an OCI/Docker image as the merged view that a running container would see, and extracts it to disk with path-traversal and absolute-symlink-rewrite protection.
Package imagefs reads the filesystem of an OCI/Docker image as the merged view that a running container would see, and extracts it to disk with path-traversal and absolute-symlink-rewrite protection.
internal/imageio
Package imageio bridges v1.Image / v1.ImageIndex and the local filesystem: loading and saving tarballs (docker format) and OCI image layouts.
Package imageio bridges v1.Image / v1.ImageIndex and the local filesystem: loading and saving tarballs (docker format) and OCI image layouts.
internal/output
Package output renders imagefs data for `d8 cr fs` subcommands as human-readable text.
Package output renders imagefs data for `d8 cr fs` subcommands as human-readable text.
internal/registry
Package registry is the thin domain layer of `d8 cr` on top of go-containerregistry/pkg/v1/*.
Package registry is the thin domain layer of `d8 cr` on top of go-containerregistry/pkg/v1/*.
cmd
iam
cmd
listget/cmd
Package listget hosts the top-level read-only commands `d8 iam get` and `d8 iam list`.
Package listget hosts the top-level read-only commands `d8 iam get` and `d8 iam list`.
types
Package types holds the constants and GVRs shared across the iam subpackages (access, group, user).
Package types holds the constants and GVRs shared across the iam subpackages (access, group, user).
Package lockfile serializes mutating d8 operations across concurrent processes.
Package lockfile serializes mutating d8 operations across concurrent processes.
cmd
cmd/pull/errdetect
Package errdetect classifies registry errors for d8 mirror pull with pull-specific causes and solutions.
Package errdetect classifies registry errors for d8 mirror pull with pull-specific causes and solutions.
cmd/push/errdetect
Package errdetect classifies registry errors for d8 mirror push with push-specific causes and solutions.
Package errdetect classifies registry errors for d8 mirror push with push-specific causes and solutions.
errmatch
Package errmatch provides error matchers for container registry responses.
Package errmatch provides error matchers for container registry responses.
pack
Package pack contains the atomic-write helper shared by every component that emits a tar artifact into the user's bundle directory (platform, installer, security, per-module).
Package pack contains the atomic-write helper shared by every component that emits a tar artifact into the user's bundle directory (platform, installer, security, per-module).
packages
Package packages mirrors Deckhouse "packages", which are structurally identical to modules but live under a different set of registry segments:
Package packages mirrors Deckhouse "packages", which are structurally identical to modules but live under a different set of registry segments:
summaryui
Package summaryui holds the shared presentation primitives for the mirror pull and push summaries: the framed box, the accent colours, and the registry layout section.
Package summaryui holds the shared presentation primitives for the mirror pull and push summaries: the framed box, the accent colours, and the registry layout section.
internal/packages/values/schema/defaults
Package defaults synthesizes an example value map from an OpenAPI schema.
Package defaults synthesizes an example value map from an OpenAPI schema.
internal/packages/values/schema/reggen
Package reggen produces example strings that match a Perl-flavored regular expression.
Package reggen produces example strings that match a Perl-flavored regular expression.
internal/tools/iconutil
Package iconutil discovers the package icon at the package root and exposes its on-disk and decoded properties as a single Icon value.
Package iconutil discovers the package icon at the package root and exposes its on-disk and decoded properties as a single Icon value.
internal/verify/lint/doc
Package doc serves the reference documentation for the verify linters and their rules, as printed by `package doc`.
Package doc serves the reference documentation for the verify linters and their rules, as printed by `package doc`.
internal/verify/lint/linters/icon
Package icon validates package-icon content (format, size, dimensions).
Package icon validates package-icon content (format, size, dimensions).
internal/verify/lint/linters/openapi
Package openapi validates the OpenAPI schemas a package ships under openapi/.
Package openapi validates the OpenAPI schemas a package ships under openapi/.
internal/verify/lint/linters/oss
Package oss validates optional oss.yaml package metadata.
Package oss validates optional oss.yaml package metadata.
internal/verify/lint/linters/package
Package pkglint holds the linter that inspects the package as an artifact: the shape of its root, and the metadata that describes it.
Package pkglint holds the linter that inspects the package as an artifact: the shape of its root, and the metadata that describes it.
internal/verify/lint/settings
Package settings maps the on-disk .pkglint.yaml document onto typed configuration and converts it into runtime-ready linter severities.
Package settings maps the on-disk .pkglint.yaml document onto typed configuration and converts it into runtime-ready linter severities.
Package plugins implements the d8-cli plugin system.
Package plugins implements the d8-cli plugin system.
cmd
Package pluginscmd implements the `d8 plugins` command tree and the per-plugin wrapper command on top of the internal/plugins machinery.
Package pluginscmd implements the `d8 plugins` command tree and the per-plugin wrapper command on top of the internal/plugins machinery.
cmd/errdetect
Package errdetect maps registry-packages-proxy failures from `d8 plugins` to HelpfulErrors with plugin-specific guidance.
Package errdetect maps registry-packages-proxy failures from `d8 plugins` to HelpfulErrors with plugin-specific guidance.
flags
Package flags defines the shared CLI flag set used by the d8 plugins management subcommands and consumed when building the registry-packages-proxy client and enforcing cluster-side requirements.
Package flags defines the shared CLI flag set used by the d8 plugins management subcommands and consumed when building the registry-packages-proxy client and enforcing cluster-side requirements.
layout
Package layout centralizes the on-disk filesystem layout used by the d8 plugins subsystem: directory names, suffixes, and helpers that build concrete paths from the install root.
Package layout centralizes the on-disk filesystem layout used by the d8 plugins subsystem: directory names, suffixes, and helpers that build concrete paths from the install root.
requirements
Package requirements answers one question: does THIS cluster satisfy a plugin's cluster-side requirements (Kubernetes, Deckhouse and module versions)?
Package requirements answers one question: does THIS cluster satisfy a plugin's cluster-side requirements (Kubernetes, Deckhouse and module versions)?
rpp
Package rpp is a client for the Deckhouse registry-packages-proxy (RPP) CLI routes:
Package rpp is a client for the Deckhouse registry-packages-proxy (RPP) CLI routes:
flags
Package flags declares the CLI flags and environment defaults for reaching the registry-packages-proxy.
Package flags declares the CLI flags and environment defaults for reaching the registry-packages-proxy.
Package selfupdate lets the d8 binary update itself through the cluster (registry-packages-proxy, kubeconfig identity - no registry credentials).
Package selfupdate lets the d8 binary update itself through the cluster (registry-packages-proxy, kubeconfig identity - no registry credentials).
cmd
Package selfupdatecmd implements the `d8 cli` command tree on top of the internal/selfupdate machinery (store, updater).
Package selfupdatecmd implements the `d8 cli` command tree on top of the internal/selfupdate machinery (store, updater).
cmd/errdetect
Package errdetect maps registry-packages-proxy failures from `d8 cli` to HelpfulErrors with CLI-specific guidance.
Package errdetect maps registry-packages-proxy failures from `d8 cli` to HelpfulErrors with CLI-specific guidance.
snapshot
aggapi
Package aggapi is a thin client for the state-snapshotter aggregated subresource API exposed through the kube-apiserver aggregation layer.
Package aggapi is a thin client for the state-snapshotter aggregated subresource API exposed through the kube-apiserver aggregation layer.
api/v1alpha1
Package v1alpha1 provides typed Go structs for the state-snapshotter CRDs consumed by the d8 snapshot commands.
Package v1alpha1 provides typed Go structs for the state-snapshotter CRDs consumed by the d8 snapshot commands.
archive
Package archive: deterministic naming + crash-safe file I/O for the snapshot output tree.
Package archive: deterministic naming + crash-safe file I/O for the snapshot output tree.
cmd
cmd/create
Package create implements the `d8 snapshot create` command: it creates a Snapshot object in a namespace, optionally narrowing the captured set with a label selector and waiting until the Snapshot becomes Ready.
Package create implements the `d8 snapshot create` command: it creates a Snapshot object in a namespace, optionally narrowing the captured set with a label selector and waiting until the Snapshot becomes Ready.
cmd/delete
Package delete implements the `d8 snapshot delete` command: it deletes one or more Snapshot objects by name, by label selector, or all in a namespace, and can optionally wait until they are fully removed.
Package delete implements the `d8 snapshot delete` command: it deletes one or more Snapshot objects by name, by label selector, or all in a namespace, and can optionally wait until they are fully removed.
cmd/describe
Package describe implements the `d8 snapshot describe` command.
Package describe implements the `d8 snapshot describe` command.
cmd/download
Package download implements the `d8 snapshot download` command.
Package download implements the `d8 snapshot download` command.
cmd/list
Package list implements the `d8 snapshot get` command.
Package list implements the `d8 snapshot get` command.
cmd/local
Package local implements the offline `d8 snapshot local` command group.
Package local implements the offline `d8 snapshot local` command group.
cmd/restore
Package restorecmd implements the `d8 snapshot restore` command.
Package restorecmd implements the `d8 snapshot restore` command.
cmd/snapimport
Package snapimportcmd implements the `d8 snapshot upload` command.
Package snapimportcmd implements the `d8 snapshot upload` command.
compress
Package compress provides pluggable compression codecs used for both block-volume chunk frames (EncodeFrame) and per-file filesystem-volume entries (EncodeStream).
Package compress provides pluggable compression codecs used for both block-volume chunk frames (EncodeFrame) and per-file filesystem-volume entries (EncodeStream).
exporter
Package exporter provides typed HTTP helpers for the data-exporter API exposed by a running DataExport.
Package exporter provides typed HTTP helpers for the data-exporter API exposed by a running DataExport.
localscan
Package localscan discovers and parses an offline snapshot archive directory written by d8 snapshot download.
Package localscan discovers and parses an offline snapshot archive directory written by d8 snapshot download.
naming
Package naming provides deterministic name derivation helpers shared between the snapshot tree builder and the data-plane exporter.
Package naming provides deterministic name derivation helpers shared between the snapshot tree builder and the data-plane exporter.
pipeline
Package pipeline orchestrates the snapshot download: tree build, resume scan, bounded-concurrency node processing, volume download, and finalization.
Package pipeline orchestrates the snapshot download: tree build, resume scan, bounded-concurrency node processing, volume download, and finalization.
restore
Package restore implements in-namespace restore of a snapshot tree.
Package restore implements in-namespace restore of a snapshot tree.
snapimport
Package snapimport implements the `d8 snapshot upload` command: it reconstructs a snapshot tree in a target namespace from a local archive produced by `d8 snapshot download`, walking the tree bottom-up and, per node, creating an import-mode CR, importing volume data for data leaves (via SVDM DataImport), and POSTing the node's manifests plus its direct child refs to the state-snapshotter manifests-and-children-refs-upload aggregated subresource.
Package snapimport implements the `d8 snapshot upload` command: it reconstructs a snapshot tree in a target namespace from a local archive produced by `d8 snapshot download`, walking the tree bottom-up and, per node, creating an import-mode CR, importing volume data for data leaves (via SVDM DataImport), and POSTing the node's manifests plus its direct child refs to the state-snapshotter manifests-and-children-refs-upload aggregated subresource.
source
Package source provides the snapshot tree model and the BuildTree function that resolves a Snapshot hierarchy from the Kubernetes API.
Package source provides the snapshot tree model and the BuildTree function that resolves a Snapshot hierarchy from the Kubernetes API.
treeview
Package treeview renders a generic node tree to an io.Writer as an indented tree(1)-style ASCII tree using box-drawing connectors.
Package treeview renders a generic node tree to an io.Writer as an indented tree(1)-style ASCII tree using box-drawing connectors.
volume
Package volume provides workers for downloading block and filesystem volumes from a data-exporter HTTP endpoint into the snapshot output directory tree.
Package volume provides workers for downloading block and filesystem volumes from a data-exporter HTTP endpoint into the snapshot output directory tree.
status
cmd
system
cmd

Jump to

Keyboard shortcuts

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