feat: add rate limit middlewares for job (#3481)
Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
parent
75d624260f
commit
c463f7f63f
|
|
@ -91,10 +91,10 @@ const (
|
||||||
DefaultJobRateLimitFillInterval = 1 * time.Minute
|
DefaultJobRateLimitFillInterval = 1 * time.Minute
|
||||||
|
|
||||||
// DefaultJobRateLimitCapacity is the default capacity for job rate limit.
|
// DefaultJobRateLimitCapacity is the default capacity for job rate limit.
|
||||||
DefaultJobRateLimitCapacity = 100
|
DefaultJobRateLimitCapacity = 10
|
||||||
|
|
||||||
// DefaultJobRateLimitQuantum is the default quantum for job rate limit.
|
// DefaultJobRateLimitQuantum is the default quantum for job rate limit.
|
||||||
DefaultJobRateLimitQuantum = 100
|
DefaultJobRateLimitQuantum = 10
|
||||||
|
|
||||||
// DefaultJobPreheatRegistryTimeout is the default timeout for requesting registry to get token and manifest.
|
// DefaultJobPreheatRegistryTimeout is the default timeout for requesting registry to get token and manifest.
|
||||||
DefaultJobPreheatRegistryTimeout = 1 * time.Minute
|
DefaultJobPreheatRegistryTimeout = 1 * time.Minute
|
||||||
|
|
|
||||||
|
|
@ -202,7 +202,7 @@ func Init(cfg *config.Config, logDir string, service service.Service, database *
|
||||||
// TODO Add auth to the following routes and fix the tests.
|
// TODO Add auth to the following routes and fix the tests.
|
||||||
// Job.
|
// Job.
|
||||||
job := apiv1.Group("/jobs")
|
job := apiv1.Group("/jobs")
|
||||||
job.POST("", h.CreateJob)
|
job.POST("", middlewares.RateLimit(cfg.Job.RateLimit.FillInterval, cfg.Job.RateLimit.Capacity, cfg.Job.RateLimit.Quantum), h.CreateJob)
|
||||||
job.DELETE(":id", h.DestroyJob)
|
job.DELETE(":id", h.DestroyJob)
|
||||||
job.PATCH(":id", h.UpdateJob)
|
job.PATCH(":id", h.UpdateJob)
|
||||||
job.GET(":id", h.GetJob)
|
job.GET(":id", h.GetJob)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue