utils

package
v1.107.1 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 26 Imported by: 126

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ComputeChecksum added in v1.8.0

func ComputeChecksum(data any) string

ComputeChecksum computes a SHA256 checksum for the given data.

func ComputeConfigMapChecksum added in v1.28.0

func ComputeConfigMapChecksum(data map[string]string) string

ComputeConfigMapChecksum computes the sha256 checksum of configmap data.

func ComputeOffsetIP added in v1.76.0

func ComputeOffsetIP(subnet *net.IPNet, offset int64) (net.IP, error)

ComputeOffsetIP parses the provided <subnet> and offsets with the value of <offset>. For example, <subnet> = 100.64.0.0/11 and <offset> = 10 the result would be 100.64.0.10 IPv6 and IPv4 is supported.

func ComputeSHA256Hex

func ComputeSHA256Hex(in []byte) string

ComputeSHA256Hex computes the hexadecimal representation of the SHA256 hash of the given input byte slice <in>, converts it to a string and returns it.

func ComputeSecretChecksum added in v1.28.0

func ComputeSecretChecksum(data map[string][]byte) string

ComputeSecretChecksum computes the sha256 checksum of secret data.

func CreateBcryptCredentials added in v1.98.0

func CreateBcryptCredentials(username, password []byte) ([]byte, error)

CreateBcryptCredentials takes a username and a password and returns a bcrypt-schemed credentials pair as bytes.

func CreateMapFromSlice added in v1.103.0

func CreateMapFromSlice[K comparable, T any](arr []T, keyFunc func(T) K) map[K]T

CreateMapFromSlice converts the values of an array to a map using a key function.

func DecodeBase64

func DecodeBase64(in string) ([]byte, error)

DecodeBase64 takes a Base64-encoded string and returns the decoded byte slice.

func DecodeCertificate

func DecodeCertificate(bytes []byte) (*x509.Certificate, error)

DecodeCertificate takes a byte slice, decodes it from the PEM format, converts it to an x509.Certificate object, and returns it. In case an error occurs, it returns the error.

func DecodeCertificateRequest added in v1.23.0

func DecodeCertificateRequest(data []byte) (*x509.CertificateRequest, error)

DecodeCertificateRequest parses the given PEM-encoded CSR.

func DecodePrivateKey

func DecodePrivateKey(bytes []byte) (*rsa.PrivateKey, error)

DecodePrivateKey takes a byte slice, decodes it from the PEM format, converts it to an rsa.PrivateKey object, and returns it. In case an error occurs, it returns the error.

func DecodeRSAPrivateKeyFromPKCS8 added in v1.7.0

func DecodeRSAPrivateKeyFromPKCS8(bytes []byte) (*rsa.PrivateKey, error)

DecodeRSAPrivateKeyFromPKCS8 takes a byte slice, decodes it from the PKCS8 format, tries to convert it to an rsa.PrivateKey object, and returns it. In case an error occurs, it returns the error.

func DeleteFromValuesMap added in v1.18.0

func DeleteFromValuesMap(values map[string]any, keys ...any) (map[string]any, error)

DeleteFromValuesMap deletes the element at the specified location in the given values map, e.g. DeleteFromValuesMap(values, "a", 0, "b") deletes values["a"][0]["b"]. If such an element does not exist, it returns the given values map unmodified. All keys must be of type either string (for map keys) or int (for slice indexes). If a key type doesn't match the corresponding element type (string for map, int for slice), an error is returned.

func EncodeBase64

func EncodeBase64(in []byte) string

EncodeBase64 takes a byte slice and returns the Base64-encoded string.

func EncodeCertificate

func EncodeCertificate(certificate []byte) []byte

EncodeCertificate takes a certificate as a byte slice, encodes it to the PEM format, and returns it as byte slice.

func EncodePrivateKey

func EncodePrivateKey(key *rsa.PrivateKey) []byte

EncodePrivateKey takes a RSA private key object, encodes it to the PEM format, and returns it as a byte slice.

func EncodePrivateKeyInPKCS8

func EncodePrivateKeyInPKCS8(key *rsa.PrivateKey) ([]byte, error)

EncodePrivateKeyInPKCS8 takes a RSA private key object, encodes it to the PKCS8 format, and returns it as a byte slice.

func FilterEntriesByFilterFn added in v1.86.0

func FilterEntriesByFilterFn(entries []string, filterFn func(entry string) bool) []string

FilterEntriesByFilterFn returns a list of entries which passes the filter function.

func FilterEntriesByPrefix added in v1.76.0

func FilterEntriesByPrefix(prefix string, entries []string) []string

FilterEntriesByPrefix returns a list of strings which begin with the given prefix.

func FindFreePort

func FindFreePort() (int, error)

FindFreePort finds a free port on the host machine and returns it.

func FromValuesMap added in v1.18.0

func FromValuesMap(values map[string]any, v any) error

FromValuesMap converts the given values map values to the given value v, by first marshalling it to JSON, and then unmarshalling the result from JSON into v. If values cannot be marshalled to JSON, or if the result cannot be unmarshalled into v, an error is returned.

func GenerateRandomString

func GenerateRandomString(n int) (string, error)

GenerateRandomString uses crypto/rand to generate a random string of the specified length <n>. The set of allowed characters is [0-9a-zA-Z], thus no special characters are included in the output. Returns error if there was a problem during the random generation.

func GenerateRandomStringFromCharset

func GenerateRandomStringFromCharset(n int, allowedCharacters string) (string, error)

GenerateRandomStringFromCharset generates a cryptographically secure random string of the specified length <n>. The set of allowed characters can be specified. Returns error if there was a problem during the random generation.

func GetFromValuesMap added in v1.18.0

func GetFromValuesMap(values map[string]any, keys ...any) (any, error)

GetFromValuesMap returns the element at the specified location in the given values map, e.g. GetFromValuesMap(values, "a", 0, "b") returns values["a"][0]["b"], if such an element exists. If such an element does not exist, it returns nil. All keys must be of type either string (for map keys) or int (for slice indexes). If a key type doesn't match the corresponding element type (string for map, int for slice), an error is returned.

func HashForMap

func HashForMap(m map[string]any) string

HashForMap creates a hash value for a map of type map[string]any and returns it.

func IDForKeyWithOptionalValue added in v1.6.0

func IDForKeyWithOptionalValue(key string, value *string) string

IDForKeyWithOptionalValue returns an identifier for the given key + optional value.

func IifString added in v1.38.0

func IifString(condition bool, onTrue, onFalse string) string

IifString returns onTrue if the condition is true, and onFalse otherwise. It is similar to the ternary operator (?:) and the IIF function (see https://en.wikipedia.org/wiki/IIf) in other languages.

func Indent added in v1.13.0

func Indent(str string, spaces int) string

Indent indents the given string with the given number of spaces.

func InitValuesMap added in v1.18.0

func InitValuesMap(values map[string]any) map[string]any

InitValuesMap returns the given values map if it is non-nil, or a newly allocated values map if it is nil.

func InterfaceMapToStringMap added in v1.75.0

func InterfaceMapToStringMap(in map[string]any) map[string]string

InterfaceMapToStringMap translates map[string]any to map[string]string.

func MergeMaps

func MergeMaps(a, b map[string]any) map[string]any

MergeMaps takes two maps <a>, <b> and merges them. If <b> defines a value with a key already existing in the <a> map, the <a> value for that key will be overwritten.

func MergeStringMaps

func MergeStringMaps[T any](oldMap map[string]T, newMaps ...map[string]T) map[string]T

MergeStringMaps merges the content of the newMaps with the oldMap. If a key already exists then it gets overwritten by the last value with the same key.

func MustNewRequirement added in v1.12.0

func MustNewRequirement(key string, op selection.Operator, vals ...string) labels.Requirement

MustNewRequirement creates a labels.Requirement with the given values and panics if there is an error.

func RandomDuration added in v1.8.1

func RandomDuration(max time.Duration) time.Duration

RandomDuration takes a time.Duration and computes a non-negative pseudo-random duration in [0,max). It returns 0ns if max is <= 0ns.

func RandomDurationWithMetaDuration added in v1.8.1

func RandomDurationWithMetaDuration(max *metav1.Duration) time.Duration

RandomDurationWithMetaDuration takes a *metav1.Duration and computes a non-negative pseudo-random duration in [0,max). It returns 0ns if max is nil or <= 0ns.

func SHA256

func SHA256(in []byte) []byte

SHA256 takes a byte slice and returns the sha256-hashed byte slice.

func SetToValuesMap added in v1.18.0

func SetToValuesMap(values map[string]any, v any, keys ...any) (map[string]any, error)

SetToValuesMap sets the given element v to the specified location in the given values map, e.g. SetToValuesMap(values, v, "a", 0, "b") sets values["a"][0]["b"] = v. All map and slice elements along the way that don't exist are created and set at their corresponding locations. All keys must be of type either string (for map keys) or int (for slice indexes). Slice indexes must refer to existing slice elements or the first element beyond the end of a slice. If a key type doesn't match the corresponding element type (string for map, int for slice), an error is returned.

func ShallowCopyMapStringInterface added in v1.17.0

func ShallowCopyMapStringInterface(values map[string]any) map[string]any

ShallowCopyMapStringInterface creates a shallow copy of the given map.

func TestEmail

func TestEmail(email string) bool

TestEmail validates the provided <email> against a regular expression and returns whether it matches.

func TimeElapsed

func TimeElapsed(timestamp *metav1.Time, duration time.Duration) bool

TimeElapsed takes a <timestamp> and a <duration> checks whether the elapsed time until now is less than the <duration>. If yes, it returns true, otherwise it returns false.

func ToValuesMap added in v1.18.0

func ToValuesMap(v any) (map[string]any, error)

ToValuesMap converts the given value v to a values map, by first marshalling it to JSON, and then unmarshalling the result from JSON into a values map. If v cannot be marshalled to JSON, or if the result cannot be unmarshalled into a values map, an error is returned.

func ToValuesMapWithOptions added in v1.36.0

func ToValuesMapWithOptions(v any, opt Options) (map[string]any, error)

ToValuesMapWithOptions converts the given value v to a values map, by first marshalling it to JSON, and then unmarshalling the result from JSON into a values map. If v cannot be marshalled to JSON, or if the result cannot be unmarshalled into a values map, an error is returned.

Types

type Options added in v1.36.0

type Options struct {
	// LowerCaseKeys forces the keys to be lower case for the first character
	LowerCaseKeys bool
	// RemoveZeroEntries removes the map entry if the value is the zero value for its type
	// For example: removes the map entry if the value is string(""), bool(false) or int(0)
	RemoveZeroEntries bool
}

Options are options for marshalling

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
Package flow provides utilities to construct a directed acyclic computational graph that is then executed and monitored with maximum parallelism.
Package flow provides utilities to construct a directed acyclic computational graph that is then executed and monitored with maximum parallelism.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
client/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
oci
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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