Skip to main content

Step 3. Shipment

In step 2, the customer specified the placement that they want and gave the shipping instructions. Now the ball is back in provider's court.

Node

The provider assigns actual nodes (ie servers) to the customer. They do so by publishing the node object in the repository. It represents a real computer with model and serial number. You can see a node object example.

/edgecell-mcdougals/nodes/gluebook33.yaml

apiVersion: edgecell.io/v1
kind: Node
metadata:
name: gluebook33
namespace: mcdougals.com
uuid: baf25062-1a1a-4a62-8fa2-233187c405e3
labels:
customer: mcdougals.com
annotations:
model: UNO-148-B33BA
serialnumber: 09234092
spec:
type: edgecell.io/aa1
image: edgecell.io/aa1:2.0.9
network:
addr: 10.0.12.123
status:
built: true
shipped: true

Note that yaml enables multiple objects in a file, so all three could have been expressed in a single file. We can also create folders for nesting however we want. Everything is how it is most convenient for your team.

Shipment

The provider has also published a shipment object.

/edgecell-mcdougals/shipment/2023W08/pilot.yaml

apiVersion: edgecell.io/v1
kind: Shipment
metadata:
name: mcdougals-2023W09-1
namespace: edgecell.io
uuid: b23bc21b-d61f-4b18-b3e0-43a103a73185
labels:
week: 2023W09
customer: mcdougals.com
spec:
schedules:
- mcdougals.com/pilot01
nodes:
- mcdougals.com/gluebook33
- mcdougals.com/greymane95
- mcdougals.com/loadfred24
address: |-
Steve Lobinowitz
McDougals Inc
2700 West University
Denton, TX 76201
tracking: https://www.fedex.com/fedextrack/?trknbr=93001903009002813509364926/
status:
state: delivered
packed: 2023-02-23
shipped: 2023-02-23
delivered: 2023-02-28

Multiple placements could have the same shipping address. You see it completed, but the provider should be making updates to the file as events happen. The customer can track the shipment as this document is updated.

As you see, a lot of information is repeated in the different objects. For instance, the shipping address is repeated several times. The VS Code tools keep the user from having to retype these fields. However, versioning in Git will define differences or breaks. If the fields are different, the tools will flag as an error to address.

Weeks

A note about shipping schedules. A month is too flexible and a day is too precise. When dealing with international deployments, no one can plan delivery to the day. Customs, you know. So, the compromise is by week. ISO week specifies not only how to express the week but also how to calculate it.

In our example, the schedule was 2023W09 which is Monday, 2023-02-27 (Feb 27) to Sunday, 2023-03-05 (Mar 5).

You can calulate weeks at https://planetcalc.com/8540/