Documentation ¶
Overview ¶
Package model contains all the data container types needed to model your physical and logical infrastructure through the concept of a group and all your tasks, processes or containers through the concept of an entity. An entity can have metric requirements - the entity needs so much cpu, memory, disk, etc. - and affinity requirements - the entity does/does not want to be placed on a group which contains relations from some other entities or the entity does/does not want to be placed on a group with some certain labels - e.g. a certain sku, having a specific kernel version, etc. Lastly an entity can also have some soft requirements captured in a strict total ordering to break ties if there are multiple groups that satisfy the entity's hard requirements.
This package contains the following subpackages that covers the following areas from above:
- labels contains types used to model labels of a group and relations of an entity for use in the affinity requirements.
- metrics contains types to model sets of metric values.
- orderings contains types to model orderings to capture the soft requirements of an entity.
- placements contains the basic group and entity types.
- requirements contain the types to model metric and affinity requirements.