(ctx context.Context, ns string, service *v1.Service)
| 57 | } |
| 58 | |
| 59 | func (i *Istio) applyService(ctx context.Context, ns string, service *v1.Service) error { |
| 60 | prevService, err := i.kube.CoreV1().Services(ns).Get(ctx, service.Name, metav1.GetOptions{}) |
| 61 | if kubeErrors.IsNotFound(err) { |
| 62 | // Create a service if it doesn't already exist |
| 63 | _, err = i.kube.CoreV1().Services(ns).Create(ctx, service, metav1.CreateOptions{}) |
| 64 | return err |
| 65 | } |
| 66 | if err != nil { |
| 67 | return err |
| 68 | } |
| 69 | |
| 70 | // Update the service |
| 71 | prevService.Spec.Ports = service.Spec.Ports |
| 72 | prevService.Annotations = service.Annotations |
| 73 | prevService.Labels = service.Labels |
| 74 | _, err = i.kube.CoreV1().Services(ns).Update(ctx, prevService, metav1.UpdateOptions{}) |
| 75 | return err |
| 76 | } |
| 77 | |
| 78 | func (i *Istio) createVirtualServiceIfNotExist(ctx context.Context, ns string, service *v1alpha3.VirtualService) error { |
| 79 | _, err := i.istio.NetworkingV1alpha3().VirtualServices(ns).Get(ctx, service.Name, metav1.GetOptions{}) |
no test coverage detected