@@ -4,13 +4,119 @@ metadata:
4
4
annotations :
5
5
alm-examples : |-
6
6
[
7
+ {
8
+ "apiVersion": "kuadrant.io/v1beta1",
9
+ "kind": "AuthPolicy",
10
+ "metadata": {
11
+ "name": "toystore"
12
+ },
13
+ "spec": {
14
+ "authScheme": {
15
+ "identity": [
16
+ {
17
+ "apiKey": {
18
+ "allNamespaces": true,
19
+ "selector": {
20
+ "matchLabels": {
21
+ "app": "toystore"
22
+ }
23
+ }
24
+ },
25
+ "credentials": {
26
+ "in": "authorization_header",
27
+ "keySelector": "APIKEY"
28
+ },
29
+ "name": "friends"
30
+ }
31
+ ],
32
+ "response": [
33
+ {
34
+ "json": {
35
+ "properties": [
36
+ {
37
+ "name": "userID",
38
+ "valueFrom": {
39
+ "authJSON": "auth.identity.metadata.annotations.secret\\.kuadrant\\.io/user-id"
40
+ }
41
+ }
42
+ ]
43
+ },
44
+ "name": "rate-limit-apikey",
45
+ "wrapper": "envoyDynamicMetadata",
46
+ "wrapperKey": "ext_auth_data"
47
+ }
48
+ ]
49
+ },
50
+ "rules": null,
51
+ "targetRef": {
52
+ "group": "gateway.networking.k8s.io",
53
+ "kind": "HTTPRoute",
54
+ "name": "toystore"
55
+ }
56
+ }
57
+ },
7
58
{
8
59
"apiVersion": "kuadrant.io/v1beta1",
9
60
"kind": "Kuadrant",
10
61
"metadata": {
11
62
"name": "kuadrant-sample"
12
63
},
13
64
"spec": {}
65
+ },
66
+ {
67
+ "apiVersion": "kuadrant.io/v1beta1",
68
+ "kind": "RateLimitPolicy",
69
+ "metadata": {
70
+ "name": "toystore"
71
+ },
72
+ "spec": {
73
+ "rateLimits": [
74
+ {
75
+ "configurations": [
76
+ {
77
+ "actions": [
78
+ {
79
+ "metadata": {
80
+ "default_value": "no-user",
81
+ "descriptor_key": "userID",
82
+ "metadata_key": {
83
+ "key": "envoy.filters.http.ext_authz",
84
+ "path": [
85
+ {
86
+ "segment": {
87
+ "key": "ext_auth_data"
88
+ }
89
+ },
90
+ {
91
+ "segment": {
92
+ "key": "userID"
93
+ }
94
+ }
95
+ ]
96
+ }
97
+ }
98
+ }
99
+ ]
100
+ }
101
+ ],
102
+ "limits": [
103
+ {
104
+ "conditions": [],
105
+ "maxValue": 2,
106
+ "seconds": 10,
107
+ "variables": [
108
+ "userID"
109
+ ]
110
+ }
111
+ ]
112
+ }
113
+ ],
114
+ "targetRef": {
115
+ "group": "gateway.networking.k8s.io",
116
+ "kind": "HTTPRoute",
117
+ "name": "toystore"
118
+ }
119
+ }
14
120
}
15
121
]
16
122
capabilities : Basic Install
@@ -26,19 +132,23 @@ spec:
26
132
apiservicedefinitions : {}
27
133
customresourcedefinitions :
28
134
owned :
29
- - kind : AuthPolicy
135
+ - description : Enable AuthN and AuthZ based access control on workloads
136
+ displayName : AuthPolicy
137
+ kind : AuthPolicy
30
138
name : authpolicies.kuadrant.io
31
139
version : v1beta1
32
140
- description : Kuadrant is the Schema for the kuadrants API
33
141
displayName : Kuadrant
34
142
kind : Kuadrant
35
143
name : kuadrants.kuadrant.io
36
144
version : v1beta1
37
- - kind : RateLimitPolicy
145
+ - description : Enable access control on workloads based on HTTP rate limiting
146
+ displayName : RateLimitPolicy
147
+ kind : RateLimitPolicy
38
148
name : ratelimitpolicies.kuadrant.io
39
149
version : v1beta1
40
- description : Kuadrant Operator
41
- displayName : Kuadrant
150
+ description : A Kubernetes Operator to manage the lifecycle of the Kuadrant system
151
+ displayName : Kuadrant Operator
42
152
icon :
43
153
- base64data: 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
44
154
mediatype : image/png
@@ -479,6 +589,12 @@ spec:
479
589
- api
480
590
- api-management
481
591
- Kuadrant
592
+ - kubernetes
593
+ - openshift
594
+ - cloud-service-protection
595
+ - rate-limiting
596
+ - authentication
597
+ - authorization
482
598
links :
483
599
- name : Kuadrant Operator
484
600
url : https://github.com/Kuadrant/kuadrant-operator
0 commit comments