From 54b8da3a84f65077202b3825e8084c1afde7cc23 Mon Sep 17 00:00:00 2001 From: Lorenz Brun <lorenz@dolansoft.org> Date: Wed, 20 Jun 2018 14:48:13 +0200 Subject: [PATCH] Add service resolution support to K8s executor --- executors/kubernetes/executor_kubernetes.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go index 89bd0c409..a753055a6 100644 --- a/executors/kubernetes/executor_kubernetes.go +++ b/executors/kubernetes/executor_kubernetes.go @@ -432,9 +432,17 @@ func (s *executor) setupCredentials() error { func (s *executor) setupBuildPod() error { services := make([]api.Container, len(s.options.Services)) + var serviceAliases api.HostAlias + serviceAliases.Hostnames = make([]string, len(s.options.Services)) + serviceAliases.IP = "127.0.0.1" for i, service := range s.options.Services { resolvedImage := s.Build.GetAllVariables().ExpandValue(service.Name) services[i] = s.buildContainer(fmt.Sprintf("svc-%d", i), resolvedImage, service, s.serviceRequests, s.serviceLimits) + if service.Alias != "" { + serviceAliases.Hostnames[i] = service.Alias + } else { + serviceAliases.Hostnames[i] = service.Name + } } labels := make(map[string]string) @@ -471,6 +479,7 @@ func (s *executor) setupBuildPod() error { ServiceAccountName: s.configurationOverwrites.serviceAccount, RestartPolicy: api.RestartPolicyNever, NodeSelector: s.Config.Kubernetes.NodeSelector, + HostAliases: []api.HostAlias{serviceAliases}, Containers: append([]api.Container{ // TODO use the build and helper template here s.buildContainer("build", buildImage, s.options.Image, s.buildRequests, s.buildLimits, s.BuildShell.DockerCommand...), -- GitLab