8000 add grpc unary support · nginx/kubernetes-ingress@88d6b7c · GitHub
[go: up one dir, main page]

Skip to content

Commit 88d6b7c

Browse files
Rafal Wegrzyckirafwegv
authored andcommitted
add grpc unary support
1 parent 54e0b07 commit 88d6b7c

File tree

5 files changed

+1804
-1482
lines changed

5 files changed

+1804
-1482
lines changed

deployments/common/crds/appprotect.f5.com_aplogconfs.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ spec:
3939
- arcsight
4040
- default
4141
- user-defined
42+
- grpc
4243
type: string
4344
format_string:
4445
type: string

deployments/common/crds/appprotect.f5.com_appolicies.yaml

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ spec:
161161
type: string
162162
name:
163163
enum:
164+
- VIOL_GRPC_FORMAT
165+
- VIOL_GRPC_MALFORMED
166+
- VIOL_GRPC_METHOD
167+
- VIOL_PARAMETER_ARRAY_VALUE
168+
- VIOL_PARAMETER_VALUE_REGEXP
164169
- VIOL_PARAMETER_VALUE_BASE64
165170
- VIOL_MANDATORY_HEADER
166171
- VIOL_HEADER_REPEATED
@@ -377,6 +382,8 @@ spec:
377382
- explicit
378383
- wildcard
379384
type: string
385+
wildcardOrder:
386+
type: integer
380387
type: object
381388
type: array
382389
data-guard:
@@ -427,6 +434,8 @@ spec:
427434
filetypes:
428435
items:
429436
properties:
437+
action:
438+
type: string
430439
allowed:
431440
type: boolean
432441
checkPostDataLength:
@@ -454,6 +463,8 @@ spec:
454463
type: string
455464
urlLength:
456465
type: integer
466+
wildcardOrder:
467+
type: integer
457468
type: object
458469
type: array
459470
fullPath:
@@ -482,6 +493,62 @@ spec:
482493
pattern: ^http
483494
type: string
484495
type: object
496+
grpc-profiles:
497+
items:
498+
properties:
499+
associateUrls:
500+
type: boolean
501+
attackSignaturesCheck:
502+
type: boolean
503+
defenseAttributes:
504+
properties:
505+
allowUnknownFields:
506+
type: boolean
507+
maximumDataLength:
508+
pattern: any|\d+
509+
type: string
510+
type: object
511+
description:
512+
type: string
513+
hasIdlFiles:
514+
type: 9E88 boolean
515+
idlFiles:
516+
items:
517+
properties:
518+
idlFile:
519+
properties:
520+
contents:
521+
type: string
522+
fileName:
523+
type: string
524+
isBase64:
525+
type: boolean
526+
type: object
527+
isPrimary:
528+
type: boolean
529+
primaryIdlFileName:
530+
type: string
531+
type: object
532+
type: array
533+
metacharElementCheck:
534+
type: boolean
535+
name:
536+
type: string
537+
signatureOverrides:
538+
items:
539+
properties:
540+
enabled:
541+
type: boolean
542+
name:
543+
type: string
544+
signatureId:
545+
type: integer
546+
tag:
547+
type: string
548+
type: object
549+
type: array
550+
type: object
551+
type: array
485552
header-settings:
486553
properties:
487554
maximumHttpHeaderLength:
@@ -503,6 +570,8 @@ spec:
503570
headers:
504571
items:
505572
properties:
573+
allowRepeatedOccurrences:
574+
type: boolean
506575
base64Decoding:
507576
type: boolean
508577
checkSignatures:
@@ -525,13 +594,39 @@ spec:
525594
type: boolean
526595
percentDecoding:
527596
type: boolean
597+
signatureOverrides:
598+
items:
599+
properties:
600+
enabled:
601+
type: boolean
602+
name:
603+
type: string
604+
signatureId:
605+
type: integer
606+
tag:
607+
type: string
608+
type: object
609+
type: array
528610
type:
529611
enum:
530612
- explicit
531613
- wildcard
532614
type: string
533615
urlNormalization:
534616
type: boolean
617+
wildcardOrder:
618+
type: integer
619+
type: object
620+
type: array
621+
idl-files:
622+
items:
623+
properties:
624+
contents:
625+
type: string
626+
fileName:
627+
type: string
628+
isBase64:
629+
type: boolean
535630
type: object
536631
type: array
537632
json-profiles:
@@ -558,6 +653,8 @@ spec:
558653
type: object
559654
description:
560655
type: string
656+
handleJsonValuesAsParameters:
657+
type: boolean
561658
hasValidationFiles:
562659
type: boolean
563660
metacharOverrides:
@@ -636,6 +733,8 @@ spec:
636733
methods:
637734
items:
638735
properties:
736+
action:
737+
type: string
639738
name:
640739
type: string
641740
type: object
@@ -719,6 +818,8 @@ spec:
719818
type: boolean
720819
exclusiveMin:
721820
type: boolean
821+
isBase64:
822+
type: boolean
722823
isCookie:
723824
type: boolean
724825
isHeader:
@@ -728,12 +829,20 @@ spec:
728829
- global
729830
- url
730831
type: string
832+
mandatory:
833+
type: boolean
731834
maximumLength:
732835
type: integer
836+
maximumValue:
837+
type: integer
733838
metacharsOnParameterValueCheck:
734839
type: boolean
735840
minimumLength:
736841
type: integer
842+
minimumValue:
843+
type: integer
844+
multipleOf:
845+
type: integer
737846
name:
738847
type: string
739848
nameMetacharOverrides:
@@ -784,6 +893,8 @@ spec:
784893
- explicit
785894
- wildcard
786895
type: string
896+
url:
897+
type: object
787898
valueMetacharOverrides:
788899
items:
789900
properties:
@@ -807,6 +918,8 @@ spec:
807918
- user-input
808919
- xml
809920
type: string
921+
wildcardOrder:
922+
type: integer
810923
type: object
811924
type: array
812925
response-pages:
@@ -826,6 +939,11 @@ spec:
826939
type: string
827940
ajaxRedirectUrl:
828941
type: string
942+
grpcStatusCode:
943+
pattern: ABORTED|ALREADY_EXISTS|CANCELLED|DATA_LOSS|DEADLINE_EXCEEDED|FAILED_PRECONDITION|INTERNAL|INVALID_ARGUMENT|NOT_FOUND|OK|OUT_OF_RANGE|PERMISSION_DENIED|RESOURCE_EXHAUSTED|UNAUTHENTICATED|UNAVAILABLE|UNIMPLEMENTED|UNKNOWN|d+
944 38BA +
type: string
945+
grpcStatusMessage:
946+
type: string
829947
responseActionType:
830948
enum:
831949
- custom
@@ -853,6 +971,7 @@ spec:
853971
- mobile
854972
- persistent-flow
855973
- xml
974+
- grpc
856975
type: string
857976
responseRedirectUrl:
858977
type: string
@@ -1060,6 +1179,8 @@ spec:
10601179
urls:
10611180
items:
10621181
properties:
1182+
$action:
1183+
type: string
10631184
attackSignaturesCheck:
10641185
type: boolean
10651186
description:
@@ -1242,6 +1363,8 @@ spec:
12421363
type: boolean
12431364
exclusiveMin:
12441365
type: boolean
1366+
isBase64:
1367+
type: boolean
12451368
isCookie:
12461369
type: boolean
12471370
isHeader:
@@ -1251,12 +1374,20 @@ spec:
12511374
- global
12521375
- url
12531376
type: string
1377+
mandatory:
1378+
type: boolean
12541379
maximumLength:
12551380
type: integer
1381+
maximumValue:
1382+
type: integer
12561383
metacharsOnParameterValueCheck:
12571384
type: boolean
12581385
minimumLength:
12591386
type: integer
1387+
minimumValue:
1388+
type: integer
1389+
multipleOf:
1390+
type: integer
12601391
name:
12611392
type: string
12621393
nameMetacharOverrides:
@@ -1307,6 +1438,8 @@ spec:
13071438
- explicit
13081439
- wildcard
13091440
type: string
1441+
url:
1442+
type: object
13101443
valueMetacharOverrides:
13111444
items:
13121445
properties:
@@ -1330,6 +1463,8 @@ spec:
13301463
- user-input
13311464
- xml
13321465
type: string
1466+
wildcardOrder:
1467+
type: integer
13331468
type: object
13341469
urlSegmentIndex:
13351470
type: integer
@@ -1361,6 +1496,11 @@ spec:
13611496
urlContentProfiles:
13621497
items:
13631498
properties:
1499+
contentProfile:
1500+
properties:
1501+
name:
1502+
type: string
1503+
type: object
13641504
headerName:
13651505
type: string
13661506
headerOrder:
@@ -1379,6 +1519,7 @@ spec:
13791519
- gwt
13801520
- json
13811521
- xml
1522+
- grpc
13821523
type: string
13831524
type: object
13841525
type: array
@@ -1466,6 +1607,19 @@ spec:
14661607
type: boolean
14671608
name:
14681609
type: string
1610+
signatureOverrides:
1611+
items:
1612+
properties:
1613+
enabled:
1614+
type: boolean
1615+
name:
1616+
type: string
1617+
signatureId:
1618+
type: integer
1619+
tag:
1620+
type: string
1621+
type: object
1622+
type: array
14691623
type: object
14701624
type: array
14711625
xml-validation-files:

0 commit comments

Comments
 (0)
0