Documentation ¶
Overview ¶
Package k8sclient implements various k8s utils.
Index ¶
- Constants
- func CreateNamespace(lg *zap.Logger, c clientset.Interface, namespace string) error
- func CreateObject(dynamicClient dynamic.Interface, namespace string, name string, ...) error
- func DeleteNamespace(lg *zap.Logger, c clientset.Interface, namespace string) error
- func DeleteNamespaceAndWait(lg *zap.Logger, c clientset.Interface, namespace string, ...) error
- func IsRetryableAPIError(err error) bool
- func IsRetryableNetError(err error) bool
- func ListEvents(c clientset.Interface, namespace string, name string, ...) (obj *apiv1.EventList, err error)
- func ListNamespaces(c clientset.Interface) ([]apiv1.Namespace, error)
- func ListNodes(c clientset.Interface) ([]apiv1.Node, error)
- func ListNodesWithOptions(c clientset.Interface, listOpts metav1.ListOptions) ([]apiv1.Node, error)
- func ListPodsWithOptions(c clientset.Interface, namespace string, listOpts metav1.ListOptions) ([]apiv1.Pod, error)
- func RetryFunction(f func() error, options ...*ApiCallOptions) wait.ConditionFunc
- func RetryWithExponentialBackOff(fn wait.ConditionFunc) error
- func WaitForDeleteNamespace(lg *zap.Logger, c clientset.Interface, namespace string) error
- type ApiCallOptions
Constants ¶
const ( // DefaultNamespaceDeletionInterval is the default namespace deletion interval. DefaultNamespaceDeletionInterval = 15 * time.Second // DefaultNamespaceDeletionTimeout is the default namespace deletion timeout. DefaultNamespaceDeletionTimeout = 10 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
func CreateNamespace ¶
CreateNamespace creates a single namespace with given name.
func CreateObject ¶
func CreateObject(dynamicClient dynamic.Interface, namespace string, name string, obj *unstructured.Unstructured, options ...*ApiCallOptions) error
CreateObject creates object based on given object description.
func DeleteNamespace ¶
DeleteNamespace deletes namespace with given name.
func DeleteNamespaceAndWait ¶
func DeleteNamespaceAndWait(lg *zap.Logger, c clientset.Interface, namespace string, interval time.Duration, timeout time.Duration) error
DeleteNamespaceAndWait deletes namespace with given name and waits for its deletion. Default interval is 5-second and default timeout is 10-min.
func IsRetryableAPIError ¶
IsRetryableAPIError verifies whether the error is retryable.
func IsRetryableNetError ¶
IsRetryableNetError determines whether the error is a retryable net error.
func ListEvents ¶
func ListEvents(c clientset.Interface, namespace string, name string, options ...*ApiCallOptions) (obj *apiv1.EventList, err error)
ListEvents retrieves events for the object with the given name.
func ListNamespaces ¶
ListNamespaces returns list of existing namespace names.
func ListNodesWithOptions ¶
ListNodesWithOptions lists the cluster nodes using the provided options.
func ListPodsWithOptions ¶
func ListPodsWithOptions(c clientset.Interface, namespace string, listOpts metav1.ListOptions) ([]apiv1.Pod, error)
ListPodsWithOptions lists the pods using the provided options.
func RetryFunction ¶
func RetryFunction(f func() error, options ...*ApiCallOptions) wait.ConditionFunc
RetryFunction opaques given function into retryable function.
func RetryWithExponentialBackOff ¶
func RetryWithExponentialBackOff(fn wait.ConditionFunc) error
RetryWithExponentialBackOff a utility for retrying the given function with exponential backoff.
Types ¶
type ApiCallOptions ¶
type ApiCallOptions struct {
// contains filtered or unexported fields
}
ApiCallOptions describes how api call errors should be treated, i.e. which errors should be allowed (ignored) and which should be retried.
func Allow ¶
func Allow(allowErrorPredicate func(error) bool) *ApiCallOptions
Allow creates an ApiCallOptions that allows (ignores) errors matching the given predicate.
func Retry ¶
func Retry(retryErrorPredicate func(error) bool) *ApiCallOptions
Retry creates an ApiCallOptions that retries errors matching the given predicate.