...

Text file src/sigs.k8s.io/gateway-api/config/crd/experimental/gateway.networking.k8s.io_referencegrants.yaml

Documentation: sigs.k8s.io/gateway-api/config/crd/experimental

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    api-approved.kubernetes.io: https://github.com/kubernetes-sigs/gateway-api/pull/2466
     6    gateway.networking.k8s.io/bundle-version: v1.0.0
     7    gateway.networking.k8s.io/channel: experimental
     8  creationTimestamp: null
     9  name: referencegrants.gateway.networking.k8s.io
    10spec:
    11  group: gateway.networking.k8s.io
    12  names:
    13    categories:
    14    - gateway-api
    15    kind: ReferenceGrant
    16    listKind: ReferenceGrantList
    17    plural: referencegrants
    18    shortNames:
    19    - refgrant
    20    singular: referencegrant
    21  scope: Namespaced
    22  versions:
    23  - additionalPrinterColumns:
    24    - jsonPath: .metadata.creationTimestamp
    25      name: Age
    26      type: date
    27    deprecated: true
    28    deprecationWarning: The v1alpha2 version of ReferenceGrant has been deprecated
    29      and will be removed in a future release of the API. Please upgrade to v1beta1.
    30    name: v1alpha2
    31    schema:
    32      openAPIV3Schema:
    33        description: "ReferenceGrant identifies kinds of resources in other namespaces
    34          that are trusted to reference the specified kinds of resources in the same
    35          namespace as the policy. \n Each ReferenceGrant can be used to represent
    36          a unique trust relationship. Additional Reference Grants can be used to
    37          add to the set of trusted sources of inbound references for the namespace
    38          they are defined within. \n A ReferenceGrant is required for all cross-namespace
    39          references in Gateway API (with the exception of cross-namespace Route-Gateway
    40          attachment, which is governed by the AllowedRoutes configuration on the
    41          Gateway, and cross-namespace Service ParentRefs on a \"consumer\" mesh Route,
    42          which defines routing rules applicable only to workloads in the Route namespace).
    43          ReferenceGrants allowing a reference from a Route to a Service are only
    44          applicable to BackendRefs. \n ReferenceGrant is a form of runtime verification
    45          allowing users to assert which cross-namespace object references are permitted.
    46          Implementations that support ReferenceGrant MUST NOT permit cross-namespace
    47          references which have no grant, and MUST respond to the removal of a grant
    48          by revoking the access that the grant allowed."
    49        properties:
    50          apiVersion:
    51            description: 'APIVersion defines the versioned schema of this representation
    52              of an object. Servers should convert recognized schemas to the latest
    53              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    54            type: string
    55          kind:
    56            description: 'Kind is a string value representing the REST resource this
    57              object represents. Servers may infer this from the endpoint the client
    58              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    59            type: string
    60          metadata:
    61            type: object
    62          spec:
    63            description: Spec defines the desired state of ReferenceGrant.
    64            properties:
    65              from:
    66                description: "From describes the trusted namespaces and kinds that
    67                  can reference the resources described in \"To\". Each entry in this
    68                  list MUST be considered to be an additional place that references
    69                  can be valid from, or to put this another way, entries MUST be combined
    70                  using OR. \n Support: Core"
    71                items:
    72                  description: ReferenceGrantFrom describes trusted namespaces and
    73                    kinds.
    74                  properties:
    75                    group:
    76                      description: "Group is the group of the referent. When empty,
    77                        the Kubernetes core API group is inferred. \n Support: Core"
    78                      maxLength: 253
    79                      pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
    80                      type: string
    81                    kind:
    82                      description: "Kind is the kind of the referent. Although implementations
    83                        may support additional resources, the following types are
    84                        part of the \"Core\" support level for this field. \n When
    85                        used to permit a SecretObjectReference: \n * Gateway \n When
    86                        used to permit a BackendObjectReference: \n * GRPCRoute *
    87                        HTTPRoute * TCPRoute * TLSRoute * UDPRoute"
    88                      maxLength: 63
    89                      minLength: 1
    90                      pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
    91                      type: string
    92                    namespace:
    93                      description: "Namespace is the namespace of the referent. \n
    94                        Support: Core"
    95                      maxLength: 63
    96                      minLength: 1
    97                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
    98                      type: string
    99                  required:
   100                  - group
   101                  - kind
   102                  - namespace
   103                  type: object
   104                maxItems: 16
   105                minItems: 1
   106                type: array
   107              to:
   108                description: "To describes the resources that may be referenced by
   109                  the resources described in \"From\". Each entry in this list MUST
   110                  be considered to be an additional place that references can be valid
   111                  to, or to put this another way, entries MUST be combined using OR.
   112                  \n Support: Core"
   113                items:
   114                  description: ReferenceGrantTo describes what Kinds are allowed as
   115                    targets of the references.
   116                  properties:
   117                    group:
   118                      description: "Group is the group of the referent. When empty,
   119                        the Kubernetes core API group is inferred. \n Support: Core"
   120                      maxLength: 253
   121                      pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
   122                      type: string
   123                    kind:
   124                      description: "Kind is the kind of the referent. Although implementations
   125                        may support additional resources, the following types are
   126                        part of the \"Core\" support level for this field: \n * Secret
   127                        when used to permit a SecretObjectReference * Service when
   128                        used to permit a BackendObjectReference"
   129                      maxLength: 63
   130                      minLength: 1
   131                      pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
   132                      type: string
   133                    name:
   134                      description: Name is the name of the referent. When unspecified,
   135                        this policy refers to all resources of the specified Group
   136                        and Kind in the local namespace.
   137                      maxLength: 253
   138                      minLength: 1
   139                      type: string
   140                  required:
   141                  - group
   142                  - kind
   143                  type: object
   144                maxItems: 16
   145                minItems: 1
   146                type: array
   147            required:
   148            - from
   149            - to
   150            type: object
   151        type: object
   152    served: true
   153    storage: false
   154    subresources: {}
   155  - additionalPrinterColumns:
   156    - jsonPath: .metadata.creationTimestamp
   157      name: Age
   158      type: date
   159    name: v1beta1
   160    schema:
   161      openAPIV3Schema:
   162        description: "ReferenceGrant identifies kinds of resources in other namespaces
   163          that are trusted to reference the specified kinds of resources in the same
   164          namespace as the policy. \n Each ReferenceGrant can be used to represent
   165          a unique trust relationship. Additional Reference Grants can be used to
   166          add to the set of trusted sources of inbound references for the namespace
   167          they are defined within. \n All cross-namespace references in Gateway API
   168          (with the exception of cross-namespace Gateway-route attachment) require
   169          a ReferenceGrant. \n ReferenceGrant is a form of runtime verification allowing
   170          users to assert which cross-namespace object references are permitted. Implementations
   171          that support ReferenceGrant MUST NOT permit cross-namespace references which
   172          have no grant, and MUST respond to the removal of a grant by revoking the
   173          access that the grant allowed."
   174        properties:
   175          apiVersion:
   176            description: 'APIVersion defines the versioned schema of this representation
   177              of an object. Servers should convert recognized schemas to the latest
   178              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   179            type: string
   180          kind:
   181            description: 'Kind is a string value representing the REST resource this
   182              object represents. Servers may infer this from the endpoint the client
   183              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   184            type: string
   185          metadata:
   186            type: object
   187          spec:
   188            description: Spec defines the desired state of ReferenceGrant.
   189            properties:
   190              from:
   191                description: "From describes the trusted namespaces and kinds that
   192                  can reference the resources described in \"To\". Each entry in this
   193                  list MUST be considered to be an additional place that references
   194                  can be valid from, or to put this another way, entries MUST be combined
   195                  using OR. \n Support: Core"
   196                items:
   197                  description: ReferenceGrantFrom describes trusted namespaces and
   198                    kinds.
   199                  properties:
   200                    group:
   201                      description: "Group is the group of the referent. When empty,
   202                        the Kubernetes core API group is inferred. \n Support: Core"
   203                      maxLength: 253
   204                      pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
   205                      type: string
   206                    kind:
   207                      description: "Kind is the kind of the referent. Although implementations
   208                        may support additional resources, the following types are
   209                        part of the \"Core\" support level for this field. \n When
   210                        used to permit a SecretObjectReference: \n * Gateway \n When
   211                        used to permit a BackendObjectReference: \n * GRPCRoute *
   212                        HTTPRoute * TCPRoute * TLSRoute * UDPRoute"
   213                      maxLength: 63
   214                      minLength: 1
   215                      pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
   216                      type: string
   217                    namespace:
   218                      description: "Namespace is the namespace of the referent. \n
   219                        Support: Core"
   220                      maxLength: 63
   221                      minLength: 1
   222                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
   223                      type: string
   224                  required:
   225                  - group
   226                  - kind
   227                  - namespace
   228                  type: object
   229                maxItems: 16
   230                minItems: 1
   231                type: array
   232              to:
   233                description: "To describes the resources that may be referenced by
   234                  the resources described in \"From\". Each entry in this list MUST
   235                  be considered to be an additional place that references can be valid
   236                  to, or to put this another way, entries MUST be combined using OR.
   237                  \n Support: Core"
   238                items:
   239                  description: ReferenceGrantTo describes what Kinds are allowed as
   240                    targets of the references.
   241                  properties:
   242                    group:
   243                      description: "Group is the group of the referent. When empty,
   244                        the Kubernetes core API group is inferred. \n Support: Core"
   245                      maxLength: 253
   246                      pattern: ^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
   247                      type: string
   248                    kind:
   249                      description: "Kind is the kind of the referent. Although implementations
   250                        may support additional resources, the following types are
   251                        part of the \"Core\" support level for this field: \n * Secret
   252                        when used to permit a SecretObjectReference * Service when
   253                        used to permit a BackendObjectReference"
   254                      maxLength: 63
   255                      minLength: 1
   256                      pattern: ^[a-zA-Z]([-a-zA-Z0-9]*[a-zA-Z0-9])?$
   257                      type: string
   258                    name:
   259                      description: Name is the name of the referent. When unspecified,
   260                        this policy refers to all resources of the specified Group
   261                        and Kind in the local namespace.
   262                      maxLength: 253
   263                      minLength: 1
   264                      type: string
   265                  required:
   266                  - group
   267                  - kind
   268                  type: object
   269                maxItems: 16
   270                minItems: 1
   271                type: array
   272            required:
   273            - from
   274            - to
   275            type: object
   276        type: object
   277    served: true
   278    storage: true
   279    subresources: {}
   280status:
   281  acceptedNames:
   282    kind: ""
   283    plural: ""
   284  conditions: null
   285  storedVersions: null

View as plain text