Skip to content

Commit

Permalink
Merge pull request #530 from matheuscscp/rate-limit-token
Browse files Browse the repository at this point in the history
Include eventv1.MetaTokenKey on event rate limiting key calculation
  • Loading branch information
hiddeco authored May 24, 2023
2 parents 97b4bc4 + 4e05bc8 commit d8254c3
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 2 deletions.
9 changes: 7 additions & 2 deletions internal/server/event_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,14 @@ func eventKeyFunc(r *http.Request) (string, error) {
event.Message,
}

revString, ok := event.Metadata[eventv1.MetaRevisionKey]
revision, ok := event.Metadata[eventv1.MetaRevisionKey]
if ok {
comps = append(comps, revString)
comps = append(comps, revision)
}

token, ok := event.Metadata[eventv1.MetaTokenKey]
if ok {
comps = append(comps, token)
}

val := strings.Join(comps, "/")
Expand Down
42 changes: 42 additions & 0 deletions internal/server/event_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,48 @@ func TestEventKeyFunc(t *testing.T) {
},
rateLimit: false,
},
{
involvedObject: corev1.ObjectReference{
APIVersion: "kustomize.toolkit.fluxcd.io/v1beta1",
Kind: "Kustomization",
Name: "4",
Namespace: "4",
},
severity: eventv1.EventSeverityInfo,
message: "Health check passed",
metadata: map[string]string{
fmt.Sprintf("%s/%s", "kustomize.toolkit.fluxcd.io", eventv1.MetaTokenKey): "token1",
},
rateLimit: false,
},
{
involvedObject: corev1.ObjectReference{
APIVersion: "kustomize.toolkit.fluxcd.io/v1beta1",
Kind: "Kustomization",
Name: "4",
Namespace: "4",
},
severity: eventv1.EventSeverityInfo,
message: "Health check passed",
metadata: map[string]string{
fmt.Sprintf("%s/%s", "kustomize.toolkit.fluxcd.io", eventv1.MetaTokenKey): "token1",
},
rateLimit: true,
},
{
involvedObject: corev1.ObjectReference{
APIVersion: "kustomize.toolkit.fluxcd.io/v1beta1",
Kind: "Kustomization",
Name: "4",
Namespace: "4",
},
severity: eventv1.EventSeverityInfo,
message: "Health check passed",
metadata: map[string]string{
fmt.Sprintf("%s/%s", "kustomize.toolkit.fluxcd.io", eventv1.MetaTokenKey): "token2",
},
rateLimit: false,
},
}
for i, tt := range tests {
t.Run(fmt.Sprintf("%v", i), func(t *testing.T) {
Expand Down

0 comments on commit d8254c3

Please sign in to comment.