Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align phases and actions with those provided by Rulesets API #1367

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
23 changes: 23 additions & 0 deletions .changelog/1367.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
```release-note:note
rulesets: Remove non-existent `allow` action
```

```release-note:enhancement
rulesets: Add the `ddos_mitigation` action
```

```release-note:note
rulesets: Remove non-existent `http_request_main` phase
```

```release-note:note
rulesets: Remove non-public `http_response_headers_transform_managed` and `http_request_late_transform_managed` phases
```

```release-note:breaking-change
rulesets: Rename `RulesetPhaseRateLimit` to `RulesetPhaseHTTPRatelimit`, to match the phase name
```

```release-note:breaking-change
rulesets: Rename `RulesetPhaseSuperBotFightMode` to `RulesetPhaseHTTPRequestSBFM`, to match the phase name
```
Comment on lines +17 to +23
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made these changes just to be consistent with the names of the other phase types. @jacobbednarz we can revert this part if you think it's too much of a breaking change

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope, that's perfect, thanks!

70 changes: 32 additions & 38 deletions rulesets.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,34 +21,32 @@ const (
RulesetKindRoot RulesetKind = "root"
RulesetKindZone RulesetKind = "zone"

RulesetPhaseDDoSL4 RulesetPhase = "ddos_l4"
RulesetPhaseDDoSL7 RulesetPhase = "ddos_l7"
RulesetPhaseHTTPCustomErrors RulesetPhase = "http_custom_errors"
RulesetPhaseHTTPLogCustomFields RulesetPhase = "http_log_custom_fields"
RulesetPhaseHTTPRequestCacheSettings RulesetPhase = "http_request_cache_settings"
RulesetPhaseHTTPRequestFirewallCustom RulesetPhase = "http_request_firewall_custom"
RulesetPhaseHTTPRequestFirewallManaged RulesetPhase = "http_request_firewall_managed"
RulesetPhaseHTTPRequestLateTransform RulesetPhase = "http_request_late_transform"
RulesetPhaseHTTPRequestLateTransformManaged RulesetPhase = "http_request_late_transform_managed"
RulesetPhaseHTTPRequestMain RulesetPhase = "http_request_main"
RulesetPhaseHTTPRequestOrigin RulesetPhase = "http_request_origin"
RulesetPhaseHTTPRequestDynamicRedirect RulesetPhase = "http_request_dynamic_redirect" //nolint:gosec
RulesetPhaseHTTPRequestRedirect RulesetPhase = "http_request_redirect"
RulesetPhaseHTTPRequestSanitize RulesetPhase = "http_request_sanitize"
RulesetPhaseHTTPRequestTransform RulesetPhase = "http_request_transform"
RulesetPhaseHTTPResponseFirewallManaged RulesetPhase = "http_response_firewall_managed"
RulesetPhaseHTTPResponseHeadersTransform RulesetPhase = "http_response_headers_transform"
RulesetPhaseHTTPResponseHeadersTransformManaged RulesetPhase = "http_response_headers_transform_managed"
RulesetPhaseHTTPResponseCompression RulesetPhase = "http_response_compression"
RulesetPhaseMagicTransit RulesetPhase = "magic_transit"
RulesetPhaseRateLimit RulesetPhase = "http_ratelimit"
RulesetPhaseSuperBotFightMode RulesetPhase = "http_request_sbfm"
RulesetPhaseHTTPConfigSettings RulesetPhase = "http_config_settings"

RulesetRuleActionAllow RulesetRuleAction = "allow"
RulesetPhaseDDoSL4 RulesetPhase = "ddos_l4"
RulesetPhaseDDoSL7 RulesetPhase = "ddos_l7"
RulesetPhaseHTTPConfigSettings RulesetPhase = "http_config_settings"
RulesetPhaseHTTPCustomErrors RulesetPhase = "http_custom_errors"
RulesetPhaseHTTPLogCustomFields RulesetPhase = "http_log_custom_fields"
RulesetPhaseHTTPRatelimit RulesetPhase = "http_ratelimit"
RulesetPhaseHTTPRequestCacheSettings RulesetPhase = "http_request_cache_settings"
RulesetPhaseHTTPRequestDynamicRedirect RulesetPhase = "http_request_dynamic_redirect" //nolint:gosec
RulesetPhaseHTTPRequestFirewallCustom RulesetPhase = "http_request_firewall_custom"
RulesetPhaseHTTPRequestFirewallManaged RulesetPhase = "http_request_firewall_managed"
RulesetPhaseHTTPRequestLateTransform RulesetPhase = "http_request_late_transform"
RulesetPhaseHTTPRequestOrigin RulesetPhase = "http_request_origin"
RulesetPhaseHTTPRequestRedirect RulesetPhase = "http_request_redirect"
RulesetPhaseHTTPRequestSanitize RulesetPhase = "http_request_sanitize"
RulesetPhaseHTTPRequestSBFM RulesetPhase = "http_request_sbfm"
RulesetPhaseHTTPRequestTransform RulesetPhase = "http_request_transform"
RulesetPhaseHTTPResponseCompression RulesetPhase = "http_response_compression"
RulesetPhaseHTTPResponseFirewallManaged RulesetPhase = "http_response_firewall_managed"
RulesetPhaseHTTPResponseHeadersTransform RulesetPhase = "http_response_headers_transform"
RulesetPhaseMagicTransit RulesetPhase = "magic_transit"

RulesetRuleActionBlock RulesetRuleAction = "block"
RulesetRuleActionChallenge RulesetRuleAction = "challenge"
RulesetRuleActionCompressResponse RulesetRuleAction = "compress_response"
RulesetRuleActionDDoSDynamic RulesetRuleAction = "ddos_dynamic"
RulesetRuleActionDDoSMitigation RulesetRuleAction = "ddos_mitigation"
RulesetRuleActionExecute RulesetRuleAction = "execute"
RulesetRuleActionForceConnectionClose RulesetRuleAction = "force_connection_close"
RulesetRuleActionJSChallenge RulesetRuleAction = "js_challenge"
Expand All @@ -59,11 +57,10 @@ const (
RulesetRuleActionRewrite RulesetRuleAction = "rewrite"
RulesetRuleActionRoute RulesetRuleAction = "route"
RulesetRuleActionScore RulesetRuleAction = "score"
RulesetRuleActionServeError RulesetRuleAction = "serve_error"
RulesetRuleActionSetCacheSettings RulesetRuleAction = "set_cache_settings"
RulesetRuleActionSetConfig RulesetRuleAction = "set_config"
RulesetRuleActionServeError RulesetRuleAction = "serve_error"
RulesetRuleActionSkip RulesetRuleAction = "skip"
RulesetRuleActionCompressResponse RulesetRuleAction = "compress_response"

RulesetActionParameterProductBIC RulesetActionParameterProduct = "bic"
RulesetActionParameterProductHOT RulesetActionParameterProduct = "hot"
Expand Down Expand Up @@ -95,38 +92,36 @@ func RulesetPhaseValues() []string {
return []string{
string(RulesetPhaseDDoSL4),
string(RulesetPhaseDDoSL7),
string(RulesetPhaseHTTPConfigSettings),
string(RulesetPhaseHTTPCustomErrors),
string(RulesetPhaseHTTPLogCustomFields),
string(RulesetPhaseHTTPRatelimit),
string(RulesetPhaseHTTPRequestCacheSettings),
string(RulesetPhaseHTTPRequestDynamicRedirect),
string(RulesetPhaseHTTPRequestFirewallCustom),
string(RulesetPhaseHTTPRequestFirewallManaged),
string(RulesetPhaseHTTPRequestLateTransform),
string(RulesetPhaseHTTPRequestLateTransformManaged),
string(RulesetPhaseHTTPRequestMain),
string(RulesetPhaseHTTPRequestOrigin),
string(RulesetPhaseHTTPRequestDynamicRedirect),
string(RulesetPhaseHTTPRequestRedirect),
string(RulesetPhaseHTTPRequestSanitize),
string(RulesetPhaseHTTPRequestSBFM),
string(RulesetPhaseHTTPRequestTransform),
string(RulesetPhaseHTTPResponseCompression),
string(RulesetPhaseHTTPResponseFirewallManaged),
string(RulesetPhaseHTTPResponseHeadersTransform),
string(RulesetPhaseHTTPResponseHeadersTransformManaged),
string(RulesetPhaseHTTPResponseCompression),
string(RulesetPhaseMagicTransit),
string(RulesetPhaseRateLimit),
string(RulesetPhaseSuperBotFightMode),
string(RulesetPhaseHTTPConfigSettings),
}
}

// RulesetRuleActionValues exposes all the available `RulesetRuleAction` values
// as a slice of strings.
func RulesetRuleActionValues() []string {
return []string{
string(RulesetRuleActionAllow),
string(RulesetRuleActionBlock),
string(RulesetRuleActionChallenge),
string(RulesetRuleActionCompressResponse),
string(RulesetRuleActionDDoSDynamic),
string(RulesetRuleActionDDoSMitigation),
string(RulesetRuleActionExecute),
string(RulesetRuleActionForceConnectionClose),
string(RulesetRuleActionJSChallenge),
Expand All @@ -137,11 +132,10 @@ func RulesetRuleActionValues() []string {
string(RulesetRuleActionRewrite),
string(RulesetRuleActionRoute),
string(RulesetRuleActionScore),
string(RulesetRuleActionServeError),
string(RulesetRuleActionSetCacheSettings),
string(RulesetRuleActionSetConfig),
string(RulesetRuleActionServeError),
string(RulesetRuleActionSkip),
string(RulesetRuleActionCompressResponse),
}
}

Expand Down