API Reference
Packages:
kepler.system.sustainable.computing.io/v1alpha1
Resource Types:
PowerMonitorInternal
PowerMonitorInternal is the Schema for the internal kepler 2 API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | kepler.system.sustainable.computing.io/v1alpha1 | true |
kind | string | PowerMonitorInternal | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
PowerMonitorInternalSpec defines the desired state of PowerMonitorInternalSpec |
false |
status | object |
|
false |
PowerMonitorInternal.spec
PowerMonitorInternalSpec defines the desired state of PowerMonitorInternalSpec
Name | Type | Description | Required |
---|---|---|---|
kepler | object |
|
true |
openshift | object |
|
false |
PowerMonitorInternal.spec.kepler
Name | Type | Description | Required |
---|---|---|---|
deployment | object |
|
true |
config | object |
|
false |
PowerMonitorInternal.spec.kepler.deployment
Name | Type | Description | Required |
---|---|---|---|
image | string |
|
true |
namespace | string |
|
true |
kubeRbacProxyImage | string |
|
false |
nodeSelector | map[string]string |
Defines which Nodes the Pod is scheduled on Default: map[kubernetes.io/os:linux] |
false |
security | object |
If set, defines the security mode and allowed SANames |
false |
tolerations | []object |
If specified, define Pod's tolerations Default: [map[effect: key: operator:Exists value:]] |
false |
PowerMonitorInternal.spec.kepler.deployment.security
If set, defines the security mode and allowed SANames
Name | Type | Description | Required |
---|---|---|---|
allowedSANames | []string |
|
false |
mode | enum |
Enum: none, rbac |
false |
PowerMonitorInternal.spec.kepler.deployment.tolerations[index]
The pod this Toleration is attached to tolerates any taint that matches
the triple
Name | Type | Description | Required |
---|---|---|---|
effect | string |
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. |
false |
key | string |
Key is the taint key that the toleration applies to. Empty means match all taint keys.
If the key is empty, operator must be Exists; this combination means to match all values and all keys. |
false |
operator | string |
Operator represents a key's relationship to the value.
Valid operators are Exists and Equal. Defaults to Equal.
Exists is equivalent to wildcard for value, so that a pod can
tolerate all taints of a particular category. |
false |
tolerationSeconds | integer |
TolerationSeconds represents the period of time the toleration (which must be
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do not evict). Zero and
negative values will be treated as 0 (evict immediately) by the system. Format: int64 |
false |
value | string |
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string. |
false |
PowerMonitorInternal.spec.kepler.config
Name | Type | Description | Required |
---|---|---|---|
additionalConfigMaps | []object |
AdditionalConfigMaps is a list of ConfigMap names that will be merged with the default ConfigMap
These AdditionalConfigMaps must exist in the same namespace as PowerMonitor components |
false |
logLevel | string |
Default: info |
false |
maxTerminated | integer |
MaxTerminated controls terminated workload tracking behavior
Negative values: track unlimited terminated workloads (no capacity limit)
Zero: disable terminated workload tracking completely
Positive values: track top N terminated workloads by energy consumption Format: int32 Default: 500 |
false |
metricLevels | []enum |
MetricLevels specifies which metrics levels to export
Valid values are combinations of: node, process, container, vm, pod Default: [node pod vm] |
false |
sampleRate | string |
SampleRate specifies the interval for monitoring resources (processes, containers, vms, etc.)
Must be a positive duration (e.g., "5s", "1m", "30s"). Negative values are not allowed. Default: 5s |
false |
staleness | string |
Staleness specifies how long to wait before considering calculated power values as stale
Must be a positive duration (e.g., "500ms", "5s", "1h"). Negative values are not allowed. Default: 500ms |
false |
PowerMonitorInternal.spec.kepler.config.additionalConfigMaps[index]
ConfigMapRef defines a reference to a ConfigMap
Name | Type | Description | Required |
---|---|---|---|
name | string |
Name of the ConfigMap |
true |
PowerMonitorInternal.spec.openshift
Name | Type | Description | Required |
---|---|---|---|
enabled | boolean |
Default: true |
true |
dashboard | object |
|
false |
PowerMonitorInternal.spec.openshift.dashboard
Name | Type | Description | Required |
---|---|---|---|
enabled | boolean |
Default: false |
false |
PowerMonitorInternal.status
Name | Type | Description | Required |
---|---|---|---|
conditions | []object |
conditions represent the latest available observations of power-monitor-internal |
true |
kepler | object |
|
false |
PowerMonitorInternal.status.conditions[index]
Name | Type | Description | Required |
---|---|---|---|
lastTransitionTime | string |
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. Format: date-time |
true |
message | string |
message is a human readable message indicating details about the transition.
This may be an empty string. |
true |
reason | string |
reason contains a programmatic identifier indicating the reason for the condition's last transition. |
true |
status | string |
status of the condition, one of True, False, Unknown. |
true |
type | string |
Type of Kepler Condition - Reconciled, Available ... |
true |
observedGeneration | integer |
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. Format: int64 Minimum: 0 |
false |
PowerMonitorInternal.status.kepler
Name | Type | Description | Required |
---|---|---|---|
currentNumberScheduled | integer |
The number of nodes that are running at least 1 power-monitor-internal pod and are
supposed to run the power-monitor-internal pod. Format: int32 |
true |
desiredNumberScheduled | integer |
The total number of nodes that should be running the power-monitor-internal
pod (including nodes correctly running the power-monitor-internal pod). Format: int32 |
true |
numberMisscheduled | integer |
The number of nodes that are running the power-monitor-internal pod, but are not supposed
to run the power-monitor-internal pod. Format: int32 |
true |
numberReady | integer |
numberReady is the number of nodes that should be running the power-monitor-internal pod
and have one or more of the power-monitor-internal pod running with a Ready Condition. Format: int32 |
true |
numberAvailable | integer |
The number of nodes that should be running the power-monitor-internal pod and have one or
more of the power-monitor-internal pod running and available Format: int32 |
false |
numberUnavailable | integer |
The number of nodes that should be running the
power-monitor-internal pod and have none of the power-monitor-internal pod running and available Format: int32 |
false |
updatedNumberScheduled | integer |
The total number of nodes that are running updated power-monitor-internal pod Format: int32 |
false |
PowerMonitor
PowerMonitor is the Schema for the PowerMonitor API
Name | Type | Description | Required |
---|---|---|---|
apiVersion | string | kepler.system.sustainable.computing.io/v1alpha1 | true |
kind | string | PowerMonitor | true |
metadata | object | Refer to the Kubernetes API documentation for the fields of the `metadata` field. | true |
spec | object |
PowerMonitorSpec defines the desired state of Power Monitor |
false |
status | object |
PowerMonitorStatus defines the observed state of Power Monitor |
false |
PowerMonitor.spec
PowerMonitorSpec defines the desired state of Power Monitor
Name | Type | Description | Required |
---|---|---|---|
kepler | object |
|
true |
PowerMonitor.spec.kepler
Name | Type | Description | Required |
---|---|---|---|
config | object |
|
false |
deployment | object |
|
false |
PowerMonitor.spec.kepler.config
Name | Type | Description | Required |
---|---|---|---|
additionalConfigMaps | []object |
AdditionalConfigMaps is a list of ConfigMap names that will be merged with the default ConfigMap
These AdditionalConfigMaps must exist in the same namespace as PowerMonitor components |
false |
logLevel | string |
Default: info |
false |
maxTerminated | integer |
MaxTerminated controls terminated workload tracking behavior
Negative values: track unlimited terminated workloads (no capacity limit)
Zero: disable terminated workload tracking completely
Positive values: track top N terminated workloads by energy consumption Format: int32 Default: 500 |
false |
metricLevels | []enum |
MetricLevels specifies which metrics levels to export
Valid values are combinations of: node, process, container, vm, pod Default: [node pod vm] |
false |
sampleRate | string |
SampleRate specifies the interval for monitoring resources (processes, containers, vms, etc.)
Must be a positive duration (e.g., "5s", "1m", "30s"). Negative values are not allowed. Default: 5s |
false |
staleness | string |
Staleness specifies how long to wait before considering calculated power values as stale
Must be a positive duration (e.g., "500ms", "5s", "1h"). Negative values are not allowed. Default: 500ms |
false |
PowerMonitor.spec.kepler.config.additionalConfigMaps[index]
ConfigMapRef defines a reference to a ConfigMap
Name | Type | Description | Required |
---|---|---|---|
name | string |
Name of the ConfigMap |
true |
PowerMonitor.spec.kepler.deployment
Name | Type | Description | Required |
---|---|---|---|
nodeSelector | map[string]string |
Defines which Nodes the Pod is scheduled on Default: map[kubernetes.io/os:linux] |
false |
security | object |
If set, defines the security mode and allowed SANames |
false |
tolerations | []object |
If specified, define Pod's tolerations Default: [map[effect: key: operator:Exists value:]] |
false |
PowerMonitor.spec.kepler.deployment.security
If set, defines the security mode and allowed SANames
Name | Type | Description | Required |
---|---|---|---|
allowedSANames | []string |
|
false |
mode | enum |
Enum: none, rbac |
false |
PowerMonitor.spec.kepler.deployment.tolerations[index]
The pod this Toleration is attached to tolerates any taint that matches
the triple
Name | Type | Description | Required |
---|---|---|---|
effect | string |
Effect indicates the taint effect to match. Empty means match all taint effects.
When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. |
false |
key | string |
Key is the taint key that the toleration applies to. Empty means match all taint keys.
If the key is empty, operator must be Exists; this combination means to match all values and all keys. |
false |
operator | string |
Operator represents a key's relationship to the value.
Valid operators are Exists and Equal. Defaults to Equal.
Exists is equivalent to wildcard for value, so that a pod can
tolerate all taints of a particular category. |
false |
tolerationSeconds | integer |
TolerationSeconds represents the period of time the toleration (which must be
of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
it is not set, which means tolerate the taint forever (do not evict). Zero and
negative values will be treated as 0 (evict immediately) by the system. Format: int64 |
false |
value | string |
Value is the taint value the toleration matches to.
If the operator is Exists, the value should be empty, otherwise just a regular string. |
false |
PowerMonitor.status
PowerMonitorStatus defines the observed state of Power Monitor
Name | Type | Description | Required |
---|---|---|---|
conditions | []object |
conditions represent the latest available observations of power-monitor |
true |
kepler | object |
|
false |
PowerMonitor.status.conditions[index]
Name | Type | Description | Required |
---|---|---|---|
lastTransitionTime | string |
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. Format: date-time |
true |
message | string |
message is a human readable message indicating details about the transition.
This may be an empty string. |
true |
reason | string |
reason contains a programmatic identifier indicating the reason for the condition's last transition. |
true |
status | string |
status of the condition, one of True, False, Unknown. |
true |
type | string |
Type of Kepler Condition - Reconciled, Available ... |
true |
observedGeneration | integer |
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. Format: int64 Minimum: 0 |
false |
PowerMonitor.status.kepler
Name | Type | Description | Required |
---|---|---|---|
currentNumberScheduled | integer |
The number of nodes that are running at least 1 power-monitor pod and are
supposed to run the power-monitor pod. Format: int32 |
true |
desiredNumberScheduled | integer |
The total number of nodes that should be running the power-monitor
pod (including nodes correctly running the power-monitor pod). Format: int32 |
true |
numberMisscheduled | integer |
The number of nodes that are running the power-monitor pod, but are not supposed
to run the power-monitor pod. Format: int32 |
true |
numberReady | integer |
numberReady is the number of nodes that should be running the power-monitor pod
and have one or more of the power-monitor pod running with a Ready Condition. Format: int32 |
true |
numberAvailable | integer |
The number of nodes that should be running the power-monitor pod and have one or
more of the power-monitor pod running and available Format: int32 |
false |
numberUnavailable | integer |
The number of nodes that should be running the
power-monitor pod and have none of the power-monitor pod running and available Format: int32 |
false |
updatedNumberScheduled | integer |
The total number of nodes that are running updated power-monitor pod Format: int32 |
false |