MCPcopy Create free account
hub / github.com/OpenAtomFoundation/SmartIDE / getDevContainerPod_PodDefinition

Function getDevContainerPod_PodDefinition

cli/cmd/start/k8s.go:819–869  ·  view source on GitHub ↗
(kubernetes k8s.KubernetesUtil, smartideK8sConfig config.SmartIdeK8SConfig)

Source from the content-addressed store, hash-verified

817}
818
819func getDevContainerPod_PodDefinition(kubernetes k8s.KubernetesUtil, smartideK8sConfig config.SmartIdeK8SConfig) (
820 podInstance *coreV1.Pod, serviceName string, err error) {
821 devContainerName := smartideK8sConfig.Workspace.DevContainer.ServiceName
822 isContain := false
823 for i := 0; i < len(smartideK8sConfig.Workspace.Others); i++ {
824 other := smartideK8sConfig.Workspace.Others[i]
825
826 re := reflect.ValueOf(other)
827 kindName := ""
828 if re.Kind() == reflect.Ptr {
829 re = re.Elem()
830 }
831 kindName = fmt.Sprint(re.FieldByName("Kind"))
832 if kindName == "Pod" {
833 var tmpPod *coreV1.Pod
834 switch other.(type) {
835 case coreV1.Pod:
836 tmp := other.(coreV1.Pod)
837 tmpPod = &tmp
838 default:
839 tmpPod = other.(*coreV1.Pod)
840 }
841 for _, container := range tmpPod.Spec.Containers {
842 if container.Name == devContainerName {
843 podInstance, err = kubernetes.GetPodInstanceByName(tmpPod.ObjectMeta.Name)
844 if err != nil {
845 return nil, "", err
846 }
847 isContain = true
848 break
849 }
850
851 }
852 }
853
854 if isContain {
855 break
856 }
857
858 }
859
860 for _, service := range smartideK8sConfig.Workspace.Services {
861 for key, value := range podInstance.ObjectMeta.Labels {
862 if _, ok := service.Spec.Selector[key]; ok && service.Spec.Selector[key] == value {
863 serviceName = service.Name
864 break
865 }
866 }
867 }
868 return
869}
870
871func getDevContainerPod_DeploymentDefinition(kubernetes k8s.KubernetesUtil, smartideK8sConfig config.SmartIdeK8SConfig) (
872 podInstance *coreV1.Pod, serviceName string, err error) {

Callers 2

getDevContainerPodReadyFunction · 0.85
GetDevContainerPodFunction · 0.85

Calls 1

GetPodInstanceByNameMethod · 0.80

Tested by

no test coverage detected