Documentation ¶
Index ¶
- Constants
- Variables
- func FakeNew() (*Client, *FakeClientset)
- func FetchContainerResourceLimits(container corev1.Container) corev1.ResourceRequirements
- func FindContainer(containers []corev1.Container, name string) (corev1.Container, error)
- func GetInputEnvVarsFromStrings(envVars []string) ([]corev1.EnvVar, error)
- func GetResourceRequirementsFromCmpSettings(cfg config.LocalConfigInfo) (*corev1.ResourceRequirements, error)
- func IsDCRolledOut(config *appsv1.DeploymentConfig, desiredRevision int64) bool
- func ParseImageName(image string) (string, string, string, string, error)
- type Client
- func (c *Client) AddEnvironmentVariablesToDeploymentConfig(envs []corev1.EnvVar, dc *appsv1.DeploymentConfig) error
- func (c *Client) AddPVCToDeploymentConfig(dc *appsv1.DeploymentConfig, pvc string, path string) error
- func (c *Client) BootstrapSupervisoredS2I(params CreateArgs, commonObjectMeta metav1.ObjectMeta) error
- func (c *Client) CopyFile(localPath string, targetPodName string, targetPath string, copyFiles []string, ...) error
- func (c *Client) CreateBuildConfig(commonObjectMeta metav1.ObjectMeta, builderImage string, gitURL string, ...) (buildv1.BuildConfig, error)
- func (c *Client) CreateNewProject(projectName string, wait bool) error
- func (c *Client) CreatePVC(name string, size string, labels map[string]string) (*corev1.PersistentVolumeClaim, error)
- func (c *Client) CreateRoute(name string, serviceName string, portNumber intstr.IntOrString, ...) (*routev1.Route, error)
- func (c *Client) CreateSecret(objectMeta metav1.ObjectMeta, data map[string]string) error
- func (c *Client) CreateService(commonObjectMeta metav1.ObjectMeta, containerPorts []corev1.ContainerPort) (*corev1.Service, error)
- func (c *Client) CreateServiceBinding(bindingName string, namespace string) error
- func (c *Client) CreateServiceInstance(serviceName string, serviceType string, servicePlan string, ...) error
- func (c *Client) Delete(labels map[string]string) error
- func (c *Client) DeleteBuildConfig(commonObjectMeta metav1.ObjectMeta) error
- func (c *Client) DeletePVC(name string) error
- func (c *Client) DeleteProject(name string) error
- func (c *Client) DeleteRoute(name string) error
- func (c *Client) DeleteServiceInstance(labels map[string]string) error
- func (c *Client) DisplayDeploymentConfigLog(deploymentConfigName string, followLog bool, stdout io.Writer) error
- func (c *Client) ExecCMDInContainer(podName string, cmd []string, stdout io.Writer, stderr io.Writer, ...) error
- func (c *Client) FollowBuildLog(buildName string, stdout io.Writer) error
- func (c *Client) GetAllClusterServicePlans() ([]scv1beta1.ClusterServicePlan, error)
- func (c *Client) GetBuildConfigFromName(name string) (*buildv1.BuildConfig, error)
- func (c *Client) GetClusterPlansFromServiceName(serviceName string) ([]scv1beta1.ClusterServicePlan, error)
- func (c *Client) GetClusterServiceClass(serviceName string) (*scv1beta1.ClusterServiceClass, error)
- func (c *Client) GetClusterServiceClassExternalNamesAndPlans() ([]Service, error)
- func (c *Client) GetClusterServiceClasses() ([]scv1beta1.ClusterServiceClass, error)
- func (c *Client) GetCurrentProjectName() string
- func (c *Client) GetDeploymentConfigFromName(name string) (*appsv1.DeploymentConfig, error)
- func (c *Client) GetDeploymentConfigsFromSelector(selector string) ([]appsv1.DeploymentConfig, error)
- func (c *Client) GetEnvVarsFromDC(dcName string) ([]corev1.EnvVar, error)
- func (c *Client) GetExposedPorts(imageStreamImage *imagev1.ImageStreamImage) ([]corev1.ContainerPort, error)
- func (c *Client) GetImageStream(imageNS string, imageName string, imageTag string) (*imagev1.ImageStream, error)
- func (c *Client) GetImageStreamImage(imageStream *imagev1.ImageStream, imageTag string) (*imagev1.ImageStreamImage, error)
- func (c *Client) GetImageStreamTags(namespace string) ([]imagev1.ImageStreamTag, error)
- func (c *Client) GetImageStreams(namespace string) ([]imagev1.ImageStream, error)
- func (c *Client) GetImageStreamsNames(namespace string) ([]string, error)
- func (c *Client) GetLabelValues(label string, selector string) ([]string, error)
- func (c *Client) GetLatestBuildName(buildConfigName string) (string, error)
- func (c *Client) GetMatchingPlans(class scv1beta1.ClusterServiceClass) (plans map[string]scv1beta1.ClusterServicePlan, err error)
- func (c *Client) GetOneDeploymentConfigFromSelector(selector string) (*appsv1.DeploymentConfig, error)
- func (c *Client) GetOnePodFromSelector(selector string) (*corev1.Pod, error)
- func (c *Client) GetOneServiceFromSelector(selector string) (*corev1.Service, error)
- func (c *Client) GetPVCFromName(pvcName string) (*corev1.PersistentVolumeClaim, error)
- func (c *Client) GetPVCNameFromVolumeMountName(volumeMountName string, dc *appsv1.DeploymentConfig) string
- func (c *Client) GetPVCNamesFromSelector(selector string) ([]string, error)
- func (c *Client) GetPVCsFromSelector(selector string) ([]corev1.PersistentVolumeClaim, error)
- func (c *Client) GetProjectNames() ([]string, error)
- func (c *Client) GetSecret(name, namespace string) (*corev1.Secret, error)
- func (c *Client) GetServerVersion() (*ServerInfo, error)
- func (c *Client) GetServiceBinding(serviceName string, namespace string) (*scv1beta1.ServiceBinding, error)
- func (c *Client) GetServiceClassesByCategory() (categories map[string][]scv1beta1.ClusterServiceClass, err error)
- func (c *Client) GetServiceInstanceList(selector string) ([]scv1beta1.ServiceInstance, error)
- func (c *Client) GetServicesFromSelector(selector string) ([]corev1.Service, error)
- func (c *Client) GetVolumeMountsFromDC(dc *appsv1.DeploymentConfig) []corev1.VolumeMount
- func (c *Client) IsVolumeAnEmptyDir(volumeMountName string, dc *appsv1.DeploymentConfig) bool
- func (c *Client) LinkSecret(secretName, componentName, applicationName string) error
- func (c *Client) ListRouteNames(labelSelector string) ([]string, error)
- func (c *Client) ListRoutes(labelSelector string) ([]routev1.Route, error)
- func (c *Client) ListSecrets(labelSelector string) ([]corev1.Secret, error)
- func (c *Client) NewAppS2I(params CreateArgs, commonObjectMeta metav1.ObjectMeta) error
- func (c *Client) PatchCurrentDC(name string, dc appsv1.DeploymentConfig, prePatchDCHandler dcStructUpdater, ...) error
- func (c *Client) PropagateDeletes(targetPodName string, delSrcRelPaths []string, s2iPaths []string) error
- func (c *Client) RemoveVolumeFromDeploymentConfig(pvc string, dcName string) error
- func (c *Client) RunLogout(stdout io.Writer) error
- func (c *Client) SetCurrentProject(projectName string) error
- func (c *Client) SetupForSupervisor(dcName string, annotations map[string]string, labels map[string]string) error
- func (c *Client) StartBuild(name string) (string, error)
- func (c *Client) UnlinkSecret(secretName, componentName, applicationName string) error
- func (c *Client) UpdateBuildConfig(buildConfigName string, gitURL string, annotations map[string]string) error
- func (c *Client) UpdateDCAnnotations(dcName string, annotations map[string]string) error
- func (c *Client) UpdateDCToGit(ucp UpdateComponentParams, isDeleteSupervisordVolumes bool) (err error)
- func (c *Client) UpdateDCToSupervisor(ucp UpdateComponentParams, isToLocal bool, isCreatePVC bool) error
- func (c *Client) UpdatePVCLabels(pvc *corev1.PersistentVolumeClaim, labels map[string]string) error
- func (c *Client) WaitAndGetDC(name string, desiredRevision int64, timeout time.Duration, ...) (*appsv1.DeploymentConfig, error)
- func (c *Client) WaitAndGetPod(selector string, desiredPhase corev1.PodPhase, waitMessage string) (*corev1.Pod, error)
- func (c *Client) WaitAndGetSecret(name string, namespace string) (*corev1.Secret, error)
- func (c *Client) WaitForBuildToFinish(buildName string) error
- type CommonImageMeta
- type CreateArgs
- type FakeClientset
- type S2IPaths
- type ServerInfo
- type Service
- type UpdateComponentParams
Constants ¶
const ( OpenShiftNameSpace = "openshift" // ComponentPortAnnotationName annotation is used on the secrets that are created for each exposed port of the component ComponentPortAnnotationName = "component-port" // EnvS2IScriptsURL is an env var exposed to https://github.com/openshift/odo-supervisord-image/blob/master/assemble-and-restart to indicate location of s2i scripts in this case assemble script EnvS2IScriptsURL = "ODO_S2I_SCRIPTS_URL" // EnvS2IScriptsProtocol is an env var exposed to https://github.com/openshift/odo-supervisord-image/blob/master/assemble-and-restart to indicate the way to access location of s2i scripts indicated by ${${EnvS2IScriptsURL}} above EnvS2IScriptsProtocol = "ODO_S2I_SCRIPTS_PROTOCOL" // EnvS2ISrcOrBinPath is an env var exposed by s2i to indicate where the builder image expects the component source or binary to reside EnvS2ISrcOrBinPath = "ODO_S2I_SRC_BIN_PATH" // EnvS2ISrcBackupDir is the env var that points to the directory that holds a backup of component source // This is required bcoz, s2i assemble script moves(hence deletes contents) the contents of $ODO_S2I_SRC_BIN_PATH to $APP_ROOT during which $APP_DIR alo needs to be empty so that mv doesn't complain pushing to an already exisiting dir with same name EnvS2ISrcBackupDir = "ODO_SRC_BACKUP_DIR" // EnvS2IDeploymentBackupDir is the env var that points to the directory that holds a backup of component deployment artifacts // This is required to persist deployed artifacts across supervisord restarts EnvS2IDeploymentBackupDir = "ODO_DEPLOYMENT_BACKUP_DIR" // EnvAppRoot is env var s2i exposes in component container to indicate the path where component source resides EnvAppRoot = "APP_ROOT" // S2IScriptsURLLabel S2I script location Label name // Ref: https://docs.openshift.com/enterprise/3.2/creating_images/s2i.html#build-process S2IScriptsURLLabel = "io.openshift.s2i.scripts-url" // S2IBuilderImageName is the S2I builder image name S2IBuilderImageName = "name" // S2ISrcOrBinLabel is the label that provides, path where S2I expects component source or binary S2ISrcOrBinLabel = "io.openshift.s2i.destination" // EnvS2IBuilderImageName is the label that provides the name of builder image in component EnvS2IBuilderImageName = "ODO_S2I_BUILDER_IMG" // EnvS2IDeploymentDir is an env var exposed to https://github.com/openshift/odo-supervisord-image/blob/master/assemble-and-restart to indicate s2i deployment directory EnvS2IDeploymentDir = "ODO_S2I_DEPLOYMENT_DIR" // DefaultS2ISrcOrBinPath is the default path where S2I expects source/binary artifacts in absence of $S2ISrcOrBinLabel in builder image // Ref: https://github.com/openshift/source-to-image/blob/master/docs/builder_image.md#required-image-contents DefaultS2ISrcOrBinPath = "/tmp" // DefaultS2ISrcBackupDir is the default path where odo backs up the component source DefaultS2ISrcBackupDir = "/opt/app-root/src-backup" // DefaultS2IDeploymentBackupDir is the default path where odo backs up the built component artifacts DefaultS2IDeploymentBackupDir = "/opt/app-root/deployment-backup" // EnvS2IWorkingDir is an env var to odo-supervisord-image assemble-and-restart.sh to indicate to it the s2i working directory EnvS2IWorkingDir = "ODO_S2I_WORKING_DIR" )
Variables ¶
var ( DEPLOYMENT_CONFIG_NOT_FOUND_ERROR_STR string = "deploymentconfigs.apps.openshift.io \"%s\" not found" DEPLOYMENT_CONFIG_NOT_FOUND error = fmt.Errorf("Requested deployment config does not exist") )
var S2IDeploymentsDir = []string{
"com.redhat.deployments-dir",
"org.jboss.deployments-dir",
}
S2IDeploymentsDir is a set of possible S2I labels that provides S2I deployments directory This label is not uniform across different builder images. This slice is expected to grow as odo adds support to more component types and/or the respective builder images use different labels
Functions ¶
func FakeNew ¶ added in v0.0.6
func FakeNew() (*Client, *FakeClientset)
FakeNew creates new fake client for testing returns Client that is filled with fake clients and FakeClientSet that holds fake Clientsets to access Actions, Reactors etc... in fake client
func FetchContainerResourceLimits ¶ added in v1.0.0
func FetchContainerResourceLimits(container corev1.Container) corev1.ResourceRequirements
FetchContainerResourceLimits returns cpu and memory resource limits of the component container from the passed dc Parameter:
container: Component container
Returns:
resource limits from passed component container
func FindContainer ¶ added in v1.0.0
FindContainer finds the container
func GetInputEnvVarsFromStrings ¶ added in v1.0.0
GetInputEnvVarsFromStrings generates corev1.EnvVar values from the array of string key=value pairs envVars is the array containing the key=value pairs
func GetResourceRequirementsFromCmpSettings ¶ added in v1.0.0
func GetResourceRequirementsFromCmpSettings(cfg config.LocalConfigInfo) (*corev1.ResourceRequirements, error)
GetResourceRequirementsFromCmpSettings converts the cpu and memory request info from component configuration into format usable in dc Parameters:
cfg: Compoennt configuration/settings
Returns:
*corev1.ResourceRequirements: component configuration converted into format usable in dc
func IsDCRolledOut ¶ added in v1.0.0
func IsDCRolledOut(config *appsv1.DeploymentConfig, desiredRevision int64) bool
IsDCRolledOut indicates whether the deployment config is rolled out or not Borrowed from https://github.com/openshift/origin/blob/64349ed036ed14808124c5b4d8538b3856783b54/pkg/oc/originpolymorphichelpers/deploymentconfigs/status.go
func ParseImageName ¶ added in v0.0.9
ParseImageName parse image reference returns (imageNamespace, imageName, tag, digest, error) if image is referenced by tag (name:tag) than digest is "" if image is referenced by digest (name@digest) than tag is ""
Types ¶
type Client ¶ added in v0.0.3
type Client struct { KubeConfig clientcmd.ClientConfig Namespace string // contains filtered or unexported fields }
func (*Client) AddEnvironmentVariablesToDeploymentConfig ¶ added in v0.0.4
func (c *Client) AddEnvironmentVariablesToDeploymentConfig(envs []corev1.EnvVar, dc *appsv1.DeploymentConfig) error
AddEnvironmentVariablesToDeploymentConfig adds the given environment variables to the only container in the Deployment Config and updates in the cluster
func (*Client) AddPVCToDeploymentConfig ¶ added in v0.0.4
func (c *Client) AddPVCToDeploymentConfig(dc *appsv1.DeploymentConfig, pvc string, path string) error
AddPVCToDeploymentConfig adds the given PVC to the given Deployment Config at the given path
func (*Client) BootstrapSupervisoredS2I ¶ added in v0.0.5
func (c *Client) BootstrapSupervisoredS2I(params CreateArgs, commonObjectMeta metav1.ObjectMeta) error
BootstrapSupervisoredS2I uses S2I (Source To Image) to inject Supervisor into the application container. Odo uses https://github.com/ochinchina/supervisord which is pre-built in a ready-to-deploy InitContainer. The supervisord binary is copied over to the application container using a temporary volume and overrides the built-in S2I run function for the supervisord run command instead.
Supervisor keeps the pod running (as PID 1), so you it is possible to trigger assembly script inside running pod, and than restart application using Supervisor without need to restart the container/Pod.
func (*Client) CopyFile ¶ added in v0.0.5
func (c *Client) CopyFile(localPath string, targetPodName string, targetPath string, copyFiles []string, globExps []string) error
CopyFile copies localPath directory or list of files in copyFiles list to the directory in running Pod. copyFiles is list of changed files captured during `odo watch` as well as binary file path During copying binary components, localPath represent base directory path to binary and copyFiles contains path of binary During copying local source components, localPath represent base directory path whereas copyFiles is empty During `odo watch`, localPath represent base directory path whereas copyFiles contains list of changed Files
func (*Client) CreateBuildConfig ¶ added in v0.0.14
func (c *Client) CreateBuildConfig(commonObjectMeta metav1.ObjectMeta, builderImage string, gitURL string, gitRef string, envVars []corev1.EnvVar) (buildv1.BuildConfig, error)
CreateBuildConfig creates a buildConfig using the builderImage as well as gitURL. envVars is the array containing the environment variables
func (*Client) CreateNewProject ¶ added in v0.0.3
CreateNewProject creates project with given projectName
func (*Client) CreatePVC ¶ added in v0.0.4
func (c *Client) CreatePVC(name string, size string, labels map[string]string) (*corev1.PersistentVolumeClaim, error)
CreatePVC creates a PVC resource in the cluster with the given name, size and labels
func (*Client) CreateRoute ¶ added in v0.0.3
func (c *Client) CreateRoute(name string, serviceName string, portNumber intstr.IntOrString, labels map[string]string) (*routev1.Route, error)
CreateRoute creates a route object for the given service and with the given labels serviceName is the name of the service for the target reference portNumber is the target port of the route
func (*Client) CreateSecret ¶ added in v0.0.15
CreateSecret generates and creates the secret commonObjectMeta is the ObjectMeta for the service
func (*Client) CreateService ¶ added in v0.0.9
func (c *Client) CreateService(commonObjectMeta metav1.ObjectMeta, containerPorts []corev1.ContainerPort) (*corev1.Service, error)
CreateService generates and creates the service commonObjectMeta is the ObjectMeta for the service dc is the deploymentConfig to get the container ports
func (*Client) CreateServiceBinding ¶ added in v0.0.14
CreateServiceBinding creates a ServiceBinding (essentially a secret) within the namespace of the service instance created using the service's parameters.
func (*Client) CreateServiceInstance ¶ added in v0.0.11
func (c *Client) CreateServiceInstance(serviceName string, serviceType string, servicePlan string, parameters map[string]string, labels map[string]string) error
CreateServiceInstance creates service instance from service catalog
func (*Client) Delete ¶ added in v0.0.3
Delete takes labels as a input and based on it, deletes respective resource
func (*Client) DeleteBuildConfig ¶ added in v0.0.14
func (c *Client) DeleteBuildConfig(commonObjectMeta metav1.ObjectMeta) error
DeleteBuildConfig deletes the given BuildConfig by name using CommonObjectMeta..
func (*Client) DeleteProject ¶ added in v0.0.3
DeleteProject deletes given project
func (*Client) DeleteRoute ¶ added in v0.0.3
DeleteRoute deleted the given route
func (*Client) DeleteServiceInstance ¶ added in v0.0.11
DeleteServiceInstance takes labels as a input and based on it, deletes respective service instance
func (*Client) DisplayDeploymentConfigLog ¶ added in v0.0.6
func (c *Client) DisplayDeploymentConfigLog(deploymentConfigName string, followLog bool, stdout io.Writer) error
DisplayDeploymentConfigLog logs the deployment config to stdout
func (*Client) ExecCMDInContainer ¶ added in v0.0.5
func (c *Client) ExecCMDInContainer(podName string, cmd []string, stdout io.Writer, stderr io.Writer, stdin io.Reader, tty bool) error
ExecCMDInContainer execute command in first container of a pod
func (*Client) FollowBuildLog ¶ added in v0.0.3
FollowBuildLog stream build log to stdout
func (*Client) GetAllClusterServicePlans ¶ added in v0.0.14
func (c *Client) GetAllClusterServicePlans() ([]scv1beta1.ClusterServicePlan, error)
GetAllClusterServicePlans returns list of available plans
func (*Client) GetBuildConfigFromName ¶ added in v0.0.10
func (c *Client) GetBuildConfigFromName(name string) (*buildv1.BuildConfig, error)
GetBuildConfigFromName get BuildConfig by its name
func (*Client) GetClusterPlansFromServiceName ¶ added in v0.0.15
func (c *Client) GetClusterPlansFromServiceName(serviceName string) ([]scv1beta1.ClusterServicePlan, error)
GetClusterPlansFromServiceName returns the plans associated with a service class serviceName is the name (the actual id, NOT the external name) of the service class whose plans are required returns array of ClusterServicePlans or error
func (*Client) GetClusterServiceClass ¶ added in v0.0.15
func (c *Client) GetClusterServiceClass(serviceName string) (*scv1beta1.ClusterServiceClass, error)
GetClusterServiceClass returns the required service class from the service name serviceName is the name of the service returns the required service class and the error
func (*Client) GetClusterServiceClassExternalNamesAndPlans ¶ added in v0.0.14
GetClusterServiceClassExternalNamesAndPlans returns the names of all the cluster service classes in the cluster
func (*Client) GetClusterServiceClasses ¶ added in v0.0.3
func (c *Client) GetClusterServiceClasses() ([]scv1beta1.ClusterServiceClass, error)
GetClusterServiceClasses queries the service service catalog to get available clusterServiceClasses
func (*Client) GetCurrentProjectName ¶ added in v0.0.3
func (*Client) GetDeploymentConfigFromName ¶ added in v0.0.4
func (c *Client) GetDeploymentConfigFromName(name string) (*appsv1.DeploymentConfig, error)
GetDeploymentConfigFromName returns the Deployment Config resource given the Deployment Config name
func (*Client) GetDeploymentConfigsFromSelector ¶ added in v0.0.4
func (c *Client) GetDeploymentConfigsFromSelector(selector string) ([]appsv1.DeploymentConfig, error)
GetDeploymentConfigsFromSelector returns an array of Deployment Config resources which match the given selector
func (*Client) GetEnvVarsFromDC ¶ added in v0.0.14
GetEnvVarsFromDC retrieves the env vars from the DC dcName is the name of the dc from which the env vars are retrieved projectName is the name of the project
func (*Client) GetExposedPorts ¶ added in v0.0.5
func (c *Client) GetExposedPorts(imageStreamImage *imagev1.ImageStreamImage) ([]corev1.ContainerPort, error)
GetExposedPorts returns list of ContainerPorts that are exposed by given image
func (*Client) GetImageStream ¶ added in v0.0.11
func (c *Client) GetImageStream(imageNS string, imageName string, imageTag string) (*imagev1.ImageStream, error)
GetImageStream returns the imagestream using image details like imageNS, imageName and imageTag imageNS can be empty in which case, this function searches currentNamespace on priority. If imagestream of required tag not found in current namespace, then searches openshift namespace. If not found, error out. If imageNS is not empty string, then, the requested imageNS only is searched for requested imagestream
func (*Client) GetImageStreamImage ¶ added in v0.0.15
func (c *Client) GetImageStreamImage(imageStream *imagev1.ImageStream, imageTag string) (*imagev1.ImageStreamImage, error)
GetImageStreamImage returns image and error if any, corresponding to the passed imagestream and image tag
func (*Client) GetImageStreamTags ¶ added in v0.0.19
func (c *Client) GetImageStreamTags(namespace string) ([]imagev1.ImageStreamTag, error)
GetImageStreamTags returns all the ImageStreamTag objects in the given namespace
func (*Client) GetImageStreams ¶ added in v0.0.3
func (c *Client) GetImageStreams(namespace string) ([]imagev1.ImageStream, error)
GetImageStreams returns the Image Stream objects in the given namespace
func (*Client) GetImageStreamsNames ¶ added in v0.0.3
GetImageStreamsNames returns the names of the image streams in a given namespace
func (*Client) GetLabelValues ¶ added in v0.0.3
GetLabelValues get label values of given label from objects in project that are matching selector returns slice of unique label values
func (*Client) GetLatestBuildName ¶ added in v0.0.4
GetLatestBuildName gets the name of the latest build buildConfigName is the name of the buildConfig for which we are fetching the build name returns the name of the latest build or the error
func (*Client) GetMatchingPlans ¶ added in v0.0.18
func (c *Client) GetMatchingPlans(class scv1beta1.ClusterServiceClass) (plans map[string]scv1beta1.ClusterServicePlan, err error)
GetMatchingPlans retrieves a map associating service plan name to service plan instance associated with the specified service class
func (*Client) GetOneDeploymentConfigFromSelector ¶ added in v0.0.4
func (c *Client) GetOneDeploymentConfigFromSelector(selector string) (*appsv1.DeploymentConfig, error)
GetOneDeploymentConfigFromSelector returns the Deployment Config object associated with the given selector. An error is thrown when exactly one Deployment Config is not found for the selector.
func (*Client) GetOnePodFromSelector ¶ added in v0.0.4
GetOnePodFromSelector returns the Pod object associated with the given selector. An error is thrown when exactly one Pod is not found.
func (*Client) GetOneServiceFromSelector ¶ added in v0.0.4
GetOneServiceFromSelector returns the Service object associated with the given selector. An error is thrown when exactly one Service is not found for the selector
func (*Client) GetPVCFromName ¶ added in v0.0.6
func (c *Client) GetPVCFromName(pvcName string) (*corev1.PersistentVolumeClaim, error)
GetPVCFromName returns the PVC of the given name
func (*Client) GetPVCNameFromVolumeMountName ¶ added in v0.0.6
func (c *Client) GetPVCNameFromVolumeMountName(volumeMountName string, dc *appsv1.DeploymentConfig) string
GetPVCNameFromVolumeMountName returns the PVC associated with the given volume An empty string is returned if the volume is not found
func (*Client) GetPVCNamesFromSelector ¶ added in v0.0.4
GetPVCNamesFromSelector returns the PVC names for the given selector
func (*Client) GetPVCsFromSelector ¶ added in v0.0.4
func (c *Client) GetPVCsFromSelector(selector string) ([]corev1.PersistentVolumeClaim, error)
GetPVCsFromSelector returns the PVCs based on the given selector
func (*Client) GetProjectNames ¶ added in v0.0.4
GetProjectNames return list of existing projects that user has access to.
func (*Client) GetSecret ¶ added in v0.0.14
GetSecret returns the Secret object in the given namespace
func (*Client) GetServerVersion ¶ added in v0.0.5
func (c *Client) GetServerVersion() (*ServerInfo, error)
GetServerVersion will fetch the Server Host, OpenShift and Kubernetes Version It will be shown on the execution of odo version command
func (*Client) GetServiceBinding ¶ added in v0.0.15
func (c *Client) GetServiceBinding(serviceName string, namespace string) (*scv1beta1.ServiceBinding, error)
GetServiceBinding returns the ServiceBinding named serviceName in the namespace namespace
func (*Client) GetServiceClassesByCategory ¶ added in v0.0.18
func (c *Client) GetServiceClassesByCategory() (categories map[string][]scv1beta1.ClusterServiceClass, err error)
GetServiceClassesByCategory retrieves a map associating category name to ClusterServiceClasses matching the category
func (*Client) GetServiceInstanceList ¶ added in v0.0.11
func (c *Client) GetServiceInstanceList(selector string) ([]scv1beta1.ServiceInstance, error)
GetServiceInstanceList returns list service instances
func (*Client) GetServicesFromSelector ¶ added in v0.0.4
GetServicesFromSelector returns an array of Service resources which match the given selector
func (*Client) GetVolumeMountsFromDC ¶ added in v0.0.6
func (c *Client) GetVolumeMountsFromDC(dc *appsv1.DeploymentConfig) []corev1.VolumeMount
GetVolumeMountsFromDC returns a list of all volume mounts in the given DC
func (*Client) IsVolumeAnEmptyDir ¶ added in v0.0.14
func (c *Client) IsVolumeAnEmptyDir(volumeMountName string, dc *appsv1.DeploymentConfig) bool
IsVolumeAnEmptyDir returns true if the volume is an EmptyDir, false if not
func (*Client) LinkSecret ¶ added in v0.0.14
LinkSecret links a secret to the DeploymentConfig of a component
func (*Client) ListRouteNames ¶ added in v0.0.3
ListRouteNames lists all the names of the routes based on the given label selector
func (*Client) ListRoutes ¶ added in v0.0.3
ListRoutes lists all the routes based on the given label selector
func (*Client) ListSecrets ¶ added in v0.0.15
ListSecrets lists all the secrets based on the given label selector
func (*Client) NewAppS2I ¶ added in v0.0.3
func (c *Client) NewAppS2I(params CreateArgs, commonObjectMeta metav1.ObjectMeta) error
NewAppS2I is only used with "Git" as we need Build gitURL is the url of the git repo inputPorts is the array containing the string port values envVars is the array containing the string env var values
func (*Client) PatchCurrentDC ¶ added in v0.0.14
func (c *Client) PatchCurrentDC(name string, dc appsv1.DeploymentConfig, prePatchDCHandler dcStructUpdater, waitCond dcRollOutWait, currentDC *appsv1.DeploymentConfig, existingCmpContainer corev1.Container) error
PatchCurrentDC "patches" the current DeploymentConfig with a new one however... we make sure that configurations such as: - volumes - environment variables are correctly copied over / consistent without an issue. if prePatchDCHandler is specified (meaning not nil), then it's applied as the last action before the actual call to the Kubernetes API thus giving us the chance to perform arbitrary updates to a DC before it's finalized for patching
func (*Client) PropagateDeletes ¶ added in v0.0.18
func (c *Client) PropagateDeletes(targetPodName string, delSrcRelPaths []string, s2iPaths []string) error
PropagateDeletes deletes the watch detected deleted files from remote component pod from each of the paths in passed s2iPaths Parameters:
targetPodName: Name of component pod delSrcRelPaths: Paths to be deleted on the remote pod relative to component source base path ex: Compoent src: /abc/src, file deleted: abc/src/foo.lang => relative path: foo.lang s2iPaths: Slice of all s2i paths -- deployment dir, destination dir, working dir, etc..
func (*Client) RemoveVolumeFromDeploymentConfig ¶ added in v0.0.4
RemoveVolumeFromDeploymentConfig removes the volume associated with the given PVC from the Deployment Config. Both, the volume entry and the volume mount entry in the containers, are deleted.
func (*Client) SetCurrentProject ¶ added in v0.0.3
SetCurrentProject sets the given projectName to current project
func (*Client) SetupForSupervisor ¶ added in v0.0.9
func (c *Client) SetupForSupervisor(dcName string, annotations map[string]string, labels map[string]string) error
SetupForSupervisor adds the supervisor to the deployment config dcName is the name of the deployment config to be updated projectName is the name of the project annotations are the updated annotations for the new deployment config labels are the labels of the PVC created while setting up the supervisor
func (*Client) StartBuild ¶ added in v0.0.3
StartBuild starts new build as it is, returns name of the build stat was started
func (*Client) UnlinkSecret ¶ added in v0.0.18
UnlinkSecret unlinks a secret to the DeploymentConfig of a component
func (*Client) UpdateBuildConfig ¶ added in v0.0.4
func (c *Client) UpdateBuildConfig(buildConfigName string, gitURL string, annotations map[string]string) error
UpdateBuildConfig updates the BuildConfig file buildConfigName is the name of the BuildConfig file to be updated projectName is the name of the project gitURL equals to the git URL of the source and is equals to "" if the source is of type dir or binary annotations contains the annotations for the BuildConfig file
func (*Client) UpdateDCAnnotations ¶ added in v0.0.9
UpdateDCAnnotations updates the DeploymentConfig file dcName is the name of the DeploymentConfig file to be updated annotations contains the annotations for the DeploymentConfig file
func (*Client) UpdateDCToGit ¶ added in v0.0.14
func (c *Client) UpdateDCToGit(ucp UpdateComponentParams, isDeleteSupervisordVolumes bool) (err error)
UpdateDCToGit replaces / updates the current DeplomentConfig with the appropriate generated image from BuildConfig as well as the correct DeploymentConfig triggers for Git.
func (*Client) UpdateDCToSupervisor ¶ added in v0.0.14
func (c *Client) UpdateDCToSupervisor(ucp UpdateComponentParams, isToLocal bool, isCreatePVC bool) error
UpdateDCToSupervisor updates the current DeploymentConfig to a SupervisorD configuration. Parameters:
commonObjectMeta: dc meta object componentImageType: type of builder image isToLocal: bool used to indicate if component is to be updated to local in which case a source backup dir will be injected into compoennt env
Returns:
errors if any or nil
func (*Client) UpdatePVCLabels ¶ added in v0.0.6
UpdatePVCLabels updates the given PVC with the given labels
func (*Client) WaitAndGetDC ¶ added in v0.0.15
func (c *Client) WaitAndGetDC(name string, desiredRevision int64, timeout time.Duration, waitCond func(*appsv1.DeploymentConfig, int64) bool) (*appsv1.DeploymentConfig, error)
WaitAndGetDC block and waits until the DeploymentConfig has updated it's annotation Parameters:
name: Name of DC timeout: Interval of time.Duration to wait for before timing out waiting for its rollout waitCond: Function indicating when to consider dc rolled out
Returns:
Updated DC and errors if any
func (*Client) WaitAndGetPod ¶ added in v0.0.5
func (c *Client) WaitAndGetPod(selector string, desiredPhase corev1.PodPhase, waitMessage string) (*corev1.Pod, error)
WaitAndGetPod block and waits until pod matching selector is in in Running state desiredPhase cannot be PodFailed or PodUnknown
func (*Client) WaitAndGetSecret ¶ added in v0.0.15
WaitAndGetSecret blocks and waits until the secret is available
func (*Client) WaitForBuildToFinish ¶ added in v0.0.5
WaitForBuildToFinish block and waits for build to finish. Returns error if build failed or was canceled.
type CommonImageMeta ¶ added in v0.0.14
type CommonImageMeta struct { Name string Tag string Namespace string Ports []corev1.ContainerPort }
CommonImageMeta has all the most common image data that is passed around within Odo
type CreateArgs ¶ added in v0.0.17
type CreateArgs struct { Name string SourcePath string SourceRef string SourceType config.SrcType ImageName string EnvVars []string Ports []string Resources *corev1.ResourceRequirements ApplicationName string Wait bool }
CreateArgs is a container of attributes of component create action
type FakeClientset ¶ added in v0.0.6
type FakeClientset struct { Kubernetes *fakeKubeClientset.Clientset AppsClientset *fakeAppsClientset.Clientset BuildClientset *fakeBuildClientset.Clientset ImageClientset *fakeImageClientset.Clientset RouteClientset *fakeRouteClientset.Clientset ProjClientset *fakeProjClientset.Clientset ServiceCatalogClientSet *fakeServiceCatalogClientSet.Clientset }
FakeClientset holds fake ClientSets this is returned by FakeNew to access methods of fake client sets
type S2IPaths ¶ added in v0.0.15
type S2IPaths struct { ScriptsPathProtocol string ScriptsPath string SrcOrBinPath string DeploymentDir string WorkingDir string SrcBackupPath string BuilderImgName string }
S2IPaths is a struct that will hold path to S2I scripts and the protocol indicating access to them, component source/binary paths, artifacts deployments directory These are passed as env vars to component pod
func GetS2IMetaInfoFromBuilderImg ¶ added in v0.0.18
func GetS2IMetaInfoFromBuilderImg(builderImage *imagev1.ImageStreamImage) (S2IPaths, error)
GetS2IMetaInfoFromBuilderImg returns script path protocol, S2I scripts path, S2I source or binary expected path, S2I deployment dir and errors(if any) from the passed builder image
type ServerInfo ¶ added in v0.0.17
ServerInfo contains the fields that contain the server's information like address, OpenShift and Kubernetes versions
type Service ¶ added in v0.0.14
Service struct holds the service name and its corresponding list of plans
type UpdateComponentParams ¶ added in v1.0.0
type UpdateComponentParams struct { // CommonObjectMeta is the object meta containing the labels and annotations expected for the new deployment CommonObjectMeta metav1.ObjectMeta // ResourceLimits are the cpu and memory constraints to be applied on to the component ResourceLimits corev1.ResourceRequirements // EnvVars to be exposed EnvVars []corev1.EnvVar // ExistingDC is the dc of the existing component that is requested for an update ExistingDC *appsv1.DeploymentConfig // DcRollOutWaitCond holds the logic to wait for dc with requested updates to be applied DcRollOutWaitCond dcRollOutWait // ImageMeta describes the image to be used in dc(builder image for local/binary and built component image for git deployments) ImageMeta CommonImageMeta }
UpdateComponentParams serves the purpose of holding the arguements to a component update request