@@ -3,19 +3,17 @@ package main
33import (
44 "context"
55 "embed"
6- "github.com/codefly-dev/core/configurations/standards"
7- basev0 "github.com/codefly-dev/core/generated/go/base/v0"
8- "github.com/codefly-dev/core/shared"
9- "github.com/codefly-dev/core/templates"
10- "github.com/codefly-dev/core/wool"
11- "path"
12-
136 "github.com/codefly-dev/core/agents/communicate"
147 dockerhelpers "github.com/codefly-dev/core/agents/helpers/docker"
158 "github.com/codefly-dev/core/agents/services"
169 "github.com/codefly-dev/core/configurations"
10+ "github.com/codefly-dev/core/configurations/standards"
11+ basev0 "github.com/codefly-dev/core/generated/go/base/v0"
1712 agentv0 "github.com/codefly-dev/core/generated/go/services/agent/v0"
1813 builderv0 "github.com/codefly-dev/core/generated/go/services/builder/v0"
14+ "github.com/codefly-dev/core/shared"
15+ "github.com/codefly-dev/core/templates"
16+ "github.com/codefly-dev/core/wool"
1917)
2018
2119type Builder struct {
@@ -44,6 +42,11 @@ func (s *Builder) Load(ctx context.Context, req *builderv0.LoadRequest) (*builde
4442 return s .Builder .LoadError (err )
4543 }
4644
45+ s .restEndpoint , err = configurations .FindRestEndpoint (ctx , s .Endpoints )
46+ if err != nil {
47+ return s .Builder .LoadError (err )
48+ }
49+
4750 // communication on CreateResponse
4851 err = s .Communication .Register (ctx , communicate.New [builderv0.CreateRequest ](createCommunicate ()))
4952 if err != nil {
@@ -144,12 +147,18 @@ func (s *Builder) Build(ctx context.Context, req *builderv0.BuildRequest) (*buil
144147 if err != nil {
145148 return nil , s .Wool .Wrapf (err , "cannot build image" )
146149 }
150+
147151 s .Builder .WithDockerImages (image )
148- return & builderv0.BuildResponse {}, nil
152+ return s .Builder .BuildResponse ()
153+ }
154+
155+ type LoadBalancer struct {
156+ Enabled bool
157+ Host string
149158}
150159
151- type Deployment struct {
152- LoadBalancedHost string
160+ type Parameters struct {
161+ LoadBalancer
153162}
154163
155164func (s * Builder ) Deploy (ctx context.Context , req * builderv0.DeploymentRequest ) (* builderv0.DeploymentResponse , error ) {
@@ -174,6 +183,7 @@ func (s *Builder) Deploy(ctx context.Context, req *builderv0.DeploymentRequest)
174183 if err != nil {
175184 return s .Builder .DeployError (err )
176185 }
186+
177187 cm , err := services .EnvsAsConfigMapData (s .EnvironmentVariables .Configurations ()... )
178188 if err != nil {
179189 return s .Builder .DeployError (err )
@@ -185,37 +195,22 @@ func (s *Builder) Deploy(ctx context.Context, req *builderv0.DeploymentRequest)
185195 }
186196
187197 params := services.DeploymentParameters {
188- ConfigMap : cm ,
189- SecretMap : secrets ,
190- }
191-
192- err = s .Builder .KustomizeDeploy (ctx , req .Environment , k , deploymentFS , params )
193- if err != nil {
194- return s .Builder .DeployError (err )
198+ ConfigMap : cm ,
199+ SecretMap : secrets ,
200+ Parameters : Parameters {LoadBalancer {}},
195201 }
196202 if req .Deployment .LoadBalancer {
197203 inst , err := configurations .FindNetworkInstance (ctx , req .NetworkMappings , s .restEndpoint , basev0 .NetworkScope_Public )
198204 if err != nil {
199205 return s .Builder .DeployError (err )
200206 }
201- params .Parameters = Deployment {LoadBalancedHost : inst .Host }
202- base := s .Builder .CreateKubernetesBase (req .Environment , k .Namespace , k .BuildContext )
203- err = s .deployKustomizeVirtualService (ctx , k , base , params )
204- if err != nil {
205- return s .Builder .DeployError (err )
206- }
207- }
208- return s .Builder .DeployResponse ()
209- }
210207
211- func (s * Builder ) deployKustomizeVirtualService (ctx context.Context , k * builderv0.KubernetesDeployment , base * services.DeploymentBase , params any ) error {
212- destination := path .Join (k .Destination , "applications" , s .Base .Service .Application , "services" , s .Base .Service .Name )
213- wrapper := & services.DeploymentWrapper {DeploymentBase : base , Parameters : params }
214- err := s .Templates (ctx , wrapper , services .WithDeployment (deploymentFS , "kustomize/overlays/virtualservice" ).WithDestination (path .Join (destination , "overlays" , base .Environment .Name )))
215- if err != nil {
216- return err
208+ params .Parameters = Parameters {LoadBalancer {Host : inst .Host , Enabled : true }}
217209 }
218- return nil
210+
211+ err = s .Builder .KustomizeDeploy (ctx , req .Environment , k , deploymentFS , params )
212+
213+ return s .Builder .DeployResponse ()
219214}
220215
221216const Watch = "with-hot-reload"
0 commit comments