...

Text file src/edge-infra.dev/test/fixtures/warehouse/layout/blobs/sha256/ce76742e670ecb4c44eb3409706110f1ece3ea3eaaf18929830b7388f986f1e3

Documentation: edge-infra.dev/test/fixtures/warehouse/layout/blobs/sha256

     1apiVersion: v1
     2kind: Namespace
     3metadata:
     4  name: warehouse-system
     5  labels:
     6    workload.edge.ncr.com: platform
     7  annotations:
     8    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
     9    pallet.edge.ncr.com/name: lumper-controller
    10    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
    11    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
    12    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
    13    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
    14---
    15apiVersion: apiextensions.k8s.io/v1
    16kind: CustomResourceDefinition
    17metadata:
    18  name: shipments.warehouse.edge.ncr.com
    19  annotations:
    20    controller-gen.kubebuilder.io/version: (unknown)
    21    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
    22    pallet.edge.ncr.com/name: lumper-controller
    23    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
    24    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
    25    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
    26    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
    27  labels: {}
    28spec:
    29  group: warehouse.edge.ncr.com
    30  names:
    31    kind: Shipment
    32    listKind: ShipmentList
    33    plural: shipments
    34    singular: shipment
    35  scope: Cluster
    36  versions:
    37  - name: v1alpha1
    38    additionalPrinterColumns:
    39    - name: Age
    40      type: date
    41      jsonPath: .metadata.creationTimestamp
    42    - name: Ready
    43      type: string
    44      jsonPath: .status.conditions[?(@.type=="Ready")].status
    45    - name: Status
    46      type: string
    47      jsonPath: .status.conditions[?(@.type=="Ready")].message
    48    schema:
    49      openAPIV3Schema:
    50        type: object
    51        description: Shipment is one or more Pallets that will be unpacked and scheduled to the cluster.
    52        properties:
    53          apiVersion:
    54            type: string
    55            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'
    56          kind:
    57            type: string
    58            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'
    59          metadata:
    60            type: object
    61          spec:
    62            type: object
    63            properties:
    64              creds:
    65                type: object
    66                description: Credentials is an optional secret reference pointing to a secret containing registry credentials. The secret must be of type kubernetes.io/dockerconfigjson
    67                properties:
    68                  name:
    69                    type: string
    70                    description: name is unique within a namespace to reference a secret resource.
    71                  namespace:
    72                    type: string
    73                    description: namespace defines the space within which the secret name must be unique.
    74              force:
    75                type: boolean
    76                default: false
    77                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.
    78              interval:
    79                type: string
    80                default: 60s
    81                description: Interval is how often the object will be reconciled, in order to prevent drift.
    82              packagePullOptions:
    83                type: object
    84                description: PackagePullOptions are options used to configure pulling packages from remote registry, memory cache or disk layout.
    85                properties:
    86                  pullPolicy:
    87                    type: string
    88                    default: Always
    89                    description: "PackagePullPolicy is the strategy used to decide when a package should be pulled from remote registry, memory cache or disk layout \n TODO(aw185176): Support \"Never\" pull policy."
    90                    enum:
    91                    - Always
    92                    - IfNotPresent
    93              pallets:
    94                type: array
    95                description: "Pallets is the set of Pallet packages that will be pulled and reconciled, without the base 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"
    96                items:
    97                  type: object
    98                  description: BaseArtifact describes a reference to a Warehouse package without a repository that can be embedded in a K8s resource spec.
    99                  properties:
   100                    name:
   101                      type: string
   102                      description: Name is the unique Warehouse package name. It is typically equal to the last segment of an image repository string, depending on registry implementation e.g., gcr.io/foo/bar, where bar is the name of the package and gcr.io/foo/bar is the provided Repository string. Or, us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name where nested/name is the Name and the us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name is the Repository. An Artifact can not be resolved by Name alone.
   103                    digest:
   104                      type: string
   105                      description: Digest is the sha256 digest of the OCI artifact to apply to the cluster. Takes precedence over tag if set.
   106                    tag:
   107                      type: string
   108                      description: Tag is a mutable reference to the OCI artifact to apply. Defaults to "latest" if neither Tag or Digest are set.
   109                  required:
   110                  - name
   111                minItems: 1
   112              prune:
   113                type: boolean
   114                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.
   115              rendering:
   116                type: array
   117                description: Rendering is the configuration controlling how the unpacked K8s manifests are rendered before applying.
   118                items:
   119                  type: object
   120                  properties:
   121                    configMapRef:
   122                      type: object
   123                      description: ConfigMapRef references a K8s ConfigMap to pull parameters from. Mutually exclusive with Variables.
   124                      properties:
   125                        name:
   126                          type: string
   127                          description: Name of the referent.
   128                          maxLength: 253
   129                          minLength: 1
   130                        namespace:
   131                          type: string
   132                          description: Namespace of the referent, when not specified it acts as LocalObjectReference.
   133                          maxLength: 253
   134                          minLength: 1
   135                      required:
   136                      - name
   137                    mapping:
   138                      type: object
   139                      additionalProperties:
   140                        type: string
   141                      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.'
   142                    parameters:
   143                      type: object
   144                      additionalProperties:
   145                        type: string
   146                      description: Parameters are inlined parameters. Mutually exclusive with ConfigMapRef.
   147              repo:
   148                type: string
   149                description: Repository is the base path of the image repositories that 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.
   150              resolution:
   151                type: object
   152                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.
   153                properties:
   154                  acceptFirst:
   155                    type: boolean
   156                    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
   157                  pins:
   158                    type: array
   159                    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.
   160                    items:
   161                      type: object
   162                      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.
   163                      properties:
   164                        name:
   165                          type: string
   166                        digest:
   167                          type: string
   168                          description: Digest is the digest for the package reference (e.g., `shoot:latest`, Pallet.Digest())
   169                        resolvedDigest:
   170                          type: string
   171                          description: ResolvedDigest is the digest of the provider-specific variant pulled from the package based on where it is being scheduled.
   172                      required:
   173                      - digest
   174                      - name
   175                      - resolvedDigest
   176              retryInterval:
   177                type: string
   178                default: 10s
   179                description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
   180              suspend:
   181                type: boolean
   182                description: This flag tells the controller to suspend subsequent reconciliations, it does not apply to already started reconciliations. Defaults to false.
   183              timeout:
   184                type: string
   185                default: 120s
   186                description: Timeout is how long the controller will wait for the applied objects to reconcile.
   187              unpack:
   188                type: object
   189                description: UnpackOptions
   190                properties:
   191                  capabilities:
   192                    type: array
   193                    description: Capabilities are additional runtime layers to apply. If Runtime is set to false, this field must be empty.
   194                    items:
   195                      type: string
   196                  infra:
   197                    type: boolean
   198                    default: false
   199                    description: Infra is whether or not to schedule infrastructure objects.
   200                  infraNamespace:
   201                    type: string
   202                    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.
   203                  provider:
   204                    type: string
   205                    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)
   206                  runtime:
   207                    type: boolean
   208                    default: false
   209                    description: Runtime determines if runtime resources should be applied. By default, only the base runtime layer is applied.
   210            required:
   211            - force
   212            - pallets
   213            - prune
   214            - repo
   215          status:
   216            type: object
   217            default:
   218              observedGeneration: -1
   219            description: ShipmentStatus contains the readiness of the reconciled resources and an inventory of currently applied resources.
   220            properties:
   221              conditions:
   222                type: array
   223                items:
   224                  type: object
   225                  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 }"
   226                  properties:
   227                    type:
   228                      type: string
   229                      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)
   230                      maxLength: 316
   231                      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])$
   232                    status:
   233                      type: string
   234                      description: status of the condition, one of True, False, Unknown.
   235                      enum:
   236                      - "True"
   237                      - "False"
   238                      - Unknown
   239                    lastTransitionTime:
   240                      type: string
   241                      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.
   242                      format: date-time
   243                    message:
   244                      type: string
   245                      description: message is a human readable message indicating details about the transition. This may be an empty string.
   246                      maxLength: 32768
   247                    observedGeneration:
   248                      type: integer
   249                      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.
   250                      format: int64
   251                      minimum: 0
   252                    reason:
   253                      type: string
   254                      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.
   255                      maxLength: 1024
   256                      minLength: 1
   257                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   258                  required:
   259                  - lastTransitionTime
   260                  - message
   261                  - reason
   262                  - status
   263                  - type
   264              inventory:
   265                type: object
   266                description: Inventory is the K8s resources that this object manages.
   267                properties:
   268                  entries:
   269                    type: array
   270                    description: Entries of Kubernetes resource object references.
   271                    items:
   272                      type: object
   273                      description: ResourceRef contains the information necessary to locate a resource within a cluster.
   274                      properties:
   275                        id:
   276                          type: string
   277                          description: ID is the string representation of the Kubernetes resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
   278                        v:
   279                          type: string
   280                          description: Version is the API version of the Kubernetes resource object's kind.
   281                      required:
   282                      - id
   283                      - v
   284              lastApplied:
   285                type: array
   286                description: LastApplied is the last set of resolved artifacts that were applied.
   287                items:
   288                  type: object
   289                  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.
   290                  properties:
   291                    name:
   292                      type: string
   293                    digest:
   294                      type: string
   295                      description: Digest is the digest for the package reference (e.g., `shoot:latest`, Pallet.Digest())
   296                    resolvedDigest:
   297                      type: string
   298                      description: ResolvedDigest is the digest of the provider-specific variant pulled from the package based on where it is being scheduled.
   299                  required:
   300                  - digest
   301                  - name
   302                  - resolvedDigest
   303              lastAttempted:
   304                type: array
   305                description: LastAttempted is the last set of resolved artifacts that the controller attempted to apply.
   306                items:
   307                  type: object
   308                  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.
   309                  properties:
   310                    name:
   311                      type: string
   312                    digest:
   313                      type: string
   314                      description: Digest is the digest for the package reference (e.g., `shoot:latest`, Pallet.Digest())
   315                    resolvedDigest:
   316                      type: string
   317                      description: ResolvedDigest is the digest of the provider-specific variant pulled from the package based on where it is being scheduled.
   318                  required:
   319                  - digest
   320                  - name
   321                  - resolvedDigest
   322              lastHandledReconcileAt:
   323                type: string
   324                description: LastHandledReconcileAt holds the value of the most recent reconcile request value, so a change of the annotation value can be detected.
   325              observedGeneration:
   326                type: integer
   327                format: int64
   328    served: true
   329    storage: true
   330    subresources:
   331      status: {}
   332---
   333apiVersion: apiextensions.k8s.io/v1
   334kind: CustomResourceDefinition
   335metadata:
   336  name: unpackedpallets.warehouse.edge.ncr.com
   337  annotations:
   338    controller-gen.kubebuilder.io/version: (unknown)
   339    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   340    pallet.edge.ncr.com/name: lumper-controller
   341    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   342    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   343    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   344    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   345  labels: {}
   346spec:
   347  group: warehouse.edge.ncr.com
   348  names:
   349    kind: UnpackedPallet
   350    listKind: UnpackedPalletList
   351    plural: unpackedpallets
   352    singular: unpackedpallet
   353  scope: Cluster
   354  versions:
   355  - name: v1alpha1
   356    additionalPrinterColumns:
   357    - name: Digest
   358      type: string
   359      jsonPath: .status.shortDigest
   360    - name: Ready
   361      type: string
   362      jsonPath: .status.conditions[?(@.type=="Ready")].status
   363    - name: Status
   364      type: string
   365      jsonPath: .status.conditions[?(@.type=="Ready")].message
   366    - name: Status Age
   367      type: date
   368      jsonPath: .status.conditions[?(@.type=="Ready")].lastTransitionTime
   369    - name: Prune
   370      type: string
   371      priority: 1
   372      jsonPath: .spec.prune
   373    - name: Suspend
   374      type: string
   375      priority: 1
   376      jsonPath: .spec.suspend
   377    - name: Shipment
   378      type: string
   379      priority: 1
   380      jsonPath: .status.shipment
   381    - name: Force
   382      type: string
   383      priority: 1
   384      jsonPath: .spec.force
   385    - name: Dependencies
   386      type: string
   387      priority: 1
   388      jsonPath: .status.dependencies
   389    - name: Age
   390      type: date
   391      jsonPath: .metadata.creationTimestamp
   392    schema:
   393      openAPIV3Schema:
   394        type: object
   395        description: "UnpackedPallet is an individual package that will be unpacked and scheduled to the cluster. \n Generally, this object shouldn't be created directly, it should be created via Shipment objects, similarly to how a Deployment schedules a ReplicaSet."
   396        properties:
   397          apiVersion:
   398            type: string
   399            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'
   400          kind:
   401            type: string
   402            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'
   403          metadata:
   404            type: object
   405          spec:
   406            type: object
   407            properties:
   408              name:
   409                type: string
   410                description: Name is the unique Warehouse package name. It is typically equal to the last segment of an image repository string, depending on registry implementation e.g., gcr.io/foo/bar, where bar is the name of the package and gcr.io/foo/bar is the provided Repository string. Or, us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name where nested/name is the Name and the us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name is the Repository. An Artifact can not be resolved by Name alone.
   411              creds:
   412                type: object
   413                description: Credentials is an optional secret reference pointing to a secret containing registry credentials. The secret must be of type kubernetes.io/dockerconfigjson
   414                properties:
   415                  name:
   416                    type: string
   417                    description: name is unique within a namespace to reference a secret resource.
   418                  namespace:
   419                    type: string
   420                    description: namespace defines the space within which the secret name must be unique.
   421              dependsOn:
   422                type: array
   423                description: DependsOn is the list of UnpackedPallets that need to be successfully reconciled first.
   424                items:
   425                  type: object
   426                  description: LocalObjectReference contains enough information to locate the referenced Kubernetes resource object.
   427                  properties:
   428                    name:
   429                      type: string
   430                      description: Name of the referent.
   431                      maxLength: 253
   432                      minLength: 1
   433                  required:
   434                  - name
   435              digest:
   436                type: string
   437                description: Digest is the sha256 digest of the OCI artifact to apply to the cluster. Takes precedence over tag if set.
   438              force:
   439                type: boolean
   440                default: false
   441                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.
   442              interval:
   443                type: string
   444                default: 60s
   445                description: Interval is how often the object will be reconciled, in order to prevent drift.
   446              packagePullOptions:
   447                type: object
   448                description: PackagePullOptions are options used to configure pulling packages from remote registry, memory cache or disk layout.
   449                properties:
   450                  pullPolicy:
   451                    type: string
   452                    default: Always
   453                    description: "PackagePullPolicy is the strategy used to decide when a package should be pulled from remote registry, memory cache or disk layout \n TODO(aw185176): Support \"Never\" pull policy."
   454                    enum:
   455                    - Always
   456                    - IfNotPresent
   457              parameters:
   458                type: object
   459                additionalProperties:
   460                  type: string
   461                description: Parameters are the key/value pairs that will be used while rendering manifests from unpacked pallets.
   462              prune:
   463                type: boolean
   464                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.
   465              repo:
   466                type: string
   467                description: Repository is the image repository that the tag or digest should be pulled from, e.g., us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/lumperctl
   468              retryInterval:
   469                type: string
   470                default: 10s
   471                description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
   472              suspend:
   473                type: boolean
   474                description: This flag tells the controller to suspend subsequent reconciliations, it does not apply to already started reconciliations. Defaults to false.
   475              tag:
   476                type: string
   477                description: Tag is a mutable reference to the OCI artifact to apply. Defaults to "latest" if neither Tag or Digest are set.
   478              timeout:
   479                type: string
   480                default: 120s
   481                description: Timeout is how long the controller will wait for the applied objects to reconcile.
   482              unpack:
   483                type: object
   484                description: UnpackOptions
   485                properties:
   486                  capabilities:
   487                    type: array
   488                    description: Capabilities are additional runtime layers to apply. If Runtime is set to false, this field must be empty.
   489                    items:
   490                      type: string
   491                  infra:
   492                    type: boolean
   493                    default: false
   494                    description: Infra is whether or not to schedule infrastructure objects.
   495                  infraNamespace:
   496                    type: string
   497                    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.
   498                  provider:
   499                    type: string
   500                    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)
   501                  runtime:
   502                    type: boolean
   503                    default: false
   504                    description: Runtime determines if runtime resources should be applied. By default, only the base runtime layer is applied.
   505            required:
   506            - force
   507            - name
   508            - prune
   509            - repo
   510          status:
   511            type: object
   512            default:
   513              observedGeneration: -1
   514            description: UnpackedPalletStatus contains the readiness of the reconciled resources and an inventory of currently applied resources.
   515            properties:
   516              conditions:
   517                type: array
   518                items:
   519                  type: object
   520                  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 }"
   521                  properties:
   522                    type:
   523                      type: string
   524                      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)
   525                      maxLength: 316
   526                      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])$
   527                    status:
   528                      type: string
   529                      description: status of the condition, one of True, False, Unknown.
   530                      enum:
   531                      - "True"
   532                      - "False"
   533                      - Unknown
   534                    lastTransitionTime:
   535                      type: string
   536                      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.
   537                      format: date-time
   538                    message:
   539                      type: string
   540                      description: message is a human readable message indicating details about the transition. This may be an empty string.
   541                      maxLength: 32768
   542                    observedGeneration:
   543                      type: integer
   544                      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.
   545                      format: int64
   546                      minimum: 0
   547                    reason:
   548                      type: string
   549                      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.
   550                      maxLength: 1024
   551                      minLength: 1
   552                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   553                  required:
   554                  - lastTransitionTime
   555                  - message
   556                  - reason
   557                  - status
   558                  - type
   559              dependencies:
   560                type: string
   561                description: Dependencies is a stringified comman delimited list of
   562              inventory:
   563                type: object
   564                description: ResourceInventory contains a list of Kubernetes resource object references that have been applied.
   565                properties:
   566                  entries:
   567                    type: array
   568                    description: Entries of Kubernetes resource object references.
   569                    items:
   570                      type: object
   571                      description: ResourceRef contains the information necessary to locate a resource within a cluster.
   572                      properties:
   573                        id:
   574                          type: string
   575                          description: ID is the string representation of the Kubernetes resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
   576                        v:
   577                          type: string
   578                          description: Version is the API version of the Kubernetes resource object's kind.
   579                      required:
   580                      - id
   581                      - v
   582              lastApplied:
   583                type: string
   584                description: LastApplied is the digest of the last artifact the controller successfully applied.
   585              lastAttempted:
   586                type: string
   587                description: LastAttempted is the digest of the last artifact the controller attempted to applied.
   588              lastHandledReconcileAt:
   589                type: string
   590                description: LastHandledReconcileAt holds the value of the most recent reconcile request value, so a change of the annotation value can be detected.
   591              observedGeneration:
   592                type: integer
   593                description: ObservedGeneration is the object.generation the last time that the controller reconciled the object.
   594                format: int64
   595              shipment:
   596                type: string
   597                description: Shipment is the parent shipment that created the child unpackedpallet
   598              shortDigest:
   599                type: string
   600                description: ShortDigest is a truncated form of the sha256 Digest.
   601              statusAge:
   602                type: string
   603                description: StatusAge contains the time the status of an object was set.
   604                format: date-time
   605    served: true
   606    storage: true
   607    subresources:
   608      status: {}
   609---
   610apiVersion: v1
   611kind: ServiceAccount
   612metadata:
   613  name: lumperctl
   614  namespace: warehouse-system
   615  annotations:
   616    iam.gke.io/gcp-service-account: lumperctl-${cluster_hash}@${gcp_project_id}.iam.gserviceaccount.com
   617    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   618    pallet.edge.ncr.com/name: lumper-controller
   619    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   620    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   621    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   622    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   623  labels: {}
   624---
   625apiVersion: rbac.authorization.k8s.io/v1
   626kind: ClusterRole
   627metadata:
   628  name: lumperctl
   629  annotations:
   630    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   631    pallet.edge.ncr.com/name: lumper-controller
   632    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   633    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   634    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   635    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   636  labels: {}
   637rules:
   638- resources:
   639  - configmaps
   640  - secrets
   641  - serviceaccounts
   642  apiGroups:
   643  - ""
   644  verbs:
   645  - get
   646  - list
   647  - watch
   648- resources:
   649  - events
   650  apiGroups:
   651  - ""
   652  verbs:
   653  - create
   654  - patch
   655- resources:
   656  - shipments/finalizers
   657  apiGroups:
   658  - warehouse.edge.ncr.com
   659  verbs:
   660  - create
   661  - delete
   662  - get
   663  - patch
   664  - update
   665- resources:
   666  - unpackedpallets
   667  apiGroups:
   668  - warehouse.edge.ncr.com
   669  verbs:
   670  - create
   671  - delete
   672  - get
   673  - list
   674  - patch
   675  - update
   676  - watch
   677- resources:
   678  - unpackedpallets/finalizers
   679  apiGroups:
   680  - warehouse.edge.ncr.com
   681  verbs:
   682  - create
   683  - delete
   684  - get
   685  - patch
   686  - update
   687- resources:
   688  - unpackedpallets/status
   689  apiGroups:
   690  - warehouse.edge.ncr.com
   691  verbs:
   692  - get
   693  - patch
   694  - update
   695---
   696apiVersion: rbac.authorization.k8s.io/v1
   697kind: ClusterRoleBinding
   698metadata:
   699  name: lumperctl
   700  annotations:
   701    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   702    pallet.edge.ncr.com/name: lumper-controller
   703    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   704    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   705    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   706    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   707  labels: {}
   708roleRef:
   709  name: lumperctl
   710  kind: ClusterRole
   711  apiGroup: rbac.authorization.k8s.io
   712subjects:
   713- name: lumperctl
   714  namespace: lumperctl
   715  kind: ServiceAccount
   716---
   717apiVersion: rbac.authorization.k8s.io/v1
   718kind: ClusterRoleBinding
   719metadata:
   720  name: warehouse-cluster-reconciler
   721  annotations:
   722    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   723    pallet.edge.ncr.com/name: lumper-controller
   724    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   725    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   726    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   727    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   728  labels: {}
   729roleRef:
   730  name: cluster-admin
   731  kind: ClusterRole
   732  apiGroup: rbac.authorization.k8s.io
   733subjects:
   734- name: lumperctl
   735  namespace: warehouse-system
   736  kind: ServiceAccount
   737---
   738apiVersion: v1
   739kind: ConfigMap
   740metadata:
   741  name: lumper-options
   742  namespace: warehouse-system
   743  annotations:
   744    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   745    pallet.edge.ncr.com/name: lumper-controller
   746    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   747    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   748    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   749    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   750  labels: {}
   751data:
   752  CACHE_PATH: /cache/lumper
   753  DEPENDENCY_REQUEUE_INTERVAL: 30s
   754  DISABLE_DISK_CACHE: "true"
   755  MEMORY_CACHE_LIMIT: "500"
   756  SHIPMENT_CONCURRENCY: "16"
   757  UNPACKED_PALLET_CONCURRENCY: "64"
   758---
   759apiVersion: v1
   760kind: Service
   761metadata:
   762  name: lumperctl
   763  labels:
   764    platform.edge.ncr.com/component: lumperctl
   765  namespace: warehouse-system
   766  annotations:
   767    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   768    pallet.edge.ncr.com/name: lumper-controller
   769    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   770    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   771    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   772    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   773spec:
   774  selector:
   775    platform.edge.ncr.com/component: lumperctl
   776  ports:
   777  - name: metrics
   778    port: 8080
   779---
   780apiVersion: apps/v1
   781kind: Deployment
   782metadata:
   783  name: lumperctl
   784  namespace: warehouse-system
   785  annotations:
   786    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   787    pallet.edge.ncr.com/name: lumper-controller
   788    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   789    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   790    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   791    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   792  labels: {}
   793spec:
   794  replicas: 1
   795  selector:
   796    matchLabels:
   797      platform.edge.ncr.com/component: lumperctl
   798  template:
   799    metadata:
   800      labels:
   801        platform.edge.ncr.com/component: lumperctl
   802      annotations:
   803        pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   804        pallet.edge.ncr.com/name: lumper-controller
   805        pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   806        pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   807        pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   808        pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   809    spec:
   810      serviceAccountName: lumperctl
   811      containers:
   812      - name: lumperctl
   813        image: us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:4b2ac8dc39d9487882e25b04155529f2c2cddb6366b045077626b3f6462501f1
   814        args:
   815        # want to be sure that changing the provider causes a Pod restart
   816        - --cluster-provider=${cluster_provider}
   817        ports:
   818        - name: metrics
   819          containerPort: 8080
   820        envFrom:
   821        - configMapRef:
   822            name: lumper-options
   823        # optional configmap so users can "side-load" configuration
   824        # per deployment
   825        - configMapRef:
   826            name: lumper-user-options
   827            optional: true
   828        resources:
   829          limits:
   830            cpu: "1000m"
   831            memory: "1Gi"
   832          requests:
   833            cpu: "512m"
   834            memory: "512Mi"
   835        volumeMounts:
   836        - name: lumper-cache
   837          mountPath: /cache/lumper
   838        imagePullPolicy: IfNotPresent
   839      volumes:
   840      - name: lumper-cache
   841        emptyDir: {}
   842      imagePullSecrets:
   843      - name: edge-docker-pull-secret
   844  strategy:
   845    type: RollingUpdate

View as plain text