Documentation ¶
Index ¶
- Variables
- func CheckVersionMeetsConstraint(version, constraint string) (bool, error)
- func CompareVersions(version1, operator, version2 string) (bool, error)
- func ComputeSHA1Hex(in []byte) string
- func ComputeSHA256Hex(in []byte) string
- func CreateSHA1Secret(username, password []byte) string
- func DecodeBase64(in string) ([]byte, error)
- func DecodeCertificate(bytes []byte) (*x509.Certificate, error)
- func DecodePrivateKey(bytes []byte) (*rsa.PrivateKey, error)
- func EncodeBase64(in []byte) string
- func EncodeCertificate(certificate []byte) []byte
- func EncodePrivateKey(key *rsa.PrivateKey) []byte
- func EncodeSHA1(in []byte) string
- func Errors(err error) []error
- func FindFreePort() (int, error)
- func GenerateRandomString(n int) (string, error)
- func GenerateRandomStringFromCharset(n int, allowedCharacters string) (string, error)
- func HashForMap(m map[string]interface{}) string
- func IsTimedOut(err error) bool
- func LastErrorOfTimedOutWithError(err error) error
- func LookupDNSHost(domain string) ([]string, error)
- func LookupDNSHostCNAME(domain string) (string, error)
- func MergeMaps(a, b map[string]interface{}) map[string]interface{}
- func MergeStringMaps(oldMap map[string]string, newMaps ...map[string]string) map[string]string
- func RenderLocalTemplate(tpl string, values interface{}) ([]byte, error)
- func RenderTemplate(filename string, values interface{}) ([]byte, error)
- func RenderTemplateWithFuncs(filename string, funcs template.FuncMap, values interface{}) ([]byte, error)
- func RenderTemplatesWithFuncs(filenames []string, funcs template.FuncMap, values interface{}) ([]byte, error)
- func Retry(interval time.Duration, timeout time.Duration, f ConditionFunc) error
- func RetryUntil(ctx context.Context, interval time.Duration, f ConditionFunc) error
- func SHA1(in []byte) []byte
- func SHA256(in []byte) []byte
- func TestEmail(email string) bool
- func TimeElapsed(timestamp *metav1.Time, duration time.Duration) bool
- func ValueExists(value string, list []string) bool
- func WaitTimeOfTimedOut(err error) time.Duration
- type ConditionFunc
- type MaintenanceTime
- func (m *MaintenanceTime) Add(hour, minute, second int) *MaintenanceTime
- func (m *MaintenanceTime) Compare(other *MaintenanceTime) int
- func (m *MaintenanceTime) Formatted() string
- func (m *MaintenanceTime) Hour() int
- func (m *MaintenanceTime) Minute() int
- func (m *MaintenanceTime) Second() int
- func (m *MaintenanceTime) String() string
- type MaintenanceTimeWindow
- func (m *MaintenanceTimeWindow) Begin() *MaintenanceTime
- func (m *MaintenanceTimeWindow) Contains(tTime time.Time) bool
- func (m *MaintenanceTimeWindow) Duration() time.Duration
- func (m *MaintenanceTimeWindow) End() *MaintenanceTime
- func (m *MaintenanceTimeWindow) RandomDurationUntilNext(from time.Time) time.Duration
- func (m *MaintenanceTimeWindow) String() string
- func (m *MaintenanceTimeWindow) WithBegin(begin *MaintenanceTime) *MaintenanceTimeWindow
- func (m *MaintenanceTimeWindow) WithEnd(end *MaintenanceTime) *MaintenanceTimeWindow
Constants ¶
This section is empty.
Variables ¶
var ( // RandomFunc is a function that computes a random number. RandomFunc = rand.Int63nRange )
Functions ¶
func CheckVersionMeetsConstraint ¶
CheckVersionMeetsConstraint returns true if the <version> meets the <constraint>.
func CompareVersions ¶
CompareVersions returns true if the constraint <version1> compared by <operator> to <version2> returns true, and false otherwise. The comparison is based on semantic versions, i.e. <version1> and <version2> will be converted if needed.
func ComputeSHA1Hex ¶
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 ¶
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 ¶
CreateSHA1Secret takes a username and a password and returns a sha1-schemed credentials pair as string.
func DecodeBase64 ¶
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 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 EncodeBase64 ¶
EncodeBase64 takes a byte slice and returns the Base64-encoded string.
func EncodeCertificate ¶
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 EncodeSHA1 ¶
EncodeSHA1 takes a byte slice and returns the sha1-hashed string (base64-encoded).
func Errors ¶
Errors returns a list of all nested errors of the given error. If the error is nil, nil is returned. If the error is a multierror, it returns all its errors. Otherwise, it returns a slice containing the error as single element.
func FindFreePort ¶
FindFreePort finds a free port on the host machine and returns it.
func GenerateRandomString ¶
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 ¶
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 ¶
HashForMap creates a hash value for a map of type map[string]interface{} and returns it.
func IsTimedOut ¶
IsTimedOut determines whether the given error is a timed out error.
func LastErrorOfTimedOutWithError ¶
LastErrorOfTimedOutWithError returns the last error if the given error was a <timedOutWithError>. Otherwise, it just returns nil.
func LookupDNSHost ¶
LookupDNSHost performs a DNS lookup for the given <domain>. In case of success, it will return the list of records. If the domain is not resolvable, it will return nil.
func LookupDNSHostCNAME ¶
LookupDNSHostCNAME performs a CNAME DNS lookup for the given <domain>. In case of success, it will return the record. If the domain is not resolvable (or is not of type CNAME), it will return an empty string.
func MergeMaps ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 ¶
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 Retry ¶
Retry retries <f> until it either succeeds, fails severely or times out. Between each runs, it sleeps for <interval>.
func RetryUntil ¶
RetryUntil retries <f> until it either succeeds, fails severely or the given channel <stopCh> is closed. Between each tries, it sleeps for <interval>. The function f is guaranteed to be executed at least once. During each execution, f can't be prematurely killed, thus an operation may run considerably longer than anticipated after closing the <stopCh>.
func TestEmail ¶
TestEmail validates the provided <email> against a regular expression and returns whether it matches.
func TimeElapsed ¶
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 ¶
ValueExists returns true or false, depending on whether the given string <value> is part of the given []string list <list>.
func WaitTimeOfTimedOut ¶
WaitTimeOfTimedOut returns the wait time of the given error if it implements the waitTimer interface: ```
type waitTimer interface { WaitTime() time.Duration }
If the given error does not implement the waitTimer interface, it just returns 0.
Types ¶
type ConditionFunc ¶
ConditionFunc is a function that reports whether it completed successfully or whether it had an error. Via the additional <severe> flag, it shows whether the error has been sever enough to cancel a retrying computation.
type MaintenanceTime ¶
type MaintenanceTime struct {
// contains filtered or unexported fields
}
MaintenanceTime is a structure holding a maintenance time.
func NewMaintenanceTime ¶
func NewMaintenanceTime(hour, minute, second int) *MaintenanceTime
NewMaintenanceTime returns a maintenance time structure based on the given hour, minute, and second.
func ParseMaintenanceTime ¶
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 ¶
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 ¶
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 ¶
func (m *MaintenanceTime) Formatted() string
Formatted formats the maintenance time object to the maintenance time format.
func (*MaintenanceTime) Hour ¶
func (m *MaintenanceTime) Hour() int
Hour returns the hour of the maintenance time.
func (*MaintenanceTime) Minute ¶
func (m *MaintenanceTime) Minute() int
Minute returns the minute of the maintenance time.
func (*MaintenanceTime) Second ¶
func (m *MaintenanceTime) Second() int
Second returns the second of the maintenance time.
func (*MaintenanceTime) String ¶
func (m *MaintenanceTime) String() string
String returns the string representation of the maintenance time.
type MaintenanceTimeWindow ¶
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 ¶
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 ¶
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 ¶
func RandomMaintenanceTimeWindow() *MaintenanceTimeWindow
RandomMaintenanceTimeWindow computes a random time window and returns both in the format HHMMSS+ZONE.
func (*MaintenanceTimeWindow) Begin ¶
func (m *MaintenanceTimeWindow) Begin() *MaintenanceTime
Begin returns the begin of the time window.
func (*MaintenanceTimeWindow) Contains ¶
func (m *MaintenanceTimeWindow) Contains(tTime time.Time) bool
Contains returns true in case the given time is within the time window.
func (*MaintenanceTimeWindow) Duration ¶
func (m *MaintenanceTimeWindow) Duration() time.Duration
Duration returns the duration of the maintenance time window.
func (*MaintenanceTimeWindow) End ¶
func (m *MaintenanceTimeWindow) End() *MaintenanceTime
End returns the end of the time window.
func (*MaintenanceTimeWindow) RandomDurationUntilNext ¶
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 ¶
func (m *MaintenanceTimeWindow) String() string
String returns the string representation of the time window.
func (*MaintenanceTimeWindow) WithBegin ¶
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 ¶
func (m *MaintenanceTimeWindow) WithEnd(end *MaintenanceTime) *MaintenanceTimeWindow
WithEnd returns a new maintenance time window with the given <end> (beginning will be kept).
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
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. |
validation
|
|