types

package
v0.10.2 Latest Latest
Warning

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

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

Documentation

Overview

Package types is a little bit of a hacky way to generate the cargo-ship-config jsonschema

Index

Constants

View Source
const (
	// LoggingLevelDefault path in config
	LoggingLevelDefault = "info"
	// LogLevel path in config
	LogLevel = "log_level"
	// LogFormat path in config
	LogFormat = "log_format"
	// NoColor path in config
	NoColor = "no_color"
	// Architecture path in config
	Architecture = "architecture"
	// ZarfCache path in config
	ZarfCache = "zarf_cache"
	// TmpDir path in config
	TmpDir = "tmp_dir"
	// DistroOutput path in config
	DistroOutput = "distro.output"
	// DistroPublishSigningKey path in config
	DistroPublishSigningKey = "distro.publish.signing_key"
	// DistroPublishSigningKeyPassword path in config
	DistroPublishSigningKeyPassword = "distro.publish.signing_key_password"
	// DistroRetry path in config
	DistroRetry = "distro.retry"
	// DistroOCIConcurrency path in config
	DistroOCIConcurrency = "distro.oci_concurrency"
	// DistroCreateRegistryOverride path in config
	DistroCreateRegistryOverride = "distro.create.registry_override"
	// DistroCreateSkipSbom path in config
	DistroCreateSkipSbom = "distro.create.skip_sbom"
	// DistroConcurrency path in config
	DistroConcurrency = "distro.concurrency"
	// DistroWorkerConcurrency path in config
	DistroWorkerConcurrency = "distro.worker_concurrency"
	// DistroFAPolicy path in config
	DistroFAPolicy = "distro.fapolicy"
	// DistroUpdateHost path in config
	DistroUpdateHost = "distro.host_update"
	// DistroUpdateFirewall path in config
	DistroUpdateFirewall = "distro.firewall_update"
	// DistroType path in config
	DistroType = "distro.type"
	// DistroVerify path in config
	DistroVerify = "distro.verify"
	// DistroPublicKey path in config
	DistroPublicKey = "distro.public_key"
	// DistroCertificateIdentity path in config
	DistroCertificateIdentity = "distro.certificate_identity"
	// DistroCertificateIdentityRegexp path in config
	DistroCertificateIdentityRegexp = "distro.certificate_identity_regexp"
	// DistroCertificateOIDCIssuer path in config
	DistroCertificateOIDCIssuer = "distro.certificate_oidc_issuer"
	// DistroCertificateOIDCIssuerRegexp path in config
	DistroCertificateOIDCIssuerRegexp = "distro.certificate_oidc_issuer_regexp"
	// DistroTrustedRoot path in config
	DistroTrustedRoot = "distro.trusted_root"
	// DistroInsecureIgnoreTlog path in config
	DistroInsecureIgnoreTlog = "distro.insecure_ignore_tlog"
	// DistroUseSignedTimestamps path in config
	DistroUseSignedTimestamps = "distro.use_signed_timestamps"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplyOptions

type ApplyOptions struct{}

ApplyOptions holds the values for the `.distro.apply` section of the config file

type DistroConfig

type DistroConfig struct {
	// CachePath is the folder where oras artifacts are stored
	CachePath string `json:"zarf_cache,omitempty"`
	// DistroOpts are various options used by the command
	DistroOpts DistroOptions `json:"distro,omitempty"`
	// LogFormat how the logs are displayed well running
	LogFormat string `json:"log_format,omitempty" jsonschema:"enum=console,enum=json,enum=dev,default=console"`
	// LogLevel the level of logs that will be displayed
	LogLevel string `json:"log_level,omitempty" jsonschema:"enum=warn,enum=info,enum=debug,enum=trace,default=info"`
	// TempDirectory the directory where we store stuff before deleting them
	TempDirectory string `json:"tmp_dir,omitempty" jsonschema:"default=/tmp"`
	// Timeout the longest we will run long ran tasks before failing
	Timeout string `json:"timeout,omitempty" jsonschema:"default=20m"`
}

DistroConfig holds the values for the `.`, or root, section of the config file

type DistroCreateOptions

type DistroCreateOptions struct {
	// SkipSBOM whether we will scan the images or files
	SkipSBOM bool `json:"skip_sbom,omitempty"`
}

DistroCreateOptions holds the values for the `.distro.create` section of the config file

type DistroDeployOptions

type DistroDeployOptions struct {
	// Retries how many times we will try to push a package
	Retries int `json:"retries,omitempty"`
}

DistroDeployOptions holds the values for the `.distro.deploy` section of the config file

type DistroOptions

type DistroOptions struct {
	// CreateOpts are options used by the create subcommand
	CreateOpts DistroCreateOptions `json:"create,omitempty"`
	// PublishOpts are options used by the publish subcommand
	PublishOpts DistroPublishOptions `json:"publish,omitempty"`
	// DeployOpts are options used by the deploy subcommand
	DeployOpts DistroDeployOptions `json:"deploy,omitempty"`
	// ApplyOpts are options used by the apply subcommand
	ApplyOpts ApplyOptions `json:"apply,omitempty"`
	// ResetOptions are options used by the reset subcommand
	ResetOpts ResetOptions `json:"reset,omitempty"`
	// OCIConcurrency is how many concurrent oci artifacts that will be pushed at a time
	OCIConcurrency int `json:"oci_concurrency,omitempty"`
	// Concurrency how many nodes we will try to interact with at a time, 0 means that all nodes will be done at once
	Concurrency int `json:"concurrency,omitempty" jsonschema:"minimum=0"`
	// FAPolicyd whether we will update hosts with fapolicyd
	FAPolicyd bool `json:"fapolicy,omitempty" jsonschema:"default=true"`
	// FirewallUpdate whether we will update the host firewall
	FirewallUpdate bool `json:"firewall_update,omitempty" jsonschema:"default=true"`
	// HostUpdate whether we will update the etc host file
	HostUpdate bool `json:"host_update,omitempty" jsonschema:"default=true"`
	// WorkerConcurrency number of worker nodes that will be upgraded at once
	WorkerConcurrency int `json:"worker_concurrency,omitempty" jsonschema:"minimum=0,maximum=1000"`
	// Retry number of retries we will try
	Retry int `json:"retry,omitempty" jsonschema:"minimum=0"`
	// Type of distro we are interacting with
	Type string `json:"type,omitempty" jsonschema:"enum=rke2,enum=k3s"`
	// Output the folder that we will create the distro tar balls in
	Output string `json:"output,omitempty"`
	// Verify the Cargoship package signature
	Verify string `json:"verify,omitempty" jsonschema:"enum=never,enum=if-possible,enum=always"`
	// PublicKey path to public key file for validating signed packages
	PublicKey string `json:"public_key,omitempty"`
	// CertificateIdentity required identity claim in the signing certificate
	CertificateIdentity string `json:"certificate_identity,omitempty"`
	// CertificateIdentityRegexp equired identity claim in the signing certificate, allows usage of regex
	CertificateIdentityRegexp string `json:"certificate_identity_regexp,omitempty"`
	// CertificateOIDCIssuer required OIDC issuer claim in the signing certificate
	CertificateOIDCIssuer string `json:"certificate_oidc_issuer,omitempty"`
	// CertificateOIDCIssuerRegexp required OIDC issuer claim in the signing certificate, allows usage of regex
	CertificateOIDCIssuerRegexp string `json:"certificate_oidc_issuer_regexp,omitempty"`
	// TrustedRoot path to a Sigstore TrustedRoot JSON
	TrustedRoot string `json:"trusted_root,omitempty"`
	// InsecureIgnoreTLog
	InsecureIgnoreTLog string `json:"insecure_ignore_tlog,omitempty"`
	// UseSignedTimestamps verify RFC3161 signed timestamps in the bundle. Auto-enabled when the bundle contains TSA timestamp data.
	UseSignedTimestamps string `json:"use_signed_timestamps,omitempty"`
}

DistroOptions holds the values for the `.distro` section of the config file

type DistroPublishOptions added in v0.9.0

type DistroPublishOptions struct {
	// SigningKey is the path to the private key, a Cosign-supported key provider, used to sign, or re-sign, the package
	SigningKey string `` /* 170-byte string literal not displayed */
	// SigningKeyPassword the password for the private key used for signing
	SigningKeyPassword string `json:"signing_key_password,omitempty"`
}

DistroPublishOptions holds the values for the `.distro.publish` section of the config file

type ResetOptions

type ResetOptions struct{}

ResetOptions holds the values for the `.distro.reset` section of the config file

Directories

Path Synopsis
Package distrocfg defines the standard interface that all distro config settings
Package distrocfg defines the standard interface that all distro config settings
registry
Package registry is used to register a distro
Package registry is used to register a distro
os
Package os is for running commands on a remote host
Package os is for running commands on a remote host
linux
Package linux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Linux based hosts
Package linux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Linux based hosts
linux/enterpriselinux
Package enterpriselinux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Enterprise Linux hosts
Package enterpriselinux is implementing the interface github.com/colonel-byte/cargoship/src/types/os.Configurer for Enterprise Linux hosts

Jump to

Keyboard shortcuts

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