Skip to content

Commit

Permalink
[gateway-api-crds] Add CRDs (#732)
Browse files Browse the repository at this point in the history
* feat(gateway-api-crds): add CRDs

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>

* feat(helm): doc

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>

---------

Signed-off-by: Nicolas Lamirault <nicolas.lamirault@gmail.com>
  • Loading branch information
nlamirault committed May 10, 2024
1 parent 84e3041 commit db1b4c0
Show file tree
Hide file tree
Showing 7 changed files with 7,151 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -4,7 +4,7 @@
### Helm ###
# Chart dependencies
**/charts/*.tgz
/charts/**/charts/
# /charts/**/charts/
**/*test-values.y*ml

### vscode ###
Expand Down
2 changes: 1 addition & 1 deletion charts/gateway-api-crds/Chart.yaml
Expand Up @@ -28,7 +28,7 @@ annotations:
artifacthub.io/links: |
- name: Kubernetes Gateway API
url: https:/https://gateway-api.sigs.k8s.io
- name: Chart Source
- name: Portefaix Hub
url: https://github.com/portefaix/portefaix-hub
artifacthub.io/maintainers: |
- name: nlamirault
Expand Down
4 changes: 4 additions & 0 deletions charts/gateway-api-crds/charts/crds/Chart.yaml
@@ -0,0 +1,4 @@
---
apiVersion: v2
name: crds
version: 0.0.0

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

@@ -0,0 +1,288 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
{{- with .Values.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/2466
gateway.networking.k8s.io/bundle-version: v1.0.0
gateway.networking.k8s.io/channel: standard
creationTimestamp: null
name: referencegrants.gateway.networking.k8s.io
spec:
group: gateway.networking.k8s.io
names:
categories:
- gateway-api
kind: ReferenceGrant
listKind: ReferenceGrantList
plural: referencegrants
shortNames:
- refgrant
singular: referencegrant
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
deprecated: true
deprecationWarning: The v1alpha2 version of ReferenceGrant has been deprecated
and will be removed in a future release of the API. Please upgrade to v1beta1.
name: v1alpha2
schema:
openAPIV3Schema:
description: "ReferenceGrant identifies kinds of resources in other namespaces
that are trusted to reference the specified kinds of resources in the same
namespace as the policy. \n Each ReferenceGrant can be used to represent
a unique trust relationship. Additional Reference Grants can be used to
add to the set of trusted sources of inbound references for the namespace
they are defined within. \n A ReferenceGrant is required for all cross-namespace
references in Gateway API (with the exception of cross-namespace Route-Gateway
attachment, which is governed by the AllowedRoutes configuration on the
Gateway, and cross-namespace Service ParentRefs on a \"consumer\" mesh Route,
which defines routing rules applicable only to workloads in the Route namespace).
ReferenceGrants allowing a reference from a Route to a Service are only
applicable to BackendRefs. \n ReferenceGrant is a form of runtime verification
allowing users to assert which cross-namespace object references are permitted.
Implementations that support ReferenceGrant MUST NOT permit cross-namespace
references which have no grant, and MUST respond to the removal of a grant
by revoking the access that the grant allowed."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Spec defines the desired state of ReferenceGrant.
properties:
from:
description: "From describes the trusted namespaces and kinds that
can reference the resources described in \"To\". Each entry in this
list MUST be considered to be an additional place that references
can be valid from, or to put this another way, entries MUST be combined
using OR. \n Support: Core"
items:
description: ReferenceGrantFrom describes trusted namespaces and
kinds.
properties:
group:
description: "Group is the group of the referent. When empty,
the Kubernetes core API group is inferred. \n Support: Core"
maxLength: 253
pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
kind:
description: "Kind is the kind of the referent. Although implementations
may support additional resources, the following types are
part of the \"Core\" support level for this field. \n When
used to permit a SecretObjectReference: \n * Gateway \n When
used to permit a BackendObjectReference: \n * GRPCRoute *
HTTPRoute * TCPRoute * TLSRoute * UDPRoute"
maxLength: 63
minLength: 1
pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
type: string
namespace:
description: "Namespace is the namespace of the referent. \n
Support: Core"
maxLength: 63
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- group
- kind
- namespace
type: object
maxItems: 16
minItems: 1
type: array
to:
description: "To describes the resources that may be referenced by
the resources described in \"From\". Each entry in this list MUST
be considered to be an additional place that references can be valid
to, or to put this another way, entries MUST be combined using OR.
\n Support: Core"
items:
description: ReferenceGrantTo describes what Kinds are allowed as
targets of the references.
properties:
group:
description: "Group is the group of the referent. When empty,
the Kubernetes core API group is inferred. \n Support: Core"
maxLength: 253
pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
kind:
description: "Kind is the kind of the referent. Although implementations
may support additional resources, the following types are
part of the \"Core\" support level for this field: \n * Secret
when used to permit a SecretObjectReference * Service when
used to permit a BackendObjectReference"
maxLength: 63
minLength: 1
pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
type: string
name:
description: Name is the name of the referent. When unspecified,
this policy refers to all resources of the specified Group
and Kind in the local namespace.
maxLength: 253
minLength: 1
type: string
required:
- group
- kind
type: object
maxItems: 16
minItems: 1
type: array
required:
- from
- to
type: object
type: object
served: true
storage: false
subresources: {}
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: "ReferenceGrant identifies kinds of resources in other namespaces
that are trusted to reference the specified kinds of resources in the same
namespace as the policy. \n Each ReferenceGrant can be used to represent
a unique trust relationship. Additional Reference Grants can be used to
add to the set of trusted sources of inbound references for the namespace
they are defined within. \n All cross-namespace references in Gateway API
(with the exception of cross-namespace Gateway-route attachment) require
a ReferenceGrant. \n ReferenceGrant is a form of runtime verification allowing
users to assert which cross-namespace object references are permitted. Implementations
that support ReferenceGrant MUST NOT permit cross-namespace references which
have no grant, and MUST respond to the removal of a grant by revoking the
access that the grant allowed."
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Spec defines the desired state of ReferenceGrant.
properties:
from:
description: "From describes the trusted namespaces and kinds that
can reference the resources described in \"To\". Each entry in this
list MUST be considered to be an additional place that references
can be valid from, or to put this another way, entries MUST be combined
using OR. \n Support: Core"
items:
description: ReferenceGrantFrom describes trusted namespaces and
kinds.
properties:
group:
description: "Group is the group of the referent. When empty,
the Kubernetes core API group is inferred. \n Support: Core"
maxLength: 253
pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
kind:
description: "Kind is the kind of the referent. Although implementations
may support additional resources, the following types are
part of the \"Core\" support level for this field. \n When
used to permit a SecretObjectReference: \n * Gateway \n When
used to permit a BackendObjectReference: \n * GRPCRoute *
HTTPRoute * TCPRoute * TLSRoute * UDPRoute"
maxLength: 63
minLength: 1
pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
type: string
namespace:
description: "Namespace is the namespace of the referent. \n
Support: Core"
maxLength: 63
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- group
- kind
- namespace
type: object
maxItems: 16
minItems: 1
type: array
to:
description: "To describes the resources that may be referenced by
the resources described in \"From\". Each entry in this list MUST
be considered to be an additional place that references can be valid
to, or to put this another way, entries MUST be combined using OR.
\n Support: Core"
items:
description: ReferenceGrantTo describes what Kinds are allowed as
targets of the references.
properties:
group:
description: "Group is the group of the referent. When empty,
the Kubernetes core API group is inferred. \n Support: Core"
maxLength: 253
pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
type: string
kind:
description: "Kind is the kind of the referent. Although implementations
may support additional resources, the following types are
part of the \"Core\" support level for this field: \n * Secret
when used to permit a SecretObjectReference * Service when
used to permit a BackendObjectReference"
maxLength: 63
minLength: 1
pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
type: string
name:
description: Name is the name of the referent. When unspecified,
this policy refers to all resources of the specified Group
and Kind in the local namespace.
maxLength: 253
minLength: 1
type: string
required:
- group
- kind
type: object
maxItems: 16
minItems: 1
type: array
required:
- from
- to
type: object
type: object
served: true
storage: true
subresources: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: null
storedVersions: null

0 comments on commit db1b4c0

Please sign in to comment.