utils

package
v0.23.0 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2022 License: Apache-2.0 Imports: 48 Imported by: 0

Documentation

Overview

Package git contains functions for interacting with git repositories

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Package utils provides generic helper functions

Index

Constants

View Source
const SGETProtocol = "sget://"

Variables

View Source
var TempPathPrefix = "zarf-"

Functions

func ByteFormat

func ByteFormat(inputNum float64, precision int) string

func ColorPrintYAML

func ColorPrintYAML(data any)

ColorPrintYAML pretty prints a yaml file to the console

func CreateDirectory

func CreateDirectory(path string, mode os.FileMode) error

CreateDirectory creates a directory for the given path and file mode

func CreateFilePath

func CreateFilePath(destination string) error

func CreatePathAndCopy

func CreatePathAndCopy(source string, destination string) error

func DoesHostnamesMatch

func DoesHostnamesMatch(url1 string, url2 string) (bool, error)

DoesHostnamesMatch returns a boolean indicating if the hostname of two different URLs are the same.

func DownloadToFile

func DownloadToFile(url string, target string, cosignKeyPath string)

func ExecCommandWithContext

func ExecCommandWithContext(ctx context.Context, showLogs bool, commandName string, args ...string) (string, string, error)

ExecCommandWithContext executes a given command with args in the current working directory.

func ExecCommandWithContextAndDir

func ExecCommandWithContextAndDir(ctx context.Context, dir string, showLogs bool, commandName string, args ...string) (string, string, error)

ExecCommandWithContextAndDir executes a given command with args in the specified directory.

func ExecLaunchURL

func ExecLaunchURL(url string) error

func Fetch

func Fetch(url string) io.ReadCloser

func FindYamlTemplates

func FindYamlTemplates(config any, prefix string, suffix string) (map[string]*string, error)

FindYamlTemplates finds strings with a given prefix in a config.

func GetAvailablePort

func GetAvailablePort() (int, error)

GetAvailablePort retrieves an available port on the host machine. This delegates the port selection to the golang net library by starting a server and then checking the port that the server is using.

func GetFinalExecutablePath

func GetFinalExecutablePath() (string, error)

GetFinalExecutablePath returns the absolute path to the zarf executable, following any symlinks along the way

func GetHtpasswdString

func GetHtpasswdString(username string, password string) (string, error)

GetHtpasswdString converts a username and password to a properly formatted and hashed format for `htpasswd`

func GetSha256Sum

func GetSha256Sum(path string) (string, error)

GetSha256Sum returns the computed SHA256 Sum of a given file

func InvalidPath

func InvalidPath(path string) bool

InvalidPath checks if the given path exists

func IsRHEL

func IsRHEL() bool

func IsUrl

func IsUrl(source string) bool

func IsValidHostName

func IsValidHostName() bool

func ListDirectories

func ListDirectories(directory string) ([]string, error)

func MakeTempDir

func MakeTempDir(tmpDir string) (string, error)

func RandomString

func RandomString(length int) string

RandomString generates a secure random string of the specified length

func ReadYaml

func ReadYaml(path string, destConfig any) error

ReadYaml reads a yaml file and unmarshals it into a given config

func RecursiveFileList

func RecursiveFileList(dir string, pattern *regexp.Regexp) (files []string, err error)

RecursiveFileList walks a path with an optional regex pattern and returns a slice of file paths

func ReloadYamlTemplate

func ReloadYamlTemplate(config any, mappings map[string]string) error

ReloadYamlTemplate marshals a given config, replaces strings and unmarshals it back.

func ReplaceTextTemplate

func ReplaceTextTemplate(path string, mappings map[string]string)

ReplaceTextTemplate loads a file from a given path, replaces text in it and writes it back in place

func Retry

func Retry(fn func() error, retries int, delay time.Duration) (err error)

Retry will retry a function until it succeeds or the timeout is reached, timeout == retries * delay

func RoundUp

func RoundUp(input float64, places int) (newVal float64)

forked from https://www.socketloop.com/tutorials/golang-byte-format-example

func RunPreflightChecks

func RunPreflightChecks()

func Sget

func Sget(ctx context.Context, image, key string, out io.Writer) error

Sget performs a cosign signature verification on a given image using the specified public key.

func SplitFile

func SplitFile(path string, chunkSizeBytes int) (chunks [][]byte, sha256sum string, err error)

SplitFile splits a file into multiple parts by the given size

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 SwapHost

func SwapHost(src string, targetHost string) (string, error)

SwapHost Perform base url replacement and adds a crc32 of the original url to the end of the src

func SwapHostWithoutChecksum

func SwapHostWithoutChecksum(src string, targetHost string) (string, error)

SwapHostWithoutChecksum Perform base url replacement but avoids adding a checksum of the original url.

func Unique

func Unique[T comparable](s []T) []T

Unique returns a new slice with only unique elements

func ValidHostname

func ValidHostname(hostname string) bool

func VerifyBinary

func VerifyBinary(binary string) bool

VerifyBinary returns true if binary is available

func WriteFile

func WriteFile(path string, data []byte) error

func WriteYaml

func WriteYaml(path string, srcConfig any, perm fs.FileMode) error

WriteYaml writes a given config to a yaml file on disk

Types

type Credential

type Credential struct {
	Path string
	Auth http.BasicAuth
}

func FindAuthForHost

func FindAuthForHost(baseUrl string) Credential

FindAuthForHost finds the authentication scheme for a given host using .git-credentials then .netrc

type Image

type Image struct {
	Host        string
	Name        string
	Path        string
	Tag         string
	Digest      string
	Reference   string
	TagOrDigest string
}

Jump to

Keyboard shortcuts

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