kubernetesk8s.io/kubernetes/pkg/util Index | Files | Directories

package util

import "k8s.io/kubernetes/pkg/util"

Package util implements various utility functions used in both testing and implementation of Kubernetes. Package util may not depend on any other package in the Kubernetes package tree.

Index

Functions

func AllPtrFieldsNil

func AllPtrFieldsNil(obj interface{}) bool

Tests whether all pointer fields in a struct are nil. This is useful when, for example, an API struct is handled by plugins which need to distinguish "no plugin accepted this spec" from "this spec is empty".

This function is only valid for structs and pointers to structs. Any other type will cause a panic. Passing a typed nil pointer will return true.

func CompileRegexps

func CompileRegexps(regexpStrings []string) ([]*regexp.Regexp, error)

Takes a list of strings and compiles them into a list of regular expressions

func ExecuteTemplate

func ExecuteTemplate(w io.Writer, templateText string, data interface{}) error

ExecuteTemplate executes templateText with data and output written to w.

func ExecuteTemplateToString

func ExecuteTemplateToString(templateText string, data interface{}) (string, error)

func FileExists

func FileExists(filename string) (bool, error)

func Int32Ptr

func Int32Ptr(i int32) *int32

Int32Ptr returns a pointer to an int32

func Int32PtrDerefOr

func Int32PtrDerefOr(ptr *int32, def int32) int32

Int32PtrDerefOr dereference the int32 ptr and returns it i not nil, else returns def.

func IntPtr

func IntPtr(i int) *int

IntPtr returns a pointer to an int

func IntPtrDerefOr

func IntPtrDerefOr(ptr *int, def int) int

IntPtrDerefOr dereference the int ptr and returns it i not nil, else returns def.

func ReadDirNoStat

func ReadDirNoStat(dirname string) ([]string, error)

ReadDirNoStat returns a string of files/directories contained in dirname without calling lstat on them.

func Umask

func Umask(mask int) (old int, err error)

func UsingSystemdInitSystem

func UsingSystemdInitSystem() bool

Detects if using systemd as the init system Please note that simply reading /proc/1/cmdline can be misleading because some installation of various init programs can automatically make /sbin/init a symlink or even a renamed version of their main program. TODO(dchen1107): realiably detects the init system using on the system: systemd, upstart, initd, etc.

Types

type Trace

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

func NewTrace

func NewTrace(name string) *Trace

func (*Trace) Log

func (t *Trace) Log()

func (*Trace) LogIfLong

func (t *Trace) LogIfLong(threshold time.Duration)

func (*Trace) Step

func (t *Trace) Step(msg string)

func (*Trace) TotalTime

func (t *Trace) TotalTime() time.Duration

type Trie

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

A simple trie implementation with Add an HasPrefix methods only.

func CreateTrie

func CreateTrie(list []string) Trie

CreateTrie creates a Trie and add all strings in the provided list to it.

func (*Trie) Add

func (t *Trie) Add(v string)

Add adds a word to this trie

func (*Trie) GetPrefix

func (t *Trie) GetPrefix(v string) (string, bool)

GetPrefix is like HasPrefix but return the prefix in case of match or empty string otherwise.

func (*Trie) HasPrefix

func (t *Trie) HasPrefix(v string) bool

HasPrefix returns true of v has any of the prefixes stored in this trie.

Source Files

doc.go template.go trace.go trie.go umask.go util.go

Directories

PathSynopsis
pkg/util/async
pkg/util/bandwidthPackage bandwidth provides utilities for bandwidth shaping
pkg/util/cache
pkg/util/cert
pkg/util/cert/triplePackage triple generates key-certificate pairs for the triple (CA, Server, Client).
pkg/util/chmodPackage chown provides an interface and implementations for things that run run the chmod system call.
pkg/util/chownPackage chown provides utilities to chown a path
pkg/util/clock
pkg/util/codeinspector
pkg/util/configPackage config provides utility objects for decoupling sources of configuration and the actual configuration state.
pkg/util/configz
pkg/util/crlf
pkg/util/dbusPackage dbus provides an injectable interface and implementations for D-Bus communication
pkg/util/diff
pkg/util/ebtables
pkg/util/env
pkg/util/errorsPackage errors implements various utility functions and types around errors.
pkg/util/execPackage exec provides an injectable interface and implementations for running commands.
pkg/util/flag
pkg/util/flock
pkg/util/flowcontrol
pkg/util/flushwriterPackage flushwriter implements a wrapper for a writer that flushes on every write if that writer implements the io.Flusher interface
pkg/util/framerPackage framer implements simple frame decoding techniques for an io.ReadCloser
pkg/util/goroutinemapPackage goroutinemap implements a data structure for managing go routines by name.
pkg/util/goroutinemap/exponentialbackoffPackage exponentialbackoff contains logic for implementing exponential backoff for GoRoutineMap and NestedPendingOperations.
pkg/util/hash
pkg/util/homedir
pkg/util/httpstreamPackage httpstream adds multiplexed streaming support to HTTP requests and responses via connection upgrades.
pkg/util/httpstream/spdy
pkg/util/initsystem
pkg/util/integer
pkg/util/interrupt
pkg/util/intstrPackage intstr is a generated protocol buffer package.
pkg/util/io
pkg/util/iptablesPackage iptables provides an interface and implementations for running iptables commands.
pkg/util/iptables/testing
pkg/util/json
pkg/util/jsonpathpackage jsonpath is a template engine using jsonpath syntax, which can be seen at http://goessner.net/articles/JsonPath/.
pkg/util/keymutex
pkg/util/labelsPackage labels provides utilities to work with Kubernetes labels.
pkg/util/limitwriterPackage limitwriter provides a writer that only allows a certain number of bytes to be written.
pkg/util/logs
pkg/util/mapsPackage maps has common methods for dealing with common map types.
pkg/util/metrics
pkg/util/mountPackage mount defines an interface to mounting filesystems.
pkg/util/net
pkg/util/net/sets
pkg/util/netshPackage netsh provides an interface and implementations for running Windows netsh commands.
pkg/util/netsh/testing
pkg/util/node
pkg/util/oomPackage oom implements utility functions relating to out of memory management.
pkg/util/parsers
pkg/util/podPackage pod provides utilities to work with Kubernetes pod and pod templates.
pkg/util/procfsPackage procfs implements utility functions relating to the /proc mount.
pkg/util/proxyPackage proxy provides transport and upgrade support for proxies
pkg/util/randPackage rand provides utilities related to randomization.
pkg/util/ratelimit
pkg/util/replicaset
pkg/util/resourcecontainer
pkg/util/rlimit
pkg/util/runtime
pkg/util/selinuxPackage selinux contains wrapper functions for the libcontainer SELinux package.
pkg/util/setsPackage sets has auto-generated set types.
pkg/util/sets/typesPackage types just provides input types to the set generator.
pkg/util/slicePackage slice provides utility methods for common operations on slices.
pkg/util/strategicpatch
pkg/util/strings
pkg/util/sysctl
pkg/util/sysctl/testing
pkg/util/system
pkg/util/term
pkg/util/testing
pkg/util/threading
pkg/util/uuid
pkg/util/validation
pkg/util/validation/field
pkg/util/waitPackage wait provides tools for polling or listening for changes to a condition.
pkg/util/workqueuePackage workqueue provides a simple queue that supports the following features:
pkg/util/workqueue/prometheus
pkg/util/wsstreamPackage wsstream contains utilities for streaming content over WebSockets.
pkg/util/yaml
Version
v1.5.0-beta.2
Published
Nov 24, 2016
Platform
js/wasm
Imports
12 packages
Last checked
38 minutes ago

Tools for package owners.