Ok this is a bit janky: 'required' fields should have their value initially set to '_' whilst fields that are "optional" should have their value set to a sane default, such as an empty list in the case of lists.
This parser is intended to load and read the YAML documents that are output from the build process, and uploaded with the github release such that we know exactly what deployable we're dealing with for a given unit.
This parser expects the following syntax to be used when serialising port definitions - all elements are required.
This parser expects the following syntax to be used when serialising port definitions - all elements are required.
name->port/protocol
Where the elements specifically are:
* name: represents the logical 'name' or 'reference' you want to use this port for. Examples would be 'default' for the default service port, 'monitoring' for the monitoring port, or something like 'mutualtls' for a secure channel. The actual name is not important, but being a short, obvious reference to what it served on that particular port is typically useful.
* port: the actual port number the container binds too when exposing network functionaltiy. It goes without saying that the number must be between 1 and 65535 to form a valid, usable port definition.
* protocol: the protocol used by the service being exposed by this port. This param is used by nelson to know what should be done to the routing tables.
Here are some examples of usage, that are valid and accepted by this parser:
default->9080/https monitoring->4444/tcp
This parser is intended to load and read the YAML documents that are output from the build process, and uploaded with the github release such that we know exactly what deployable we're dealing with for a given unit.
One release may have multiple units.