Add new 'cleanup_dist_targets_age' server flag (#33965)

Resolves #33572 

Added new server config flag for specifying the cleanup age for
completed distributed targets.

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com
This commit is contained in:
Juan Fernandez
2025-10-08 14:10:40 -04:00
committed by GitHub
co-authored by Lucas Manuel Rodriguez <lucas@fleetdm.com
parent 9858f04071
commit cf01258a9d
3 changed files with 8 additions and 2 deletions
@@ -0,0 +1 @@
* Added new server config flag for specifying the cleanup age for completed distributed targets.
+3 -1
View File
@@ -858,7 +858,9 @@ func newCleanupsAndAggregationSchedule(
}
targetsStart := time.Now()
deleted, err := ds.CleanupCompletedCampaignTargets(ctx, time.Now().Add(-24*time.Hour).UTC())
cleanupTimeWindow := time.Now().Add(-config.Server.CleanupDistTargetsAge).UTC()
deleted, err := ds.CleanupCompletedCampaignTargets(ctx, cleanupTimeWindow)
if err != nil {
return err
}
+4 -1
View File
@@ -113,6 +113,7 @@ type ServerConfig struct {
PrivateKeySecretSTSExternalID string `yaml:"private_key_sts_external_id"`
VPPVerifyTimeout time.Duration `yaml:"vpp_verify_timeout"`
VPPVerifyRequestDelay time.Duration `yaml:"vpp_verify_request_delay"`
CleanupDistTargetsAge time.Duration `yaml:"cleanup_dist_targets_age"`
}
func (s *ServerConfig) DefaultHTTPServer(ctx context.Context, handler http.Handler) *http.Server {
@@ -1129,8 +1130,9 @@ func (man Manager) addConfigs() {
man.addConfigString("server.private_key_arn", "", "ARN of AWS Secrets Manager secret containing server private key")
man.addConfigString("server.private_key_sts_assume_role_arn", "", "ARN of role to assume for accessing private key secret")
man.addConfigString("server.private_key_sts_external_id", "", "External ID for STS role assumption when accessing private key secret")
man.addConfigDuration("server.vpp_verify_timeout", 10*time.Minute, "Maximum amout of time to wait for VPP app install verification")
man.addConfigDuration("server.vpp_verify_timeout", 10*time.Minute, "Maximum amount of time to wait for VPP app install verification")
man.addConfigDuration("server.vpp_verify_request_delay", 5*time.Second, "Delay in between requests to verify VPP app installs")
man.addConfigDuration("server.cleanup_dist_targets_age", 24*time.Hour, "Specifies the cleanup age for completed live query distributed targets.")
// Hide the sandbox flag as we don't want it to be discoverable for users for now
man.hideConfig("server.sandbox_enabled")
@@ -1574,6 +1576,7 @@ func (man Manager) LoadConfig() FleetConfig {
PrivateKeySecretSTSExternalID: man.getConfigString("server.private_key_sts_external_id"),
VPPVerifyTimeout: man.getConfigDuration("server.vpp_verify_timeout"),
VPPVerifyRequestDelay: man.getConfigDuration("server.vpp_verify_request_delay"),
CleanupDistTargetsAge: man.getConfigDuration("server.cleanup_dist_targets_age"),
},
Auth: AuthConfig{
BcryptCost: man.getConfigInt("auth.bcrypt_cost"),