Skip to content

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

FieldDescriptionDefaultValidation
apiVersion stringmonitoring.wire.cobaltcore.dev/v1alpha1
kind stringDeviceMonitor
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec DeviceMonitorSpecSpecification 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 DeviceMonitorStatusStatus 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:

FieldDescriptionDefaultValidation
replicas integerNumber of desired monitoring pods. Defaults to 1.1Minimum: 1
Optional: {}
deviceSelector LabelSelectorLabel selector for devices that should be monitored by this DeviceMonitor.Required: {}
template PodTemplateSpecTemplate describes the gnmic pods that will be created.Required: {}
subscriptions Subscription arraySubscriptions is a list of gNMI subscriptions to be created.MinItems: 1
Required: {}
encoding EncodingEncoding represents the encoding format for gNMI messages.
Supported values are "json" and "json_ietf".
Defaults to "json_ietf".
json_ietfEnum: [json json_ietf]
Optional: {}
metrics MetricsSpecMetrics 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:

FieldDescriptionDefaultValidation
conditions Condition arrayThe 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:

FieldDescription
jsonEncodingJSON represents JSON encoding format.
json_ietfEncodingJSONIETF represents JSON IETF encoding format.

MetricsSpec

MetricsSpec configures Prometheus metrics scraping and ServiceMonitor creation.

Appears in:

FieldDescriptionDefaultValidation
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 ServiceMonitorSpecServiceMonitor 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:

FieldDescription
StreamModeStream represents the gNMI Stream mode.
OnceModeOnce represents the gNMI Once mode.
PollModePoll represents the gNMI Poll mode.

PodSpec

PodSpec is a description of a pod.

Appears in:

FieldDescriptionDefaultValidation
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 AffinityIf 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:

FieldDescriptionDefaultValidation
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.Optional: {}
spec PodSpecSpecification 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:

FieldDescriptionDefaultValidation
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 DurationInterval at which Prometheus scrapes the metrics endpoint.
If empty, Prometheus uses its configured global scrape interval.
Optional: {}
scrapeTimeout DurationScrapeTimeout 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:

FieldDescription
TargetDefinedStreamModeTargetDefined represents the gNMI TargetDefined stream mode.
SampleStreamModeSample represents the gNMI Sample stream mode.
OnChangeStreamModeOnChange represents the gNMI OnChange stream mode.

Subscription

Appears in:

FieldDescriptionDefaultValidation
name stringName is the name of the subscription.MaxLength: 255
MinLength: 1
Required: {}
paths string arrayPaths is a list of gNMI paths to subscribe to.MaxItems: 10
MinItems: 1
items:MaxLength: 1024
items:MinLength: 1
Required: {}
models string arrayModels is a list of YANG models to be used for the subscription.MaxItems: 10
MinItems: 0
items:MaxLength: 255
items:MinLength: 1
Optional: {}
mode ModeMode represents the gNMI streaming mode.
Supported values are "Stream", "Once", and "Poll".
Defaults to "Stream".
StreamEnum: [Stream Once Poll]
Optional: {}
streamMode StreamModeStreamMode 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".
SampleEnum: [TargetDefined Sample OnChange]
Optional: {}
sampleInterval DurationSampleInterval 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".
10sFormat: duration
Pattern: ^([0-9]+(ns|us|ms|s|m|h))+$
Type: string
Optional: {}
EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.