cmd

package
v0.30.0 Latest Latest
Warning

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

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

Documentation

Overview

Package cmd is where the commands for cargoship

Index

Constants

View Source
const (
	// CmdInventoryOutput flag
	CmdInventoryOutput = "output"
	// CmdInventoryName flag
	CmdInventoryName = "name"
	// CmdInventoryLoadBalancer flag
	CmdInventoryLoadBalancer = "loadbalancer"
)
View Source
const (
	// FlagAgeIdentityFile names the flag holding an age identity file, which decrypts
	FlagAgeIdentityFile = "age-identity-file"
	// FlagAgeRecipient names the flag holding an age public key, which encrypts
	FlagAgeRecipient = "age-recipient"
	// FlagAgeRecipientsFile names the flag holding a file of age public keys, which encrypt
	FlagAgeRecipientsFile = "age-recipients-file"
)
View Source
const (
	// RootLoggingLevel command flag log level
	RootLoggingLevel = "log-level"
	// RootLoggingFormat command flag log format
	RootLoggingFormat = "log-format"
	// RootTimeout command flag timeout
	RootTimeout = "timeout"
	// RootZarfCache command flag zarf-cache
	RootZarfCache = "zarf-cache"
	// RootArchitecture command flag architecture
	RootArchitecture = "architecture"
	// RootPlainHTTP is the config-file key behind the --plain-http flag. It is a viper key, not
	// a flag name, which is why it is spelled in the snake_case the config file uses.
	RootPlainHTTP = "plain_http"
	// RootInsecureSkipTLSVerify is the config-file key behind the --insecure-skip-tls-verify
	// flag, spelled as the config file spells it for the same reason as RootPlainHTTP.
	RootInsecureSkipTLSVerify = "insecure_skip_tls_verify"
)
View Source
const (
	// InstallConfig flag
	InstallConfig = "config"
	// InstallConfirm flag
	InstallConfirm = "confirm"
	// InstallDistro flag. Named directly by the commands that load no package -- reset and
	// kube-config -- which have nothing else to read the engine's identity from.
	InstallDistro = "distro"
	// InstallDryRun flag
	InstallDryRun = "dry-run"
	// InstallConcurrency flag
	InstallConcurrency = "concurrency"
	// InstallWorkConcurrency flag
	InstallWorkConcurrency = "work-concurrency"
	// InstallUpdateHost flag
	InstallUpdateHost = "hosts"
	// InstallUpdateFirewall flag
	InstallUpdateFirewall = "firewall"
	// InstallUpdateFAPolicyD flag
	InstallUpdateFAPolicyD = "fapolicyd"
	// InstallLabelNodes flag
	InstallLabelNodes = "label-nodes"
	// InstallAllowUnmanagedNodes flag
	InstallAllowUnmanagedNodes = "allow-unmanaged-nodes"
	// InstallAllowDowngrade flag
	InstallAllowDowngrade = "allow-downgrade"
	// InstallUpdateKubeConfig flag
	InstallUpdateKubeConfig = "update-kubeconfig"
	// InstallKubeConfigPath flag
	InstallKubeConfigPath = "kubeconfig"
	// InstallVaultPasswordFile flag
	InstallVaultPasswordFile = "vault-password-file"
	// InstallValues flag
	InstallValues = "values"
)
View Source
const (
	// PackageOCIConcurrency flag
	PackageOCIConcurrency = "oci-concurrency"
	// PackageTag flag
	PackageTag = "tag"
)
View Source
const (
	// MiscOutput flag
	MiscOutput = "output"
	// MiscPackage flag
	MiscPackage = "package"
)
View Source
const (
	// MiscValidateKind flag
	MiscValidateKind = "kind"
)
View Source
const MiscVaultForce = "force"

MiscVaultForce flag

View Source
const (
	// MiscVaultKeygenPublicKey flag
	MiscVaultKeygenPublicKey = "public-key"
)
View Source
const MiscVaultNewPasswordFile = "new-vault-password-file"

MiscVaultNewPasswordFile flag

View Source
const MiscVaultPasswordFile = "vault-password-file"

MiscVaultPasswordFile flag

Variables

View Source
var (
	// IsColorDisabled whether to show the colored output
	IsColorDisabled bool
	// LogFormat format of the log output
	LogFormat string
	// LogLevelCLI log level
	LogLevelCLI string
	// LogFile enables always writing a full-verbosity debug log to a file
	LogFile bool
	// Timeout for how long a task runs
	Timeout string
)
View Source
var (
	// OutputWriter provides a default writer to Stdout for user-facing command output
	OutputWriter = os.Stdout
)

Functions

func AnsibleModule

func AnsibleModule(ctx context.Context, argv []string) (int, bool)

AnsibleModule runs the binary as an Ansible module when it was invoked as one, and reports whether it was.

It lives here rather than in main because src/internal is only importable from inside src/, and because this is where the argument vector a module renders is executed. The caller exits with the status returned; a module always exits 0 and reports failure inside its JSON result.

func Distro

func Distro(s string) (distrocfg.Distro, error)

Distro returns the distro config for a given string

func Execute

func Execute(ctx context.Context) error

Execute is the root execute logic

func ExecuteArgs

func ExecuteArgs(ctx context.Context, args []string) error

ExecuteArgs runs the root command against an explicit argument vector instead of os.Args.

It exists for the Ansible module mode in internal/ansiblemod, which turns a module's JSON parameters into the flags an operator would have typed and then runs the ordinary command. Building an argument vector rather than calling into src/pkg/action directly is the point of the arrangement: keyring resolution, timeout parsing, package loading, and phase construction stay on one path, so what a playbook does and what an operator does cannot drift apart.

func GetStringSlice

func GetStringSlice(v *viper.Viper, key string) []string

GetStringSlice returns a string slice from viper it consistently returns expected results across flags and environment variables https://github.com/spf13/viper/issues/380

func NewCargoshipCommand

func NewCargoshipCommand() *cobra.Command

NewCargoshipCommand is the root command

func ParseRegistryOverrides

func ParseRegistryOverrides(overrides []string) ([]images.RegistryOverride, error)

ParseRegistryOverrides converts registry overrides to a structured type. The result is sorted in descending order by Source, which guarantees the longest prefix will be sorted toward the beginning -- so that e.g. docker.io/library overrides win over a broader docker.io override.

Input is of the following form: []string{"docker.io/library=docker.example.com", "docker.io=docker.example.com"}

func PrintFindings

func PrintFindings(ctx context.Context, lintErr *lint.LintError)

PrintFindings prints the findings in the LintError as a table.

func PrintViperConfigUsed

func PrintViperConfigUsed(ctx context.Context) error

PrintViperConfigUsed informs users when Zarf has detected a config file.

Types

type InstallCommon

type InstallCommon struct {
	LogFormat string
	// contains filtered or unexported fields
}

InstallCommon common args

Directories

Path Synopsis
Package main is the entry point for the cargoship binary
Package main is the entry point for the cargoship binary
Package flags provides shell completion functions for cargoship CLI flags.
Package flags provides shell completion functions for cargoship CLI flags.
Command terraform-provider-cargoship will be the OpenTofu provider that exposes cargoship as a cargoship_cluster resource: the configuration describes the fleet, cargoship owns the phase ordering, and a tofu apply converges the cluster.
Command terraform-provider-cargoship will be the OpenTofu provider that exposes cargoship as a cargoship_cluster resource: the configuration describes the fleet, cargoship owns the phase ordering, and a tofu apply converges the cluster.
zarf
deploy command
Command zarf_package_deploy answers Ansible as the zarf_package_deploy module.
Command zarf_package_deploy answers Ansible as the zarf_package_deploy module.
init command
Command zarf_init answers Ansible as the zarf_init module.
Command zarf_init answers Ansible as the zarf_init module.

Jump to

Keyboard shortcuts

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