util

package
v1.21.0-alpha.0 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2026 License: Apache-2.0 Imports: 16 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AppGitState  = ""
	AppGitCommit = ""
	AppVersion   = "canary"
)

This variable block holds information used to build up the version string

Functions

func EqualIPsUnsorted added in v1.8.0

func EqualIPsUnsorted(s1, s2 []net.IP) bool

EqualIPsUnsorted checks if the given slices of IP addresses contain the same elements, even if in a different order

func EqualKeyUsagesUnsorted added in v1.8.0

func EqualKeyUsagesUnsorted(s1, s2 []cmapi.KeyUsage) bool

Test for equal KeyUsage slices even if unsorted

func EqualOtherNamesUnsorted added in v1.14.0

func EqualOtherNamesUnsorted(s1, s2 []cmapi.OtherName) bool

Test for equal cmapi.OtherName slices even if unsorted. Panics if any element is nil

func EqualURLsUnsorted added in v1.8.0

func EqualURLsUnsorted(s1, s2 []*url.URL) bool

Test for equal URL slices even if unsorted. Panics if any element is nil

func EqualUnsorted

func EqualUnsorted(s1 []string, s2 []string) bool

func JoinWithEscapeCSV added in v1.12.0

func JoinWithEscapeCSV(in []string) (string, error)

JoinWithEscapeCSV returns the given list as a single line of CSV that is escaped with quotes if necessary

func PrefixFromUserAgent added in v1.8.0

func PrefixFromUserAgent(u string) string

PrefixFromUserAgent takes the characters preceding the first /, quote unprintable character and then trim what's beyond the FieldManagerMaxLength limit. Taken from https://github.com/kubernetes/kubernetes/blob/9a75e7b0fd1b567f774a3373be640e19b33e7ef1/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/create.go#L252

func RestConfigWithUserAgent added in v1.8.0

func RestConfigWithUserAgent(restConfig *rest.Config, component ...string) *rest.Config

RestConfigWithUserAgent returns a copy of the Kubernetes REST config with the User Agent set which includes the optional component strings given.

func SplitWithEscapeCSV added in v1.12.0

func SplitWithEscapeCSV(in string) ([]string, error)

SplitWithEscapeCSV parses the given input as a single line of CSV, which allows a comma-separated list of strings to be parsed while allowing commas to be present in each field. For example, a user can specify: "10 Downing Street, Westminster",Manchester to produce []string{"10 Downing Street, Westminster", "Manchester"}, keeping the comma in the first address. Empty lines or multiple CSV records are both rejected.

func UserAgentRoundTripper added in v0.3.0

func UserAgentRoundTripper(inner http.RoundTripper, userAgent string) http.RoundTripper

UserAgentRoundTripper returns a RoundTripper that functions identically to the provided 'inner' round tripper, other than also setting a user agent.

Types

type CronSchedule

type CronSchedule interface {
	Next(time.Time) time.Time
}

CronSchedule defines the minimal schedule behavior exposed by this package, decoupling callers from the internal cron implementation.

func CronParse

func CronParse(origCronString, timeZone string) (CronSchedule, error)

CronParse parses the given cron syntax to return a cron schedule interface. It also takes in an optional timezone which would parse the cron schedule in that timezone. timeZone must be an IANA compliant time zone (e.g. America/Denver).

type Version added in v1.8.0

type Version struct {
	GitVersion   string `json:"gitVersion"`
	GitCommit    string `json:"gitCommit"`
	GitTreeState string `json:"gitTreeState"`
	GoVersion    string `json:"goVersion"`
	Compiler     string `json:"compiler"`
	Platform     string `json:"platform"`
}

func VersionInfo added in v1.8.0

func VersionInfo() Version

Directories

Path Synopsis
This file contains some code copied from the Go standard library under the following license: https://github.com/golang/go/blob/c95fe91d0715dc0a8d55ac80a80f383c3635548b/LICENSE
This file contains some code copied from the Go standard library under the following license: https://github.com/golang/go/blob/c95fe91d0715dc0a8d55ac80a80f383c3635548b/LICENSE

Jump to

Keyboard shortcuts

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