Documentation ¶
Index ¶
- func AddResourceList(x, y core.ResourceList) core.ResourceList
- func AggregateContainerResources(obj map[string]interface{}, ...) (core.ResourceList, error)
- func AppNodeResources(obj map[string]interface{}, ...) (core.ResourceList, int64, error)
- func AppNodeResourcesV2(obj map[string]interface{}, ...) (core.ResourceList, int64, error)
- func ContainerResources(obj map[string]interface{}, ...) (core.ResourceList, error)
- func GetContainerByName(containers []core.Container, name string) *core.Container
- func IsRegistered(gvk schema.GroupVersionKind) bool
- func MaxResourceList(x, y core.ResourceList) core.ResourceList
- func MulResourceList(x core.ResourceList, multiplier int64) core.ResourceList
- func Register(gvk schema.GroupVersionKind, c ResourceCalculator)
- func RegisteredTypes() []schema.GroupVersionKind
- func ResourceLimits(rr core.ResourceRequirements) core.ResourceList
- func ResourceListForRoles(rr map[PodRole]core.ResourceList, roles []PodRole) core.ResourceList
- func ResourceRequests(rr core.ResourceRequirements) core.ResourceList
- func StorageResources(obj map[string]interface{}, ...) (core.ResourceList, error)
- func SubtractResourceList(x, y core.ResourceList) core.ResourceList
- func ToResourceRequirements(vrr core.VolumeResourceRequirements) core.ResourceRequirements
- type AppNode
- type AppNodeV2
- type Container
- type NotRegistered
- type PodRole
- type ReplicaList
- type ResourceCalculator
- type ResourceCalculatorFuncs
- func (c ResourceCalculatorFuncs) AppResourceLimits(obj map[string]interface{}) (core.ResourceList, error)
- func (c ResourceCalculatorFuncs) AppResourceRequests(obj map[string]interface{}) (core.ResourceList, error)
- func (c ResourceCalculatorFuncs) Mode(obj map[string]interface{}) (string, error)
- func (c ResourceCalculatorFuncs) Replicas(obj map[string]interface{}) (int64, error)
- func (c ResourceCalculatorFuncs) RoleReplicas(obj map[string]interface{}) (ReplicaList, error)
- func (c ResourceCalculatorFuncs) RoleResourceLimits(obj map[string]interface{}) (map[PodRole]core.ResourceList, error)
- func (c ResourceCalculatorFuncs) RoleResourceRequests(obj map[string]interface{}) (map[PodRole]core.ResourceList, error)
- func (c ResourceCalculatorFuncs) TotalResourceLimits(obj map[string]interface{}) (core.ResourceList, error)
- func (c ResourceCalculatorFuncs) TotalResourceRequests(obj map[string]interface{}) (core.ResourceList, error)
- func (c ResourceCalculatorFuncs) UsesTLS(obj map[string]interface{}) (bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddResourceList ¶
func AddResourceList(x, y core.ResourceList) core.ResourceList
func AggregateContainerResources ¶
func AggregateContainerResources( obj map[string]interface{}, fn func(rr core.ResourceRequirements) core.ResourceList, aggregate func(x, y core.ResourceList) core.ResourceList, fields ...string, ) (core.ResourceList, error)
func AppNodeResources ¶
func AppNodeResources( obj map[string]interface{}, fn func(rr core.ResourceRequirements) core.ResourceList, fields ...string, ) (core.ResourceList, int64, error)
func AppNodeResourcesV2 ¶ added in v0.29.1
func AppNodeResourcesV2( obj map[string]interface{}, fn func(rr core.ResourceRequirements) core.ResourceList, containerName string, fields ...string, ) (core.ResourceList, int64, error)
func ContainerResources ¶
func ContainerResources( obj map[string]interface{}, fn func(rr core.ResourceRequirements) core.ResourceList, fields ...string, ) (core.ResourceList, error)
func GetContainerByName ¶ added in v0.29.1
func IsRegistered ¶ added in v0.0.8
func IsRegistered(gvk schema.GroupVersionKind) bool
func MaxResourceList ¶
func MaxResourceList(x, y core.ResourceList) core.ResourceList
func MulResourceList ¶
func MulResourceList(x core.ResourceList, multiplier int64) core.ResourceList
func Register ¶
func Register(gvk schema.GroupVersionKind, c ResourceCalculator)
func RegisteredTypes ¶ added in v0.0.2
func RegisteredTypes() []schema.GroupVersionKind
func ResourceLimits ¶
func ResourceLimits(rr core.ResourceRequirements) core.ResourceList
func ResourceListForRoles ¶
func ResourceListForRoles(rr map[PodRole]core.ResourceList, roles []PodRole) core.ResourceList
func ResourceRequests ¶
func ResourceRequests(rr core.ResourceRequirements) core.ResourceList
func StorageResources ¶
func StorageResources( obj map[string]interface{}, fn func(rr core.ResourceRequirements) core.ResourceList, fields ...string, ) (core.ResourceList, error)
func SubtractResourceList ¶ added in v0.25.4
func SubtractResourceList(x, y core.ResourceList) core.ResourceList
func ToResourceRequirements ¶ added in v0.29.0
func ToResourceRequirements(vrr core.VolumeResourceRequirements) core.ResourceRequirements
Types ¶
type AppNode ¶
type AppNode struct { Replicas *int64 `json:"replicas,omitempty"` PodTemplate ofst.PodTemplateSpec `json:"podTemplate,omitempty"` Storage core.PersistentVolumeClaimSpec `json:"storage,omitempty"` }
type AppNodeV2 ¶ added in v0.29.1
type AppNodeV2 struct { Replicas *int64 `json:"replicas,omitempty"` PodTemplate ofstv2.PodTemplateSpec `json:"podTemplate,omitempty"` Storage core.PersistentVolumeClaimSpec `json:"storage,omitempty"` }
type Container ¶
type Container struct {
Resources core.ResourceRequirements `json:"resources"`
}
type NotRegistered ¶
type NotRegistered struct {
// contains filtered or unexported fields
}
func (NotRegistered) Error ¶
func (e NotRegistered) Error() string
type PodRole ¶
type PodRole string
const ( PodRoleDefault PodRole = "" PodRoleInit PodRole = "init" PodRoleRouter PodRole = "router" PodRoleExporter PodRole = "exporter" PodRoleTotalShard PodRole = "total_shard" PodRoleShard PodRole = "shard" PodRoleReplicasPerShard PodRole = "replicas_per_shard" PodRoleConfigServer PodRole = "config_server" PodRoleMongos PodRole = "mongos" PodRoleAggregator PodRole = "aggregator" PodRoleLeaf PodRole = "leaf" )
type ReplicaList ¶
type ResourceCalculator ¶
type ResourceCalculator interface { Replicas(obj map[string]interface{}) (int64, error) RoleReplicas(obj map[string]interface{}) (ReplicaList, error) Mode(obj map[string]interface{}) (string, error) UsesTLS(obj map[string]interface{}) (bool, error) TotalResourceLimits(obj map[string]interface{}) (core.ResourceList, error) TotalResourceRequests(obj map[string]interface{}) (core.ResourceList, error) AppResourceLimits(obj map[string]interface{}) (core.ResourceList, error) AppResourceRequests(obj map[string]interface{}) (core.ResourceList, error) RoleResourceLimits(obj map[string]interface{}) (map[PodRole]core.ResourceList, error) RoleResourceRequests(obj map[string]interface{}) (map[PodRole]core.ResourceList, error) }
func Load ¶
func Load(obj map[string]interface{}) (ResourceCalculator, error)
type ResourceCalculatorFuncs ¶
type ResourceCalculatorFuncs struct { // Resources used by the main application (eg, database) containers AppRoles []PodRole // usually AppRoles + Exporter + Any custom sidecar (label selector etc.) that is used at runtime // Must NOT include init container resources RuntimeRoles []PodRole RoleReplicasFn func(obj map[string]interface{}) (ReplicaList, error) ModeFn func(obj map[string]interface{}) (string, error) UsesTLSFn func(obj map[string]interface{}) (bool, error) RoleResourceLimitsFn func(obj map[string]interface{}) (map[PodRole]core.ResourceList, error) RoleResourceRequestsFn func(obj map[string]interface{}) (map[PodRole]core.ResourceList, error) }
func (ResourceCalculatorFuncs) AppResourceLimits ¶
func (c ResourceCalculatorFuncs) AppResourceLimits(obj map[string]interface{}) (core.ResourceList, error)
func (ResourceCalculatorFuncs) AppResourceRequests ¶
func (c ResourceCalculatorFuncs) AppResourceRequests(obj map[string]interface{}) (core.ResourceList, error)
func (ResourceCalculatorFuncs) Mode ¶
func (c ResourceCalculatorFuncs) Mode(obj map[string]interface{}) (string, error)
func (ResourceCalculatorFuncs) Replicas ¶
func (c ResourceCalculatorFuncs) Replicas(obj map[string]interface{}) (int64, error)
func (ResourceCalculatorFuncs) RoleReplicas ¶
func (c ResourceCalculatorFuncs) RoleReplicas(obj map[string]interface{}) (ReplicaList, error)
func (ResourceCalculatorFuncs) RoleResourceLimits ¶
func (c ResourceCalculatorFuncs) RoleResourceLimits(obj map[string]interface{}) (map[PodRole]core.ResourceList, error)
func (ResourceCalculatorFuncs) RoleResourceRequests ¶
func (c ResourceCalculatorFuncs) RoleResourceRequests(obj map[string]interface{}) (map[PodRole]core.ResourceList, error)
func (ResourceCalculatorFuncs) TotalResourceLimits ¶
func (c ResourceCalculatorFuncs) TotalResourceLimits(obj map[string]interface{}) (core.ResourceList, error)
func (ResourceCalculatorFuncs) TotalResourceRequests ¶
func (c ResourceCalculatorFuncs) TotalResourceRequests(obj map[string]interface{}) (core.ResourceList, error)
Click to show internal directories.
Click to hide internal directories.