Skip to content

Commit 0839ffc

Browse files
kate-osbornKate Osborn
authored and
Kate Osborn
committed
SnippetsFilter CRD missing from crds manifest (#2821)
Problem: The SnippetsFilter CRD is missing from deploy/crds.yaml, which is used to install NGF with manifests. Solution: Add SnippetsFilter CRD to the kustomization file that is used to generate the deploy/crds.yaml file.
1 parent 4ad7473 commit 0839ffc

File tree

2 files changed

+190
-0
lines changed

2 files changed

+190
-0
lines changed

config/crd/kustomization.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ resources:
55
- bases/gateway.nginx.org_nginxgateways.yaml
66
- bases/gateway.nginx.org_nginxproxies.yaml
77
- bases/gateway.nginx.org_observabilitypolicies.yaml
8+
- bases/gateway.nginx.org_snippetsfilters.yaml

deploy/crds.yaml

+189
Original file line numberDiff line numberDiff line change
@@ -1292,3 +1292,192 @@ spec:
12921292
storage: true
12931293
subresources:
12941294
status: {}
1295+
---
1296+
apiVersion: apiextensions.k8s.io/v1
1297+
kind: CustomResourceDefinition
1298+
metadata:
1299+
annotations:
1300+
controller-gen.kubebuilder.io/version: v0.16.5
1301+
name: snippetsfilters.gateway.nginx.org
1302+
spec:
1303+
group: gateway.nginx.org
1304+
names:
1305+
categories:
1306+
- nginx-gateway-fabric
1307+
kind: SnippetsFilter
1308+
listKind: SnippetsFilterList
1309+
plural: snippetsfilters
1310+
shortNames:
1311+
- snippetsfilter
1312+
singular: snippetsfilter
1313+
scope: Namespaced
1314+
versions:
1315+
- additionalPrinterColumns:
1316+
- jsonPath: .metadata.creationTimestamp
1317+
name: Age
1318+
type: date
1319+
name: v1alpha1
1320+
schema:
1321+
openAPIV3Schema:
1322+
description: |-
1323+
SnippetsFilter is a filter that allows inserting NGINX configuration into the
1324+
generated NGINX config for HTTPRoute and GRPCRoute resources.
1325+
properties:
1326+
apiVersion:
1327+
description: |-
1328+
APIVersion defines the versioned schema of this representation of an object.
1329+
Servers should convert recognized schemas to the latest internal value, and
1330+
may reject unrecognized values.
1331+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
1332+
type: string
1333+
kind:
1334+
description: |-
1335+
Kind is a string value representing the REST resource this object represents.
1336+
Servers may infer this from the endpoint the client submits requests to.
1337+
Cannot be updated.
1338+
In CamelCase.
1339+
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
1340+
type: string
1341+
metadata:
1342+
type: object
1343+
spec:
1344+
description: Spec defines the desired state of the SnippetsFilter.
1345+
properties:
1346+
snippets:
1347+
description: |-
1348+
Snippets is a list of NGINX configuration snippets.
1349+
There can only be one snippet per context.
1350+
Allowed contexts: main, http, http.server, http.server.location.
1351+
items:
1352+
description: Snippet represents an NGINX configuration snippet.
1353+
properties:
1354+
context:
1355+
description: Context is the NGINX context to insert the snippet
1356+
into.
1357+
enum:
1358+
- main
1359+
- http
1360+
- http.server
1361+
- http.server.location
1362+
type: string
1363+
value:
1364+
description: Value is the NGINX configuration snippet.
1365+
minLength: 1
1366+
type: string
1367+
required:
1368+
- context
1369+
- value
1370+
type: object
1371+
maxItems: 4
1372+
minItems: 1
1373+
type: array
1374+
x-kubernetes-validations:
1375+
- message: Only one snippet allowed per context
1376+
rule: self.all(s1, self.exists_one(s2, s1.context == s2.context))
1377+
required:
1378+
- snippets
1379+
type: object
1380+
status:
1381+
description: Status defines the state of the SnippetsFilter.
1382+
properties:
1383+
controllers:
1384+
description: |-
1385+
Controllers is a list of Gateway API controllers that processed the SnippetsFilter
1386+
and the status of the SnippetsFilter with respect to each controller.
1387+
items:
1388+
properties:
1389+
conditions:
1390+
description: Conditions describe the status of the SnippetsFilter.
1391+
items:
1392+
description: Condition contains details for one aspect of
1393+
the current state of this API Resource.
1394+
properties:
1395+
lastTransitionTime:
1396+
description: |-
1397+
lastTransitionTime is the last time the condition transitioned from one status to another.
1398+
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
1399+
format: date-time
1400+
type: string
1401+
message:
1402+
description: |-
1403+
message is a human readable message indicating details about the transition.
1404+
This may be an empty string.
1405+
maxLength: 32768
1406+
type: string
1407+
observedGeneration:
1408+
description: |-
1409+
observedGeneration represents the .metadata.generation that the condition was set based upon.
1410+
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
1411+
with respect to the current state of the instance.
1412+
format: int64
1413+
minimum: 0
1414+
type: integer
1415+
reason:
1416+
description: |-
1417+
reason contains a programmatic identifier indicating the reason for the condition's last transition.
1418+
Producers of specific condition types may define expected values and meanings for this field,
1419+
and whether the values are considered a guaranteed API.
1420+
The value should be a CamelCase string.
1421+
This field may not be empty.
1422+
maxLength: 1024
1423+
minLength: 1
1424+
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1425+
type: string
1426+
status:
1427+
description: status of the condition, one of True, False,
1428+
Unknown.
1429+
enum:
1430+
- "True"
1431+
- "False"
1432+
- Unknown
1433+
type: string
1434+
type:
1435+
description: type of condition in CamelCase or in foo.example.com/CamelCase.
1436+
maxLength: 316
1437+
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
1438+
type: string
1439+
required:
1440+
- lastTransitionTime
1441+
- message
1442+
- reason
1443+
- status
1444+
- type
1445+
type: object
1446+
maxItems: 8
1447+
minItems: 1
1448+
type: array
1449+
x-kubernetes-list-map-keys:
1450+
- type
1451+
x-kubernetes-list-type: map
1452+
controllerName:
1453+
description: |-
1454+
ControllerName is a domain/path string that indicates the name of the
1455+
controller that wrote this status. This corresponds with the
1456+
controllerName field on GatewayClass.
1457+
1458+
Example: "example.net/gateway-controller".
1459+
1460+
The format of this field is DOMAIN "/" PATH, where DOMAIN and PATH are
1461+
valid Kubernetes names
1462+
(https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names).
1463+
1464+
Controllers MUST populate this field when writing status. Controllers should ensure that
1465+
entries to status populated with their ControllerName are cleaned up when they are no
1466+
longer necessary.
1467+
maxLength: 253
1468+
minLength: 1
1469+
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*\/[A-Za-z0-9\/\-._~%!$&'()*+,;=:]+$
1470+
type: string
1471+
required:
1472+
- controllerName
1473+
type: object
1474+
maxItems: 16
1475+
type: array
1476+
type: object
1477+
required:
1478+
- spec
1479+
type: object
1480+
served: true
1481+
storage: true
1482+
subresources:
1483+
status: {}

0 commit comments

Comments
 (0)