Skip to content

Commit

Permalink
Merge pull request #280 from kthcloud/dev
Browse files Browse the repository at this point in the history
add option to disable ping path
  • Loading branch information
saffronjam authored Nov 20, 2023
2 parents d67ae7c + 518d777 commit bf1402f
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 21 deletions.
14 changes: 10 additions & 4 deletions models/sys/deployment/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,25 @@ func (client *Client) WithActivities(activities ...string) *Client {
})
}

client.ActivityResourceClient.AddExtraFilter(bson.D{{
filter := bson.D{{
"$or", orFilter,
}})
}}

client.ResourceClient.AddExtraFilter(filter)
client.ActivityResourceClient.AddExtraFilter(filter)

return client
}

func (client *Client) WithNoActivities() *Client {
client.ActivityResourceClient.AddExtraFilter(bson.D{{
filter := bson.D{{
"activities", bson.M{
"$gte": bson.M{},
},
}})
}}

client.ResourceClient.AddExtraFilter(filter)
client.ActivityResourceClient.AddExtraFilter(filter)

return client
}
7 changes: 6 additions & 1 deletion models/sys/deployment/dto.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@ func (deployment *Deployment) ToDTO(storageManagerURL *string) body.DeploymentRe
image = &app.Image
}

var healthCheckPath *string
if app.PingPath != "" {
healthCheckPath = &app.PingPath
}

return body.DeploymentRead{
ID: deployment.ID,
Name: deployment.Name,
Expand All @@ -81,7 +86,7 @@ func (deployment *Deployment) ToDTO(storageManagerURL *string) body.DeploymentRe
Private: app.Private,
InternalPort: app.InternalPort,
Image: image,
HealthCheckPath: &app.PingPath,
HealthCheckPath: healthCheckPath,
Status: deployment.StatusMessage,
PingResult: pingResult,
Integrations: integrations,
Expand Down
14 changes: 10 additions & 4 deletions models/sys/storage_manager/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,25 @@ func (client *Client) WithActivities(activities ...string) *Client {
})
}

client.ActivityResourceClient.AddExtraFilter(bson.D{{
filter := bson.D{{
"$or", orFilter,
}})
}}

client.ResourceClient.AddExtraFilter(filter)
client.ActivityResourceClient.AddExtraFilter(filter)

return client
}

func (client *Client) WithNoActivities() *Client {
client.ActivityResourceClient.AddExtraFilter(bson.D{{
filter := bson.D{{
"activities", bson.M{
"$gte": bson.M{},
},
}})
}}

client.ResourceClient.AddExtraFilter(filter)
client.ActivityResourceClient.AddExtraFilter(filter)

return client
}
14 changes: 10 additions & 4 deletions models/sys/vm/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,19 +70,25 @@ func (client *Client) WithActivities(activities ...string) *Client {
})
}

client.ActivityResourceClient.AddExtraFilter(bson.D{{
filter := bson.D{{
"$or", orFilter,
}})
}}

client.ResourceClient.AddExtraFilter(filter)
client.ActivityResourceClient.AddExtraFilter(filter)

return client
}

func (client *Client) WithNoActivities() *Client {
client.ActivityResourceClient.AddExtraFilter(bson.D{{
filter := bson.D{{
"activities", bson.M{
"$gte": bson.M{},
},
}})
}}

client.ResourceClient.AddExtraFilter(filter)
client.ActivityResourceClient.AddExtraFilter(filter)

return client
}
23 changes: 15 additions & 8 deletions pkg/workers/ping/workers.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,9 @@ func pingDeployment(deployment *deploymentModels.Deployment) {
return
}

if mainApp.Private {
return
}

baseURL := deployment.GetURL()
if baseURL == nil {
utils.PrettyPrintError(makeError(fmt.Errorf("deployment %s has no url", deployment.Name)))
if mainApp.Private || mainApp.PingPath == "" || baseURL == nil {
go resetPing(*deployment)
return
}

Expand All @@ -75,13 +71,24 @@ func pingDeployment(deployment *deploymentModels.Deployment) {

func pingAndSave(deployment deploymentModels.Deployment, url string) {
code, err := ping(url)

if err != nil {
utils.PrettyPrintError(fmt.Errorf("error fetching deployment status ping. details: %w", err))
return
}

_ = deployment_service.SavePing(deployment.ID, code)
err = deployment_service.SavePing(deployment.ID, code)
if err != nil {
utils.PrettyPrintError(fmt.Errorf("error saving deployment status ping. details: %w", err))
return
}
}

func resetPing(deployment deploymentModels.Deployment) {
err := deployment_service.SavePing(deployment.ID, 0)
if err != nil {
utils.PrettyPrintError(fmt.Errorf("error resetting deployment status ping. details: %w", err))
return
}
}

func ping(url string) (int, error) {
Expand Down

0 comments on commit bf1402f

Please sign in to comment.