...

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

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    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   617    pallet.edge.ncr.com/name: lumper-controller
   618    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   619    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   620    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   621    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   622  labels: {}
   623---
   624apiVersion: rbac.authorization.k8s.io/v1
   625kind: ClusterRole
   626metadata:
   627  name: lumperctl
   628  annotations:
   629    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   630    pallet.edge.ncr.com/name: lumper-controller
   631    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   632    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   633    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   634    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   635  labels: {}
   636rules:
   637- resources:
   638  - configmaps
   639  - secrets
   640  - serviceaccounts
   641  apiGroups:
   642  - ""
   643  verbs:
   644  - get
   645  - list
   646  - watch
   647- resources:
   648  - events
   649  apiGroups:
   650  - ""
   651  verbs:
   652  - create
   653  - patch
   654- resources:
   655  - shipments/finalizers
   656  apiGroups:
   657  - warehouse.edge.ncr.com
   658  verbs:
   659  - create
   660  - delete
   661  - get
   662  - patch
   663  - update
   664- resources:
   665  - unpackedpallets
   666  apiGroups:
   667  - warehouse.edge.ncr.com
   668  verbs:
   669  - create
   670  - delete
   671  - get
   672  - list
   673  - patch
   674  - update
   675  - watch
   676- resources:
   677  - unpackedpallets/finalizers
   678  apiGroups:
   679  - warehouse.edge.ncr.com
   680  verbs:
   681  - create
   682  - delete
   683  - get
   684  - patch
   685  - update
   686- resources:
   687  - unpackedpallets/status
   688  apiGroups:
   689  - warehouse.edge.ncr.com
   690  verbs:
   691  - get
   692  - patch
   693  - update
   694---
   695apiVersion: rbac.authorization.k8s.io/v1
   696kind: ClusterRoleBinding
   697metadata:
   698  name: lumperctl
   699  annotations:
   700    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   701    pallet.edge.ncr.com/name: lumper-controller
   702    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   703    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   704    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   705    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   706  labels: {}
   707roleRef:
   708  name: lumperctl
   709  kind: ClusterRole
   710  apiGroup: rbac.authorization.k8s.io
   711subjects:
   712- name: lumperctl
   713  namespace: lumperctl
   714  kind: ServiceAccount
   715---
   716apiVersion: rbac.authorization.k8s.io/v1
   717kind: ClusterRoleBinding
   718metadata:
   719  name: warehouse-cluster-reconciler
   720  annotations:
   721    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   722    pallet.edge.ncr.com/name: lumper-controller
   723    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   724    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   725    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   726    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   727  labels: {}
   728roleRef:
   729  name: cluster-admin
   730  kind: ClusterRole
   731  apiGroup: rbac.authorization.k8s.io
   732subjects:
   733- name: lumperctl
   734  namespace: warehouse-system
   735  kind: ServiceAccount
   736---
   737apiVersion: v1
   738kind: ConfigMap
   739metadata:
   740  name: lumper-options
   741  namespace: warehouse-system
   742  annotations:
   743    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   744    pallet.edge.ncr.com/name: lumper-controller
   745    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   746    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   747    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   748    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   749  labels: {}
   750data:
   751  CACHE_PATH: /cache/lumper
   752  DEPENDENCY_REQUEUE_INTERVAL: 30s
   753  DISABLE_DISK_CACHE: "true"
   754  MEMORY_CACHE_LIMIT: "500"
   755  SHIPMENT_CONCURRENCY: "6"
   756  UNPACKED_PALLET_CONCURRENCY: "24"
   757---
   758apiVersion: v1
   759kind: Service
   760metadata:
   761  name: lumperctl
   762  labels:
   763    platform.edge.ncr.com/component: lumperctl
   764  namespace: warehouse-system
   765  annotations:
   766    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   767    pallet.edge.ncr.com/name: lumper-controller
   768    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   769    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   770    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   771    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   772spec:
   773  selector:
   774    platform.edge.ncr.com/component: lumperctl
   775  ports:
   776  - name: metrics
   777    port: 8080
   778---
   779apiVersion: apps/v1
   780kind: Deployment
   781metadata:
   782  name: lumperctl
   783  namespace: warehouse-system
   784  annotations:
   785    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   786    pallet.edge.ncr.com/name: lumper-controller
   787    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   788    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   789    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   790    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   791  labels: {}
   792spec:
   793  replicas: 1
   794  selector:
   795    matchLabels:
   796      platform.edge.ncr.com/component: lumperctl
   797  strategy:
   798    type: RollingUpdate
   799  template:
   800    metadata:
   801      labels:
   802        platform.edge.ncr.com/component: lumperctl
   803      annotations:
   804        pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   805        pallet.edge.ncr.com/name: lumper-controller
   806        pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   807        pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   808        pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   809        pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   810    spec:
   811      containers:
   812      - args:
   813        - --cluster-provider=${cluster_provider}
   814        env:
   815        - name: GOOGLE_APPLICATION_CREDENTIALS
   816          value: /opt/secrets/gcp-api-key/key.json
   817        envFrom:
   818        - configMapRef:
   819            name: lumper-options
   820        - configMapRef:
   821            name: lumper-user-options
   822            optional: true
   823        image: us-east1-docker.pkg.dev/ret-edge-pltf-infra/workloads/lumperctl@sha256:4b2ac8dc39d9487882e25b04155529f2c2cddb6366b045077626b3f6462501f1
   824        imagePullPolicy: IfNotPresent
   825        name: lumperctl
   826        ports:
   827        - containerPort: 8080
   828          name: metrics
   829        resources:
   830          limits:
   831            cpu: 1000m
   832            memory: 1Gi
   833          requests:
   834            cpu: 512m
   835            memory: 512Mi
   836        volumeMounts:
   837        - mountPath: /cache/lumper
   838          name: lumper-cache
   839        - mountPath: /opt/secrets/gcp-api-key
   840          name: gcp-api-key
   841          readOnly: true
   842      imagePullSecrets:
   843      - name: edge-docker-pull-secret
   844      serviceAccountName: lumperctl
   845      volumes:
   846      - emptyDir: {}
   847        name: lumper-cache
   848      - name: gcp-api-key
   849        secret:
   850          secretName: gcp-api-key
   851---
   852apiVersion: external-secrets.io/v1beta1
   853kind: ExternalSecret
   854metadata:
   855  name: gcp-api-key
   856  namespace: warehouse-system
   857  annotations:
   858    pallet.edge.ncr.com/created: "2023-02-16T21:26:39Z"
   859    pallet.edge.ncr.com/name: lumper-controller
   860    pallet.edge.ncr.com/revision: 696897a3df910b6e84a88c9336907a17b18159c1
   861    pallet.edge.ncr.com/source: https://github.com/ncrvoyix-swt-retail/edge-infra/tree/696897a3df910b6e84a88c9336907a17b18159c1
   862    pallet.edge.ncr.com/team: '@ncrvoyix-swt-retail/edge-foundation'
   863    pallet.edge.ncr.com/version: 7.7.7-rc.1676582799+commit.696897a
   864  labels: {}
   865spec:
   866  data:
   867  - remoteRef:
   868      key: ${pallet_name}-${cluster_uuid}-gcp-api-key
   869    secretKey: key.json
   870  refreshInterval: 1m
   871  secretStoreRef:
   872    name: gcp-provider
   873    kind: ClusterSecretStore
   874  target:
   875    name: gcp-api-key
   876    creationPolicy: Owner

View as plain text