@@ -125,6 +125,29 @@ func (sp *serverlessProvider) deleteProject(project *serverless.Project, options
125
125
return sp .client .DeleteProject (project )
126
126
}
127
127
128
+ func (sp * serverlessProvider ) currentProjectWithClientsAndFleetEndpoint (config Config ) (* serverless.Project , error ) {
129
+ project , err := sp .currentProject (config )
130
+ if err != nil {
131
+ return nil , err
132
+ }
133
+
134
+ err = sp .createClients (project )
135
+ if err != nil {
136
+ return nil , err
137
+ }
138
+
139
+ fleetURL , found := config .Parameters [paramServerlessFleetURL ]
140
+ if ! found {
141
+ fleetURL , err = project .DefaultFleetServerURL (sp .kibanaClient )
142
+ if err != nil {
143
+ return nil , fmt .Errorf ("failed to get fleet URL: %w" , err )
144
+ }
145
+ }
146
+ project .Endpoints .Fleet = fleetURL
147
+
148
+ return project , nil
149
+ }
150
+
128
151
func (sp * serverlessProvider ) currentProject (config Config ) (* serverless.Project , error ) {
129
152
projectID , found := config .Parameters [paramServerlessProjectID ]
130
153
if ! found {
@@ -147,20 +170,6 @@ func (sp *serverlessProvider) currentProject(config Config) (*serverless.Project
147
170
project .Credentials .Username = config .ElasticsearchUsername
148
171
project .Credentials .Password = config .ElasticsearchPassword
149
172
150
- err = sp .createClients (project )
151
- if err != nil {
152
- return nil , err
153
- }
154
-
155
- fleetURL := config .Parameters [paramServerlessFleetURL ]
156
- if true {
157
- fleetURL , err = project .DefaultFleetServerURL (sp .kibanaClient )
158
- if err != nil {
159
- return nil , fmt .Errorf ("failed to get fleet URL: %w" , err )
160
- }
161
- }
162
- project .Endpoints .Fleet = fleetURL
163
-
164
173
return project , nil
165
174
}
166
175
@@ -246,16 +255,11 @@ func (sp *serverlessProvider) BootUp(options Options) error {
246
255
return fmt .Errorf ("failed to create deployment: %w" , err )
247
256
}
248
257
249
- project , err = sp .currentProject (config )
258
+ project , err = sp .currentProjectWithClientsAndFleetEndpoint (config )
250
259
if err != nil {
251
260
return fmt .Errorf ("failed to retrieve latest project created: %w" , err )
252
261
}
253
262
254
- err = sp .createClients (project )
255
- if err != nil {
256
- return err
257
- }
258
-
259
263
logger .Infof ("Creating agent policy" )
260
264
err = project .CreateAgentPolicy (options .StackVersion , sp .kibanaClient )
261
265
if err != nil {
@@ -327,9 +331,12 @@ func (sp *serverlessProvider) TearDown(options Options) error {
327
331
return fmt .Errorf ("failed to load configuration: %w" , err )
328
332
}
329
333
334
+ var errs error
335
+
330
336
err = sp .destroyLocalAgent ()
331
337
if err != nil {
332
- return fmt .Errorf ("failed to destroy local agent: %w" , err )
338
+ logger .Errorf ("failed to destroy local agent: %v" , err )
339
+ errs = fmt .Errorf ("failed to destroy local agent: %w" , err )
333
340
}
334
341
335
342
project , err := sp .currentProject (config )
@@ -341,11 +348,13 @@ func (sp *serverlessProvider) TearDown(options Options) error {
341
348
342
349
err = sp .deleteProject (project , options )
343
350
if err != nil {
344
- return fmt .Errorf ("failed to delete project: %w" , err )
351
+ logger .Errorf ("failed to delete project: %v" , err )
352
+ errs = errors .Join (errs , fmt .Errorf ("failed to delete project: %w" , err ))
345
353
}
354
+ logger .Infof ("Project %s (%s) deleted" , project .Name , project .ID )
346
355
347
356
// TODO: if GeoIP database is specified, remove the geoip Bundle (if needed)
348
- return nil
357
+ return errs
349
358
}
350
359
351
360
func (sp * serverlessProvider ) destroyLocalAgent () error {
@@ -377,7 +386,7 @@ func (sp *serverlessProvider) Status(options Options) ([]ServiceStatus, error) {
377
386
return nil , fmt .Errorf ("failed to load configuration: %w" , err )
378
387
}
379
388
380
- project , err := sp .currentProject (config )
389
+ project , err := sp .currentProjectWithClientsAndFleetEndpoint (config )
381
390
if errors .Is (serverless .ErrProjectNotExist , err ) {
382
391
return nil , nil
383
392
}
0 commit comments