Documentation ¶
Index ¶
- Variables
- func GVK() schema.GroupVersionKind
- func GVR() schema.GroupVersionResource
- func Group() string
- func Kind() string
- func Resource() string
- func Version() string
- type Handler
- func (h *Handler) Apply(obj interface{}) (*appsv1.Deployment, error)
- func (h *Handler) ApplyFromBytes(data []byte) (deploy *appsv1.Deployment, err error)
- func (h *Handler) ApplyFromFile(filename string) (deploy *appsv1.Deployment, err error)
- func (h *Handler) ApplyFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
- func (h *Handler) ApplyFromObject(obj runtime.Object) (*appsv1.Deployment, error)
- func (h *Handler) ApplyFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
- func (h *Handler) Clientset() *kubernetes.Clientset
- func (h *Handler) Create(obj interface{}) (*appsv1.Deployment, error)
- func (h *Handler) CreateFromBytes(data []byte) (*appsv1.Deployment, error)
- func (h *Handler) CreateFromFile(filename string) (*appsv1.Deployment, error)
- func (h *Handler) CreateFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
- func (h *Handler) CreateFromObject(obj runtime.Object) (*appsv1.Deployment, error)
- func (h *Handler) CreateFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
- func (in *Handler) DeepCopy() *Handler
- func (h *Handler) Delete(obj interface{}) error
- func (h *Handler) DeleteByName(name string) error
- func (h *Handler) DeleteFromBytes(data []byte) error
- func (h *Handler) DeleteFromFile(filename string) error
- func (h *Handler) DeleteFromMap(u map[string]interface{}) error
- func (h *Handler) DeleteFromObject(obj runtime.Object) error
- func (h *Handler) DeleteFromUnstructured(u *unstructured.Unstructured) error
- func (h *Handler) DeploymentInformer() informersapps.DeploymentInformer
- func (h *Handler) DiscoveryClient() *discovery.DiscoveryClient
- func (h *Handler) DynamicClient() dynamic.Interface
- func (h *Handler) Get(obj interface{}) (*appsv1.Deployment, error)
- func (h *Handler) GetAge(object interface{}) (time.Duration, error)
- func (h *Handler) GetByName(name string) (*appsv1.Deployment, error)
- func (h *Handler) GetContainers(object interface{}) ([]string, error)
- func (h *Handler) GetFromBytes(data []byte) (*appsv1.Deployment, error)
- func (h *Handler) GetFromFile(filename string) (*appsv1.Deployment, error)
- func (h *Handler) GetFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
- func (h *Handler) GetFromObject(obj runtime.Object) (*appsv1.Deployment, error)
- func (h *Handler) GetFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
- func (h *Handler) GetImages(object interface{}) ([]string, error)
- func (h *Handler) GetPV(object interface{}) ([]string, error)
- func (h *Handler) GetPVC(object interface{}) ([]string, error)
- func (h *Handler) GetPods(object interface{}) ([]*corev1.Pod, error)
- func (h *Handler) GetRS(object interface{}) ([]*appsv1.ReplicaSet, error)
- func (h *Handler) Informer() cache.SharedIndexInformer
- func (h *Handler) InformerFactory() informers.SharedInformerFactory
- func (h *Handler) IsReady(name string) bool
- func (h *Handler) List() ([]*appsv1.Deployment, error)
- func (h *Handler) ListAll() ([]*appsv1.Deployment, error)
- func (h *Handler) ListByField(field string) ([]*appsv1.Deployment, error)
- func (h *Handler) ListByLabel(labels string) ([]*appsv1.Deployment, error)
- func (h *Handler) ListByNamespace(namespace string) ([]*appsv1.Deployment, error)
- func (h *Handler) Lister() listersapps.DeploymentLister
- func (h *Handler) RESTClient() *rest.RESTClient
- func (h *Handler) RESTConfig() *rest.Config
- func (h *Handler) RunInformer(stopCh <-chan struct{}, addFunc func(obj interface{}), ...)
- func (h *Handler) Scale(obj interface{}, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) ScaleByName(name string, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) ScaleFromBytes(data []byte, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) ScaleFromFile(filename string, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) ScaleFromMap(u map[string]interface{}, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) ScaleFromObject(obj runtime.Object, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) ScaleFromUnstructured(u *unstructured.Unstructured, replicas int32) (*appsv1.Deployment, error)
- func (h *Handler) SetForceDelete(force bool)
- func (h *Handler) SetInformerResyncPeriod(resyncPeriod time.Duration)
- func (h *Handler) SetLimit(limit int64)
- func (h *Handler) SetTimeout(timeout int64)
- func (h *Handler) StartInformer(stopCh <-chan struct{}, addFunc func(obj interface{}), ...)
- func (h *Handler) Update(obj interface{}) (*appsv1.Deployment, error)
- func (h *Handler) UpdateFromBytes(data []byte) (*appsv1.Deployment, error)
- func (h *Handler) UpdateFromFile(filename string) (*appsv1.Deployment, error)
- func (h *Handler) UpdateFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
- func (h *Handler) UpdateFromObject(obj runtime.Object) (*appsv1.Deployment, error)
- func (h *Handler) UpdateFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
- func (h *Handler) WaitReady(name string) error
- func (h *Handler) Watch(name string, addFunc, modifyFunc, deleteFunc func(x interface{}), ...) (err error)
- func (h *Handler) WatchByLabel(labels string, addFunc, modifyFunc, deleteFunc func(x interface{}), ...) (err error)
- func (h *Handler) WatchByName(name string, addFunc, modifyFunc, deleteFunc func(x interface{}), ...) (err error)
- func (h *Handler) WithDryRun() *Handler
- func (h *Handler) WithNamespace(namespace string) *Handler
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidToolsType = fmt.Errorf("type must be string, *appsv1.Deployment, or appsv1.Deployment") ErrInvalidCreateType = fmt.Errorf("type must be string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}") ErrInvalidUpdateType = ErrInvalidCreateType ErrInvalidApplyType = ErrInvalidCreateType ErrInvalidDeleteType = ErrInvalidCreateType ErrInvalidGetType = ErrInvalidCreateType ErrInvalidScaleType = ErrInvalidCreateType )
Functions ¶
func GVK ¶ added in v0.6.1
func GVK() schema.GroupVersionKind
GVK returns the name of Group, Version, Kind of deployment resource.
func GVR ¶ added in v0.5.0
func GVR() schema.GroupVersionResource
GVR returns the name of Group, Version, Resource of deployment resource.
func Group ¶ added in v0.5.0
func Group() string
Group returns the Group name of deployment resource.
Types ¶
type Handler ¶
type Handler struct { Options *types.HandlerOptions // contains filtered or unexported fields }
func New ¶
New returns a deployment handler from kubeconfig or in-cluster config. The kubeconfig precedence is: * kubeconfig variable passed. * KUBECONFIG environment variable pointing at a file * $HOME/.kube/config if exists. * In-cluster config if running in cluster
func NewOrDie ¶ added in v0.3.0
NewOrDie simply call New() to get a deployment handler. panic if there is any error occurs.
func (*Handler) Apply ¶
func (h *Handler) Apply(obj interface{}) (*appsv1.Deployment, error)
Apply applies deployment from type string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}.
func (*Handler) ApplyFromBytes ¶
func (h *Handler) ApplyFromBytes(data []byte) (deploy *appsv1.Deployment, err error)
ApplyFromBytes pply deployment from bytes.
func (*Handler) ApplyFromFile ¶
func (h *Handler) ApplyFromFile(filename string) (deploy *appsv1.Deployment, err error)
ApplyFromFile applies deployment from yaml file.
func (*Handler) ApplyFromMap ¶ added in v0.5.0
func (h *Handler) ApplyFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
ApplyFromMap applies deployment from map[string]interface{}.
func (*Handler) ApplyFromObject ¶ added in v0.3.0
ApplyFromObject applies deployment from runtime.Object.
func (*Handler) ApplyFromUnstructured ¶ added in v0.3.0
func (h *Handler) ApplyFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
ApplyFromUnstructured applies deployment from *unstructured.Unstructured.
func (*Handler) Clientset ¶ added in v0.2.0
func (h *Handler) Clientset() *kubernetes.Clientset
Clientset returns underlying clientset.
func (*Handler) Create ¶
func (h *Handler) Create(obj interface{}) (*appsv1.Deployment, error)
Create creates deployment from type string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}.
func (*Handler) CreateFromBytes ¶
func (h *Handler) CreateFromBytes(data []byte) (*appsv1.Deployment, error)
CreateFromBytes creates deployment from bytes.
func (*Handler) CreateFromFile ¶
func (h *Handler) CreateFromFile(filename string) (*appsv1.Deployment, error)
CreateFromFile creates deployment from yaml file.
func (*Handler) CreateFromMap ¶ added in v0.5.0
func (h *Handler) CreateFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
CreateFromMap creates deployment from map[string]interface{}.
func (*Handler) CreateFromObject ¶ added in v0.3.0
CreateFromObject creates deployment from runtime.Object.
func (*Handler) CreateFromUnstructured ¶ added in v0.3.0
func (h *Handler) CreateFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
CreateFromUnstructured creates deployment from *unstructured.Unstructured.
func (*Handler) Delete ¶
Delete deletes deployment from type string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}.
If passed parameter type is string, it will simply call DeleteByName instead of DeleteFromFile. You should always explicitly call DeleteFromFile to delete a deployment from file path.
func (*Handler) DeleteByName ¶
DeleteByName deletes deployment by name.
func (*Handler) DeleteFromBytes ¶
DeleteFromBytes deletes deployment from bytes.
func (*Handler) DeleteFromFile ¶
DeleteFromFile deletes deployment from yaml file.
func (*Handler) DeleteFromMap ¶ added in v0.5.0
DeleteFromMap deletes deployment from map[string]interface{}.
func (*Handler) DeleteFromObject ¶ added in v0.3.0
DeleteFromObject deletes deployment from runtime.Object.
func (*Handler) DeleteFromUnstructured ¶ added in v0.3.0
func (h *Handler) DeleteFromUnstructured(u *unstructured.Unstructured) error
DeleteFromUnstructured deletes deployment from *unstructured.Unstructured.
func (*Handler) DeploymentInformer ¶ added in v0.5.0
func (h *Handler) DeploymentInformer() informersapps.DeploymentInformer
DeploymentInformer returns underlying DeploymentInformer which provides access to a shared informer and lister for deployment.
func (*Handler) DiscoveryClient ¶ added in v0.2.0
func (h *Handler) DiscoveryClient() *discovery.DiscoveryClient
DiscoveryClient returns underlying discovery client.
func (*Handler) DynamicClient ¶ added in v0.2.0
DynamicClient returns underlying dynamic client.
func (*Handler) Get ¶
func (h *Handler) Get(obj interface{}) (*appsv1.Deployment, error)
Get gets deployment from type string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}.
If passed parameter type is string, it will simply call GetByName instead of GetFromFile. You should always explicitly call GetFromFile to get a deployment from file path.
func (*Handler) GetByName ¶
func (h *Handler) GetByName(name string) (*appsv1.Deployment, error)
GetByName gets deployment by name.
func (*Handler) GetContainers ¶ added in v0.2.0
GetContainers get all container of this deployment.
func (*Handler) GetFromBytes ¶
func (h *Handler) GetFromBytes(data []byte) (*appsv1.Deployment, error)
GetFromBytes gets deployment from bytes.
func (*Handler) GetFromFile ¶
func (h *Handler) GetFromFile(filename string) (*appsv1.Deployment, error)
GetFromFile gets deployment from yaml file.
func (*Handler) GetFromMap ¶ added in v0.5.0
func (h *Handler) GetFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
GetFromMap gets deployment from map[string]interface{}.
func (*Handler) GetFromObject ¶ added in v0.3.0
GetFromObject gets deployment from runtime.Object.
func (*Handler) GetFromUnstructured ¶ added in v0.3.0
func (h *Handler) GetFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
GetFromUnstructured gets deployment from *unstructured.Unstructured.
func (*Handler) GetRS ¶
func (h *Handler) GetRS(object interface{}) ([]*appsv1.ReplicaSet, error)
GetRS get all replicaset created by the deployment.
func (*Handler) Informer ¶ added in v0.2.0
func (h *Handler) Informer() cache.SharedIndexInformer
Informer returns underlying SharedIndexInformer which provides add and Indexers ability based on SharedInformer.
func (*Handler) InformerFactory ¶ added in v0.5.0
func (h *Handler) InformerFactory() informers.SharedInformerFactory
InformerFactory returns underlying SharedInformerFactory which provides shared informer for resources in all known API group version.
func (*Handler) IsReady ¶
IsReady check if the deployment is ready. ref: https://github.com/kubernetes/kubernetes/blob/a1128e380c2cf1c2d7443694673d9f1dd63eb518/staging/src/k8s.io/kubectl/pkg/polymorphichelpers/rollout_status.go#L59
func (*Handler) List ¶
func (h *Handler) List() ([]*appsv1.Deployment, error)
List list all deployments in the k8s cluster, it simply call `ListAll`.
func (*Handler) ListAll ¶
func (h *Handler) ListAll() ([]*appsv1.Deployment, error)
ListAll list all deployments in the k8s cluster.
func (*Handler) ListByField ¶ added in v0.7.0
func (h *Handler) ListByField(field string) ([]*appsv1.Deployment, error)
ListByField list deployments by field, work like `kubectl get xxx --field-selector=xxx`.
func (*Handler) ListByLabel ¶
func (h *Handler) ListByLabel(labels string) ([]*appsv1.Deployment, error)
ListByLabel list deployments by labels. Multiple labels separated by comma(",") eg: "name=myapp,role=devops", and there is an "And" relationship between multiple labels.
func (*Handler) ListByNamespace ¶
func (h *Handler) ListByNamespace(namespace string) ([]*appsv1.Deployment, error)
ListByNamespace list all deployments in the specified namespace.
func (*Handler) Lister ¶ added in v0.2.0
func (h *Handler) Lister() listersapps.DeploymentLister
Lister returns underlying DeploymentLister which helps list deployments.
func (*Handler) RESTClient ¶ added in v0.2.0
func (h *Handler) RESTClient() *rest.RESTClient
RESTClient returns underlying rest client.
func (*Handler) RESTConfig ¶ added in v0.3.0
RESTConfig returns underlying rest config.
func (*Handler) RunInformer ¶
func (h *Handler) RunInformer( stopCh <-chan struct{}, addFunc func(obj interface{}), updateFunc func(oldObj, newObj interface{}), deleteFunc func(obj interface{}))
RunInformer start and run the shared informer, returning after it stops. The informer will be stopped when stopCh is closed.
AddFunc, updateFunc, and deleteFunc are used to handle add, update, and delete event of k8s deployment resource, respectively.
func (*Handler) Scale ¶ added in v0.10.0
func (h *Handler) Scale(obj interface{}, replicas int32) (*appsv1.Deployment, error)
Scale set deployment replicas from type string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}.
If passed parameter type is string, it will simply call ScaleByName instead of ScaleFromFile. You should always explicitly call ScaleFromFile to set deployment replicas from file path.
func (*Handler) ScaleByName ¶ added in v0.10.0
ScaleByName scale deployment by name.
func (*Handler) ScaleFromBytes ¶ added in v0.10.0
ScaleFromBytes scale deployment from bytes.
func (*Handler) ScaleFromFile ¶ added in v0.10.0
ScaleFromFile scale deployment from yaml file.
func (*Handler) ScaleFromMap ¶ added in v0.10.0
func (h *Handler) ScaleFromMap(u map[string]interface{}, replicas int32) (*appsv1.Deployment, error)
ScaleFromMap scale deployment from map[string]interface{}.
func (*Handler) ScaleFromObject ¶ added in v0.10.0
ScaleFromObject scale deployment from runtime.Object.
func (*Handler) ScaleFromUnstructured ¶ added in v0.10.0
func (h *Handler) ScaleFromUnstructured(u *unstructured.Unstructured, replicas int32) (*appsv1.Deployment, error)
ScaleFromUnstructured scale deployment from *unstructured.Unstructured.
func (*Handler) SetForceDelete ¶
func (*Handler) SetInformerResyncPeriod ¶ added in v0.5.0
SetInformerResyncPeriod will set informer resync period.
func (*Handler) SetTimeout ¶
func (*Handler) StartInformer ¶ added in v0.10.1
func (h *Handler) StartInformer( stopCh <-chan struct{}, addFunc func(obj interface{}), updateFunc func(oldObj, newObj interface{}), deleteFunc func(obj interface{}))
StartInformer simply call RunInformer.
func (*Handler) Update ¶
func (h *Handler) Update(obj interface{}) (*appsv1.Deployment, error)
Update updates deployment from type string, []byte, *appsv1.Deployment, appsv1.Deployment, runtime.Object, *unstructured.Unstructured, unstructured.Unstructured or map[string]interface{}.
func (*Handler) UpdateFromBytes ¶
func (h *Handler) UpdateFromBytes(data []byte) (*appsv1.Deployment, error)
UpdateFromBytes updates deployment from bytes.
func (*Handler) UpdateFromFile ¶
func (h *Handler) UpdateFromFile(filename string) (*appsv1.Deployment, error)
UpdateFromFile updates deployment from yaml file.
func (*Handler) UpdateFromMap ¶ added in v0.5.0
func (h *Handler) UpdateFromMap(u map[string]interface{}) (*appsv1.Deployment, error)
UpdateFromMap updates deployment from map[string]interface{}.
func (*Handler) UpdateFromObject ¶ added in v0.3.0
UpdateFromObject updates deployment from runtime.Object.
func (*Handler) UpdateFromUnstructured ¶ added in v0.3.0
func (h *Handler) UpdateFromUnstructured(u *unstructured.Unstructured) (*appsv1.Deployment, error)
UpdateFromUnstructured updates deployment from *unstructured.Unstructured.
func (*Handler) Watch ¶
func (h *Handler) Watch(name string, addFunc, modifyFunc, deleteFunc func(x interface{}), x interface{}) (err error)
Watch watch deployment by label, alias to "WatchByLabel".
func (*Handler) WatchByLabel ¶
func (h *Handler) WatchByLabel(labels string, addFunc, modifyFunc, deleteFunc func(x interface{}), x interface{}) (err error)
WatchByLabel watch deployment by labels.
func (*Handler) WatchByName ¶
func (h *Handler) WatchByName(name string, addFunc, modifyFunc, deleteFunc func(x interface{}), x interface{}) (err error)
WatchByName watch deployment by name.
func (*Handler) WithDryRun ¶
WithDryRun deep copies a new handler and prints the create/update/apply/delete operations, without sending it to apiserver.
func (*Handler) WithNamespace ¶
WithNamespace deep copies a new handler, but set the handler.namespace to the provided namespace.