(kubernetes k8s.KubernetesUtil, smartideK8sConfig config.SmartIdeK8SConfig)
| 817 | } |
| 818 | |
| 819 | func 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 | |
| 871 | func getDevContainerPod_DeploymentDefinition(kubernetes k8s.KubernetesUtil, smartideK8sConfig config.SmartIdeK8SConfig) ( |
| 872 | podInstance *coreV1.Pod, serviceName string, err error) { |
no test coverage detected