Skip to content

Commit 0e53d83

Browse files
authored
Merge pull request #576 from dheerajng/master
Adding NetScaler supported HTTP methods in the enums of CRD definitions
2 parents 3792180 + 12515ec commit 0e53d83

10 files changed

Lines changed: 13 additions & 13 deletions

File tree

crd/auth/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ The following are the attributes for policies with resource format:
150150
| Attribute | Description |
151151
| --------- | ----------- |
152152
| `path` | An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/`. |
153-
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, or DELETE. </br>**Note:** The traffic is selected if the incoming request URI matches with any of the paths AND any of the listed methods. If the method is not specified then the path alone is used for the traffic selection criteria.|
153+
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT. </br>**Note:** The traffic is selected if the incoming request URI matches with any of the paths AND any of the listed methods. If the method is not specified then the path alone is used for the traffic selection criteria.|
154154
| `provider` | Specifies the authentication mechanism that needs to be used. If the authentication mechanism is not provided, then authentication is not performed.|
155155

156156
The following attributes are for authentication policies with expression format:
@@ -176,7 +176,7 @@ The following are the attributes for authorization policies with resource format
176176
| Attribute | Description |
177177
| --------- | ----------- |
178178
| `path` | An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/`. |
179-
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, or DELETE. |
179+
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT. |
180180
| `claims` | Specifies the claims required to access a specific API endpoint. `name` indicates the claim name and `values` indicate the required permissions. You can have more than one claim. If an empty list is specified, it implies that authorization is not required. </br> **Note:** Any claim that needs to be used for authorization, should be saved as part of authentication.|
181181

182182
The following are the attributes for authorization policies with expression format:

crd/auth/auth-crd.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ spec:
461461
type: array
462462
items:
463463
type: string
464-
enum: ['GET', 'PUT', 'POST','DELETE']
464+
enum: ['GET', 'PUT', 'POST', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT', 'UNKNOWN_METHOD']
465465
required:
466466
- path
467467
expression:
@@ -501,7 +501,7 @@ spec:
501501
type: array
502502
items:
503503
type: string
504-
enum: ['GET', 'PUT', 'POST','DELETE']
504+
enum: ['GET', 'PUT', 'POST', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT', 'UNKNOWN_METHOD']
505505
claims:
506506
description: 'authorization scopes required for selected resource saved as claims or attributes'
507507
type: array

crd/bot/bot-crd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ spec:
6969
description: "List of http methods to inspect"
7070
items:
7171
type: string
72-
enum: ['GET', 'PUT', 'POST','DELETE']
72+
enum: ['GET', 'PUT', 'POST', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT', 'UNKNOWN_METHOD']
7373
header:
7474
type: array
7575
description: "List of http headers to inspect"

crd/ratelimit/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The following table lists the various attributes provided in the Rate limit CRD:
2020
| CRD attribute | Description |
2121
| ---------- | ----------- |
2222
| `servicename` | The list of Kubernetes services to which you want to apply the rate limit policies. |
23-
| `selector_keys` | The traffic selector keys that filter the traffic to identify the API requests against which the throttling is applied and monitored. </br> </br>**Note:** The `selector_keys` is an optional attribute. You can choose to configure zero, one or more of the selector keys. If more than one selector keys are configured then it is considered as a logical AND expression.</br></br> In this version of the Rate limit CRD, `selector_keys` provides the `basic` configuration section that you can use to configure the following commonly used traffic characteristics as the keys against which the configured limits are monitored and throttled:</br></br> - **path:** An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/` </br> - **method:** An array of HTTP methods. Allowed values are GET, PUT, POST, or DELETE. </br> - **header_name:** HTTP header that has the unique API client or user identifier. For example, `X-apikey` which comes with a unique API-key that identifies the API client sending the request. </br>- **per_client_ip:** Allows you to monitor and apply the configured threshold to each API request received per unique client IP address. |
23+
| `selector_keys` | The traffic selector keys that filter the traffic to identify the API requests against which the throttling is applied and monitored. </br> </br>**Note:** The `selector_keys` is an optional attribute. You can choose to configure zero, one or more of the selector keys. If more than one selector keys are configured then it is considered as a logical AND expression.</br></br> In this version of the Rate limit CRD, `selector_keys` provides the `basic` configuration section that you can use to configure the following commonly used traffic characteristics as the keys against which the configured limits are monitored and throttled:</br></br> - **path:** An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/` </br> - **method:** An array of HTTP methods. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT. </br> - **header_name:** HTTP header that has the unique API client or user identifier. For example, `X-apikey` which comes with a unique API-key that identifies the API client sending the request. </br>- **per_client_ip:** Allows you to monitor and apply the configured threshold to each API request received per unique client IP address. |
2424
| `req_threshold` | The maximum number of requests that are allowed in the given time slice (request rate). |
2525
| `timeslice` | The time interval specified in microseconds (multiple of 10 s), during which the requests are monitored against the configured limits. If not specified it defaults to 1000 milliseconds. |
2626
| `limittype` | It allows you to configure the following type of throttling algorithms that you want to use to apply the limit: </br> - burst </br> - smooth. The default is the ***burst*** mode.

crd/ratelimit/ratelimit-crd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ spec:
6464
type: array
6565
items:
6666
type: string
67-
enum: ['GET', 'PUT', 'POST','DELETE']
67+
enum: ['GET', 'PUT', 'POST', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT', 'UNKNOWN_METHOD']
6868
header_name:
6969
description: "HTTP header that identifies the unique API client for e.g. X-apikey"
7070
type: string

crd/waf/waf-crd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ spec:
8888
description: "List of http methods to inspect"
8989
items:
9090
type: string
91-
enum: ['GET', 'PUT', 'POST','DELETE']
91+
enum: ['GET', 'PUT', 'POST', 'DELETE', 'HEAD', 'OPTIONS', 'TRACE', 'CONNECT', 'UNKNOWN_METHOD']
9292
header:
9393
type: array
9494
description: "List of http headers to inspect"

docs/crds/auth.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ The following are the attributes for policies with resource format:
150150
| Attribute | Description |
151151
| --------- | ----------- |
152152
| `path` | An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/`. |
153-
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, or DELETE. </br>**Note:** The traffic is selected if the incoming request URI matches with any of the paths AND any of the listed methods. If the method is not specified then the path alone is used for the traffic selection criteria.|
153+
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT. </br>**Note:** The traffic is selected if the incoming request URI matches with any of the paths AND any of the listed methods. If the method is not specified then the path alone is used for the traffic selection criteria.|
154154
| `provider` | Specifies the authentication mechanism that needs to be used. If the authentication mechanism is not provided, then authentication is not performed.|
155155

156156
The following attributes are for authentication policies with expression format:
@@ -176,7 +176,7 @@ The following are the attributes for authorization policies with resource format
176176
| Attribute | Description |
177177
| --------- | ----------- |
178178
| `path` | An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/`. |
179-
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, or DELETE. |
179+
| `method` | An array of HTTP methods. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT. |
180180
| `claims` | Specifies the claims required to access a specific API endpoint. `name` indicates the claim name and `values` indicate the required permissions. You can have more than one claim. If an empty list is specified, it implies that authorization is not required. </br> **Note:** Any claim that needs to be used for authorization, should be saved as part of authentication.|
181181

182182
The following are the attributes for authorization policies with expression format:

docs/crds/bot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ The following table lists the various attributes provided in the Bot CRD:
4343
| `signatures` | Location of external bot signature file. |
4444
| `target` | Determines which traffic to be inspected by the bot. If you do not specify the traffic targeted, every traffic is inspected by default. |
4545
| `paths` | List of HTTP URLs to be inspected. |
46-
| `method` | List of HTTP methods to be inspected. |
46+
| `method` | List of HTTP methods to be inspected. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT.|
4747
| `header` | List of HTTP headers to be inspected. |
4848

4949
## Deploy the Bot CRD

docs/crds/rate-limit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ The following table lists the various attributes provided in the Rate limit CRD:
2020
| CRD attribute | Description |
2121
| ---------- | ----------- |
2222
| `servicename` | The list of Kubernetes services to which you want to apply the rate limit policies. |
23-
| `selector_keys` | The traffic selector keys that filter the traffic to identify the API requests against which the throttling is applied and monitored. </br> </br>**Note:** The `selector_keys` is an optional attribute. You can choose to configure zero, one or more of the selector keys. If more than one selector keys are configured then it is considered as a logical AND expression.</br></br> In this version of the Rate limit CRD, `selector_keys` provides the `basic` configuration section that you can use to configure the following commonly used traffic characteristics as the keys against which the configured limits are monitored and throttled:</br></br> - **path:** An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/` </br> - **method:** An array of HTTP methods. Allowed values are GET, PUT, POST, or DELETE. </br> - **header_name:** HTTP header that has the unique API client or user identifier. For example, `X-apikey` which comes with a unique API-key that identifies the API client sending the request. </br>- **per_client_ip:** Allows you to monitor and apply the configured threshold to each API request received per unique client IP address. |
23+
| `selector_keys` | The traffic selector keys that filter the traffic to identify the API requests against which the throttling is applied and monitored. </br> </br>**Note:** The `selector_keys` is an optional attribute. You can choose to configure zero, one or more of the selector keys. If more than one selector keys are configured then it is considered as a logical AND expression.</br></br> In this version of the Rate limit CRD, `selector_keys` provides the `basic` configuration section that you can use to configure the following commonly used traffic characteristics as the keys against which the configured limits are monitored and throttled:</br></br> - **path:** An array of URL path prefixes that refer to a specific API endpoint. For example, `/api/v1/products/` </br> - **method:** An array of HTTP methods. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT. </br> - **header_name:** HTTP header that has the unique API client or user identifier. For example, `X-apikey` which comes with a unique API-key that identifies the API client sending the request. </br>- **per_client_ip:** Allows you to monitor and apply the configured threshold to each API request received per unique client IP address. |
2424
| `req_threshold` | The maximum number of requests that are allowed in the given time slice (request rate). |
2525
| `timeslice` | The time interval specified in microseconds (multiple of 10 s), during which the requests are monitored against the configured limits. If not specified it defaults to 1000 milliseconds. |
2626
| `limittype` | It allows you to configure the following type of throttling algorithms that you want to use to apply the limit: </br> - burst </br> - smooth. The default is the ***burst*** mode.

docs/crds/waf.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ The following table lists the various attributes provided in the WAF CRD:
7979
| `ip_reputation` | Enables the IP reputation feature. |
8080
| `target` | Determines the traffic to be inspected by the WAF. If you do not specify the traffic targeted, all traffic is inspected by default. |
8181
| `paths` | Specifies the list of HTTP URLs to be inspected. |
82-
| `method` | Specifies the list of HTTP methods to be inspected. |
82+
| `method` | Specifies the list of HTTP methods to be inspected. Allowed values are GET, PUT, POST, DELETE, HEAD, OPTIONS, TRACE or CONNECT.|
8383
| `header` | Specifies the list of HTTP headers to be inspected. |
8484

8585

0 commit comments

Comments
 (0)