charts/karpenter-crd/templates/karpenter.sh_nodepools.yaml [281:329]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                  - message: label "kubernetes.io/hostname" is restricted
                                    rule: self != "kubernetes.io/hostname"
                                  - message: label domain "karpenter.azure.com" is restricted
                                    rule: self in [ "karpenter.azure.com/aksnodeclass", "karpenter.azure.com/sku-name", "karpenter.azure.com/sku-family", "karpenter.azure.com/sku-version", "karpenter.azure.com/sku-cpu", "karpenter.azure.com/sku-memory", "karpenter.azure.com/sku-networking-accelerated", "karpenter.azure.com/sku-storage-premium-capable", "karpenter.azure.com/sku-storage-ephemeralos-maxsize", "karpenter.azure.com/sku-encryptionathost-capable", "karpenter.azure.com/sku-gpu-name", "karpenter.azure.com/sku-gpu-manufacturer", "karpenter.azure.com/sku-gpu-count" ] || !self.find("^([^/]+)").endsWith("karpenter.azure.com")
                              minValues:
                                description: |-
                                  This field is ALPHA and can be dropped or replaced at any time
                                  MinValues is the minimum number of unique values required to define the flexibility of the specific requirement.
                                maximum: 50
                                minimum: 1
                                type: integer
                              operator:
                                description: |-
                                  Represents a key's relationship to a set of values.
                                  Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                                type: string
                                enum:
                                  - In
                                  - NotIn
                                  - Exists
                                  - DoesNotExist
                                  - Gt
                                  - Lt
                              values:
                                description: |-
                                  An array of string values. If the operator is In or NotIn,
                                  the values array must be non-empty. If the operator is Exists or DoesNotExist,
                                  the values array must be empty. If the operator is Gt or Lt, the values
                                  array must have a single element, which will be interpreted as an integer.
                                  This array is replaced during a strategic merge patch.
                                items:
                                  type: string
                                type: array
                                x-kubernetes-list-type: atomic
                                maxLength: 63
                                pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
                            required:
                              - key
                              - operator
                            type: object
                          maxItems: 100
                          type: array
                          x-kubernetes-validations:
                            - message: requirements with operator 'In' must have a value defined
                              rule: 'self.all(x, x.operator == ''In'' ? x.values.size() != 0 : true)'
                            - message: requirements operator 'Gt' or 'Lt' must have a single positive integer value
                              rule: 'self.all(x, (x.operator == ''Gt'' || x.operator == ''Lt'') ? (x.values.size() == 1 && int(x.values[0]) >= 0) : true)'
                            - message: requirements with 'minValues' must have at least that many values specified in the 'values' field
                              rule: 'self.all(x, (x.operator == ''In'' && has(x.minValues)) ? x.values.size() >= x.minValues : true)'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



charts/karpenter/crds/karpenter.sh_nodeclaims.yaml [131:179]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          - message: label "kubernetes.io/hostname" is restricted
                            rule: self != "kubernetes.io/hostname"
                          - message: label domain "karpenter.azure.com" is restricted
                            rule: self in [ "karpenter.azure.com/aksnodeclass", "karpenter.azure.com/sku-name", "karpenter.azure.com/sku-family", "karpenter.azure.com/sku-version", "karpenter.azure.com/sku-cpu", "karpenter.azure.com/sku-memory", "karpenter.azure.com/sku-networking-accelerated", "karpenter.azure.com/sku-storage-premium-capable", "karpenter.azure.com/sku-storage-ephemeralos-maxsize", "karpenter.azure.com/sku-encryptionathost-capable", "karpenter.azure.com/sku-gpu-name", "karpenter.azure.com/sku-gpu-manufacturer", "karpenter.azure.com/sku-gpu-count" ] || !self.find("^([^/]+)").endsWith("karpenter.azure.com")
                      minValues:
                        description: |-
                          This field is ALPHA and can be dropped or replaced at any time
                          MinValues is the minimum number of unique values required to define the flexibility of the specific requirement.
                        maximum: 50
                        minimum: 1
                        type: integer
                      operator:
                        description: |-
                          Represents a key's relationship to a set of values.
                          Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
                        type: string
                        enum:
                          - In
                          - NotIn
                          - Exists
                          - DoesNotExist
                          - Gt
                          - Lt
                      values:
                        description: |-
                          An array of string values. If the operator is In or NotIn,
                          the values array must be non-empty. If the operator is Exists or DoesNotExist,
                          the values array must be empty. If the operator is Gt or Lt, the values
                          array must have a single element, which will be interpreted as an integer.
                          This array is replaced during a strategic merge patch.
                        items:
                          type: string
                        type: array
                        x-kubernetes-list-type: atomic
                        maxLength: 63
                        pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
                    required:
                      - key
                      - operator
                    type: object
                  maxItems: 100
                  type: array
                  x-kubernetes-validations:
                    - message: requirements with operator 'In' must have a value defined
                      rule: 'self.all(x, x.operator == ''In'' ? x.values.size() != 0 : true)'
                    - message: requirements operator 'Gt' or 'Lt' must have a single positive integer value
                      rule: 'self.all(x, (x.operator == ''Gt'' || x.operator == ''Lt'') ? (x.values.size() == 1 && int(x.values[0]) >= 0) : true)'
                    - message: requirements with 'minValues' must have at least that many values specified in the 'values' field
                      rule: 'self.all(x, (x.operator == ''In'' && has(x.minValues)) ? x.values.size() >= x.minValues : true)'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



