Documentation ¶
Index ¶
- Constants
- Variables
- func GetAdmissionPluginsForVersion(v string) []gardenv1beta1.AdmissionPlugin
- func GetPodLogs(podInterface corev1client.PodInterface, name string, ...) ([]byte, error)
- func ScaleDeployment(ctx context.Context, c client.Client, key client.ObjectKey, replicas int32) error
- func ScaleStatefulSet(ctx context.Context, c client.Client, key client.ObjectKey, replicas int32) error
- type Applier
- type ApplierInterface
- type ApplierOptions
- type Clientset
- func (c *Clientset) APIExtension() apiextensionclientset.Interface
- func (c *Clientset) APIRegistration() apiregistrationclientset.Interface
- func (c *Clientset) Applier() ApplierInterface
- func (c *Clientset) CheckForwardPodPort(namespace, name string, local, remote int) (bool, error)
- func (c *Clientset) CheckResourceCleanup(logger *logrus.Entry, exceptions map[string]map[string]bool, resource string, ...) (bool, error)
- func (c *Clientset) CleanupAPIGroupResources(exceptions map[string]map[string]bool, resource string, apiGroupPath []string) error
- func (c *Clientset) CleanupResources(exceptions map[string]map[string]bool, overwriteResources map[string][]string) error
- func (c *Clientset) Client() client.Client
- func (c *Clientset) CreateConfigMap(namespace, name string, data map[string]string, updateIfExists bool) (*corev1.ConfigMap, error)
- func (c *Clientset) CreateNamespace(namespace *corev1.Namespace, updateIfExists bool) (*corev1.Namespace, error)
- func (c *Clientset) CreateOrPatchRoleBinding(meta metav1.ObjectMeta, ...) (*rbacv1.RoleBinding, error)
- func (c *Clientset) CreateSecret(namespace, name string, secretType corev1.SecretType, data map[string][]byte, ...) (*corev1.Secret, error)
- func (c *Clientset) CreateSecretObject(secret *corev1.Secret, updateIfExists bool) (*corev1.Secret, error)
- func (c *Clientset) DeleteAPIService(name string) error
- func (c *Clientset) DeleteAPIServiceForcefully(name string) error
- func (c *Clientset) DeleteCRDForcefully(name string) error
- func (c *Clientset) DeleteClusterRole(name string) error
- func (c *Clientset) DeleteClusterRoleBinding(name string) error
- func (c *Clientset) DeleteConfigMap(namespace, name string) error
- func (c *Clientset) DeleteCronJob(namespace, name string) error
- func (c *Clientset) DeleteDaemonSet(namespace, name string) error
- func (c *Clientset) DeleteDeployment(namespace, name string) error
- func (c *Clientset) DeleteHorizontalPodAutoscaler(namespace, name string) error
- func (c *Clientset) DeleteIngress(namespace, name string) error
- func (c *Clientset) DeleteJob(namespace, name string) error
- func (c *Clientset) DeleteNamespace(name string) error
- func (c *Clientset) DeleteNetworkPolicy(namespace, name string) error
- func (c *Clientset) DeletePod(namespace, name string) error
- func (c *Clientset) DeletePodForcefully(namespace, name string) error
- func (c *Clientset) DeleteReplicaSet(namespace, name string) error
- func (c *Clientset) DeleteRoleBinding(namespace, name string) error
- func (c *Clientset) DeleteSecret(namespace, name string) error
- func (c *Clientset) DeleteService(namespace, name string) error
- func (c *Clientset) DeleteServiceAccount(namespace, name string) error
- func (c *Clientset) DeleteStatefulSet(namespace, name string) error
- func (c *Clientset) DiscoverAPIGroups() error
- func (c *Clientset) ForwardPodPort(namespace, name string, local, remote int) (chan struct{}, error)
- func (c *Clientset) Garden() gardenclientset.Interface
- func (c *Clientset) GardenCore() gardencoreclientset.Interface
- func (c *Clientset) GetAPIResourceList() []*metav1.APIResourceList
- func (c *Clientset) GetConfigMap(namespace, name string) (*corev1.ConfigMap, error)
- func (c *Clientset) GetDeployment(namespace, name string) (*appsv1.Deployment, error)
- func (c *Clientset) GetJob(namespace, name string) (*batch_v1.Job, error)
- func (c *Clientset) GetNamespace(name string) (*corev1.Namespace, error)
- func (c *Clientset) GetPod(namespace, name string) (*corev1.Pod, error)
- func (c *Clientset) GetResourceAPIGroups() map[string][]string
- func (c *Clientset) GetSecret(namespace, name string) (*corev1.Secret, error)
- func (c *Clientset) GetService(namespace, name string) (*corev1.Service, error)
- func (c *Clientset) Kubernetes() kubernetes.Interface
- func (c *Clientset) ListAPIServices(opts metav1.ListOptions) (*apiregistrationv1beta1.APIServiceList, error)
- func (c *Clientset) ListCRDs(opts metav1.ListOptions) (*apiextensionsv1beta1.CustomResourceDefinitionList, error)
- func (c *Clientset) ListDaemonSets(namespace string, opts metav1.ListOptions) (*appsv1.DaemonSetList, error)
- func (c *Clientset) ListDeployments(namespace string, listOptions metav1.ListOptions) (*appsv1.DeploymentList, error)
- func (c *Clientset) ListNamespaces(selector metav1.ListOptions) (*corev1.NamespaceList, error)
- func (c *Clientset) ListNodes(listOptions metav1.ListOptions) (*corev1.NodeList, error)
- func (c *Clientset) ListPods(namespace string, listOptions metav1.ListOptions) (*corev1.PodList, error)
- func (c *Clientset) ListReplicaSets(namespace string, listOptions metav1.ListOptions) (*appsv1.ReplicaSetList, error)
- func (c *Clientset) ListResources(absPath ...string) (unstructured.Unstructured, error)
- func (c *Clientset) ListRoleBindings(namespace string, selector metav1.ListOptions) (*rbacv1.RoleBindingList, error)
- func (c *Clientset) ListSecrets(namespace string, listOptions metav1.ListOptions) (*corev1.SecretList, error)
- func (c *Clientset) ListStatefulSets(namespace string, listOptions metav1.ListOptions) (*appsv1.StatefulSetList, error)
- func (c *Clientset) Machine() machineclientset.Interface
- func (c *Clientset) PatchDeployment(namespace, name string, body []byte) (*appsv1.Deployment, error)
- func (c *Clientset) PatchNamespace(name string, body []byte) (*corev1.Namespace, error)
- func (c *Clientset) RESTClient() rest.Interface
- func (c *Clientset) RESTConfig() *rest.Config
- func (c *Clientset) RESTMapper() meta.RESTMapper
- func (c *Clientset) UpdateConfigMap(namespace, name string, data map[string]string) (*corev1.ConfigMap, error)
- func (c *Clientset) UpdateNamespace(namespace *corev1.Namespace) (*corev1.Namespace, error)
- func (c *Clientset) UpdateSecret(namespace, name string, secretType corev1.SecretType, data map[string][]byte) (*corev1.Secret, error)
- func (c *Clientset) UpdateSecretObject(secret *corev1.Secret) (*corev1.Secret, error)
- func (c *Clientset) Version() string
- type Interface
- func NewClientFromBytes(kubeconfig []byte, opts client.Options) (Interface, error)
- func NewClientFromFile(masterURL, kubeconfigPath string, opts client.Options) (Interface, error)
- func NewClientFromSecret(k8sClient Interface, namespace, secretName string, opts client.Options) (Interface, error)
- func NewClientFromSecretObject(secret *corev1.Secret, opts client.Options) (Interface, error)
- func NewForConfig(config *rest.Config, options client.Options) (Interface, error)
- type Kind
- type MergeFunc
- type PodExecutor
- type UnstructuredReader
Constants ¶
const ( // CronJobs is a constant for a Kubernetes resource with the same name. CronJobs = "cronjobs" // CustomResourceDefinitions is a constant for a Kubernetes resource with the same name. CustomResourceDefinitions = "customresourcedefinitions" // DaemonSets is a constant for a Kubernetes resource with the same name. DaemonSets = "daemonsets" // Deployments is a constant for a Kubernetes resource with the same name. Deployments = "deployments" // Ingresses is a constant for a Kubernetes resource with the same name. Ingresses = "ingresses" // Jobs is a constant for a Kubernetes resource with the same name. Jobs = "jobs" // Namespaces is a constant for a Kubernetes resource with the same name. Namespaces = "namespaces" // PersistentVolumeClaims is a constant for a Kubernetes resource with the same name. PersistentVolumeClaims = "persistentvolumeclaims" // PersistentVolumes is a constant for a Kubernetes resource with the same name. PersistentVolumes = "persistentvolumes" // Pods is a constant for a Kubernetes resource with the same name. Pods = "pods" // ReplicaSets is a constant for a Kubernetes resource with the same name. ReplicaSets = "replicasets" // ReplicationControllers is a constant for a Kubernetes resource with the same name. ReplicationControllers = "replicationcontrollers" // Services is a constant for a Kubernetes resource with the same name. Services = "services" // StatefulSets is a constant for a Kubernetes resource with the same name. StatefulSets = "statefulsets" )
Variables ¶
var ( // GardenScheme is the scheme used in the Garden cluster. GardenScheme = runtime.NewScheme() // SeedScheme is the scheme used in the Seed cluster. SeedScheme = runtime.NewScheme() // ShootScheme is the scheme used in the Shoot cluster. ShootScheme = runtime.NewScheme() )
var DefaultApplierOptions = ApplierOptions{ MergeFuncs: map[Kind]MergeFunc{ "Service": func(newObj, oldObj *unstructured.Unstructured) { oldPorts := oldObj.Object["spec"].(map[string]interface{})["ports"].([]interface{}) newPorts := newObj.Object["spec"].(map[string]interface{})["ports"].([]interface{}) ports := []map[string]interface{}{} for _, newPort := range newPorts { np := newPort.(map[string]interface{}) for _, oldPort := range oldPorts { op := oldPort.(map[string]interface{}) if fmt.Sprintf("%v", np["port"]) == fmt.Sprintf("%v", op["port"]) { if nodePort, ok := op["nodePort"]; ok { np["nodePort"] = nodePort } } } ports = append(ports, np) } newObj.Object["spec"].(map[string]interface{})["clusterIP"] = oldObj.Object["spec"].(map[string]interface{})["clusterIP"] newObj.Object["spec"].(map[string]interface{})["ports"] = ports }, "ServiceAccount": func(newObj, oldObj *unstructured.Unstructured) { newObj.Object["secrets"] = oldObj.Object["secrets"] newObj.Object["imagePullSecrets"] = oldObj.Object["imagePullSecrets"] }, }, }
DefaultApplierOptions contains options for common k8s objects, e.g. Service, ServiceAccount.
var NewControllerClient = newControllerClient
NewControllerClient instantiates a new client.Client.
Functions ¶
func GetAdmissionPluginsForVersion ¶
func GetAdmissionPluginsForVersion(v string) []gardenv1beta1.AdmissionPlugin
GetAdmissionPluginsForVersion returns the set of default admission plugins for the given Kubernetes version. If the given Kubernetes version does not explicitly define admission plugins the set of names for the next available version will be returned (e.g., for version X not defined the set of version X-1 will be returned).
func GetPodLogs ¶
func GetPodLogs(podInterface corev1client.PodInterface, name string, options *corev1.PodLogOptions) ([]byte, error)
GetPodLogs retrieves the pod logs of the pod of the given name with the given options.
Types ¶
type Applier ¶
type Applier struct {
// contains filtered or unexported fields
}
Applier is a default implementation of the ApplyInterface. It applies objects with by first checking whether they exist and then either creating / updating them (update happens with a predefined merge logic).
func NewApplierForConfig ¶
NewApplierForConfig creates and returns a new Applier for the given rest.Config.
func NewApplierInternal ¶
func NewApplierInternal(config *rest.Config, discoveryClient discovery.CachedDiscoveryInterface) (*Applier, error)
NewApplierInternal constructs a new Applier from the given config and DiscoveryInterface. This method should only be used for testing. TODO(AC): Once https://github.com/kubernetes/kubernetes/issues/68865 is resolved, this should be adapted to use the updated RESTMapper and not do the invalidation / checks on its own (depending on whether the controller-runtime/client might even automatically use this updated mapper then).
func (*Applier) ApplyManifest ¶
func (c *Applier) ApplyManifest(ctx context.Context, r UnstructuredReader, options ApplierOptions) error
ApplyManifest is a function which does the same like `kubectl apply -f <file>`. It takes a bunch of manifests <m>, all concatenated in a byte slice, and sends them one after the other to the API server. If a resource already exists at the API server, it will update it. It returns an error as soon as the first error occurs.
type ApplierInterface ¶
type ApplierInterface interface {
ApplyManifest(ctx context.Context, unstructured UnstructuredReader, options ApplierOptions) error
}
ApplierInterface is an interface which describes declarative operations to apply multiple Kubernetes objects.
type ApplierOptions ¶
ApplierOptions contains options used by the Applier.
type Clientset ¶
type Clientset struct {
// contains filtered or unexported fields
}
Clientset is a struct containing the configuration for the respective Kubernetes cluster, the collection of Kubernetes clients <Clientset> containing all REST clients for the built-in Kubernetes API groups, and the Garden which is a REST clientset for the Garden API group. The RESTClient itself is a normal HTTP client for the respective Kubernetes cluster, allowing requests to arbitrary URLs. The version string contains only the major/minor part in the form <major>.<minor>.
func (*Clientset) APIExtension ¶
func (c *Clientset) APIExtension() apiextensionclientset.Interface
APIExtension will return the apiextensionsClientset attribute of the Client object.
func (*Clientset) APIRegistration ¶
func (c *Clientset) APIRegistration() apiregistrationclientset.Interface
APIRegistration will return the apiregistration attribute of the Client object.
func (*Clientset) Applier ¶
func (c *Clientset) Applier() ApplierInterface
Applier returns the applier of this Clientset.
func (*Clientset) CheckForwardPodPort ¶
CheckForwardPodPort tries to forward the <remote> port of the pod with name <name> in namespace <namespace> to the <local> port. If <local> equals zero, a free port will be chosen randomly. It returns true if the port forward connection has been established successfully or false otherwise.
func (*Clientset) CheckResourceCleanup ¶
func (c *Clientset) CheckResourceCleanup(logger *logrus.Entry, exceptions map[string]map[string]bool, resource string, apiGroupPath []string) (bool, error)
CheckResourceCleanup will check whether all resources except for those in the <exceptions> map have been deleted.
func (*Clientset) CleanupAPIGroupResources ¶
func (c *Clientset) CleanupAPIGroupResources(exceptions map[string]map[string]bool, resource string, apiGroupPath []string) error
CleanupAPIGroupResources will clean up all resources of a single API group.
func (*Clientset) CleanupResources ¶
func (c *Clientset) CleanupResources(exceptions map[string]map[string]bool, overwriteResources map[string][]string) error
CleanupResources will delete all resources except for those stored in the <exceptions> map.
func (*Clientset) CreateConfigMap ¶
func (c *Clientset) CreateConfigMap(namespace, name string, data map[string]string, updateIfExists bool) (*corev1.ConfigMap, error)
CreateConfigMap creates a new ConfigMap object.
func (*Clientset) CreateNamespace ¶
func (c *Clientset) CreateNamespace(namespace *corev1.Namespace, updateIfExists bool) (*corev1.Namespace, error)
CreateNamespace creates a new Namespace object.
func (*Clientset) CreateOrPatchRoleBinding ¶
func (c *Clientset) CreateOrPatchRoleBinding(meta metav1.ObjectMeta, transform func(*rbacv1.RoleBinding) *rbacv1.RoleBinding) (*rbacv1.RoleBinding, error)
CreateOrPatchRoleBinding either creates the object or patches the existing one with the strategic merge patch type.
func (*Clientset) CreateSecret ¶
func (c *Clientset) CreateSecret(namespace, name string, secretType corev1.SecretType, data map[string][]byte, updateIfExists bool) (*corev1.Secret, error)
CreateSecret creates a new Secret object.
func (*Clientset) CreateSecretObject ¶
func (c *Clientset) CreateSecretObject(secret *corev1.Secret, updateIfExists bool) (*corev1.Secret, error)
CreateSecretObject creates a new Secret object.
func (*Clientset) DeleteAPIService ¶
DeleteAPIService will gracefully delete an APIService with the given <name>.
func (*Clientset) DeleteAPIServiceForcefully ¶
DeleteAPIServiceForcefully will forcefully delete an APIService with the given <name>.
func (*Clientset) DeleteCRDForcefully ¶
DeleteCRDForcefully will forcefully delete a CRD with the given <name>.
func (*Clientset) DeleteClusterRole ¶
DeleteClusterRole deletes a ClusterRole object.
func (*Clientset) DeleteClusterRoleBinding ¶
DeleteClusterRoleBinding deletes a ClusterRoleBinding object.
func (*Clientset) DeleteConfigMap ¶
DeleteConfigMap deletes a ConfigMap object.
func (*Clientset) DeleteCronJob ¶
DeleteCronJob deletes a CronJob object.
func (*Clientset) DeleteDaemonSet ¶
DeleteDaemonSet deletes a DaemonSet object.
func (*Clientset) DeleteDeployment ¶
DeleteDeployment deletes a Deployment object.
func (*Clientset) DeleteHorizontalPodAutoscaler ¶
DeleteHorizontalPodAutoscaler deletes an Ingress object.
func (*Clientset) DeleteIngress ¶
DeleteIngress deletes an Ingress object.
func (*Clientset) DeleteNamespace ¶
DeleteNamespace deletes a namespace.
func (*Clientset) DeleteNetworkPolicy ¶
DeleteNetworkPolicy deletes an NetworkPolicy object.
func (*Clientset) DeletePod ¶
DeletePod will delete a Pod with the given <name> in the given <namespace>.
func (*Clientset) DeletePodForcefully ¶
DeletePodForcefully will forcefully delete a Pod with the given <name> in the given <namespace>.
func (*Clientset) DeleteReplicaSet ¶
DeleteReplicaSet deletes a ReplicaSet object.
func (*Clientset) DeleteRoleBinding ¶
DeleteRoleBinding deletes a RoleBindung object.
func (*Clientset) DeleteSecret ¶
DeleteSecret deletes an already existing Secret object.
func (*Clientset) DeleteService ¶
DeleteService deletes an already existing Service object.
func (*Clientset) DeleteServiceAccount ¶
DeleteServiceAccount deletes a ServiceAccount object.
func (*Clientset) DeleteStatefulSet ¶
DeleteStatefulSet deletes a StatefulSet object.
func (*Clientset) DiscoverAPIGroups ¶
DiscoverAPIGroups will fetch all Kubernetes server resources, i.e. all registered API groups and the associated resources.
func (*Clientset) ForwardPodPort ¶
func (c *Clientset) ForwardPodPort(namespace, name string, local, remote int) (chan struct{}, error)
ForwardPodPort tries to forward the <remote> port of the pod with name <name> in namespace <namespace> to the <local> port. If <local> equals zero, a free port will be chosen randomly. It returns the stop channel which must be closed when the port forward connection should be terminated.
func (*Clientset) Garden ¶
func (c *Clientset) Garden() gardenclientset.Interface
Garden will return the garden attribute of the Client object.
func (*Clientset) GardenCore ¶
func (c *Clientset) GardenCore() gardencoreclientset.Interface
GardenCore will return the gardenCore attribute of the Client object.
func (*Clientset) GetAPIResourceList ¶
func (c *Clientset) GetAPIResourceList() []*metav1.APIResourceList
GetAPIResourceList will return the Kubernetes API resource list.
func (*Clientset) GetConfigMap ¶
GetConfigMap returns a ConfigMap object.
func (*Clientset) GetDeployment ¶
func (c *Clientset) GetDeployment(namespace, name string) (*appsv1.Deployment, error)
GetDeployment returns a Deployment object.
func (*Clientset) GetNamespace ¶
GetNamespace returns a Namespace object.
func (*Clientset) GetPod ¶
GetPod will return the Pod object for the given <name> in the given <namespace>.
func (*Clientset) GetResourceAPIGroups ¶
GetResourceAPIGroups will return the resourceAPIGroups attribute of the Client object.
func (*Clientset) GetService ¶
GetService returns the desired Service object.
func (*Clientset) Kubernetes ¶
func (c *Clientset) Kubernetes() kubernetes.Interface
Kubernetes will return the kubernetes attribute of the Client object.
func (*Clientset) ListAPIServices ¶
func (c *Clientset) ListAPIServices(opts metav1.ListOptions) (*apiregistrationv1beta1.APIServiceList, error)
ListAPIServices will list all the APIServices for the given <listOptions>.
func (*Clientset) ListCRDs ¶
func (c *Clientset) ListCRDs(opts metav1.ListOptions) (*apiextensionsv1beta1.CustomResourceDefinitionList, error)
ListCRDs will list all the CRDs for the given <listOptions>.
func (*Clientset) ListDaemonSets ¶
func (c *Clientset) ListDaemonSets(namespace string, opts metav1.ListOptions) (*appsv1.DaemonSetList, error)
ListDaemonSets returns the list of DaemonSets in the given namespace.
func (*Clientset) ListDeployments ¶
func (c *Clientset) ListDeployments(namespace string, listOptions metav1.ListOptions) (*appsv1.DeploymentList, error)
ListDeployments returns the list of Deployments in the given <namespace>.
func (*Clientset) ListNamespaces ¶
func (c *Clientset) ListNamespaces(selector metav1.ListOptions) (*corev1.NamespaceList, error)
ListNamespaces returns a list of namespaces. The selection can be restricted by passing a <selector>.
func (*Clientset) ListPods ¶
func (c *Clientset) ListPods(namespace string, listOptions metav1.ListOptions) (*corev1.PodList, error)
ListPods will list all the Pods in the given <namespace> for the given <listOptions>.
func (*Clientset) ListReplicaSets ¶
func (c *Clientset) ListReplicaSets(namespace string, listOptions metav1.ListOptions) (*appsv1.ReplicaSetList, error)
ListReplicaSets returns the list of ReplicaSets in the given <namespace>.
func (*Clientset) ListResources ¶
func (c *Clientset) ListResources(absPath ...string) (unstructured.Unstructured, error)
ListResources will return a list of Kubernetes resources as JSON byte slice.
func (*Clientset) ListRoleBindings ¶
func (c *Clientset) ListRoleBindings(namespace string, selector metav1.ListOptions) (*rbacv1.RoleBindingList, error)
ListRoleBindings returns a list of rolebindings in a given <namespace>. The selection can be restricted by passsing an <selector>.
func (*Clientset) ListSecrets ¶
func (c *Clientset) ListSecrets(namespace string, listOptions metav1.ListOptions) (*corev1.SecretList, error)
ListSecrets lists all Secrets in a given <namespace>.
func (*Clientset) ListStatefulSets ¶
func (c *Clientset) ListStatefulSets(namespace string, listOptions metav1.ListOptions) (*appsv1.StatefulSetList, error)
ListStatefulSets returns the list of StatefulSets in the given <namespace>.
func (*Clientset) Machine ¶
func (c *Clientset) Machine() machineclientset.Interface
Machine will return the machine attribute of the Client object.
func (*Clientset) PatchDeployment ¶
func (c *Clientset) PatchDeployment(namespace, name string, body []byte) (*appsv1.Deployment, error)
PatchDeployment patches a Deployment object.
func (*Clientset) PatchNamespace ¶
PatchNamespace patches a Namespace object.
func (*Clientset) RESTClient ¶
RESTClient will return the restClient attribute of the Client object.
func (*Clientset) RESTConfig ¶
RESTConfig will return the config attribute of the Client object.
func (*Clientset) RESTMapper ¶
func (c *Clientset) RESTMapper() meta.RESTMapper
RESTMapper returns the restMapper of this Clientset.
func (*Clientset) UpdateConfigMap ¶
func (c *Clientset) UpdateConfigMap(namespace, name string, data map[string]string) (*corev1.ConfigMap, error)
UpdateConfigMap updates an already existing ConfigMap object.
func (*Clientset) UpdateNamespace ¶
UpdateNamespace updates an already existing Namespace object.
func (*Clientset) UpdateSecret ¶
func (c *Clientset) UpdateSecret(namespace, name string, secretType corev1.SecretType, data map[string][]byte) (*corev1.Secret, error)
UpdateSecret updates an already existing Secret object.
func (*Clientset) UpdateSecretObject ¶
UpdateSecretObject updates an already existing Secret object.
type Interface ¶
type Interface interface { RESTConfig() *rest.Config RESTMapper() meta.RESTMapper RESTClient() rest.Interface Client() client.Client Applier() ApplierInterface Kubernetes() kubernetesclientset.Interface Garden() gardenclientset.Interface GardenCore() gardencoreclientset.Interface Machine() machineclientset.Interface APIExtension() apiextensionsclientset.Interface APIRegistration() apiregistrationclientset.Interface // Cleanup // Deprecated: Use `RESTMapper()` and utils instead. GetResourceAPIGroups() map[string][]string // Deprecated: Use `Client()` and utils instead. CleanupResources(map[string]map[string]bool, map[string][]string) error // Deprecated: Use `Client()` and utils instead. CleanupAPIGroupResources(map[string]map[string]bool, string, []string) error // Deprecated: Use `Client()` and utils instead. CheckResourceCleanup(*logrus.Entry, map[string]map[string]bool, string, []string) (bool, error) // Namespaces // Deprecated: Use `Client()` and utils instead. CreateNamespace(*corev1.Namespace, bool) (*corev1.Namespace, error) // Deprecated: Use `Client()` and utils instead. GetNamespace(string) (*corev1.Namespace, error) // Deprecated: Use `Client()` and utils instead. ListNamespaces(metav1.ListOptions) (*corev1.NamespaceList, error) // Deprecated: Use `Client()` and utils instead. PatchNamespace(name string, body []byte) (*corev1.Namespace, error) // Deprecated: Use `Client()` and utils instead. DeleteNamespace(string) error // Secrets // Deprecated: Use `Client()` and utils instead. CreateSecret(string, string, corev1.SecretType, map[string][]byte, bool) (*corev1.Secret, error) // Deprecated: Use `Client()` and utils instead. CreateSecretObject(*corev1.Secret, bool) (*corev1.Secret, error) // Deprecated: Use `Client()` and utils instead. UpdateSecretObject(*corev1.Secret) (*corev1.Secret, error) // Deprecated: Use `Client()` and utils instead. ListSecrets(string, metav1.ListOptions) (*corev1.SecretList, error) // Deprecated: Use `Client()` and utils instead. GetSecret(string, string) (*corev1.Secret, error) // Deprecated: Use `Client()` and utils instead. DeleteSecret(string, string) error // ConfigMaps // Deprecated: Use `Client()` and utils instead. CreateConfigMap(string, string, map[string]string, bool) (*corev1.ConfigMap, error) // Deprecated: Use `Client()` and utils instead. UpdateConfigMap(string, string, map[string]string) (*corev1.ConfigMap, error) // Deprecated: Use `Client()` and utils instead. GetConfigMap(string, string) (*corev1.ConfigMap, error) // Deprecated: Use `Client()` and utils instead. DeleteConfigMap(string, string) error // Services // Deprecated: Use `Client()` and utils instead. GetService(string, string) (*corev1.Service, error) // Deprecated: Use `Client()` and utils instead. DeleteService(string, string) error // Deployments // Deprecated: Use `Client()` and utils instead. GetDeployment(string, string) (*appsv1.Deployment, error) // Deprecated: Use `Client()` and utils instead. ListDeployments(string, metav1.ListOptions) (*appsv1.DeploymentList, error) // Deprecated: Use `Client()` and utils instead. PatchDeployment(string, string, []byte) (*appsv1.Deployment, error) // Deprecated: Use `Client()` and utils instead. DeleteDeployment(string, string) error // StatefulSets // Deprecated: Use `Client()` and utils instead. ListStatefulSets(string, metav1.ListOptions) (*appsv1.StatefulSetList, error) // Deprecated: Use `Client()` and utils instead. DeleteStatefulSet(string, string) error // DaemonSets // Deprecated: Use `Client()` and utils instead. DeleteDaemonSet(string, string) error // Jobs // Deprecated: Use `Client()` and utils instead. GetJob(string, string) (*batchv1.Job, error) // Deprecated: Use `Client()` and utils instead. DeleteJob(string, string) error // Deprecated: Use `Client()` and utils instead. DeleteCronJob(string, string) error // Pods // Deprecated: Use `Client()` and utils instead. GetPod(string, string) (*corev1.Pod, error) // Deprecated: Use `Client()` and utils instead. ListPods(string, metav1.ListOptions) (*corev1.PodList, error) // Deprecated: Use `Client()` and utils instead. ForwardPodPort(string, string, int, int) (chan struct{}, error) CheckForwardPodPort(string, string, int, int) (bool, error) // Deprecated: Use `Client()` and utils instead. DeletePod(string, string) error // Deprecated: Use `Client()` and utils instead. DeletePodForcefully(string, string) error // Nodes // Deprecated: Use `Client()` and utils instead. ListNodes(metav1.ListOptions) (*corev1.NodeList, error) // RBAC // Deprecated: Use `Client()` and utils instead. ListRoleBindings(string, metav1.ListOptions) (*rbacv1.RoleBindingList, error) // Deprecated: Use `Client()` and utils instead. DeleteClusterRole(name string) error // Deprecated: Use `Client()` and utils instead. DeleteClusterRoleBinding(name string) error // Deprecated: Use `Client()` and utils instead. DeleteRoleBinding(namespace, name string) error // CustomResourceDefinitions // Deprecated: Use `Client()` and utils instead. ListCRDs(metav1.ListOptions) (*apiextensionsv1beta1.CustomResourceDefinitionList, error) // Deprecated: Use `Client()` and utils instead. DeleteCRDForcefully(name string) error // APIServices // Deprecated: Use `Client()` and utils instead. ListAPIServices(metav1.ListOptions) (*apiregistrationv1beta1.APIServiceList, error) // Deprecated: Use `Client()` and utils instead. DeleteAPIService(name string) error // Deprecated: Use `Client()` and utils instead. DeleteAPIServiceForcefully(name string) error // ServiceAccounts // Deprecated: Use `Client()` and utils instead. DeleteServiceAccount(namespace, name string) error // HorizontalPodAutoscalers // Deprecated: Use `Client()` and utils instead. DeleteHorizontalPodAutoscaler(namespace, name string) error // Ingresses // Deprecated: Use `Client()` and utils instead. DeleteIngress(namespace, name string) error // NetworkPolicies // Deprecated: Use `Client()` and utils instead. DeleteNetworkPolicy(namespace, name string) error Version() string }
Interface is used to wrap the interactions with a Kubernetes cluster (which are performed with the help of kubernetes/client-go) in order to allow the implementation of several Kubernetes versions.
func NewClientFromBytes ¶
NewClientFromBytes creates a new Client struct for a given kubeconfig byte slice.
func NewClientFromFile ¶
NewClientFromFile creates a new Client struct for a given kubeconfig. The kubeconfig will be read from the filesystem at location <kubeconfigPath>. If given, <masterURL> overrides the master URL in the kubeconfig. If no filepath is given, the in-cluster configuration will be taken into account.
func NewClientFromSecret ¶
func NewClientFromSecret(k8sClient Interface, namespace, secretName string, opts client.Options) (Interface, error)
NewClientFromSecret creates a new Client struct for a given kubeconfig stored as a Secret in an existing Kubernetes cluster. This cluster will be accessed by the <k8sClient>. It will read the Secret <secretName> in <namespace>. The Secret must contain a field "kubeconfig" which will be used.
func NewClientFromSecretObject ¶
NewClientFromSecretObject creates a new Client struct for a given Kubernetes Secret object. The Secret must contain a field "kubeconfig" which will be used.
type MergeFunc ¶
type MergeFunc func(newObj, oldObj *unstructured.Unstructured)
MergeFunc determines how oldOj is merged into new oldObj.
type PodExecutor ¶
type PodExecutor interface {
Execute(ctx context.Context, name, namespace, containerName, command string) (io.Reader, error)
}
PodExecutor is the pod executor interface
func NewPodExecutor ¶
func NewPodExecutor(config *rest.Config) PodExecutor
NewPodExecutor returns a podExecutor
type UnstructuredReader ¶
type UnstructuredReader interface {
Read() (*unstructured.Unstructured, error)
}
UnstructuredReader an interface that all manifest readers should implement
func NewManifestReader ¶
func NewManifestReader(manifest []byte) UnstructuredReader
NewManifestReader initializes a reader for yaml manifests
func NewNamespaceSettingReader ¶
func NewNamespaceSettingReader(mReader UnstructuredReader, namespace string) UnstructuredReader
NewNamespaceSettingReader initializes a reader for yaml manifests with support for setting the namespace
Source Files ¶
- admissionplugins.go
- apiservices.go
- apply.go
- cleanup.go
- client.go
- clientset.go
- configmaps.go
- crds.go
- cronjobs.go
- daemonsets.go
- deployments.go
- horizontalpodautoscaler.go
- ingresses.go
- jobs.go
- namespaces.go
- networkpolicies.go
- nodes.go
- pods.go
- rbac.go
- replicasets.go
- scaling.go
- secrets.go
- serviceaccounts.go
- services.go
- statefulsets.go
- types.go