Documentation
¶
Overview ¶
Package utils provides generic utility functions.
Package utils provides generic utility functions.
Package utils provides generic utility functions.
Package utils provides generic utility functions.
Package utils provides generic utility functions.
Package utils provides generic helper functions.
Package utils provides generic helper functions.
Package utils provides generic helper functions.
Package utils provides generic utility functions.
Index ¶
- Constants
- func AddImageNameAnnotation(ociPath string, referenceToDigest map[string]string) error
- func AddRootHint(hints map[string]string, rootKey string, hintText string) map[string]string
- func AddRootListHint(hints map[string]string, listKey string, listValue string, hintText string) map[string]string
- func ByteFormat(in float64, precision int) string
- func ColorPrintYAML(data any, hints map[string]string, spaceRootLists bool) error
- func CosignSignBlobWithOptions(ctx context.Context, blobPath string, opts SignBlobOptions) ([]byte, error)
- func CosignVerifyBlobWithOptions(ctx context.Context, blobPath string, opts VerifyBlobOptions) error
- func DownloadToFile(ctx context.Context, src, dst string) (err error)
- func ExecuteWait(ctx context.Context, ...) error
- func FindYamlTemplates(config any, prefix string, suffix string) (map[string]string, error)
- func GetCosignArtifacts(image string) ([]string, error)
- func GetFinalExecutableCommand() (string, error)
- func GetFinalExecutablePath() (string, error)
- func GetHtpasswdString(username string, password string) (string, error)
- func LoadOCIImage(imgPath string, refInfo transform.Image) (v1.Image, error)
- func MakeTempDir(basePath string) (string, error)
- func ReadYaml(path string, destConfig any) error
- func ReloadYamlTemplate(config any, mappings map[string]string) error
- func RoundUp(input float64, places int) float64
- func SortImagesIndex(ociPath string) error
- func SplitYAML(yamlData []byte) ([]*unstructured.Unstructured, error)
- func SplitYAMLToString(yamlData []byte) ([]string, error)
- func WriteYaml(path string, srcConfig any, perm fs.FileMode) error
- type Credential
- type SignBlobOptions
- type VerifyBlobOptions
Constants ¶
const (
CosignDefaultTimeout = 3 * time.Minute
)
Default cosign configuration
Variables ¶
This section is empty.
Functions ¶
func AddImageNameAnnotation ¶
AddImageNameAnnotation adds an annotation to the index.json file so that the deploying code can figure out what the image reference <-> digest shasum will be.
func AddRootHint ¶
AddRootHint adds a hint string for a given root key.
func AddRootListHint ¶
func AddRootListHint(hints map[string]string, listKey string, listValue string, hintText string) map[string]string
AddRootListHint adds a hint string for a given root list key and value.
func ByteFormat ¶
ByteFormat formats a number of bytes into a human-readable string.
func ColorPrintYAML ¶
ColorPrintYAML pretty prints a yaml file to the console.
func CosignSignBlobWithOptions ¶ added in v0.66.0
func CosignSignBlobWithOptions(ctx context.Context, blobPath string, opts SignBlobOptions) ([]byte, error)
CosignSignBlobWithOptions signs a blob with comprehensive cosign options. This function supports all cosign v3 sign-blob capabilities by leveraging the embedded KeyOpts structure.
func CosignVerifyBlobWithOptions ¶ added in v0.66.0
func CosignVerifyBlobWithOptions(ctx context.Context, blobPath string, opts VerifyBlobOptions) error
CosignVerifyBlobWithOptions verifies a blob signature with comprehensive cosign options. This function supports all cosign v3 verify-blob capabilities by leveraging the embedded KeyOpts and CertVerifyOptions structures.
func DownloadToFile ¶
DownloadToFile downloads a given URL to the target filepath (including the cosign key if necessary).
func ExecuteWait ¶
func ExecuteWait(ctx context.Context, waitTimeout, waitNamespace, condition, kind, identifier string, timeout time.Duration) error
ExecuteWait executes the wait-for command.
func FindYamlTemplates ¶
FindYamlTemplates finds strings with a given prefix in a config.
func GetCosignArtifacts ¶
GetCosignArtifacts returns signatures and attestations for the given image
func GetFinalExecutableCommand ¶
GetFinalExecutableCommand returns the final path to the Zarf executable including and library prefixes and overrides.
func GetFinalExecutablePath ¶
GetFinalExecutablePath returns the absolute path to the current executable, following any symlinks along the way.
func GetHtpasswdString ¶
GetHtpasswdString converts a username and password to a properly formatted and hashed format for `htpasswd`.
func LoadOCIImage ¶
LoadOCIImage returns a v1.Image with the image ref specified from a location provided, or an error if the image cannot be found.
func MakeTempDir ¶
MakeTempDir creates a temp directory with the zarf- prefix.
func ReloadYamlTemplate ¶
ReloadYamlTemplate marshals a given config, replaces strings and unmarshals it back.
func SortImagesIndex ¶ added in v0.42.0
SortImagesIndex sorts the index.json by digest.
func SplitYAML ¶
func SplitYAML(yamlData []byte) ([]*unstructured.Unstructured, error)
SplitYAML splits a YAML file into unstructured objects. Returns list of all unstructured objects found in the yaml. If an error occurs, returns objects that have been parsed so far too. Source: https://github.com/argoproj/gitops-engine/blob/v0.5.2/pkg/utils/kube/kube.go#L286.
func SplitYAMLToString ¶
SplitYAMLToString splits a YAML file into strings. Returns list of yamls found in the yaml. If an error occurs, returns objects that have been parsed so far too. Source: https://github.com/argoproj/gitops-engine/blob/v0.5.2/pkg/utils/kube/kube.go#L304.
Types ¶
type Credential ¶
Credential represents authentication for a given host.
func FindAuthForHost ¶
func FindAuthForHost(baseURL string) (*Credential, error)
FindAuthForHost finds the authentication scheme for a given host using .git-credentials then .netrc.
type SignBlobOptions ¶ added in v0.66.0
type SignBlobOptions struct {
// Embed Cosign's KeyOpts for signing configuration
options.KeyOpts
// Certificate signing support - X.509 certificate
Cert string
CertChain string
// Zarf-specific options for output control
OutputSignature string // Custom path for signature file
OutputCertificate string // Where to write certificate (keyless mode)
// General options
Verbose bool // Enable debug output
Timeout time.Duration // Timeout for signing operations
// Password provides password for encrypted keys without requiring cosign.PassFunc import
Password string
}
SignBlobOptions embeds Cosign's native options and adds Zarf-specific configuration. By embedding options.KeyOpts, we get direct access to all Cosign signing capabilities while maintaining a clean interface for Zarf users.
func DefaultSignBlobOptions ¶ added in v0.66.0
func DefaultSignBlobOptions() SignBlobOptions
DefaultSignBlobOptions returns SignBlobOptions with Zarf defaults. Configures sensible defaults for offline/air-gapped environments.
func (SignBlobOptions) ShouldSign ¶ added in v0.66.0
func (opts SignBlobOptions) ShouldSign() bool
ShouldSign returns true if the options indicate that signing should be performed. This checks if any signing key material is configured (KeyRef, IDToken, or Sk).
type VerifyBlobOptions ¶ added in v0.66.0
type VerifyBlobOptions struct {
// Embed Cosign's KeyOpts for key-based verification
options.KeyOpts
// Embed Cosign's CertVerifyOptions for certificate-based (keyless) verification
options.CertVerifyOptions
// Verification-specific options
SigRef string // Path to signature file
Offline bool // Enable offline verification mode
IgnoreTlog bool // Skip transparency log verification
// General options
Timeout time.Duration // Timeout for verification operations
}
VerifyBlobOptions embeds Cosign's native options for verification. By embedding options.KeyOpts and options.CertVerifyOptions, we get direct access to all Cosign verification capabilities.
func DefaultVerifyBlobOptions ¶ added in v0.66.0
func DefaultVerifyBlobOptions() VerifyBlobOptions
DefaultVerifyBlobOptions returns VerifyBlobOptions with Zarf defaults. Configures sensible defaults for offline/air-gapped environments.