...

Text file src/edge-infra.dev/hack/build/rules/kustomize/tests/base/crds/warehouse.edge.ncr.com_shipments.yaml

Documentation: edge-infra.dev/hack/build/rules/kustomize/tests/base/crds

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  name: shipments.warehouse.edge.ncr.com
     5  annotations:
     6    controller-gen.kubebuilder.io/version: (unknown)
     7spec:
     8  group: warehouse.edge.ncr.com
     9  names:
    10    kind: Shipment
    11    listKind: ShipmentList
    12    plural: shipments
    13    singular: shipment
    14  scope: Cluster
    15  versions:
    16  - name: v1alpha1
    17    additionalPrinterColumns:
    18    - name: Age
    19      type: date
    20      jsonPath: .metadata.creationTimestamp
    21    - name: Ready
    22      type: string
    23      jsonPath: .status.conditions[?(@.type=="Ready")].status
    24    - name: Status
    25      type: string
    26      jsonPath: .status.conditions[?(@.type=="Ready")].message
    27    schema:
    28      openAPIV3Schema:
    29        type: object
    30        description: Shipment is one or more Pallets that will be unpacked and scheduled to the cluster.
    31        properties:
    32          apiVersion:
    33            type: string
    34            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'
    35          kind:
    36            type: string
    37            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'
    38          metadata:
    39            type: object
    40          spec:
    41            type: object
    42            properties:
    43              creds:
    44                type: object
    45                description: Credentials is an optional secret reference pointing to a secret containing registry credentials. The secret must be of type kubernetes.io/dockerconfigjson
    46                properties:
    47                  name:
    48                    type: string
    49                    description: name is unique within a namespace to reference a secret resource.
    50                  namespace:
    51                    type: string
    52                    description: namespace defines the space within which the secret name must be unique.
    53              force:
    54                type: boolean
    55                default: false
    56                description: Force indicates whether or not objects should be forced by deleting and re-creating when there is a conflict due to immutable fields changing.
    57              interval:
    58                type: string
    59                default: 60s
    60                description: Interval is how often the object will be reconciled, in order to prevent drift.
    61              pallets:
    62                type: array
    63                description: "Pallets is the set of Pallet packages that will be pulled and reconciled, without the repository string. Each Pallet reference is completed from the Repository field. \n All Pallets are resolved into a single, deduped graph to ensure that there is no more than one version of a package. How conflicts are resolved is configurable via Resolution"
    64                items:
    65                  type: object
    66                  description: BaseArtifact describes a reference to a Warehouse package without a repository that can be embedded in a K8s resource spec.
    67                  properties:
    68                    name:
    69                      type: string
    70                      description: Name is the unique package name for the Warehouse package. It is appended to the provided Repository to produce the full repository string, e.g., gcr.io/foo/bar, where bar is the name of the package and gcr.io/foo is the provided Repository string
    71                    digest:
    72                      type: string
    73                      description: Digest is the sha256 digest of the OCI artifact to apply to the cluster. Takes precedence over tag if set.
    74                    tag:
    75                      type: string
    76                      description: Tag is a mutable reference to the OCI artifact to apply. Defaults to "latest" if neither Tag or Digest are set.
    77                  required:
    78                  - name
    79                minItems: 1
    80              prune:
    81                type: boolean
    82                description: Prune indicates whether or not objects should be pruned between reconciles or when the object is deleted. You may want to use this for deployments that you really don't want deleted.
    83              rendering:
    84                type: array
    85                description: Rendering is the configuration controlling how the unpacked K8s manifests are rendered before applying.
    86                items:
    87                  type: object
    88                  properties:
    89                    configMapRef:
    90                      type: object
    91                      description: ConfigMapRef references a K8s ConfigMap to pull parameters from. Mutually exclusive with Variables.
    92                      properties:
    93                        name:
    94                          type: string
    95                          description: Name of the referent.
    96                          maxLength: 253
    97                          minLength: 1
    98                        namespace:
    99                          type: string
   100                          description: Namespace of the referent, when not specified it acts as LocalObjectReference.
   101                          maxLength: 253
   102                          minLength: 1
   103                      required:
   104                      - name
   105                    mapping:
   106                      type: object
   107                      additionalProperties:
   108                        type: string
   109                      description: 'Mapping of rendering parameters to specific keys in the referenced ConfigMap, e.g.: {gcp_project_id: gcp.projectId} where ''gcp.projectId'' is a key in the ConfigMap.'
   110                    parameters:
   111                      type: object
   112                      additionalProperties:
   113                        type: string
   114                      description: Parameters are inlined parameters. Mutually exclusive with ConfigMapRef.
   115              repo:
   116                type: string
   117                description: Repository is the image repository that all Pallets will be pulled from. It MUST be the entire repository string up to the Pallet package name, e.g. gcr.io/foo if packages are gcr.io/foo/bar, gcr.io/foo/bax, ... All packages must come from the same repository because resolving the graph of packages may discover the same digest in multiple repositories. This controller won't make value judgements as to which repository should be used in conflict.
   118              resolution:
   119                type: object
   120                description: Resolution is the rules for resolving conflicts in the resolved graph for the pallets included in this shipment. By default, a Shipment will be marked Stalled if it references a list of pallets which don't produce a consistent (e.g., no conflicting digests) resolved graph.
   121                properties:
   122                  acceptFirst:
   123                    type: boolean
   124                    description: AcceptFirst will accept the first digest it encounters for each package during graph resolution. If the package exists in the graph with a differing digest, it is dropped. This is the simplest way to force a set of conflicting packages to produce a consistent graph, but doesn't provide any additional control
   125                  pins:
   126                    type: array
   127                    description: Pins are a mapping of package names to digests that are forced during graph resolution, analogous to pinning transitive dependency versions using `replace` directives in a `go.mod` file.
   128                    items:
   129                      type: object
   130                      description: Pin is a specific digest associated with a package name, used to "pin" the package to that digest when resolving package graphs or reflect the result of a resolved set of packages.
   131                      properties:
   132                        name:
   133                          type: string
   134                        digest:
   135                          type: string
   136                          description: Digest is the digest for the package reference (e.g., `shoot:latest`, Pallet.Digest())
   137                        resolvedDigest:
   138                          type: string
   139                          description: ResolvedDigest is the digest of the provider-specific variant pulled from the package based on where it is being scheduled.
   140                      required:
   141                      - digest
   142                      - name
   143                      - resolvedDigest
   144              retryInterval:
   145                type: string
   146                default: 10s
   147                description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
   148              suspend:
   149                type: boolean
   150                description: This flag tells the controller to suspend subsequent reconciliations, it does not apply to already started reconciliations. Defaults to false.
   151              timeout:
   152                type: string
   153                default: 120s
   154                description: Timeout is how long the controller will wait for the applied objects to reconcile.
   155              unpack:
   156                type: object
   157                description: UnpackOptions
   158                properties:
   159                  capabilities:
   160                    type: array
   161                    description: Capabilities are additional runtime layers to apply. If Runtime is set to false, this field must be empty.
   162                    items:
   163                      type: string
   164                  infra:
   165                    type: boolean
   166                    default: false
   167                    description: Infra is whether or not to schedule infrastructure objects.
   168                  infraNamespace:
   169                    type: string
   170                    description: InfraNamespace is the K8s namespace the infra objects should be scheduled to. If provided, the metadata.namespace of unpacked infra objects is updated using Kustomize filters on unpack.
   171                  provider:
   172                    type: string
   173                    description: Provider is the K8s cluster provider that should be unpacked. By default, it is the same cluster provider that Lumper was scheduled onto. If Runtime is true, this option cannot be set to a value that conflicts with Lumper's startup configuration (e.g., you cannot schedule non-GKE runtime resources to a GKE cluster)
   174                  runtime:
   175                    type: boolean
   176                    default: false
   177                    description: Runtime determines if runtime resources should be applied. By default, only the base runtime layer is applied.
   178            required:
   179            - force
   180            - pallets
   181            - prune
   182            - repo
   183          status:
   184            type: object
   185            default:
   186              observedGeneration: -1
   187            description: ShipmentStatus contains the readiness of the reconciled resources and an inventory of currently applied resources.
   188            properties:
   189              conditions:
   190                type: array
   191                items:
   192                  type: object
   193                  description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions.  For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
   194                  properties:
   195                    type:
   196                      type: string
   197                      description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   198                      maxLength: 316
   199                      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])$
   200                    status:
   201                      type: string
   202                      description: status of the condition, one of True, False, Unknown.
   203                      enum:
   204                      - "True"
   205                      - "False"
   206                      - Unknown
   207                    lastTransitionTime:
   208                      type: string
   209                      description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   210                      format: date-time
   211                    message:
   212                      type: string
   213                      description: message is a human readable message indicating details about the transition. This may be an empty string.
   214                      maxLength: 32768
   215                    observedGeneration:
   216                      type: integer
   217                      description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
   218                      format: int64
   219                      minimum: 0
   220                    reason:
   221                      type: string
   222                      description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
   223                      maxLength: 1024
   224                      minLength: 1
   225                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   226                  required:
   227                  - lastTransitionTime
   228                  - message
   229                  - reason
   230                  - status
   231                  - type
   232              inventory:
   233                type: object
   234                description: Inventory is the K8s resources that this object manages.
   235                properties:
   236                  entries:
   237                    type: array
   238                    description: Entries of Kubernetes resource object references.
   239                    items:
   240                      type: object
   241                      description: ResourceRef contains the information necessary to locate a resource within a cluster.
   242                      properties:
   243                        id:
   244                          type: string
   245                          description: ID is the string representation of the Kubernetes resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
   246                        v:
   247                          type: string
   248                          description: Version is the API version of the Kubernetes resource object's kind.
   249                      required:
   250                      - id
   251                      - v
   252              lastApplied:
   253                type: array
   254                description: LastApplied is the last set of resolved artifacts that were applied.
   255                items:
   256                  type: object
   257                  description: Pin is a specific digest associated with a package name, used to "pin" the package to that digest when resolving package graphs or reflect the result of a resolved set of packages.
   258                  properties:
   259                    name:
   260                      type: string
   261                    digest:
   262                      type: string
   263                      description: Digest is the digest for the package reference (e.g., `shoot:latest`, Pallet.Digest())
   264                    resolvedDigest:
   265                      type: string
   266                      description: ResolvedDigest is the digest of the provider-specific variant pulled from the package based on where it is being scheduled.
   267                  required:
   268                  - digest
   269                  - name
   270                  - resolvedDigest
   271              lastAttempted:
   272                type: array
   273                description: LastAttempted is the last set of resolved artifacts that the controller attempted to apply.
   274                items:
   275                  type: object
   276                  description: Pin is a specific digest associated with a package name, used to "pin" the package to that digest when resolving package graphs or reflect the result of a resolved set of packages.
   277                  properties:
   278                    name:
   279                      type: string
   280                    digest:
   281                      type: string
   282                      description: Digest is the digest for the package reference (e.g., `shoot:latest`, Pallet.Digest())
   283                    resolvedDigest:
   284                      type: string
   285                      description: ResolvedDigest is the digest of the provider-specific variant pulled from the package based on where it is being scheduled.
   286                  required:
   287                  - digest
   288                  - name
   289                  - resolvedDigest
   290              lastHandledReconcileAt:
   291                type: string
   292                description: LastHandledReconcileAt holds the value of the most recent reconcile request value, so a change of the annotation value can be detected.
   293              observedGeneration:
   294                type: integer
   295                format: int64
   296    served: true
   297    storage: true
   298    subresources:
   299      status: {}

View as plain text