Documentation ¶
Index ¶
- Constants
- Variables
- func DeserializeFromKubeYaml(data []byte) (object runtime.Object, err error)
- func SerializeToKubeYaml(target runtime.Object, writer io.Writer) (err error)
- type ExecOptions
- type KubernetesAPI
- func (k *KubernetesAPI) ConfigMapExists(namespace string, configMap string) bool
- func (k *KubernetesAPI) ContainsServiceAccount(a v1.ServiceAccountList, x string) bool
- func (k *KubernetesAPI) CopyConfigMap(sourceNamespace string, targetNamespace string, sourceConfigMap string, ...) error
- func (k *KubernetesAPI) CopyDockerSecrets(sourceNamespace string, targetNamespace string) error
- func (k *KubernetesAPI) CreateConfigMap(configMap *v1.ConfigMap) (*v1.ConfigMap, error)
- func (k *KubernetesAPI) CreateCronJob(job *v1beta1.CronJob) (*v1beta1.CronJob, error)
- func (k *KubernetesAPI) CreateDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error)
- func (k *KubernetesAPI) CreateIngress(ingress *v1beta1.Ingress) (*v1beta1.Ingress, error)
- func (k *KubernetesAPI) CreateJob(job *v1.Job) (*v1.Job, error)
- func (k *KubernetesAPI) CreateNamespace(namespace string) error
- func (k *KubernetesAPI) CreateOrResizePersistentVolumeClaim(pv *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
- func (k *KubernetesAPI) CreateOrUpdateConfigMap(configMap *v1.ConfigMap) (*v1.ConfigMap, error)
- func (k *KubernetesAPI) CreateOrUpdateDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error)
- func (k *KubernetesAPI) CreateOrUpdateIngress(ingress *v1beta1.Ingress) (*v1beta1.Ingress, error)
- func (k *KubernetesAPI) CreateOrUpdatePersistentVolumeClaim(pv *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
- func (k *KubernetesAPI) CreateOrUpdateRole(sourceNamespace string, targetNamespace string, roleName string) error
- func (k *KubernetesAPI) CreateOrUpdateRoleBinding(roleBindingName string, roleName string, serviceAccountName string, ...) error
- func (k *KubernetesAPI) CreateOrUpdateSecret(secret *v1.Secret, namespace string) error
- func (k *KubernetesAPI) CreateOrUpdateService(service *v1.Service) (*v1.Service, error)
- func (k *KubernetesAPI) CreatePersistentVolumeClaim(pvc *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
- func (k *KubernetesAPI) CreateRoleBinding(roleBindingName string, roleName string, serviceAccountName string, ...) error
- func (k *KubernetesAPI) CreateService(service *v1.Service) (*v1.Service, error)
- func (k *KubernetesAPI) CreateServiceAccount(serviceAccountName string, namespace string) error
- func (k *KubernetesAPI) CronJobExists(namespace string, cronJob string) bool
- func (k *KubernetesAPI) DeleteConfigMap(namespace string, configMap string) error
- func (k *KubernetesAPI) DeleteCronJob(namespace string, cronJob string) error
- func (k *KubernetesAPI) DeleteDeployment(namespace string, deployment string) error
- func (k *KubernetesAPI) DeleteIngress(namespace string, ingress string) error
- func (k *KubernetesAPI) DeleteJob(namespace string, job string) error
- func (k *KubernetesAPI) DeleteNamespace(namespace string, gracefully bool) error
- func (k *KubernetesAPI) DeletePersistentVolumeClaim(namespace string, pvc string) error
- func (k *KubernetesAPI) DeleteService(namespace string, service string) error
- func (k *KubernetesAPI) DeploymentExists(namespace string, deployment string) bool
- func (k *KubernetesAPI) DockerSecretNames(namespace string) ([]string, error)
- func (k *KubernetesAPI) EnsureNamespace(namespaceName string) error
- func (k *KubernetesAPI) ExecCommandInContainer(namespace, podName, containerName string, cmd ...string) (string, error)
- func (k *KubernetesAPI) ExecCommandInContainerWithFullOutput(namespace, podName, containerName string, cmd ...string) (string, string, error)
- func (k *KubernetesAPI) ExecCommandInPod(namespace string, podName string, cmd ...string) (string, error)
- func (k *KubernetesAPI) ExecCommandInPodWithFullOutput(namespace string, podName string, cmd ...string) (string, string, error)
- func (k *KubernetesAPI) ExecShellInContainer(namespace, podName, containerName string, cmd string) (string, error)
- func (k *KubernetesAPI) ExecShellInPod(podName string, cmd string) (string, error)
- func (k *KubernetesAPI) ExecShellInPodWithFullOutput(podName string, cmd string) (string, string, error)
- func (k *KubernetesAPI) ExecWithOptions(options ExecOptions) (string, string, error)
- func (k *KubernetesAPI) GetConfigMap(namespace string, configMap string) (*v1.ConfigMap, error)
- func (k *KubernetesAPI) GetConfigMaps(namespace string) (*v1.ConfigMapList, error)
- func (k *KubernetesAPI) GetCronJob(namespace string, cronJob string) (*v1beta1.CronJob, error)
- func (k *KubernetesAPI) GetCurrentPod() (*v1Api.Pod, error)
- func (k *KubernetesAPI) GetDeployment(namespace string, deployment string) (*appsv1.Deployment, error)
- func (k *KubernetesAPI) GetIngress(namespace string, ingress string) (*v1beta1.Ingress, error)
- func (k *KubernetesAPI) GetJob(namespace string, job string) (*v1.Job, error)
- func (k *KubernetesAPI) GetNamespace(namespace string) (*v1.Namespace, error)
- func (k *KubernetesAPI) GetPersistentVolumeClaim(namespace string, pvc string) (*v1.PersistentVolumeClaim, error)
- func (k *KubernetesAPI) GetPod(namespace string, podName string) (*v1Api.Pod, error)
- func (k *KubernetesAPI) GetPods(namespace string) (*v1Api.PodList, error)
- func (k *KubernetesAPI) GetRoleBindings(namespace string) (*v1.RoleBindingList, error)
- func (k *KubernetesAPI) GetRoles(namespace string) (*v1.RoleList, error)
- func (k *KubernetesAPI) GetSecrets(namespace string) (*v1.SecretList, error)
- func (k *KubernetesAPI) GetService(namespace string, service string) (*v1.Service, error)
- func (k *KubernetesAPI) GetServiceAccounts(namespace string) (*v1.ServiceAccountList, error)
- func (k *KubernetesAPI) IngressExists(namespace string, ingress string) bool
- func (k *KubernetesAPI) IsNamespaceEmpty(namespace string) (bool, error)
- func (k *KubernetesAPI) JobExists(namespace string, job string) bool
- func (k *KubernetesAPI) NamespaceExists(namespace string) bool
- func (k *KubernetesAPI) PersistentVolumeClaimExists(namespace string, pvc string) bool
- func (k *KubernetesAPI) ResizePersistentVolumeClaim(pvc *v1.PersistentVolumeClaim, newQuantity resource.Quantity) (*v1.PersistentVolumeClaim, error)
- func (k *KubernetesAPI) RoleBindingExists(namespace string, roleBindingName string) bool
- func (k *KubernetesAPI) SecretExists(namespace string, secret string) bool
- func (k *KubernetesAPI) UpdateConfigMap(configMap *v1.ConfigMap) (*v1.ConfigMap, error)
- func (k *KubernetesAPI) UpdateDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error)
- func (k *KubernetesAPI) UpdateIngress(ingress *v1beta1.Ingress) (*v1beta1.Ingress, error)
- func (k *KubernetesAPI) UpdatePersistentVolumeClaim(pvc *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
- func (k *KubernetesAPI) UpdateRoleBinding(roleBindingName string, roleName string, serviceAccountName string, ...) error
- func (k *KubernetesAPI) UpdateService(service *v1.Service) (*v1.Service, error)
- type KubernetesApiConfig
- type PodReference
Constants ¶
const DspNamespaceEnv = "DSP_NAMESPACE"
const DspPodEnv = "DSP_POD"
Variables ¶
var NoKubernetesConfigFile = errors.New("NoKubernetesConfigFile")
NoKubernetesConfig is the error returned by GetKubernetesAPI when no Kubernetes Config file was found or the file does not exist.
Functions ¶
func DeserializeFromKubeYaml ¶
Types ¶
type ExecOptions ¶
type ExecOptions struct { Command []string Namespace string PodName string ContainerName string Stdin io.Reader CaptureStdout bool CaptureStderr bool // If false, whitespace in std{err,out} will be removed. PreserveWhitespace bool }
ExecOptions passed to ExecWithOptions
type KubernetesAPI ¶
func GetKubernetesAPI ¶
func GetKubernetesAPI(config KubernetesApiConfig) (*KubernetesAPI, error)
Creates new KubernetesAPI object from in-cluster or out-of-cluster configuration based on config.Current.InCluster setting. Use out-of-cluster method on local machine and in-cluster method on pod running in kubernetes. kubectl command must be installed and properly configured on your machine if using out-of-cluster method.
func (*KubernetesAPI) ConfigMapExists ¶
func (k *KubernetesAPI) ConfigMapExists(namespace string, configMap string) bool
func (*KubernetesAPI) ContainsServiceAccount ¶
func (k *KubernetesAPI) ContainsServiceAccount(a v1.ServiceAccountList, x string) bool
func (*KubernetesAPI) CopyConfigMap ¶
func (*KubernetesAPI) CopyDockerSecrets ¶
func (k *KubernetesAPI) CopyDockerSecrets(sourceNamespace string, targetNamespace string) error
func (*KubernetesAPI) CreateConfigMap ¶
func (*KubernetesAPI) CreateCronJob ¶
func (*KubernetesAPI) CreateDeployment ¶
func (k *KubernetesAPI) CreateDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error)
func (*KubernetesAPI) CreateIngress ¶
func (*KubernetesAPI) CreateNamespace ¶
func (k *KubernetesAPI) CreateNamespace(namespace string) error
func (*KubernetesAPI) CreateOrResizePersistentVolumeClaim ¶
func (k *KubernetesAPI) CreateOrResizePersistentVolumeClaim(pv *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
func (*KubernetesAPI) CreateOrUpdateConfigMap ¶
func (*KubernetesAPI) CreateOrUpdateDeployment ¶
func (k *KubernetesAPI) CreateOrUpdateDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error)
func (*KubernetesAPI) CreateOrUpdateIngress ¶
func (*KubernetesAPI) CreateOrUpdatePersistentVolumeClaim ¶
func (k *KubernetesAPI) CreateOrUpdatePersistentVolumeClaim(pv *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
func (*KubernetesAPI) CreateOrUpdateRole ¶
func (k *KubernetesAPI) CreateOrUpdateRole( sourceNamespace string, targetNamespace string, roleName string) error
func (*KubernetesAPI) CreateOrUpdateRoleBinding ¶
func (*KubernetesAPI) CreateOrUpdateSecret ¶
func (k *KubernetesAPI) CreateOrUpdateSecret(secret *v1.Secret, namespace string) error
func (*KubernetesAPI) CreateOrUpdateService ¶
func (*KubernetesAPI) CreatePersistentVolumeClaim ¶
func (k *KubernetesAPI) CreatePersistentVolumeClaim(pvc *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
func (*KubernetesAPI) CreateRoleBinding ¶
func (*KubernetesAPI) CreateService ¶
func (*KubernetesAPI) CreateServiceAccount ¶
func (k *KubernetesAPI) CreateServiceAccount(serviceAccountName string, namespace string) error
func (*KubernetesAPI) CronJobExists ¶
func (k *KubernetesAPI) CronJobExists(namespace string, cronJob string) bool
func (*KubernetesAPI) DeleteConfigMap ¶
func (k *KubernetesAPI) DeleteConfigMap(namespace string, configMap string) error
func (*KubernetesAPI) DeleteCronJob ¶
func (k *KubernetesAPI) DeleteCronJob(namespace string, cronJob string) error
func (*KubernetesAPI) DeleteDeployment ¶
func (k *KubernetesAPI) DeleteDeployment(namespace string, deployment string) error
func (*KubernetesAPI) DeleteIngress ¶
func (k *KubernetesAPI) DeleteIngress(namespace string, ingress string) error
func (*KubernetesAPI) DeleteJob ¶
func (k *KubernetesAPI) DeleteJob(namespace string, job string) error
func (*KubernetesAPI) DeleteNamespace ¶
func (k *KubernetesAPI) DeleteNamespace(namespace string, gracefully bool) error
Function deletes namespace either gracefully (namespace will only be deleted, if it is empty) if gracefully flag is set or forcibly (namespace and all remaining elements will be forcibly deleted) if gracefully flag is not set
func (*KubernetesAPI) DeletePersistentVolumeClaim ¶
func (k *KubernetesAPI) DeletePersistentVolumeClaim(namespace string, pvc string) error
func (*KubernetesAPI) DeleteService ¶
func (k *KubernetesAPI) DeleteService(namespace string, service string) error
func (*KubernetesAPI) DeploymentExists ¶
func (k *KubernetesAPI) DeploymentExists(namespace string, deployment string) bool
func (*KubernetesAPI) DockerSecretNames ¶
func (k *KubernetesAPI) DockerSecretNames(namespace string) ([]string, error)
func (*KubernetesAPI) EnsureNamespace ¶
func (k *KubernetesAPI) EnsureNamespace(namespaceName string) error
In some cases a namespace can be existent but also in state terminated
func (*KubernetesAPI) ExecCommandInContainer ¶
func (k *KubernetesAPI) ExecCommandInContainer(namespace, podName, containerName string, cmd ...string) (string, error)
ExecCommandInContainer executes a command in the specified container.
func (*KubernetesAPI) ExecCommandInContainerWithFullOutput ¶
func (k *KubernetesAPI) ExecCommandInContainerWithFullOutput(namespace, podName, containerName string, cmd ...string) (string, string, error)
ExecCommandInContainerWithFullOutput executes a command in the specified container and return stdout, stderr and error
func (*KubernetesAPI) ExecCommandInPod ¶
func (*KubernetesAPI) ExecCommandInPodWithFullOutput ¶
func (*KubernetesAPI) ExecShellInContainer ¶
func (k *KubernetesAPI) ExecShellInContainer(namespace, podName, containerName string, cmd string) (string, error)
func (*KubernetesAPI) ExecShellInPod ¶
func (k *KubernetesAPI) ExecShellInPod(podName string, cmd string) (string, error)
func (*KubernetesAPI) ExecShellInPodWithFullOutput ¶
func (*KubernetesAPI) ExecWithOptions ¶
func (k *KubernetesAPI) ExecWithOptions(options ExecOptions) (string, string, error)
ExecWithOptions executes a command in the specified container, returning stdout, stderr and error. `options` allowed for additional parameters to be passed.
func (*KubernetesAPI) GetConfigMap ¶
func (*KubernetesAPI) GetConfigMaps ¶
func (k *KubernetesAPI) GetConfigMaps(namespace string) (*v1.ConfigMapList, error)
func (*KubernetesAPI) GetCronJob ¶
func (*KubernetesAPI) GetCurrentPod ¶
func (k *KubernetesAPI) GetCurrentPod() (*v1Api.Pod, error)
func (*KubernetesAPI) GetDeployment ¶
func (k *KubernetesAPI) GetDeployment(namespace string, deployment string) (*appsv1.Deployment, error)
func (*KubernetesAPI) GetIngress ¶
func (*KubernetesAPI) GetNamespace ¶
func (k *KubernetesAPI) GetNamespace(namespace string) (*v1.Namespace, error)
func (*KubernetesAPI) GetPersistentVolumeClaim ¶
func (k *KubernetesAPI) GetPersistentVolumeClaim(namespace string, pvc string) (*v1.PersistentVolumeClaim, error)
func (*KubernetesAPI) GetPods ¶
func (k *KubernetesAPI) GetPods(namespace string) (*v1Api.PodList, error)
func (*KubernetesAPI) GetRoleBindings ¶
func (k *KubernetesAPI) GetRoleBindings(namespace string) (*v1.RoleBindingList, error)
func (*KubernetesAPI) GetRoles ¶
func (k *KubernetesAPI) GetRoles(namespace string) (*v1.RoleList, error)
func (*KubernetesAPI) GetSecrets ¶
func (k *KubernetesAPI) GetSecrets(namespace string) (*v1.SecretList, error)
func (*KubernetesAPI) GetService ¶
func (*KubernetesAPI) GetServiceAccounts ¶
func (k *KubernetesAPI) GetServiceAccounts(namespace string) (*v1.ServiceAccountList, error)
func (*KubernetesAPI) IngressExists ¶
func (k *KubernetesAPI) IngressExists(namespace string, ingress string) bool
func (*KubernetesAPI) IsNamespaceEmpty ¶
func (k *KubernetesAPI) IsNamespaceEmpty(namespace string) (bool, error)
func (*KubernetesAPI) JobExists ¶
func (k *KubernetesAPI) JobExists(namespace string, job string) bool
func (*KubernetesAPI) NamespaceExists ¶
func (k *KubernetesAPI) NamespaceExists(namespace string) bool
func (*KubernetesAPI) PersistentVolumeClaimExists ¶
func (k *KubernetesAPI) PersistentVolumeClaimExists(namespace string, pvc string) bool
func (*KubernetesAPI) ResizePersistentVolumeClaim ¶
func (k *KubernetesAPI) ResizePersistentVolumeClaim(pvc *v1.PersistentVolumeClaim, newQuantity resource.Quantity) (*v1.PersistentVolumeClaim, error)
func (*KubernetesAPI) RoleBindingExists ¶
func (k *KubernetesAPI) RoleBindingExists(namespace string, roleBindingName string) bool
func (*KubernetesAPI) SecretExists ¶
func (k *KubernetesAPI) SecretExists(namespace string, secret string) bool
func (*KubernetesAPI) UpdateConfigMap ¶
func (*KubernetesAPI) UpdateDeployment ¶
func (k *KubernetesAPI) UpdateDeployment(deployment *appsv1.Deployment) (*appsv1.Deployment, error)
func (*KubernetesAPI) UpdateIngress ¶
func (*KubernetesAPI) UpdatePersistentVolumeClaim ¶
func (k *KubernetesAPI) UpdatePersistentVolumeClaim(pvc *v1.PersistentVolumeClaim) (*v1.PersistentVolumeClaim, error)
func (*KubernetesAPI) UpdateRoleBinding ¶
func (*KubernetesAPI) UpdateService ¶
type KubernetesApiConfig ¶
type KubernetesApiConfig interface { //gets the path to an explicit kubernetes client config file //if nil is returned it is assumed to be running within a kubernetes cluster AND local the service-account is used //if "" is returned it defaults to ~/.kube/config //any other value is assumed to be a valid path to a kubernetes config file KubernetesConfigFilePath() *string }
type PodReference ¶
func GetCurrentPodReference ¶
func GetCurrentPodReference() (*PodReference, error)