Documentation ¶
Overview ¶
Package kubectl is a set of libraries that are used by the kubectl command line tool. They are separated out into a library to support unit testing. Most functionality should be included in this package, and the main kubectl should really just be an entry point.
A set of common functions needed by cmd/kubectl and pkg/kubectl packages.
Index ¶
- Constants
- Variables
- func AbortRollingUpdate(c *RollingUpdaterConfig) error
- func AddDeploymentKeyToReplicationController(oldRc *api.ReplicationController, ...) (*api.ReplicationController, error)
- func AddJsonFilenameFlag(cmd *cobra.Command, value *[]string, usage string)
- func AnnotateFlags(cmd *cobra.Command, generators map[string]Generator)
- func AppendAllLabels(showLabels bool, itemLabels map[string]string) string
- func AppendLabelTabs(columnLabels []string) string
- func AppendLabels(itemLabels map[string]string, columnLabels []string) string
- func CreateApplyAnnotation(info *resource.Info, codec runtime.Encoder) error
- func CreateNewControllerFromCurrentController(rcClient coreclient.ReplicationControllersGetter, codec runtime.Codec, ...) (*api.ReplicationController, error)
- func CreateOrUpdateAnnotation(createAnnotation bool, info *resource.Info, codec runtime.Encoder) error
- func DescribableResources() []string
- func DescribeEvents(el *api.EventList, w io.Writer)
- func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer)
- func DescribePodTemplate(template *api.PodTemplateSpec, out io.Writer)
- func DescribeProbe(probe *api.Probe) string
- func DescribeResourceQuotas(quotas *api.ResourceQuotaList, w io.Writer)
- func EnsureFlagsValid(cmd *cobra.Command, generators map[string]Generator, generatorInUse string) error
- func FindSourceController(r coreclient.ReplicationControllersGetter, namespace, name string) (*api.ReplicationController, error)
- func GetBool(params map[string]string, key string, defValue bool) (bool, error)
- func GetClientVersion(w io.Writer)
- func GetModifiedConfiguration(info *resource.Info, annotate bool, codec runtime.Encoder) ([]byte, error)
- func GetNewTabWriter(output io.Writer) *tabwriter.Writer
- func GetNextControllerAnnotation(rc *api.ReplicationController) (string, bool)
- func GetOriginalConfiguration(mapping *meta.RESTMapping, obj runtime.Object) ([]byte, error)
- func HandleResourceRequirements(params map[string]string) (api.ResourceRequirements, error)
- func IsNoSuchReaperError(err error) bool
- func IsZero(i interface{}) bool
- func LoadExistingNextReplicationController(c coreclient.ReplicationControllersGetter, namespace, newName string) (*api.ReplicationController, error)
- func MakeLabels(labels map[string]string) string
- func MakeParams(cmd *cobra.Command, params []GeneratorParam) map[string]interface{}
- func MakeProtocols(protocols map[string]string) string
- func MakeRegexpArray(str string) ([]*regexp.Regexp, error)
- func MakeRegexpArrayOrDie(str string) []*regexp.Regexp
- func NewThirdPartyResourceMapper(gvs []unversioned.GroupVersion, gvks []unversioned.GroupVersionKind) (meta.RESTMapper, error)
- func ParseLabels(labelSpec interface{}) (map[string]string, error)
- func ParseProtocols(protocols interface{}) (map[string]string, error)
- func PrintModelDescription(inModel string, fieldsPath []string, w io.Writer, ...) error
- func Rename(c coreclient.ReplicationControllersGetter, rc *api.ReplicationController, ...) error
- func ResourceAliases(rs []string) []string
- func ResourceShortFormFor(resource string) (string, bool)
- func ScaleCondition(r Scaler, precondition *ScalePrecondition, namespace, name string, count uint, ...) wait.ConditionFunc
- func SetNextControllerAnnotation(rc *api.ReplicationController, name string)
- func SetOriginalConfiguration(info *resource.Info, original []byte) error
- func SortedQoSResourceNames(list qos.QOSList) []api.ResourceName
- func SortedResourceNames(list api.ResourceList) []api.ResourceName
- func SplitAndParseResourceRequest(inResource string, mapper meta.RESTMapper) (string, []string, error)
- func UpdateApplyAnnotation(info *resource.Info, codec runtime.Encoder) error
- func UpdateExistingReplicationController(rcClient coreclient.ReplicationControllersGetter, ...) (*api.ReplicationController, error)
- func ValidateParams(paramSpec []GeneratorParam, params map[string]interface{}) error
- type BasicPod
- type BasicReplicationController
- type CertificateSigningRequestDescriber
- type ClusterDescriber
- type Column
- type ConfigMapDescriber
- type ConfigMapGeneratorV1
- type CustomColumnsPrinter
- type DaemonSetDescriber
- type DaemonSetReaper
- type DeploymentBasicGeneratorV1
- type DeploymentDescriber
- type DeploymentHistoryViewer
- type DeploymentReaper
- type DeploymentRollbacker
- type DeploymentScaler
- type DeploymentStatusViewer
- type DeploymentV1Beta1
- type Describer
- type DescriberSettings
- type Describers
- type EndpointsDescriber
- type EnvVarResolverFunc
- type ErrNoDescriber
- type FilterFunc
- type FilterServer
- type Filters
- type Generator
- type GeneratorParam
- type HistoryViewer
- type HorizontalPodAutoscalerDescriber
- type HorizontalPodAutoscalerV1
- type HorizontalPodAutoscalerV1Beta1
- type HumanReadablePrinter
- func (h *HumanReadablePrinter) AfterPrint(output io.Writer, res string) error
- func (h *HumanReadablePrinter) EnsurePrintWithKind(kind string)
- func (h *HumanReadablePrinter) GetResourceKind() string
- func (h *HumanReadablePrinter) HandledResources() []string
- func (h *HumanReadablePrinter) Handler(columns []string, printFunc interface{}) error
- func (h *HumanReadablePrinter) PrintObj(obj runtime.Object, output io.Writer) error
- type IngressDescriber
- type JSONPathPrinter
- type JSONPrinter
- type JobDescriber
- type JobReaper
- type JobScaler
- type JobV1
- type JobV1Beta1
- type LimitRangeDescriber
- type NamePrinter
- type NamespaceDescriber
- type NamespaceGeneratorV1
- type NamespaceInfo
- type NetworkPolicyDescriber
- type NewControllerConfig
- type NoSuchReaperError
- type NodeDescriber
- type ObjectDescriber
- type OutputVersionMapper
- type PersistentVolumeClaimDescriber
- type PersistentVolumeDescriber
- type PetSetDescriber
- type PetSetReaper
- type PetSetScaler
- type PodDescriber
- type PodReaper
- type PreconditionError
- type PrintOptions
- type ProxyServer
- type RESTClient
- type Reaper
- type ReplicaSetDescriber
- type ReplicaSetReaper
- type ReplicaSetScaler
- type ReplicationControllerDescriber
- type ReplicationControllerReaper
- type ReplicationControllerScaler
- type ResourcePrinter
- type ResourcePrinterFunc
- type ResourceQuotaDescriber
- type ResourceQuotaGeneratorV1
- type RetryParams
- type Rollbacker
- type RollingUpdater
- type RollingUpdaterCleanupPolicy
- type RollingUpdaterConfig
- type RuntimeSort
- type ScaleError
- type ScaleErrorType
- type ScalePrecondition
- func (precondition *ScalePrecondition) ValidateDeployment(deployment *extensions.Deployment) error
- func (precondition *ScalePrecondition) ValidateJob(job *batch.Job) error
- func (precondition *ScalePrecondition) ValidatePetSet(ps *apps.PetSet) error
- func (precondition *ScalePrecondition) ValidateReplicaSet(replicaSet *extensions.ReplicaSet) error
- func (precondition *ScalePrecondition) ValidateReplicationController(controller *api.ReplicationController) error
- type Scaler
- type ScheduledJobDescriber
- type ScheduledJobV2Alpha1
- type SecretDescriber
- type SecretForDockerRegistryGeneratorV1
- type SecretForTLSGeneratorV1
- type SecretGeneratorV1
- type ServiceAccountDescriber
- type ServiceAccountGeneratorV1
- type ServiceClusterIPGeneratorV1
- type ServiceCommonGeneratorV1
- type ServiceDescriber
- type ServiceGeneratorV1
- type ServiceGeneratorV2
- type ServiceLoadBalancerGeneratorV1
- type ServiceNodePortGeneratorV1
- type ServiceReaper
- type SortableResourceNames
- type SortableResourceQuotas
- type SortableVolumeMounts
- type SortingPrinter
- type StatusViewer
- type StorageClassDescriber
- type StructuredGenerator
- type TemplatePrinter
- type VersionedPrinter
- type YAMLPrinter
Constants ¶
const ( DefaultHostAcceptRE = "^localhost$,^127\\.0\\.0\\.1$,^\\[::1\\]$" DefaultPathAcceptRE = "^/.*" DefaultPathRejectRE = "^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach" DefaultMethodRejectRE = "POST,PUT,PATCH" )
const ( Interval = time.Second * 1 Timeout = time.Minute * 5 )
const (
ChangeCauseAnnotation = "kubernetes.io/change-cause"
)
Variables ¶
var ( // The reverse proxy will periodically flush the io writer at this frequency. // Only matters for long poll connections like the one used to watch. With an // interval of 0 the reverse proxy will buffer content sent on any connection // with transfer-encoding=chunked. // TODO: Flush after each chunk so the client doesn't suffer a 100ms latency per // watch event. ReverseProxyFlushInterval = 100 * time.Millisecond )
var ShortForms = map[string]string{
"cm": "configmaps",
"cs": "componentstatuses",
"csr": "certificatesigningrequests",
"deploy": "deployments",
"ds": "daemonsets",
"ep": "endpoints",
"ev": "events",
"hpa": "horizontalpodautoscalers",
"ing": "ingresses",
"limits": "limitranges",
"no": "nodes",
"ns": "namespaces",
"po": "pods",
"psp": "podSecurityPolicies",
"pvc": "persistentvolumeclaims",
"pv": "persistentvolumes",
"quota": "resourcequotas",
"rc": "replicationcontrollers",
"rs": "replicasets",
"sa": "serviceaccounts",
"svc": "services",
}
ShortForms is the list of short names to their expanded names
Functions ¶
func AbortRollingUpdate ¶
func AbortRollingUpdate(c *RollingUpdaterConfig) error
func AddDeploymentKeyToReplicationController ¶
func AddDeploymentKeyToReplicationController(oldRc *api.ReplicationController, rcClient coreclient.ReplicationControllersGetter, podClient coreclient.PodsGetter, deploymentKey, deploymentValue, namespace string, out io.Writer) (*api.ReplicationController, error)
func AddJsonFilenameFlag ¶
func AnnotateFlags ¶
AnnotateFlags annotates all flags that are used by generators.
func AppendAllLabels ¶
Append all labels to a single column. We need this even when show-labels flag* is false, since this adds newline delimiter to the end of each row.
func AppendLabelTabs ¶
Append a set of tabs for each label column. We need this in the case where we have extra lines so that the tabwriter will still line things up.
func CreateApplyAnnotation ¶
CreateApplyAnnotation gets the modified configuration of the object, without embedding it again, and then sets it on the object as the annotation.
func CreateNewControllerFromCurrentController ¶
func CreateNewControllerFromCurrentController(rcClient coreclient.ReplicationControllersGetter, codec runtime.Codec, cfg *NewControllerConfig) (*api.ReplicationController, error)
func CreateOrUpdateAnnotation ¶
func CreateOrUpdateAnnotation(createAnnotation bool, info *resource.Info, codec runtime.Encoder) error
Create the annotation used by kubectl apply only when createAnnotation is true Otherwise, only update the annotation when it already exists
func DescribableResources ¶
func DescribableResources() []string
List of all resource types we can describe
func DescribeLimitRanges ¶
func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer)
DescribeLimitRanges merges a set of limit range items into a single tabular description
func DescribePodTemplate ¶
func DescribePodTemplate(template *api.PodTemplateSpec, out io.Writer)
func DescribeProbe ¶
DescribeProbe is exported for consumers in other API groups that have probes
func DescribeResourceQuotas ¶
func DescribeResourceQuotas(quotas *api.ResourceQuotaList, w io.Writer)
DescribeResourceQuotas merges a set of quota items into a single tabular description of all quotas
func EnsureFlagsValid ¶
func EnsureFlagsValid(cmd *cobra.Command, generators map[string]Generator, generatorInUse string) error
EnsureFlagsValid ensures that no invalid flags are being used against a generator.
func FindSourceController ¶
func FindSourceController(r coreclient.ReplicationControllersGetter, namespace, name string) (*api.ReplicationController, error)
func GetClientVersion ¶
func GetModifiedConfiguration ¶
func GetModifiedConfiguration(info *resource.Info, annotate bool, codec runtime.Encoder) ([]byte, error)
GetModifiedConfiguration retrieves the modified configuration of the object. If annotate is true, it embeds the result as an anotation in the modified configuration. If an object was read from the command input, it will use that version of the object. Otherwise, it will use the version from the server.
func GetNewTabWriter ¶
GetNewTabWriter returns a tabwriter that translates tabbed columns in input into properly aligned text.
func GetNextControllerAnnotation ¶
func GetNextControllerAnnotation(rc *api.ReplicationController) (string, bool)
func GetOriginalConfiguration ¶
GetOriginalConfiguration retrieves the original configuration of the object from the annotation, or nil if no annotation was found.
func HandleResourceRequirements ¶
func HandleResourceRequirements(params map[string]string) (api.ResourceRequirements, error)
HandleResourceRequirements parses the limits and requests parameters if specified
func IsNoSuchReaperError ¶
func LoadExistingNextReplicationController ¶
func LoadExistingNextReplicationController(c coreclient.ReplicationControllersGetter, namespace, newName string) (*api.ReplicationController, error)
func MakeLabels ¶
func MakeParams ¶
func MakeParams(cmd *cobra.Command, params []GeneratorParam) map[string]interface{}
MakeParams is a utility that creates generator parameters from a command line
func MakeProtocols ¶
func MakeRegexpArray ¶
Splits a comma separated list of regexps into an array of Regexp objects.
func MakeRegexpArrayOrDie ¶
func NewThirdPartyResourceMapper ¶
func NewThirdPartyResourceMapper(gvs []unversioned.GroupVersion, gvks []unversioned.GroupVersionKind) (meta.RESTMapper, error)
func ParseLabels ¶
ParseLabels turns a string representation of a label set into a map[string]string
func ParseProtocols ¶
func PrintModelDescription ¶
func PrintModelDescription(inModel string, fieldsPath []string, w io.Writer, swaggerSchema *swagger.ApiDeclaration, r bool) error
PrintModelDescription prints the description of a specific model or dot path
func Rename ¶
func Rename(c coreclient.ReplicationControllersGetter, rc *api.ReplicationController, newName string) error
func ResourceAliases ¶
ResourceAliases returns the resource shortcuts and plural forms for the given resources.
func ResourceShortFormFor ¶
ResourceShortFormFor looks up for a short form of resource names.
func ScaleCondition ¶
func ScaleCondition(r Scaler, precondition *ScalePrecondition, namespace, name string, count uint, updatedResourceVersion *string) wait.ConditionFunc
ScaleCondition is a closure around Scale that facilitates retries via util.wait
func SetNextControllerAnnotation ¶
func SetNextControllerAnnotation(rc *api.ReplicationController, name string)
func SetOriginalConfiguration ¶
SetOriginalConfiguration sets the original configuration of the object as the annotation on the object for later use in computing a three way patch.
func SortedQoSResourceNames ¶
func SortedQoSResourceNames(list qos.QOSList) []api.ResourceName
SortedQoSResourceNames returns the sorted resource names of a QoS list.
func SortedResourceNames ¶
func SortedResourceNames(list api.ResourceList) []api.ResourceName
SortedResourceNames returns the sorted resource names of a resource list.
func SplitAndParseResourceRequest ¶
func SplitAndParseResourceRequest(inResource string, mapper meta.RESTMapper) (string, []string, error)
SplitAndParseResourceRequest separates the users input into a model and fields
func UpdateApplyAnnotation ¶
UpdateApplyAnnotation calls CreateApplyAnnotation if the last applied configuration annotation is already present. Otherwise, it does nothing.
func UpdateExistingReplicationController ¶
func UpdateExistingReplicationController(rcClient coreclient.ReplicationControllersGetter, podClient coreclient.PodsGetter, oldRc *api.ReplicationController, namespace, newName, deploymentKey, deploymentValue string, out io.Writer) (*api.ReplicationController, error)
func ValidateParams ¶
func ValidateParams(paramSpec []GeneratorParam, params map[string]interface{}) error
ValidateParams ensures that all required params are present in the params map
Types ¶
type BasicPod ¶
type BasicPod struct{}
func (BasicPod) ParamNames ¶
func (BasicPod) ParamNames() []GeneratorParam
type BasicReplicationController ¶
type BasicReplicationController struct{}
func (BasicReplicationController) Generate ¶
func (BasicReplicationController) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (BasicReplicationController) ParamNames ¶
func (BasicReplicationController) ParamNames() []GeneratorParam
type CertificateSigningRequestDescriber ¶
type CertificateSigningRequestDescriber struct {
// contains filtered or unexported fields
}
func (*CertificateSigningRequestDescriber) Describe ¶
func (p *CertificateSigningRequestDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ClusterDescriber ¶
type ClusterDescriber struct {
fed_clientset.Interface
}
func (*ClusterDescriber) Describe ¶
func (d *ClusterDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type Column ¶
type Column struct { // The header to print above the column, general style is ALL_CAPS Header string // The pointer to the field in the object to print in JSONPath form // e.g. {.ObjectMeta.Name}, see pkg/util/jsonpath for more details. FieldSpec string }
Column represents a user specified column
type ConfigMapDescriber ¶
ConfigMapDescriber generates information about a ConfigMap
func (*ConfigMapDescriber) Describe ¶
func (d *ConfigMapDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ConfigMapGeneratorV1 ¶
type ConfigMapGeneratorV1 struct { // Name of configMap (required) Name string // Type of configMap (optional) Type string // FileSources to derive the configMap from (optional) FileSources []string // LiteralSources to derive the configMap from (optional) LiteralSources []string }
ConfigMapGeneratorV1 supports stable generation of a configMap.
func (ConfigMapGeneratorV1) Generate ¶
func (s ConfigMapGeneratorV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
Generate returns a configMap using the specified parameters.
func (ConfigMapGeneratorV1) ParamNames ¶
func (s ConfigMapGeneratorV1) ParamNames() []GeneratorParam
ParamNames returns the set of supported input parameters when using the parameter injection generator pattern.
func (ConfigMapGeneratorV1) StructuredGenerate ¶
func (s ConfigMapGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a configMap object using the configured fields.
type CustomColumnsPrinter ¶
CustomColumnPrinter is a printer that knows how to print arbitrary columns of data from templates specified in the `Columns` array
func NewCustomColumnsPrinterFromSpec ¶
func NewCustomColumnsPrinterFromSpec(spec string, decoder runtime.Decoder, noHeaders bool) (*CustomColumnsPrinter, error)
NewCustomColumnsPrinterFromSpec creates a custom columns printer from a comma separated list of <header>:<jsonpath-field-spec> pairs. e.g. NAME:metadata.name,API_VERSION:apiVersion creates a printer that prints:
NAME API_VERSION foo bar
func NewCustomColumnsPrinterFromTemplate ¶
func NewCustomColumnsPrinterFromTemplate(templateReader io.Reader, decoder runtime.Decoder) (*CustomColumnsPrinter, error)
NewCustomColumnsPrinterFromTemplate creates a custom columns printer from a template stream. The template is expected to consist of two lines, whitespace separated. The first line is the header line, the second line is the jsonpath field spec For example, the template below: NAME API_VERSION {metadata.name} {apiVersion}
func (*CustomColumnsPrinter) AfterPrint ¶
func (s *CustomColumnsPrinter) AfterPrint(w io.Writer, res string) error
func (*CustomColumnsPrinter) HandledResources ¶
func (s *CustomColumnsPrinter) HandledResources() []string
type DaemonSetDescriber ¶
DaemonSetDescriber generates information about a daemon set and the pods it has created.
func (*DaemonSetDescriber) Describe ¶
func (d *DaemonSetDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type DaemonSetReaper ¶
type DaemonSetReaper struct {
// contains filtered or unexported fields
}
func (*DaemonSetReaper) Stop ¶
func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
type DeploymentBasicGeneratorV1 ¶
DeploymentGeneratorV1 supports stable generation of a deployment
func (DeploymentBasicGeneratorV1) Generate ¶
func (s DeploymentBasicGeneratorV1) Generate(params map[string]interface{}) (runtime.Object, error)
func (DeploymentBasicGeneratorV1) ParamNames ¶
func (DeploymentBasicGeneratorV1) ParamNames() []GeneratorParam
func (*DeploymentBasicGeneratorV1) StructuredGenerate ¶
func (s *DeploymentBasicGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a deployment object using the configured fields
type DeploymentDescriber ¶
DeploymentDescriber generates information about a deployment.
func (*DeploymentDescriber) Describe ¶
func (dd *DeploymentDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type DeploymentHistoryViewer ¶
type DeploymentHistoryViewer struct {
// contains filtered or unexported fields
}
func (*DeploymentHistoryViewer) ViewHistory ¶
func (h *DeploymentHistoryViewer) ViewHistory(namespace, name string, revision int64) (string, error)
ViewHistory returns a revision-to-replicaset map as the revision history of a deployment
type DeploymentReaper ¶
type DeploymentReaper struct {
// contains filtered or unexported fields
}
func (*DeploymentReaper) Stop ¶
func (reaper *DeploymentReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
type DeploymentRollbacker ¶
type DeploymentRollbacker struct {
// contains filtered or unexported fields
}
type DeploymentScaler ¶
type DeploymentScaler struct {
// contains filtered or unexported fields
}
func (*DeploymentScaler) Scale ¶
func (scaler *DeploymentScaler) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, waitForReplicas *RetryParams) error
Scale updates a deployment to a new size, with optional precondition check (if preconditions is not nil), optional retries (if retry is not nil), and then optionally waits for the status to reach desired count.
func (*DeploymentScaler) ScaleSimple ¶
func (scaler *DeploymentScaler) ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)
ScaleSimple is responsible for updating a deployment's desired replicas count. It returns the resourceVersion of the deployment if the update is successful.
type DeploymentStatusViewer ¶
type DeploymentStatusViewer struct {
// contains filtered or unexported fields
}
type DeploymentV1Beta1 ¶
type DeploymentV1Beta1 struct{}
func (DeploymentV1Beta1) Generate ¶
func (DeploymentV1Beta1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (DeploymentV1Beta1) ParamNames ¶
func (DeploymentV1Beta1) ParamNames() []GeneratorParam
type Describer ¶
type Describer interface {
Describe(namespace, name string, describerSettings DescriberSettings) (output string, err error)
}
Describer generates output for the named resource or an error if the output could not be generated. Implementers typically abstract the retrieval of the named object from a remote server.
func DescriberFor ¶
Describer returns the default describe functions for each of the standard Kubernetes types.
type DescriberSettings ¶
type DescriberSettings struct {
ShowEvents bool
}
DescriberSettings holds display configuration for each object describer to control what is printed.
type Describers ¶
type Describers struct {
// contains filtered or unexported fields
}
Describers implements ObjectDescriber against functions registered via Add. Those functions can be strongly typed. Types are exactly matched (no conversion or assignable checks).
func (*Describers) Add ¶
func (d *Describers) Add(fns ...interface{}) error
Add adds one or more describer functions to the Describer. The passed function must match the signature:
func(...) (string, error)
Any number of arguments may be provided.
func (*Describers) DescribeObject ¶
func (d *Describers) DescribeObject(exact interface{}, extra ...interface{}) (string, error)
DescribeObject implements ObjectDescriber and will attempt to print the provided object to a string, if at least one describer function has been registered with the exact types passed, or if any describer can print the exact object in its first argument (the remainder will be provided empty values). If no function registered with Add can satisfy the passed objects, an ErrNoDescriber will be returned TODO: reorder and partial match extra.
type EndpointsDescriber ¶
EndpointsDescriber generates information about an Endpoint.
func (*EndpointsDescriber) Describe ¶
func (d *EndpointsDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type EnvVarResolverFunc ¶
func EnvValueRetriever ¶
func EnvValueRetriever(pod *api.Pod) EnvVarResolverFunc
EnvValueFrom is exported for use by describers in other packages
type ErrNoDescriber ¶
type ErrNoDescriber struct {
Types []string
}
ErrNoDescriber is a structured error indicating the provided object or objects cannot be described.
func (ErrNoDescriber) Error ¶
func (e ErrNoDescriber) Error() string
Error implements the error interface.
type FilterFunc ¶
type FilterFunc func(runtime.Object, PrintOptions) bool
FilterFunc is a function that knows how to filter a specific resource kind. It receives a generic runtime.Object which must be type-checked by the function. Returns a boolean value true if a resource is filtered, or false otherwise.
type FilterServer ¶
type FilterServer struct { // Only paths that match this regexp will be accepted AcceptPaths []*regexp.Regexp // Paths that match this regexp will be rejected, even if they match the above RejectPaths []*regexp.Regexp // Hosts are required to match this list of regexp AcceptHosts []*regexp.Regexp // Methods that match this regexp are rejected RejectMethods []*regexp.Regexp // contains filtered or unexported fields }
FilterServer rejects requests which don't match one of the specified regular expressions
func (*FilterServer) HandlerFor ¶
func (f *FilterServer) HandlerFor(delegate http.Handler) *FilterServer
Make a copy of f which passes requests along to the new delegate.
func (*FilterServer) ServeHTTP ¶
func (f *FilterServer) ServeHTTP(rw http.ResponseWriter, req *http.Request)
type Filters ¶
type Filters []FilterFunc
Filters is a collection of filter funcs
func NewResourceFilter ¶
func NewResourceFilter() Filters
type Generator ¶
type Generator interface { // Generate creates an API object given a set of parameters Generate(params map[string]interface{}) (runtime.Object, error) // ParamNames returns the list of parameters that this generator uses ParamNames() []GeneratorParam }
Generator is an interface for things that can generate API objects from input parameters.
type GeneratorParam ¶
GeneratorParam is a parameter for a generator TODO: facilitate structured json generator input schemes
type HistoryViewer ¶
type HistoryViewer interface {
ViewHistory(namespace, name string, revision int64) (string, error)
}
HistoryViewer provides an interface for resources have historical information.
func HistoryViewerFor ¶
func HistoryViewerFor(kind unversioned.GroupKind, c clientset.Interface) (HistoryViewer, error)
type HorizontalPodAutoscalerDescriber ¶
type HorizontalPodAutoscalerDescriber struct {
// contains filtered or unexported fields
}
HorizontalPodAutoscalerDescriber generates information about a horizontal pod autoscaler.
func (*HorizontalPodAutoscalerDescriber) Describe ¶
func (d *HorizontalPodAutoscalerDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type HorizontalPodAutoscalerV1 ¶
type HorizontalPodAutoscalerV1 struct{}
func (HorizontalPodAutoscalerV1) Generate ¶
func (HorizontalPodAutoscalerV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (HorizontalPodAutoscalerV1) ParamNames ¶
func (HorizontalPodAutoscalerV1) ParamNames() []GeneratorParam
type HorizontalPodAutoscalerV1Beta1 ¶
type HorizontalPodAutoscalerV1Beta1 struct{}
func (HorizontalPodAutoscalerV1Beta1) Generate ¶
func (HorizontalPodAutoscalerV1Beta1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (HorizontalPodAutoscalerV1Beta1) ParamNames ¶
func (HorizontalPodAutoscalerV1Beta1) ParamNames() []GeneratorParam
type HumanReadablePrinter ¶
type HumanReadablePrinter struct {
// contains filtered or unexported fields
}
HumanReadablePrinter is an implementation of ResourcePrinter which attempts to provide more elegant output. It is not threadsafe, but you may call PrintObj repeatedly; headers will only be printed if the object type changes. This makes it useful for printing items received from watches.
func NewHumanReadablePrinter ¶
func NewHumanReadablePrinter(options PrintOptions) *HumanReadablePrinter
NewHumanReadablePrinter creates a HumanReadablePrinter.
func (*HumanReadablePrinter) AfterPrint ¶
func (h *HumanReadablePrinter) AfterPrint(output io.Writer, res string) error
func (*HumanReadablePrinter) EnsurePrintWithKind ¶
func (h *HumanReadablePrinter) EnsurePrintWithKind(kind string)
EnsurePrintWithKind sets HumanReadablePrinter options "WithKind" to true and "Kind" to the string arg it receives, pre-pending this string to the "NAME" column in an output of resources.
func (*HumanReadablePrinter) GetResourceKind ¶
func (h *HumanReadablePrinter) GetResourceKind() string
GetResourceKind returns the type currently set for a resource
func (*HumanReadablePrinter) HandledResources ¶
func (h *HumanReadablePrinter) HandledResources() []string
func (*HumanReadablePrinter) Handler ¶
func (h *HumanReadablePrinter) Handler(columns []string, printFunc interface{}) error
Handler adds a print handler with a given set of columns to HumanReadablePrinter instance. See validatePrintHandlerFunc for required method signature.
type IngressDescriber ¶
func (*IngressDescriber) Describe ¶
func (i *IngressDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type JSONPathPrinter ¶
JSONPathPrinter is an implementation of ResourcePrinter which formats data with jsonpath expression.
func NewJSONPathPrinter ¶
func NewJSONPathPrinter(tmpl string) (*JSONPathPrinter, error)
func (*JSONPathPrinter) AfterPrint ¶
func (j *JSONPathPrinter) AfterPrint(w io.Writer, res string) error
func (*JSONPathPrinter) HandledResources ¶
func (p *JSONPathPrinter) HandledResources() []string
TODO: implement HandledResources()
type JSONPrinter ¶
type JSONPrinter struct { }
JSONPrinter is an implementation of ResourcePrinter which outputs an object as JSON.
func (*JSONPrinter) AfterPrint ¶
func (p *JSONPrinter) AfterPrint(w io.Writer, res string) error
func (*JSONPrinter) HandledResources ¶
func (p *JSONPrinter) HandledResources() []string
TODO: implement HandledResources()
type JobDescriber ¶
JobDescriber generates information about a job and the pods it has created.
func (*JobDescriber) Describe ¶
func (d *JobDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type JobScaler ¶
type JobScaler struct {
// contains filtered or unexported fields
}
func (*JobScaler) Scale ¶
func (scaler *JobScaler) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, waitForReplicas *RetryParams) error
Scale updates a Job to a new size, with optional precondition check (if preconditions is not nil), optional retries (if retry is not nil), and then optionally waits for parallelism to reach desired number, which can be less than requested based on job's current progress.
func (*JobScaler) ScaleSimple ¶
func (scaler *JobScaler) ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)
ScaleSimple is responsible for updating job's parallelism. It returns the resourceVersion of the job if the update is successful.
type JobV1 ¶
type JobV1 struct{}
func (JobV1) ParamNames ¶
func (JobV1) ParamNames() []GeneratorParam
type JobV1Beta1 ¶
type JobV1Beta1 struct{}
func (JobV1Beta1) Generate ¶
func (JobV1Beta1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (JobV1Beta1) ParamNames ¶
func (JobV1Beta1) ParamNames() []GeneratorParam
type LimitRangeDescriber ¶
LimitRangeDescriber generates information about a limit range
func (*LimitRangeDescriber) Describe ¶
func (d *LimitRangeDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type NamePrinter ¶
type NamePrinter struct { Decoder runtime.Decoder Typer runtime.ObjectTyper }
NamePrinter is an implementation of ResourcePrinter which outputs "resource/name" pair of an object.
func (*NamePrinter) AfterPrint ¶
func (p *NamePrinter) AfterPrint(w io.Writer, res string) error
func (*NamePrinter) HandledResources ¶
func (p *NamePrinter) HandledResources() []string
TODO: implement HandledResources()
type NamespaceDescriber ¶
NamespaceDescriber generates information about a namespace
func (*NamespaceDescriber) Describe ¶
func (d *NamespaceDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type NamespaceGeneratorV1 ¶
type NamespaceGeneratorV1 struct { // Name of namespace Name string }
NamespaceGeneratorV1 supports stable generation of a namespace
func (NamespaceGeneratorV1) Generate ¶
func (g NamespaceGeneratorV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
Generate returns a namespace using the specified parameters
func (NamespaceGeneratorV1) ParamNames ¶
func (g NamespaceGeneratorV1) ParamNames() []GeneratorParam
ParamNames returns the set of supported input parameters when using the parameter injection generator pattern
func (*NamespaceGeneratorV1) StructuredGenerate ¶
func (g *NamespaceGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a namespace object using the configured fields
type NamespaceInfo ¶
type NamespaceInfo struct {
Namespace string
}
type NetworkPolicyDescriber ¶
NetworkPolicyDescriber generates information about a NetworkPolicy
func (*NetworkPolicyDescriber) Describe ¶
func (d *NetworkPolicyDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type NewControllerConfig ¶
type NoSuchReaperError ¶
type NoSuchReaperError struct {
// contains filtered or unexported fields
}
func (*NoSuchReaperError) Error ¶
func (n *NoSuchReaperError) Error() string
type NodeDescriber ¶
NodeDescriber generates information about a node.
func (*NodeDescriber) Describe ¶
func (d *NodeDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ObjectDescriber ¶
type ObjectDescriber interface {
DescribeObject(object interface{}, extra ...interface{}) (output string, err error)
}
ObjectDescriber is an interface for displaying arbitrary objects with extra information. Use when an object is in hand (on disk, or already retrieved). Implementers may ignore the additional information passed on extra, or use it by default. ObjectDescribers may return ErrNoDescriber if no suitable describer is found.
var DefaultObjectDescriber ObjectDescriber
DefaultObjectDescriber can describe the default Kubernetes objects.
type OutputVersionMapper ¶
type OutputVersionMapper struct { meta.RESTMapper // output versions takes a list of preferred GroupVersions. Only the first // hit for a given group will have effect. This allows different output versions // depending upon the group of the kind being requested OutputVersions []unversioned.GroupVersion }
OutputVersionMapper is a RESTMapper that will prefer mappings that correspond to a preferred output version (if feasible)
func (OutputVersionMapper) RESTMapping ¶
func (m OutputVersionMapper) RESTMapping(gk unversioned.GroupKind, versions ...string) (*meta.RESTMapping, error)
RESTMapping implements meta.RESTMapper by prepending the output version to the preferred version list.
type PersistentVolumeClaimDescriber ¶
func (*PersistentVolumeClaimDescriber) Describe ¶
func (d *PersistentVolumeClaimDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type PersistentVolumeDescriber ¶
func (*PersistentVolumeDescriber) Describe ¶
func (d *PersistentVolumeDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type PetSetDescriber ¶
type PetSetDescriber struct {
// contains filtered or unexported fields
}
func (*PetSetDescriber) Describe ¶
func (p *PetSetDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type PetSetReaper ¶
type PetSetReaper struct {
// contains filtered or unexported fields
}
func (*PetSetReaper) Stop ¶
func (reaper *PetSetReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
type PetSetScaler ¶
type PetSetScaler struct {
// contains filtered or unexported fields
}
func (*PetSetScaler) Scale ¶
func (scaler *PetSetScaler) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, waitForReplicas *RetryParams) error
func (*PetSetScaler) ScaleSimple ¶
func (scaler *PetSetScaler) ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)
ScaleSimple does a simple one-shot attempt at scaling. It returns the resourceVersion of the petset if the update is successful.
type PodDescriber ¶
PodDescriber generates information about a pod and the replication controllers that create it.
func (*PodDescriber) Describe ¶
func (d *PodDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type PreconditionError ¶
A PreconditionError is returned when a resource fails to match the scale preconditions passed to kubectl.
func (PreconditionError) Error ¶
func (pe PreconditionError) Error() string
type PrintOptions ¶
type ProxyServer ¶
type ProxyServer struct {
// contains filtered or unexported fields
}
ProxyServer is a http.Handler which proxies Kubernetes APIs to remote API server.
func NewProxyServer ¶
func NewProxyServer(filebase string, apiProxyPrefix string, staticPrefix string, filter *FilterServer, cfg *restclient.Config) (*ProxyServer, error)
NewProxyServer creates and installs a new ProxyServer. It automatically registers the created ProxyServer to http.DefaultServeMux. 'filter', if non-nil, protects requests to the api only.
func (*ProxyServer) ListenUnix ¶
func (s *ProxyServer) ListenUnix(path string) (net.Listener, error)
ListenUnix does net.Listen for a unix socket
func (*ProxyServer) ServeOnListener ¶
func (s *ProxyServer) ServeOnListener(l net.Listener) error
Serve starts the server using given listener, loops forever.
type RESTClient ¶
type RESTClient interface { Get() *client.Request Post() *client.Request Patch(api.PatchType) *client.Request Delete() *client.Request Put() *client.Request }
RESTClient is a client helper for dealing with RESTful resources in a generic way.
type Reaper ¶
type Reaper interface {
Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
}
A Reaper handles terminating an object as gracefully as possible. timeout is how long we'll wait for the termination to be successful gracePeriod is time given to an API object for it to delete itself cleanly, e.g., pod shutdown. It may or may not be supported by the API object.
func ReaperFor ¶
func ReaperFor(kind unversioned.GroupKind, c internalclientset.Interface) (Reaper, error)
func ReaperForReplicationController ¶
func ReaperForReplicationController(rcClient coreclient.ReplicationControllersGetter, timeout time.Duration) (Reaper, error)
type ReplicaSetDescriber ¶
ReplicaSetDescriber generates information about a ReplicaSet and the pods it has created.
func (*ReplicaSetDescriber) Describe ¶
func (d *ReplicaSetDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ReplicaSetReaper ¶
type ReplicaSetReaper struct {
// contains filtered or unexported fields
}
func (*ReplicaSetReaper) Stop ¶
func (reaper *ReplicaSetReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
type ReplicaSetScaler ¶
type ReplicaSetScaler struct {
// contains filtered or unexported fields
}
func (*ReplicaSetScaler) Scale ¶
func (scaler *ReplicaSetScaler) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, waitForReplicas *RetryParams) error
Scale updates a ReplicaSet to a new size, with optional precondition check (if preconditions is not nil), optional retries (if retry is not nil), and then optionally waits for it's replica count to reach the new value (if wait is not nil).
func (*ReplicaSetScaler) ScaleSimple ¶
func (scaler *ReplicaSetScaler) ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)
ScaleSimple does a simple one-shot attempt at scaling. It returns the resourceVersion of the replicaset if the update is successful.
type ReplicationControllerDescriber ¶
ReplicationControllerDescriber generates information about a replication controller and the pods it has created.
func (*ReplicationControllerDescriber) Describe ¶
func (d *ReplicationControllerDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ReplicationControllerReaper ¶
type ReplicationControllerReaper struct {
// contains filtered or unexported fields
}
func (*ReplicationControllerReaper) Stop ¶
func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
type ReplicationControllerScaler ¶
type ReplicationControllerScaler struct {
// contains filtered or unexported fields
}
func (*ReplicationControllerScaler) Scale ¶
func (scaler *ReplicationControllerScaler) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, waitForReplicas *RetryParams) error
Scale updates a ReplicationController to a new size, with optional precondition check (if preconditions is not nil), optional retries (if retry is not nil), and then optionally waits for it's replica count to reach the new value (if wait is not nil).
func (*ReplicationControllerScaler) ScaleSimple ¶
func (scaler *ReplicationControllerScaler) ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)
ScaleSimple does a simple one-shot attempt at scaling. It returns the resourceVersion of the replication controller if the update is successful.
type ResourcePrinter ¶
type ResourcePrinter interface { // Print receives a runtime object, formats it and prints it to a writer. PrintObj(runtime.Object, io.Writer) error HandledResources() []string //Can be used to print out warning/clarifications if needed //after all objects were printed AfterPrint(io.Writer, string) error }
ResourcePrinter is an interface that knows how to print runtime objects.
func GetPrinter ¶
func GetPrinter(format, formatArgument string, noHeaders bool) (ResourcePrinter, bool, error)
GetPrinter takes a format type, an optional format argument. It will return true if the format is generic (untyped), otherwise it will return false. The printer is agnostic to schema versions, so you must send arguments to PrintObj in the version you wish them to be shown using a VersionedPrinter (typically when generic is true).
func NewVersionedPrinter ¶
func NewVersionedPrinter(printer ResourcePrinter, converter runtime.ObjectConvertor, versions ...unversioned.GroupVersion) ResourcePrinter
NewVersionedPrinter wraps a printer to convert objects to a known API version prior to printing.
type ResourcePrinterFunc ¶
ResourcePrinterFunc is a function that can print objects
func (ResourcePrinterFunc) AfterPrint ¶
func (fn ResourcePrinterFunc) AfterPrint(io.Writer, string) error
func (ResourcePrinterFunc) HandledResources ¶
func (fn ResourcePrinterFunc) HandledResources() []string
TODO: implement HandledResources()
type ResourceQuotaDescriber ¶
ResourceQuotaDescriber generates information about a resource quota
func (*ResourceQuotaDescriber) Describe ¶
func (d *ResourceQuotaDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ResourceQuotaGeneratorV1 ¶
type ResourceQuotaGeneratorV1 struct { // The name of a quota object. Name string // The hard resource limit string before parsing. Hard string // The scopes of a quota object before parsing. Scopes string }
ResourceQuotaGeneratorV1 supports stable generation of a resource quota
func (ResourceQuotaGeneratorV1) Generate ¶
func (g ResourceQuotaGeneratorV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (ResourceQuotaGeneratorV1) ParamNames ¶
func (g ResourceQuotaGeneratorV1) ParamNames() []GeneratorParam
ParamNames returns the set of supported input parameters when using the parameter injection generator pattern
func (*ResourceQuotaGeneratorV1) StructuredGenerate ¶
func (g *ResourceQuotaGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a ResourceQuota object using the configured fields
type RetryParams ¶
RetryParams encapsulates the retry parameters used by kubectl's scaler.
func NewRetryParams ¶
func NewRetryParams(interval, timeout time.Duration) *RetryParams
type Rollbacker ¶
type Rollbacker interface {
Rollback(obj runtime.Object, updatedAnnotations map[string]string, toRevision int64, dryRun bool) (string, error)
}
Rollbacker provides an interface for resources that can be rolled back.
func RollbackerFor ¶
func RollbackerFor(kind unversioned.GroupKind, c clientset.Interface) (Rollbacker, error)
type RollingUpdater ¶
type RollingUpdater struct {
// contains filtered or unexported fields
}
RollingUpdater provides methods for updating replicated pods in a predictable, fault-tolerant way.
func NewRollingUpdater ¶
func NewRollingUpdater(namespace string, rcClient coreclient.ReplicationControllersGetter, podClient coreclient.PodsGetter) *RollingUpdater
NewRollingUpdater creates a RollingUpdater from a client.
func (*RollingUpdater) Update ¶
func (r *RollingUpdater) Update(config *RollingUpdaterConfig) error
Update all pods for a ReplicationController (oldRc) by creating a new controller (newRc) with 0 replicas, and synchronously scaling oldRc and newRc until oldRc has 0 replicas and newRc has the original # of desired replicas. Cleanup occurs based on a RollingUpdaterCleanupPolicy.
Each interval, the updater will attempt to make progress however it can without violating any availability constraints defined by the config. This means the amount scaled up or down each interval will vary based on the timeliness of readiness and the updater will always try to make progress, even slowly.
If an update from newRc to oldRc is already in progress, we attempt to drive it to completion. If an error occurs at any step of the update, the error will be returned.
A scaling event (either up or down) is considered progress; if no progress is made within the config.Timeout, an error is returned.
TODO: make this handle performing a rollback of a partially completed rollout.
type RollingUpdaterCleanupPolicy ¶
type RollingUpdaterCleanupPolicy string
RollingUpdaterCleanupPolicy is a cleanup action to take after the deployment is complete.
const ( // DeleteRollingUpdateCleanupPolicy means delete the old controller. DeleteRollingUpdateCleanupPolicy RollingUpdaterCleanupPolicy = "Delete" // PreserveRollingUpdateCleanupPolicy means keep the old controller. PreserveRollingUpdateCleanupPolicy RollingUpdaterCleanupPolicy = "Preserve" // RenameRollingUpdateCleanupPolicy means delete the old controller, and rename // the new controller to the name of the old controller. RenameRollingUpdateCleanupPolicy RollingUpdaterCleanupPolicy = "Rename" )
type RollingUpdaterConfig ¶
type RollingUpdaterConfig struct { // Out is a writer for progress output. Out io.Writer // OldRC is an existing controller to be replaced. OldRc *api.ReplicationController // NewRc is a controller that will take ownership of updated pods (will be // created if needed). NewRc *api.ReplicationController // UpdatePeriod is the time to wait between individual pod updates. UpdatePeriod time.Duration // Interval is the time to wait between polling controller status after // update. Interval time.Duration // Timeout is the time to wait for controller updates before giving up. Timeout time.Duration // MinReadySeconds is the number of seconds to wait after the pods are ready MinReadySeconds int32 // CleanupPolicy defines the cleanup action to take after the deployment is // complete. CleanupPolicy RollingUpdaterCleanupPolicy // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). // Absolute number is calculated from percentage by rounding up. // This can not be 0 if MaxSurge is 0. // By default, a fixed value of 1 is used. // Example: when this is set to 30%, the old RC can be scaled down to 70% of desired pods // immediately when the rolling update starts. Once new pods are ready, old RC // can be scaled down further, followed by scaling up the new RC, ensuring // that the total number of pods available at all times during the update is at // least 70% of desired pods. MaxUnavailable intstr.IntOrString // MaxSurge is the maximum number of pods that can be scheduled above the desired number of pods. // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). // This can not be 0 if MaxUnavailable is 0. // Absolute number is calculated from percentage by rounding up. // By default, a value of 1 is used. // Example: when this is set to 30%, the new RC can be scaled up immediately // when the rolling update starts, such that the total number of old and new pods do not exceed // 130% of desired pods. Once old pods have been killed, new RC can be scaled up // further, ensuring that total number of pods running at any time during // the update is atmost 130% of desired pods. MaxSurge intstr.IntOrString // OnProgress is invoked if set during each scale cycle, to allow the caller to perform additional logic or // abort the scale. If an error is returned the cleanup method will not be invoked. The percentage value // is a synthetic "progress" calculation that represents the approximate percentage completion. OnProgress func(oldRc, newRc *api.ReplicationController, percentage int) error }
RollingUpdaterConfig is the configuration for a rolling deployment process.
type RuntimeSort ¶
type RuntimeSort struct {
// contains filtered or unexported fields
}
RuntimeSort is an implementation of the golang sort interface that knows how to sort lists of runtime.Object
func NewRuntimeSort ¶
func NewRuntimeSort(field string, objs []runtime.Object) *RuntimeSort
func SortObjects ¶
func (*RuntimeSort) Len ¶
func (r *RuntimeSort) Len() int
func (*RuntimeSort) Less ¶
func (r *RuntimeSort) Less(i, j int) bool
func (*RuntimeSort) OriginalPosition ¶
func (r *RuntimeSort) OriginalPosition(ix int) int
Returns the starting (original) position of a particular index. e.g. If OriginalPosition(0) returns 5 than the the item currently at position 0 was at position 5 in the original unsorted array.
func (*RuntimeSort) Swap ¶
func (r *RuntimeSort) Swap(i, j int)
type ScaleError ¶
type ScaleError struct { FailureType ScaleErrorType ResourceVersion string ActualError error }
A ScaleError is returned when a scale request passes preconditions but fails to actually scale the controller.
func (ScaleError) Error ¶
func (c ScaleError) Error() string
type ScaleErrorType ¶
type ScaleErrorType int
const ( ScaleGetFailure ScaleErrorType = iota ScaleUpdateFailure ScaleUpdateConflictFailure )
type ScalePrecondition ¶
ScalePrecondition describes a condition that must be true for the scale to take place If CurrentSize == -1, it is ignored. If CurrentResourceVersion is the empty string, it is ignored. Otherwise they must equal the values in the resource for it to be valid.
func (*ScalePrecondition) ValidateDeployment ¶
func (precondition *ScalePrecondition) ValidateDeployment(deployment *extensions.Deployment) error
ValidateDeployment ensures that the preconditions match. Returns nil if they are valid, an error otherwise.
func (*ScalePrecondition) ValidateJob ¶
func (precondition *ScalePrecondition) ValidateJob(job *batch.Job) error
ValidateJob ensures that the preconditions match. Returns nil if they are valid, an error otherwise.
func (*ScalePrecondition) ValidatePetSet ¶
func (precondition *ScalePrecondition) ValidatePetSet(ps *apps.PetSet) error
ValidatePetSet ensures that the preconditions match. Returns nil if they are valid, an error otherwise.
func (*ScalePrecondition) ValidateReplicaSet ¶
func (precondition *ScalePrecondition) ValidateReplicaSet(replicaSet *extensions.ReplicaSet) error
ValidateReplicaSet ensures that the preconditions match. Returns nil if they are valid, an error otherwise
func (*ScalePrecondition) ValidateReplicationController ¶
func (precondition *ScalePrecondition) ValidateReplicationController(controller *api.ReplicationController) error
ValidateReplicationController ensures that the preconditions match. Returns nil if they are valid, an error otherwise
type Scaler ¶
type Scaler interface { // Scale scales the named resource after checking preconditions. It optionally // retries in the event of resource version mismatch (if retry is not nil), // and optionally waits until the status of the resource matches newSize (if wait is not nil) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, wait *RetryParams) error // ScaleSimple does a simple one-shot attempt at scaling - not useful on its own, but // a necessary building block for Scale ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (updatedResourceVersion string, err error) }
Scaler provides an interface for resources that can be scaled.
func ScalerFor ¶
func ScalerFor(kind unversioned.GroupKind, c internalclientset.Interface) (Scaler, error)
type ScheduledJobDescriber ¶
ScheduledJobDescriber generates information about a scheduled job and the jobs it has created.
func (*ScheduledJobDescriber) Describe ¶
func (d *ScheduledJobDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ScheduledJobV2Alpha1 ¶
type ScheduledJobV2Alpha1 struct{}
func (ScheduledJobV2Alpha1) Generate ¶
func (ScheduledJobV2Alpha1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
func (ScheduledJobV2Alpha1) ParamNames ¶
func (ScheduledJobV2Alpha1) ParamNames() []GeneratorParam
type SecretDescriber ¶
SecretDescriber generates information about a secret
func (*SecretDescriber) Describe ¶
func (d *SecretDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type SecretForDockerRegistryGeneratorV1 ¶
type SecretForDockerRegistryGeneratorV1 struct { // Name of secret (required) Name string // Username for registry (required) Username string // Email for registry (required) Email string // Password for registry (required) Password string // Server for registry (required) Server string }
SecretForDockerRegistryGeneratorV1 supports stable generation of a docker registry secret
func (SecretForDockerRegistryGeneratorV1) Generate ¶
func (s SecretForDockerRegistryGeneratorV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
Generate returns a secret using the specified parameters
func (SecretForDockerRegistryGeneratorV1) ParamNames ¶
func (s SecretForDockerRegistryGeneratorV1) ParamNames() []GeneratorParam
ParamNames returns the set of supported input parameters when using the parameter injection generator pattern
func (SecretForDockerRegistryGeneratorV1) StructuredGenerate ¶
func (s SecretForDockerRegistryGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a secret object using the configured fields
type SecretForTLSGeneratorV1 ¶
type SecretForTLSGeneratorV1 struct { // Name is the name of this TLS secret. Name string // Key is the path to the user's private key. Key string // Cert is the path to the user's public key certificate. Cert string }
SecretForTLSGeneratorV1 supports stable generation of a TLS secret.
func (SecretForTLSGeneratorV1) Generate ¶
func (s SecretForTLSGeneratorV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
Generate returns a secret using the specified parameters
func (SecretForTLSGeneratorV1) ParamNames ¶
func (s SecretForTLSGeneratorV1) ParamNames() []GeneratorParam
ParamNames returns the set of supported input parameters when using the parameter injection generator pattern
func (SecretForTLSGeneratorV1) StructuredGenerate ¶
func (s SecretForTLSGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a secret object using the configured fields
type SecretGeneratorV1 ¶
type SecretGeneratorV1 struct { // Name of secret (required) Name string // Type of secret (optional) Type string // FileSources to derive the secret from (optional) FileSources []string // LiteralSources to derive the secret from (optional) LiteralSources []string }
SecretGeneratorV1 supports stable generation of an opaque secret
func (SecretGeneratorV1) Generate ¶
func (s SecretGeneratorV1) Generate(genericParams map[string]interface{}) (runtime.Object, error)
Generate returns a secret using the specified parameters
func (SecretGeneratorV1) ParamNames ¶
func (s SecretGeneratorV1) ParamNames() []GeneratorParam
ParamNames returns the set of supported input parameters when using the parameter injection generator pattern
func (SecretGeneratorV1) StructuredGenerate ¶
func (s SecretGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a secret object using the configured fields
type ServiceAccountDescriber ¶
ServiceAccountDescriber generates information about a service.
func (*ServiceAccountDescriber) Describe ¶
func (d *ServiceAccountDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ServiceAccountGeneratorV1 ¶
type ServiceAccountGeneratorV1 struct { // Name of service account Name string }
ServiceAccountGeneratorV1 supports stable generation of a service account
func (*ServiceAccountGeneratorV1) StructuredGenerate ¶
func (g *ServiceAccountGeneratorV1) StructuredGenerate() (runtime.Object, error)
StructuredGenerate outputs a service account object using the configured fields
type ServiceClusterIPGeneratorV1 ¶
type ServiceClusterIPGeneratorV1 struct {
ServiceCommonGeneratorV1
}
func (ServiceClusterIPGeneratorV1) Generate ¶
func (s ServiceClusterIPGeneratorV1) Generate(params map[string]interface{}) (runtime.Object, error)
func (ServiceClusterIPGeneratorV1) ParamNames ¶
func (ServiceClusterIPGeneratorV1) ParamNames() []GeneratorParam
type ServiceCommonGeneratorV1 ¶
type ServiceCommonGeneratorV1 struct { Name string TCP []string Type api.ServiceType ClusterIP string NodePort int }
func (ServiceCommonGeneratorV1) GenerateCommon ¶
func (s ServiceCommonGeneratorV1) GenerateCommon(params map[string]interface{}) error
func (ServiceCommonGeneratorV1) StructuredGenerate ¶
func (s ServiceCommonGeneratorV1) StructuredGenerate() (runtime.Object, error)
type ServiceDescriber ¶
ServiceDescriber generates information about a service.
func (*ServiceDescriber) Describe ¶
func (d *ServiceDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type ServiceGeneratorV1 ¶
type ServiceGeneratorV1 struct{}
The only difference between ServiceGeneratorV1 and V2 is that the service port is named "default" in V1, while it is left unnamed in V2.
func (ServiceGeneratorV1) Generate ¶
func (ServiceGeneratorV1) Generate(params map[string]interface{}) (runtime.Object, error)
func (ServiceGeneratorV1) ParamNames ¶
func (ServiceGeneratorV1) ParamNames() []GeneratorParam
type ServiceGeneratorV2 ¶
type ServiceGeneratorV2 struct{}
func (ServiceGeneratorV2) Generate ¶
func (ServiceGeneratorV2) Generate(params map[string]interface{}) (runtime.Object, error)
func (ServiceGeneratorV2) ParamNames ¶
func (ServiceGeneratorV2) ParamNames() []GeneratorParam
type ServiceLoadBalancerGeneratorV1 ¶
type ServiceLoadBalancerGeneratorV1 struct {
ServiceCommonGeneratorV1
}
func (ServiceLoadBalancerGeneratorV1) Generate ¶
func (s ServiceLoadBalancerGeneratorV1) Generate(params map[string]interface{}) (runtime.Object, error)
func (ServiceLoadBalancerGeneratorV1) ParamNames ¶
func (ServiceLoadBalancerGeneratorV1) ParamNames() []GeneratorParam
type ServiceNodePortGeneratorV1 ¶
type ServiceNodePortGeneratorV1 struct {
ServiceCommonGeneratorV1
}
func (ServiceNodePortGeneratorV1) Generate ¶
func (s ServiceNodePortGeneratorV1) Generate(params map[string]interface{}) (runtime.Object, error)
func (ServiceNodePortGeneratorV1) ParamNames ¶
func (ServiceNodePortGeneratorV1) ParamNames() []GeneratorParam
type ServiceReaper ¶
type ServiceReaper struct {
// contains filtered or unexported fields
}
func (*ServiceReaper) Stop ¶
func (reaper *ServiceReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) error
type SortableResourceNames ¶
type SortableResourceNames []api.ResourceName
func (SortableResourceNames) Len ¶
func (list SortableResourceNames) Len() int
func (SortableResourceNames) Less ¶
func (list SortableResourceNames) Less(i, j int) bool
func (SortableResourceNames) Swap ¶
func (list SortableResourceNames) Swap(i, j int)
type SortableResourceQuotas ¶
type SortableResourceQuotas []api.ResourceQuota
func (SortableResourceQuotas) Len ¶
func (list SortableResourceQuotas) Len() int
func (SortableResourceQuotas) Less ¶
func (list SortableResourceQuotas) Less(i, j int) bool
func (SortableResourceQuotas) Swap ¶
func (list SortableResourceQuotas) Swap(i, j int)
type SortableVolumeMounts ¶
type SortableVolumeMounts []api.VolumeMount
func (SortableVolumeMounts) Len ¶
func (list SortableVolumeMounts) Len() int
func (SortableVolumeMounts) Less ¶
func (list SortableVolumeMounts) Less(i, j int) bool
func (SortableVolumeMounts) Swap ¶
func (list SortableVolumeMounts) Swap(i, j int)
type SortingPrinter ¶
type SortingPrinter struct { SortField string Delegate ResourcePrinter Decoder runtime.Decoder }
Sorting printer sorts list types before delegating to another printer. Non-list types are simply passed through
func (*SortingPrinter) AfterPrint ¶
func (s *SortingPrinter) AfterPrint(w io.Writer, res string) error
func (*SortingPrinter) HandledResources ¶
func (p *SortingPrinter) HandledResources() []string
TODO: implement HandledResources()
type StatusViewer ¶
StatusViewer provides an interface for resources that provides rollout status.
func StatusViewerFor ¶
func StatusViewerFor(kind unversioned.GroupKind, c internalclientset.Interface) (StatusViewer, error)
type StorageClassDescriber ¶
func (*StorageClassDescriber) Describe ¶
func (s *StorageClassDescriber) Describe(namespace, name string, describerSettings DescriberSettings) (string, error)
type StructuredGenerator ¶
type StructuredGenerator interface { // StructuredGenerator creates an API object using pre-configured parameters StructuredGenerate() (runtime.Object, error) }
StructuredGenerator is an interface for things that can generate API objects not using parameter injection
type TemplatePrinter ¶
type TemplatePrinter struct {
// contains filtered or unexported fields
}
TemplatePrinter is an implementation of ResourcePrinter which formats data with a Go Template.
func NewTemplatePrinter ¶
func NewTemplatePrinter(tmpl []byte) (*TemplatePrinter, error)
func (*TemplatePrinter) AfterPrint ¶
func (p *TemplatePrinter) AfterPrint(w io.Writer, res string) error
func (*TemplatePrinter) HandledResources ¶
func (p *TemplatePrinter) HandledResources() []string
TODO: implement HandledResources()
type VersionedPrinter ¶
type VersionedPrinter struct {
// contains filtered or unexported fields
}
VersionedPrinter takes runtime objects and ensures they are converted to a given API version prior to being passed to a nested printer.
func (*VersionedPrinter) AfterPrint ¶
func (p *VersionedPrinter) AfterPrint(w io.Writer, res string) error
func (*VersionedPrinter) HandledResources ¶
func (p *VersionedPrinter) HandledResources() []string
TODO: implement HandledResources()
type YAMLPrinter ¶
type YAMLPrinter struct {
// contains filtered or unexported fields
}
YAMLPrinter is an implementation of ResourcePrinter which outputs an object as YAML. The input object is assumed to be in the internal version of an API and is converted to the given version first.
func (*YAMLPrinter) AfterPrint ¶
func (p *YAMLPrinter) AfterPrint(w io.Writer, res string) error
func (*YAMLPrinter) HandledResources ¶
func (p *YAMLPrinter) HandledResources() []string
TODO: implement HandledResources()
Source Files ¶
- apply.go
- autoscale.go
- bash_comp_utils.go
- configmap.go
- custom_column_printer.go
- deployment.go
- describe.go
- doc.go
- explain.go
- generate.go
- history.go
- interfaces.go
- kubectl.go
- namespace.go
- proxy_server.go
- quota.go
- resource_filter.go
- resource_printer.go
- rollback.go
- rolling_updater.go
- rollout_status.go
- run.go
- scale.go
- secret.go
- secret_for_docker_registry.go
- secret_for_tls.go
- service.go
- service_basic.go
- serviceaccount.go
- sorted_resource_name_list.go
- sorting_printer.go
- stop.go
- version.go
Directories ¶
Path | Synopsis |
---|---|
Package resource assists clients in dealing with RESTful objects that match the Kubernetes API conventions.
|
Package resource assists clients in dealing with RESTful objects that match the Kubernetes API conventions. |