From 6fa4b9e91d9afd87e5179adca3d8abf18c34eed1 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Thu, 24 Nov 2022 09:40:27 -0500 Subject: [PATCH 1/3] [Fleet] Update .fleet-agent on policy change ack even without ES output --- internal/pkg/api/handleAck.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/internal/pkg/api/handleAck.go b/internal/pkg/api/handleAck.go index 304a1350d..701d9cf5c 100644 --- a/internal/pkg/api/handleAck.go +++ b/internal/pkg/api/handleAck.go @@ -338,6 +338,15 @@ func (ack *AckT) handlePolicyChange(ctx context.Context, zlog zerolog.Logger, ag return nil } + err := ack.updateAgentDoc(ctx, zlog, + agent.Id, + currRev, currCoord, + agent.PolicyID) + + if err != nil { + return err + } + for _, output := range agent.Outputs { if output.Type != policy.OutputTypeElasticsearch { continue @@ -346,8 +355,6 @@ func (ack *AckT) handlePolicyChange(ctx context.Context, zlog zerolog.Logger, ag err := ack.updateAPIKey(ctx, zlog, agent.Id, - currRev, currCoord, - agent.PolicyID, output.APIKeyID, output.PermissionsHash, output.ToRetireAPIKeyIds) if err != nil { return err @@ -361,8 +368,7 @@ func (ack *AckT) handlePolicyChange(ctx context.Context, zlog zerolog.Logger, ag func (ack *AckT) updateAPIKey(ctx context.Context, zlog zerolog.Logger, agentID string, - currRev, currCoord int64, - policyID, apiKeyID, permissionHash string, + apiKeyID, permissionHash string, toRetireAPIKeyIDs []model.ToRetireAPIKeyIdsItems) error { if apiKeyID != "" { @@ -407,6 +413,15 @@ func (ack *AckT) updateAPIKey(ctx context.Context, ack.invalidateAPIKeys(ctx, toRetireAPIKeyIDs, apiKeyID) } + return nil +} + +func (ack *AckT) updateAgentDoc(ctx context.Context, + zlog zerolog.Logger, + agentID string, + currRev, currCoord int64, + policyID string, +) error { body := makeUpdatePolicyBody( policyID, currRev, From 291553cbe78bf6233f693a9ea278061054beaef9 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Wed, 30 Nov 2022 09:52:07 -0500 Subject: [PATCH 2/3] Update internal/pkg/api/handleAck.go Co-authored-by: Anderson Queiroz --- internal/pkg/api/handleAck.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/pkg/api/handleAck.go b/internal/pkg/api/handleAck.go index 701d9cf5c..d72934ef1 100644 --- a/internal/pkg/api/handleAck.go +++ b/internal/pkg/api/handleAck.go @@ -342,7 +342,6 @@ func (ack *AckT) handlePolicyChange(ctx context.Context, zlog zerolog.Logger, ag agent.Id, currRev, currCoord, agent.PolicyID) - if err != nil { return err } From 52896ca2d13b1bb498f98086eea6e355c54baec5 Mon Sep 17 00:00:00 2001 From: Nicolas Chaulet Date: Mon, 5 Dec 2022 09:28:15 -0500 Subject: [PATCH 3/3] Update after review --- internal/pkg/api/handleAck.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/pkg/api/handleAck.go b/internal/pkg/api/handleAck.go index d72934ef1..4d2efda85 100644 --- a/internal/pkg/api/handleAck.go +++ b/internal/pkg/api/handleAck.go @@ -338,14 +338,6 @@ func (ack *AckT) handlePolicyChange(ctx context.Context, zlog zerolog.Logger, ag return nil } - err := ack.updateAgentDoc(ctx, zlog, - agent.Id, - currRev, currCoord, - agent.PolicyID) - if err != nil { - return err - } - for _, output := range agent.Outputs { if output.Type != policy.OutputTypeElasticsearch { continue @@ -360,6 +352,14 @@ func (ack *AckT) handlePolicyChange(ctx context.Context, zlog zerolog.Logger, ag } } + err := ack.updateAgentDoc(ctx, zlog, + agent.Id, + currRev, currCoord, + agent.PolicyID) + if err != nil { + return err + } + return nil }