API Reference
Packages
monitoring.wire.cobaltcore.dev/v1alpha1
Package v1alpha1 contains API Schema definitions for the monitoring.wire.cobaltcore.dev v1alpha1 API group.
Resource Types
DeviceMonitor
DeviceMonitor is the Schema for the devicemonitors API
| Field | Description | Default | Validation |
|---|---|---|---|
apiVersion string | monitoring.wire.cobaltcore.dev/v1alpha1 | ||
kind string | DeviceMonitor | ||
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | ||
spec DeviceMonitorSpec | Specification of the desired state of the resource. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | Required: {} | |
status DeviceMonitorStatus | Status of the resource. This is set and updated automatically. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | Optional: {} |
DeviceMonitorSpec
DeviceMonitorSpec defines the desired state of DeviceMonitor
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
replicas integer | Number of desired monitoring pods. Defaults to 1. | 1 | Minimum: 1 Optional: {} |
deviceSelector LabelSelector | Label selector for devices that should be monitored by this DeviceMonitor. | Required: {} | |
template PodTemplateSpec | Template describes the gnmic pods that will be created. | Required: {} | |
subscriptions Subscription array | Subscriptions is a list of gNMI subscriptions to be created. | MinItems: 1 Required: {} | |
encoding Encoding | Encoding represents the encoding format for gNMI messages. Supported values are "json" and "json_ietf". Defaults to "json_ietf". | json_ietf | Enum: [json json_ietf] Optional: {} |
metrics MetricsSpec | Metrics configures Prometheus metrics collection and ServiceMonitor creation. If omitted, the metrics Service receives only operator-generated labels and no ServiceMonitor is created. | Optional: {} |
DeviceMonitorStatus
DeviceMonitorStatus defines the observed state of DeviceMonitor.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
conditions Condition array | The conditions are a list of status objects that describe the state of the DeviceMonitor. | Optional: {} |
Encoding
Underlying type: string
Encoding represents the encoding format for gNMI messages.
Validation:
- Enum: [json json_ietf]
Appears in:
| Field | Description |
|---|---|
json | EncodingJSON represents JSON encoding format. |
json_ietf | EncodingJSONIETF represents JSON IETF encoding format. |
MetricsSpec
MetricsSpec configures Prometheus metrics scraping and ServiceMonitor creation.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
additionalLabels object (keys:string, values:string) | AdditionalLabels are extra labels merged onto the operator-managed metrics Service. They do not override operator-generated labels. Use this to make the Service discoverable by an external ServiceMonitor. | MaxProperties: 64 Optional: {} | |
serviceMonitor ServiceMonitorSpec | ServiceMonitor configures the Prometheus ServiceMonitor resource. If present, the operator creates and manages a ServiceMonitor. If omitted, no ServiceMonitor is created. | Optional: {} |
Mode
Underlying type: string
Mode represents the gNMI streaming mode.
Validation:
- Enum: [Stream Once Poll]
Appears in:
| Field | Description |
|---|---|
Stream | ModeStream represents the gNMI Stream mode. |
Once | ModeOnce represents the gNMI Once mode. |
Poll | ModePoll represents the gNMI Poll mode. |
PodSpec
PodSpec is a description of a pod.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
nodeSelector object (keys:string, values:string) | NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | Optional: {} | |
affinity Affinity | If specified, sets the pod's scheduling constraints. | Optional: {} |
PodTemplateSpec
PodTemplateSpec describes the additional data a pod should have. It is a subset from the [corev1.PodTemplateSpec] type.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
metadata ObjectMeta | Refer to Kubernetes API documentation for fields of metadata. | Optional: {} | |
spec PodSpec | Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status | Optional: {} |
ServiceMonitorSpec
ServiceMonitorSpec defines configuration for the operator-managed ServiceMonitor resource.
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
additionalLabels object (keys:string, values:string) | AdditionalLabels are extra labels merged onto the ServiceMonitor metadata. Use this to match the serviceMonitorSelector on a Prometheus CR. | MaxProperties: 64 Optional: {} | |
interval Duration | Interval at which Prometheus scrapes the metrics endpoint. If empty, Prometheus uses its configured global scrape interval. | Optional: {} | |
scrapeTimeout Duration | ScrapeTimeout is the per-scrape timeout when querying the metrics endpoint. Must be less than or equal to Interval. If empty, Prometheus uses its configured global scrape timeout. | Optional: {} |
StreamMode
Underlying type: string
StreamMode represents the gNMI stream mode.
Validation:
- Enum: [TargetDefined Sample OnChange]
Appears in:
| Field | Description |
|---|---|
TargetDefined | StreamModeTargetDefined represents the gNMI TargetDefined stream mode. |
Sample | StreamModeSample represents the gNMI Sample stream mode. |
OnChange | StreamModeOnChange represents the gNMI OnChange stream mode. |
Subscription
Appears in:
| Field | Description | Default | Validation |
|---|---|---|---|
name string | Name is the name of the subscription. | MaxLength: 255 MinLength: 1 Required: {} | |
paths string array | Paths is a list of gNMI paths to subscribe to. | MaxItems: 10 MinItems: 1 items:MaxLength: 1024 items:MinLength: 1 Required: {} | |
models string array | Models is a list of YANG models to be used for the subscription. | MaxItems: 10 MinItems: 0 items:MaxLength: 255 items:MinLength: 1 Optional: {} | |
mode Mode | Mode represents the gNMI streaming mode. Supported values are "Stream", "Once", and "Poll". Defaults to "Stream". | Stream | Enum: [Stream Once Poll] Optional: {} |
streamMode StreamMode | StreamMode represents the gNMI stream mode. Supported values are "TargetDefined", "Sample", and "OnChange". This field is only applicable when Mode is set to "Stream". Defaults to "Sample". | Sample | Enum: [TargetDefined Sample OnChange] Optional: {} |
sampleInterval Duration | SampleInterval is the interval at which to sample data. This field is only applicable when StreamMode is set to "Sample". The value must be a valid duration string, e.g., "10s", "1m", "1h". Defaults to "10s". | 10s | Format: duration Pattern: ^([0-9]+(ns|us|ms|s|m|h))+$ Type: string Optional: {} |