You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
gwctl is a tool that improves the usability of the Gateway API by providing a better way to view and manage policies ([GEP-713](https://gateway-api.sigs.k8s.io/geps/gep-713)). The aim is to make it available as a standalone binary, a kubectl plugin, and a library.
4
+
5
+
gwctl allows you to view all Gateway API policy types that are present in a cluster, as well as all "policy bindings" in a namespace (or across all namespaces). It also shows you the attached policies when you view any Gateway resource (like HTTPRoute, Gateway, GatewayClass, etc.)
6
+
7
+
Please note that gwctl is <b>still under development and may have bugs</b>. There may be changes at various places, including the command-line interface, the output format, and the supported features.
8
+
9
+
In the future, gwctl may be able to read status from the policy resource to determine if it has been applied correctly.
description: 'APIVersion defines the versioned schema of this representation
23
+
of an object. Servers should convert recognized schemas to the latest
24
+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
25
+
type: string
26
+
kind:
27
+
description: 'Kind is a string value representing the REST resource this
28
+
object represents. Servers may infer this from the endpoint the client
29
+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
30
+
type: string
31
+
metadata:
32
+
type: object
33
+
spec:
34
+
description: Spec
35
+
properties:
36
+
default:
37
+
description: Default defines default policy configuration for the
38
+
targeted resource.
39
+
properties:
40
+
sampleField:
41
+
description: sampleField
42
+
type: string
43
+
type: object
44
+
targetRef:
45
+
description: TargetRef identifies an API object to apply policy to.
46
+
properties:
47
+
group:
48
+
description: Group is the group of the target resource.
description: Name is the name of the target resource.
60
+
maxLength: 253
61
+
minLength: 1
62
+
type: string
63
+
namespace:
64
+
description: Namespace is the namespace of the referent. When
65
+
unspecified, the local namespace is inferred. Even when policy
66
+
targets a resource in a different namespace, it MUST only apply
67
+
to traffic originating from the same namespace as the policy.
68
+
maxLength: 63
69
+
minLength: 1
70
+
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
71
+
type: string
72
+
required:
73
+
- group
74
+
- kind
75
+
- name
76
+
type: object
77
+
required:
78
+
- targetRef
79
+
type: object
80
+
required:
81
+
- spec
82
+
type: object
83
+
served: true
84
+
storage: true
85
+
subresources:
86
+
status: {}
87
+
---
88
+
apiVersion: apiextensions.k8s.io/v1
89
+
kind: CustomResourceDefinition
90
+
metadata:
91
+
labels:
92
+
gateway.networking.k8s.io/policy: "true"
93
+
name: timeoutpolicies.bar.com
94
+
spec:
95
+
group: bar.com
96
+
names:
97
+
kind: TimeoutPolicy
98
+
listKind: TimeoutPolicyList
99
+
plural: timeoutpolicies
100
+
singular: timeoutpolicy
101
+
scope: Cluster
102
+
versions:
103
+
- name: v1
104
+
schema:
105
+
openAPIV3Schema:
106
+
description: "timeoutpolicy"
107
+
properties:
108
+
apiVersion:
109
+
description: 'APIVersion defines the versioned schema of this representation
110
+
of an object. Servers should convert recognized schemas to the latest
111
+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
112
+
type: string
113
+
kind:
114
+
description: 'Kind is a string value representing the REST resource this
115
+
object represents. Servers may infer this from the endpoint the client
116
+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
117
+
type: string
118
+
metadata:
119
+
type: object
120
+
spec:
121
+
description: Spec
122
+
properties:
123
+
default:
124
+
description: Default defines default policy configuration for the
125
+
targeted resource.
126
+
properties:
127
+
sampleField:
128
+
description: sampleField
129
+
type: string
130
+
type: object
131
+
targetRef:
132
+
description: TargetRef identifies an API object to apply policy to.
133
+
properties:
134
+
group:
135
+
description: Group is the group of the target resource.
description: Name is the name of the target resource.
147
+
maxLength: 253
148
+
minLength: 1
149
+
type: string
150
+
namespace:
151
+
description: Namespace is the namespace of the referent. When
152
+
unspecified, the local namespace is inferred. Even when policy
153
+
targets a resource in a different namespace, it MUST only apply
154
+
to traffic originating from the same namespace as the policy.
155
+
maxLength: 63
156
+
minLength: 1
157
+
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
158
+
type: string
159
+
required:
160
+
- group
161
+
- kind
162
+
- name
163
+
type: object
164
+
required:
165
+
- targetRef
166
+
type: object
167
+
required:
168
+
- spec
169
+
type: object
170
+
served: true
171
+
storage: true
172
+
subresources:
173
+
status: {}
174
+
---
175
+
apiVersion: apiextensions.k8s.io/v1
176
+
kind: CustomResourceDefinition
177
+
metadata:
178
+
labels:
179
+
gateway.networking.k8s.io/policy: "true"
180
+
name: retryonpolicies.foo.com
181
+
spec:
182
+
group: foo.com
183
+
names:
184
+
kind: RetryOnPolicy
185
+
listKind: RetryOnPolicyList
186
+
plural: retryonpolicies
187
+
singular: retryonpolicy
188
+
scope: Namespaced
189
+
versions:
190
+
- name: v1
191
+
schema:
192
+
openAPIV3Schema:
193
+
description: "retryonpolicy"
194
+
properties:
195
+
apiVersion:
196
+
description: 'APIVersion defines the versioned schema of this representation
197
+
of an object. Servers should convert recognized schemas to the latest
198
+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
199
+
type: string
200
+
kind:
201
+
description: 'Kind is a string value representing the REST resource this
202
+
object represents. Servers may infer this from the endpoint the client
203
+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
204
+
type: string
205
+
metadata:
206
+
type: object
207
+
spec:
208
+
description: Spec
209
+
properties:
210
+
default:
211
+
description: Default defines default policy configuration for the
212
+
targeted resource.
213
+
properties:
214
+
sampleField:
215
+
description: sampleField
216
+
type: string
217
+
type: object
218
+
targetRef:
219
+
description: TargetRef identifies an API object to apply policy to.
220
+
properties:
221
+
group:
222
+
description: Group is the group of the target resource.
description: Name is the name of the target resource.
234
+
maxLength: 253
235
+
minLength: 1
236
+
type: string
237
+
namespace:
238
+
description: Namespace is the namespace of the referent. When
239
+
unspecified, the local namespace is inferred. Even when policy
240
+
targets a resource in a different namespace, it MUST only apply
241
+
to traffic originating from the same namespace as the policy.
242
+
maxLength: 63
243
+
minLength: 1
244
+
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
245
+
type: string
246
+
required:
247
+
- group
248
+
- kind
249
+
- name
250
+
type: object
251
+
required:
252
+
- targetRef
253
+
type: object
254
+
required:
255
+
- spec
256
+
type: object
257
+
served: true
258
+
storage: true
259
+
subresources:
260
+
status: {}
261
+
---
262
+
apiVersion: apiextensions.k8s.io/v1
263
+
kind: CustomResourceDefinition
264
+
metadata:
265
+
labels:
266
+
gateway.networking.k8s.io/policy: "true"
267
+
name: tlsminimumversionpolicies.baz.com
268
+
spec:
269
+
group: baz.com
270
+
names:
271
+
kind: TLSMinimumVersionPolicy
272
+
listKind: TLSMinimumVersionPolicyList
273
+
plural: tlsminimumversionpolicies
274
+
singular: tlsminimumversionpolicy
275
+
scope: Namespaced
276
+
versions:
277
+
- name: v1
278
+
schema:
279
+
openAPIV3Schema:
280
+
description: "tlsminimumversionpolicy"
281
+
properties:
282
+
apiVersion:
283
+
description: 'APIVersion defines the versioned schema of this representation
284
+
of an object. Servers should convert recognized schemas to the latest
285
+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
286
+
type: string
287
+
kind:
288
+
description: 'Kind is a string value representing the REST resource this
289
+
object represents. Servers may infer this from the endpoint the client
290
+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
291
+
type: string
292
+
metadata:
293
+
type: object
294
+
spec:
295
+
description: Spec
296
+
properties:
297
+
default:
298
+
description: Default defines default policy configuration for the
299
+
targeted resource.
300
+
properties:
301
+
sampleField:
302
+
description: sampleField
303
+
type: string
304
+
type: object
305
+
targetRef:
306
+
description: TargetRef identifies an API object to apply policy to.
307
+
properties:
308
+
group:
309
+
description: Group is the group of the target resource.
0 commit comments