gardener: github.com/gardener/gardener/pkg/utils Index | Files | Directories

package utils

import "github.com/gardener/gardener/pkg/utils"

Index

Package Files

encoding.go miscellaneous.go random.go template_engine.go timewindow.go

Variables

var AlwaysTimeWindow = NewMaintenanceTimeWindow(NewMaintenanceTime(0, 0, 0), NewMaintenanceTime(23, 59, 59))

AlwaysTimeWindow is a MaintenanceTimeWindow that contains all durations.

var (
    // RandomFunc is a function that computes a random number.
    RandomFunc = rand.Int63nRange
)

func ComputeSHA1Hex Uses

func ComputeSHA1Hex(in []byte) string

ComputeSHA1Hex computes the hexadecimal representation of the SHA1 hash of the given input byte slice <in>, converts it to a string and returns it (length of returned string is 40 characters).

func ComputeSHA256Hex Uses

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 CreateSHA1Secret Uses

func CreateSHA1Secret(username, password []byte) string

CreateSHA1Secret takes a username and a password and returns a sha1-schemed credentials pair as string.

func DecodeBase64 Uses

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

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

func DecodeCertificate Uses

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 DecodePrivateKey Uses

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 EncodeBase64 Uses

func EncodeBase64(in []byte) string

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

func EncodeCertificate Uses

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 Uses

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 Uses

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 EncodeSHA1 Uses

func EncodeSHA1(in []byte) string

EncodeSHA1 takes a byte slice and returns the sha1-hashed string (base64-encoded).

func FindFreePort Uses

func FindFreePort() (int, error)

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

func GenerateRandomString Uses

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 Uses

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 HashForMap Uses

func HashForMap(m map[string]interface{}) string

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

func MergeMaps Uses

func MergeMaps(a, b map[string]interface{}) map[string]interface{}

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 Uses

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

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 RenderLocalTemplate Uses

func RenderLocalTemplate(tpl string, values interface{}) ([]byte, error)

RenderLocalTemplate uses a template <tpl> given as a string and renders it. Thus, the template does not necessarily need to be stored as a file.

func RenderTemplate Uses

func RenderTemplate(filename string, values interface{}) ([]byte, error)

RenderTemplate reads the template file in the <templateDir> directory and renders it. It injects a bunch of standard functions which can be used in the template file.

func RenderTemplateWithFuncs Uses

func RenderTemplateWithFuncs(filename string, funcs template.FuncMap, values interface{}) ([]byte, error)

RenderTemplateWithFuncs reads the template file in the <templateDir> directory and renders it. It allows providing a user-defined template.FuncMap <funcs> to the template which will be merged with the standard functions and provided to the template file. The user-defined functions always take precedence in the merge process.

func RenderTemplatesWithFuncs Uses

func RenderTemplatesWithFuncs(filenames []string, funcs template.FuncMap, values interface{}) ([]byte, error)

RenderTemplatesWithFuncs does the same as RenderTemplateWithFuncs except that it allows providing multiple template files instead of only exactly one.

func SHA1 Uses

func SHA1(in []byte) []byte

SHA1 takes a byte slice and returns the sha1-hashed byte slice.

func SHA256 Uses

func SHA256(in []byte) []byte

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

func TestEmail Uses

func TestEmail(email string) bool

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

func TimeElapsed Uses

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 ValueExists Uses

func ValueExists(value string, list []string) bool

ValueExists returns true or false, depending on whether the given string <value> is part of the given []string list <list>.

type MaintenanceTime Uses

type MaintenanceTime struct {
    // contains filtered or unexported fields
}

MaintenanceTime is a structure holding a maintenance time.

func NewMaintenanceTime Uses

func NewMaintenanceTime(hour, minute, second int) *MaintenanceTime

NewMaintenanceTime returns a maintenance time structure based on the given hour, minute, and second.

func ParseMaintenanceTime Uses

func ParseMaintenanceTime(value string) (*MaintenanceTime, error)

ParseMaintenanceTime parses the given value and returns it as MaintenanceTime object. In case the parsing fails, an error is returned. The time object is converted to UTC zone.

func (*MaintenanceTime) Add Uses

func (m *MaintenanceTime) Add(hour, minute, second int) *MaintenanceTime

Add adds hour, minute and second to <m> and returns a new maintenance time.

func (*MaintenanceTime) Compare Uses

func (m *MaintenanceTime) Compare(other *MaintenanceTime) int

Compare compares the two times <m> and <other>. It returns * i < 0 if <m> is before other * i = 0 if <m> is equal other * i > 0 if <m> is after other

func (*MaintenanceTime) Formatted Uses

func (m *MaintenanceTime) Formatted() string

Formatted formats the maintenance time object to the maintenance time format.

func (*MaintenanceTime) Hour Uses

func (m *MaintenanceTime) Hour() int

Hour returns the hour of the maintenance time.

func (*MaintenanceTime) Minute Uses

func (m *MaintenanceTime) Minute() int

Minute returns the minute of the maintenance time.

func (*MaintenanceTime) Second Uses

func (m *MaintenanceTime) Second() int

Second returns the second of the maintenance time.

func (*MaintenanceTime) String Uses

func (m *MaintenanceTime) String() string

String returns the string representation of the maintenance time.

type MaintenanceTimeWindow Uses

type MaintenanceTimeWindow struct {
    // contains filtered or unexported fields
}

MaintenanceTimeWindow contains the beginning and the end of a time window in which maintenance operations can be performed.

func NewMaintenanceTimeWindow Uses

func NewMaintenanceTimeWindow(begin, end *MaintenanceTime) *MaintenanceTimeWindow

NewMaintenanceTimeWindow takes a begin and an end of a time window and returns a pointer to a MaintenanceTimeWindow structure.

func ParseMaintenanceTimeWindow Uses

func ParseMaintenanceTimeWindow(begin, end string) (*MaintenanceTimeWindow, error)

ParseMaintenanceTimeWindow takes a begin and an end of a time window in the maintenance format and returns a pointer to a MaintenanceTimeWindow structure.

func RandomMaintenanceTimeWindow Uses

func RandomMaintenanceTimeWindow() *MaintenanceTimeWindow

RandomMaintenanceTimeWindow computes a random time window and returns both in the format HHMMSS+ZONE.

func (*MaintenanceTimeWindow) Begin Uses

func (m *MaintenanceTimeWindow) Begin() *MaintenanceTime

Begin returns the begin of the time window.

func (*MaintenanceTimeWindow) Contains Uses

func (m *MaintenanceTimeWindow) Contains(tTime time.Time) bool

Contains returns true in case the given time is within the time window.

func (*MaintenanceTimeWindow) Duration Uses

func (m *MaintenanceTimeWindow) Duration() time.Duration

Duration returns the duration of the maintenance time window.

func (*MaintenanceTimeWindow) End Uses

func (m *MaintenanceTimeWindow) End() *MaintenanceTime

End returns the end of the time window.

func (*MaintenanceTimeWindow) RandomDurationUntilNext Uses

func (m *MaintenanceTimeWindow) RandomDurationUntilNext(from time.Time) time.Duration

RandomDurationUntilNext computes the duration until a random time within the time window for the next maintenance execution.

func (*MaintenanceTimeWindow) String Uses

func (m *MaintenanceTimeWindow) String() string

String returns the string representation of the time window.

func (*MaintenanceTimeWindow) WithBegin Uses

func (m *MaintenanceTimeWindow) WithBegin(begin *MaintenanceTime) *MaintenanceTimeWindow

WithBegin returns a new maintenance time window with the given <begin> (ending will be kept).

func (*MaintenanceTimeWindow) WithEnd Uses

func (m *MaintenanceTimeWindow) WithEnd(end *MaintenanceTime) *MaintenanceTimeWindow

WithEnd returns a new maintenance time window with the given <end> (beginning will be kept).

Directories

PathSynopsis
chart
context
errors
flowPackage flow provides utilities to construct a directed acyclic computational graph that is then executed and monitored with maximum parallelism.
imagevector
kubernetes
kubernetes/client
kubernetes/health
retry
secrets
test
time
validation/cidr
validation/gomega
version

Package utils imports 22 packages (graph) and is imported by 30 packages. Updated 2020-02-23. Refresh now. Tools for package owners.