feat(metric-gen): Implement metric-gen tool to create custom resource configuration from markers
What this PR does / why we need it:
Implements the metric-gen tool which could get used to create custom resource configurations directly from code, similar to what controller-gen does.
~Note: this is a WIP PR and is not finished yet.~ Ready for review
Its current state is able to create a full working equivalent for Cluster API's hand-baked manual configuration file when using this Cluster API fork branch which adds the markers to the API types.
Open AI's:
- [x] Improve/add go comments at the metric package
- [x] Integrate into Makefile
- [x] unit/integration tests
- [ ] ~Documentation~
- [x] Review/Feedback loop
How does this change affect the cardinality of KSM: (increases, decreases or does not change cardinality)
No change because it does not change kube-state-metrics itself
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #1899
Happy to gather early feedback on this.
The work is mostly based on what metrics got defined for Cluster API's resources.
Example usage:
PATH_TO_CAPI_FORK=/some/path
metric-gen \
"${PATH_TO_CAPI_FORK}/bootstrap/kubeadm/api/v1beta1" \
"${PATH_TO_CAPI_FORK}/controlplane/kubeadm/api/v1beta1" \
"${PATH_TO_CAPI_FORK}/api/v1beta1" \
"${PATH_TO_CAPI_FORK}/exp/api/v1beta1" \
> metrics.yaml
moving to draft after seeing that ci is happy for now
Thanks @chrischdi for submitting this! Unfortunately it seems like every maintainer is quite busy, I hope to get a chance to review it next week and provide better feedback.
Thanks @chrischdi for submitting this! Unfortunately it seems like every maintainer is quite busy, I hope to get a chance to review it next week and provide better feedback.
No worries :-) I also did not get into the open points yet 👍 Thanks for the heads up 🍀
Also wondering if this should be implemented as kubebuilder plugin instead https://book.kubebuilder.io/plugins/plugins.html (which is pretty new)
Note: does not match the use case if I got it right
Note: currently reviving this PR 🎉
Currently works for CAPI and CAPV:
- CAPI branch with markers: https://github.com/chrischdi/cluster-api/tree/experiment-metrics-gen-flags
- CAPV branch with markes: https://github.com/chrischdi/cluster-api-provider-vsphere/tree/pr-exp-metric-gen
Result configuration:
spec:
resources:
- errorLogV: 0
groupVersionKind:
group: bootstrap.cluster.x-k8s.io
kind: KubeadmConfig
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_kubeadmconfig
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the kubeadmconfig is paused and any of its resources will not
be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
name:
- metadata
- name
path: null
type: Info
help: Information about a kubeadmconfig.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a kubeadmconfig.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a kubeadmconfig.
name: status_condition_last_transition_time
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: Cluster
version: v1beta1
labelsFromPath:
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_cluster
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the cluster is paused and any of its resources will not be processed
by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
control_plane_endpoint_host:
- spec
- controlPlaneEndpoint
- host
control_plane_endpoint_port:
- spec
- controlPlaneEndpoint
- port
control_plane_reference_kind:
- spec
- controlPlaneRef
- kind
control_plane_reference_name:
- spec
- controlPlaneRef
- name
infrastructure_reference_kind:
- spec
- infrastructureRef
- kind
infrastructure_reference_name:
- spec
- infrastructureRef
- name
topology_class:
- spec
- topology
- class
topology_version:
- spec
- topology
- version
path: null
type: Info
help: Information about a cluster.
name: info
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- spec
- paused
valueFrom: null
type: Gauge
help: Whether the cluster is paused and any of its resources will not be processed
by the controllers.
name: spec_paused
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a cluster.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a cluster.
name: status_condition_last_transition_time
- each:
stateSet:
labelName: phase
list:
- Pending
- Provisioning
- Provisioned
- Deleting
- Failed
- Unknown
path:
- status
- phase
valueFrom: null
type: StateSet
help: The clusters current phase.
name: status_phase
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: ClusterClass
version: v1beta1
labelsFromPath:
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_clusterclass
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the clusterclass is paused and any of its resources will not be
processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
name:
- metadata
- name
path: null
type: Info
help: Information about a clusterclass.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a clusterclass.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a clusterclass.
name: status_condition_last_transition_time
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: Machine
version: v1beta1
labelsFromPath:
cluster_name:
- spec
- clusterName
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_machine
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
address:
- address
type:
- type
path:
- status
- addresses
type: Info
help: Address information about a machine.
name: addresses
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the machine is paused and any of its resources will not be processed
by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
bootstrap_reference_kind:
- spec
- bootstrap
- configRef
- kind
bootstrap_reference_name:
- spec
- bootstrap
- configRef
- name
container_runtime_version:
- status
- nodeInfo
- containerRuntimeVersion
control_plane_name:
- metadata
- labels
- cluster.x-k8s.io/control-plane-name
failure_domain:
- spec
- failureDomain
infrastructure_reference_kind:
- spec
- infrastructureRef
- kind
infrastructure_reference_name:
- spec
- infrastructureRef
- name
kernel_version:
- status
- nodeInfo
- kernelVersion
kube_proxy_version:
- status
- nodeInfo
- kubeProxyVersion
kubelet_version:
- status
- nodeInfo
- kubeletVersion
os_image:
- status
- nodeInfo
- osImage
provider_id:
- spec
- providerID
version:
- spec
- version
path: null
type: Info
help: Information about a machine.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- certificatesExpiryDate
valueFrom: null
type: Gauge
help: Information about certificate expiration date of a control plane node.
name: status_certificatesexpirydate
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a machine.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a machine.
name: status_condition_last_transition_time
- each:
info:
labelFromKey: ""
labelsFromPath:
node_name:
- name
node_uid:
- uid
path:
- status
- nodeRef
type: Info
help: Information about the node reference of a machine.
name: status_noderef
- each:
stateSet:
labelName: phase
list:
- Pending
- Provisioning
- Provisioned
- Running
- Deleting
- Deleted
- Failed
- Unknown
path:
- status
- phase
valueFrom: null
type: StateSet
help: The machines current phase.
name: status_phase
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: MachineDeployment
version: v1beta1
labelsFromPath:
cluster_name:
- spec
- clusterName
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_machinedeployment
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the machinedeployment is paused and any of its resources will
not be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
bootstrap_reference_kind:
- spec
- template
- spec
- bootstrap
- configRef
- kind
bootstrap_reference_name:
- spec
- template
- spec
- bootstrap
- configRef
- name
infrastructure_reference_kind:
- spec
- template
- spec
- infrastructureRef
- kind
infrastructure_reference_name:
- spec
- template
- spec
- infrastructureRef
- name
version:
- spec
- template
- spec
- version
path: null
type: Info
help: Information about a machinedeployment.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- spec
- paused
valueFrom: null
type: Gauge
help: Whether the machinedeployment is paused and any of its resources will
not be processed by the controllers.
name: spec_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- spec
- replicas
valueFrom: null
type: Gauge
help: The number of desired machines for a machinedeployment.
name: spec_replicas
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- spec
- strategy
- rollingUpdate
- maxSurge
valueFrom: null
type: Gauge
help: Maximum number of replicas that can be scheduled above the desired number
of replicas during a rolling update of a machinedeployment.
name: spec_strategy_rollingupdate_max_surge
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- spec
- strategy
- rollingUpdate
- maxUnavailable
valueFrom: null
type: Gauge
help: Maximum number of unavailable replicas during a rolling update of a machinedeployment.
name: spec_strategy_rollingupdate_max_unavailable
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a machinedeployment.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a machinedeployment.
name: status_condition_last_transition_time
- each:
stateSet:
labelName: phase
list:
- ScalingUp
- ScalingDown
- Running
- Failed
- Unknown
path:
- status
- phase
valueFrom: null
type: StateSet
help: The machinedeployments current phase.
name: status_phase
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- replicas
valueFrom: null
type: Gauge
help: The number of replicas per machinedeployment.
name: status_replicas
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- availableReplicas
valueFrom: null
type: Gauge
help: The number of available replicas per machinedeployment.
name: status_replicas_available
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- readyReplicas
valueFrom: null
type: Gauge
help: The number of ready replicas per machinedeployment.
name: status_replicas_ready
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- unavailableReplicas
valueFrom: null
type: Gauge
help: The number of unavailable replicas per machinedeployment.
name: status_replicas_unavailable
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- updatedReplicas
valueFrom: null
type: Gauge
help: The number of updated replicas per machinedeployment.
name: status_replicas_updated
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: MachineHealthCheck
version: v1beta1
labelsFromPath:
cluster_name:
- spec
- clusterName
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_machinehealthcheck
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the machinehealthcheck is paused and any of its resources will
not be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
maxUnhealthy:
- spec
- maxUnhealthy
path: null
type: Info
help: Information about a machinehealthcheck.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a machinehealthcheck.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a machinehealthcheck.
name: status_condition_last_transition_time
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- currentHealthy
valueFrom: null
type: Gauge
help: Current number of healthy machines.
name: status_current_healthy
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- expectedMachines
valueFrom: null
type: Gauge
help: Total number of machines counted by this machinehealthcheck.
name: status_expected_machines
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- remediationsAllowed
valueFrom: null
type: Gauge
help: Number of machine remediations that are currently allowed.
name: status_remediations_allowed
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: MachinePool
version: v1beta1
labelsFromPath:
cluster_name:
- spec
- clusterName
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_machinepool
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the machinepool is paused and any of its resources will not be
processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
bootstrap_configuration_reference_kind:
- spec
- template
- spec
- bootstrap
- configRef
- kind
bootstrap_configuration_reference_name:
- spec
- template
- spec
- bootstrap
- configRef
- name
failure_domain:
- spec
- template
- spec
- failureDomain
infrastructure_reference_kind:
- spec
- template
- spec
- infrastructureRef
- kind
infrastructure_reference_name:
- spec
- template
- spec
- infrastructureRef
- name
version:
- spec
- template
- spec
- version
path: null
type: Info
help: Information about a machinepool.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- spec
- replicas
valueFrom: null
type: Gauge
help: The number of desired machines for a machinepool.
name: spec_replicas
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a machinepool.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a machinepool.
name: status_condition_last_transition_time
- each:
stateSet:
labelName: phase
list:
- ScalingUp
- ScalingDown
- Running
- Failed
- Unknown
path:
- status
- phase
valueFrom: null
type: StateSet
help: The machinepools current phase.
name: status_phase
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- replicas
valueFrom: null
type: Gauge
help: The number of replicas per machinepool.
name: status_replicas
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- availableReplicas
valueFrom: null
type: Gauge
help: The number of available replicas per machinepool.
name: status_replicas_available
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- readyReplicas
valueFrom: null
type: Gauge
help: The number of ready replicas per machinepool.
name: status_replicas_ready
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- unavailableReplicas
valueFrom: null
type: Gauge
help: The number of unavailable replicas per machinepool.
name: status_replicas_unavailable
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: cluster.x-k8s.io
kind: MachineSet
version: v1beta1
labelsFromPath:
cluster_name:
- spec
- clusterName
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_machineset
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the machineset is paused and any of its resources will not be
processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
bootstrap_reference_kind:
- spec
- template
- spec
- bootstrap
- configRef
- kind
bootstrap_reference_name:
- spec
- template
- spec
- bootstrap
- configRef
- name
infrastructure_reference_kind:
- spec
- template
- spec
- infrastructureRef
- kind
infrastructure_reference_name:
- spec
- template
- spec
- infrastructureRef
- name
version:
- spec
- template
- spec
- version
path: null
type: Info
help: Information about a machineset.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- spec
- replicas
valueFrom: null
type: Gauge
help: The number of desired machines for a machineset.
name: spec_replicas
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a machineset.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a machineset.
name: status_condition_last_transition_time
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- replicas
valueFrom: null
type: Gauge
help: The number of replicas per machineset.
name: status_replicas
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- availableReplicas
valueFrom: null
type: Gauge
help: The number of available replicas per machineset.
name: status_replicas_available
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- fullyLabeledReplicas
valueFrom: null
type: Gauge
help: The number of fully labeled replicas per machineset.
name: status_replicas_fully_labeled
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- readyReplicas
valueFrom: null
type: Gauge
help: The number of ready replicas per machineset.
name: status_replicas_ready
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: controlplane.cluster.x-k8s.io
kind: KubeadmControlPlane
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- ownerReferences
- '[kind=Cluster]'
- name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capi_kubeadmcontrolplane
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the kubeadmcontrolplane is paused and any of its resources will
not be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
version:
- spec
- version
path: null
type: Info
help: Information about a kubeadmcontrolplane.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- spec
- replicas
valueFrom: null
type: Gauge
help: The number of desired machines for a kubeadmcontrolplane.
name: spec_replicas
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- spec
- rolloutStrategy
- rollingUpdate
- maxSurge
valueFrom: null
type: Gauge
help: Maximum number of replicas that can be scheduled above the desired number
of replicas during a rolling update of a kubeadmcontrolplane.
name: spec_strategy_rollingupdate_max_surge
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a kubeadmcontrolplane.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a kubeadmcontrolplane.
name: status_condition_last_transition_time
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- replicas
valueFrom: null
type: Gauge
help: The number of replicas per kubeadmcontrolplane.
name: status_replicas
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- readyReplicas
valueFrom: null
type: Gauge
help: The number of ready replicas per kubeadmcontrolplane.
name: status_replicas_ready
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- unavailableReplicas
valueFrom: null
type: Gauge
help: The number of unavailable replicas per kubeadmcontrolplane.
name: status_replicas_unavailable
- each:
gauge:
labelFromKey: ""
nilIsZero: true
path:
- status
- updatedReplicas
valueFrom: null
type: Gauge
help: The number of updated replicas per kubeadmcontrolplane.
name: status_replicas_updated
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: infrastructure.cluster.x-k8s.io
kind: VSphereCluster
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capv_vspherecluster
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the vspherecluster is paused and any of its resources will not
be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
spec_server:
- spec
- server
status_vsphere_version:
- status
- vCenterVersion
path: null
type: Info
help: Information about a vspherecluster.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a vspherecluster.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a vspherecluster.
name: status_condition_last_transition_time
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: infrastructure.cluster.x-k8s.io
kind: VSphereClusterIdentity
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capv_vsphereclusteridentity
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the vsphereclusteridentity is paused and any of its resources
will not be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
name:
- metadata
- name
path: null
type: Info
help: Information about a vsphereclusteridentity.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a vsphereclusteridentity.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a vsphereclusteridentity.
name: status_condition_last_transition_time
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: infrastructure.cluster.x-k8s.io
kind: VSphereDeploymentZone
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capv_vspheredeploymentzone
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the vspheredeploymentzone is paused and any of its resources will
not be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
name:
- metadata
- name
path: null
type: Info
help: Information about a vspheredeploymentzone.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a vspheredeploymentzone.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a vspheredeploymentzone.
name: status_condition_last_transition_time
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: infrastructure.cluster.x-k8s.io
kind: VSphereFailureDomain
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capv_vspherefailuredomain
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the vspherefailuredomain is paused and any of its resources will
not be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
name:
- metadata
- name
path: null
type: Info
help: Information about a vspherefailuredomain.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: infrastructure.cluster.x-k8s.io
kind: VSphereMachine
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capv_vspheremachine
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
address:
- address
type:
- type
path:
- status
- addresses
type: Info
help: Address information about a vspheremachine.
name: addresses
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the vspheremachine is paused and any of its resources will not
be processed by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
provider_id:
- spec
- providerID
path: null
type: Info
help: Information about a vspheremachine.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a vspheremachine.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a vspheremachine.
name: status_condition_last_transition_time
resourcePlural: ""
- errorLogV: 0
groupVersionKind:
group: infrastructure.cluster.x-k8s.io
kind: VSphereVM
version: v1beta1
labelsFromPath:
cluster_name:
- metadata
- labels
- cluster.x-k8s.io/cluster-name
name:
- metadata
- name
namespace:
- metadata
- namespace
uid:
- metadata
- uid
metricNamePrefix: capv_vspherevm
metrics:
- each:
info:
labelFromKey: ""
labelsFromPath:
address: []
path:
- status
- addresses
type: Info
help: Address information about a vspherevm.
name: addresses
- each:
info:
labelFromKey: ""
labelsFromPath:
paused_value: []
path:
- metadata
- annotations
- cluster.x-k8s.io/paused
type: Info
help: Whether the vspherevm is paused and any of its resources will not be processed
by the controllers.
name: annotation_paused
- each:
gauge:
labelFromKey: ""
nilIsZero: false
path:
- metadata
- creationTimestamp
valueFrom: null
type: Gauge
help: Unix creation timestamp.
name: created
- each:
info:
labelFromKey: ""
labelsFromPath:
status_clonemode:
- status
- cloneMode
path: null
type: Info
help: Information about a vspherevm.
name: info
- each:
info:
labelFromKey: ""
labelsFromPath:
owner_is_controller:
- controller
owner_kind:
- kind
owner_name:
- name
owner_uid:
- uid
path:
- metadata
- ownerReferences
type: Info
help: Owner references.
name: owner
- each:
stateSet:
labelName: status
labelsFromPath:
type:
- type
list:
- "True"
- "False"
- Unknown
path:
- status
- conditions
valueFrom:
- status
type: StateSet
help: The condition of a vspherevm.
name: status_condition
- each:
gauge:
labelFromKey: ""
labelsFromPath:
status:
- status
type:
- type
nilIsZero: false
path:
- status
- conditions
valueFrom:
- lastTransitionTime
type: Gauge
help: The condition last transition time of a vspherevm.
name: status_condition_last_transition_time
resourcePlural: ""
Result metrics sample:
# HELP capi_kubeadmconfig_annotation_paused Whether the kubeadmconfig is paused and any of its resources will not be processed by the controllers.
# TYPE capi_kubeadmconfig_annotation_paused info
# HELP capi_kubeadmconfig_created Unix creation timestamp.
# TYPE capi_kubeadmconfig_created gauge
capi_kubeadmconfig_created{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1.692973972e+09
capi_kubeadmconfig_created{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1.692974065e+09
# HELP capi_kubeadmconfig_info Information about a kubeadmconfig.
# TYPE capi_kubeadmconfig_info info
capi_kubeadmconfig_info{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1
capi_kubeadmconfig_info{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1
# HELP capi_kubeadmconfig_owner Owner references.
# TYPE capi_kubeadmconfig_owner info
capi_kubeadmconfig_owner{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",owner_is_controller="true",owner_kind="Machine",owner_name="capi-test-dq88p",owner_uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1
capi_kubeadmconfig_owner{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",owner_is_controller="true",owner_kind="Machine",owner_name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",owner_uid="72c2270a-a399-406c-aa32-bb8698dd341f",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1
# HELP capi_kubeadmconfig_status_condition The condition of a kubeadmconfig.
# TYPE capi_kubeadmconfig_status_condition stateset
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="False",type="CertificatesAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="False",type="DataSecretAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="False",type="Ready",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="True",type="CertificatesAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="True",type="DataSecretAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="True",type="Ready",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="Unknown",type="CertificatesAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="Unknown",type="DataSecretAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="Unknown",type="Ready",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="False",type="CertificatesAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="False",type="DataSecretAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="False",type="Ready",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="True",type="CertificatesAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="True",type="DataSecretAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="True",type="Ready",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="Unknown",type="CertificatesAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="Unknown",type="DataSecretAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 0
capi_kubeadmconfig_status_condition{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="Unknown",type="Ready",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 0
# HELP capi_kubeadmconfig_status_condition_last_transition_time The condition last transition time of a kubeadmconfig.
# TYPE capi_kubeadmconfig_status_condition_last_transition_time gauge
capi_kubeadmconfig_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="True",type="CertificatesAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1.692973973e+09
capi_kubeadmconfig_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="True",type="DataSecretAvailable",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1.692973973e+09
capi_kubeadmconfig_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-gbg6g",namespace="default",status="True",type="Ready",uid="42566005-2cea-4de8-80d4-10d1931fd858"} 1.692973973e+09
capi_kubeadmconfig_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="True",type="CertificatesAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1.692974065e+09
capi_kubeadmconfig_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="True",type="DataSecretAvailable",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1.692974066e+09
capi_kubeadmconfig_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="bootstrap.cluster.x-k8s.io",customresource_kind="KubeadmConfig",customresource_version="v1beta1",name="capi-test-md-0-sfn9r",namespace="default",status="True",type="Ready",uid="17ce285b-8cec-429f-8cd1-7953b90f3b76"} 1.692974066e+09
# HELP capi_cluster_annotation_paused Whether the cluster is paused and any of its resources will not be processed by the controllers.
# TYPE capi_cluster_annotation_paused info
# HELP capi_cluster_created Unix creation timestamp.
# TYPE capi_cluster_created gauge
capi_cluster_created{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1.692973837e+09
# HELP capi_cluster_info Information about a cluster.
# TYPE capi_cluster_info info
capi_cluster_info{control_plane_endpoint_host="10.180.202.245",control_plane_endpoint_port="6443",control_plane_reference_kind="KubeadmControlPlane",control_plane_reference_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",infrastructure_reference_kind="VSphereCluster",infrastructure_reference_name="capi-test",name="capi-test",namespace="default",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1
# HELP capi_cluster_spec_paused Whether the cluster is paused and any of its resources will not be processed by the controllers.
# TYPE capi_cluster_spec_paused gauge
capi_cluster_spec_paused{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
# HELP capi_cluster_status_condition The condition of a cluster.
# TYPE capi_cluster_status_condition stateset
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="ControlPlaneInitialized",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="ControlPlaneReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="InfrastructureReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="Ready",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ControlPlaneInitialized",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ControlPlaneReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="InfrastructureReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Ready",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="ControlPlaneInitialized",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="ControlPlaneReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="InfrastructureReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_condition{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="Ready",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
# HELP capi_cluster_status_condition_last_transition_time The condition last transition time of a cluster.
# TYPE capi_cluster_status_condition_last_transition_time gauge
capi_cluster_status_condition_last_transition_time{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ControlPlaneInitialized",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1.692974034e+09
capi_cluster_status_condition_last_transition_time{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ControlPlaneReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1.692974047e+09
capi_cluster_status_condition_last_transition_time{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="InfrastructureReady",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1.692973897e+09
capi_cluster_status_condition_last_transition_time{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Ready",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1.692974047e+09
# HELP capi_cluster_status_phase The clusters current phase.
# TYPE capi_cluster_status_phase stateset
capi_cluster_status_phase{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",phase="Deleting",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_phase{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",phase="Failed",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_phase{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",phase="Pending",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_phase{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",phase="Provisioned",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 1
capi_cluster_status_phase{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",phase="Provisioning",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
capi_cluster_status_phase{customresource_group="cluster.x-k8s.io",customresource_kind="Cluster",customresource_version="v1beta1",name="capi-test",namespace="default",phase="Unknown",uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b"} 0
# HELP capi_machinedeployment_annotation_paused Whether the machinedeployment is paused and any of its resources will not be processed by the controllers.
# TYPE capi_machinedeployment_annotation_paused info
# HELP capi_machinedeployment_created Unix creation timestamp.
# TYPE capi_machinedeployment_created gauge
capi_machinedeployment_created{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1.692973837e+09
# HELP capi_machinedeployment_info Information about a machinedeployment.
# TYPE capi_machinedeployment_info info
capi_machinedeployment_info{bootstrap_reference_kind="KubeadmConfigTemplate",bootstrap_reference_name="capi-test-md-0",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",infrastructure_reference_kind="VSphereMachineTemplate",infrastructure_reference_name="capi-test-worker",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555",version="v1.27.3"} 1
# HELP capi_machinedeployment_owner Owner references.
# TYPE capi_machinedeployment_owner info
capi_machinedeployment_owner{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",owner_kind="Cluster",owner_name="capi-test",owner_uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
# HELP capi_machinedeployment_spec_paused Whether the machinedeployment is paused and any of its resources will not be processed by the controllers.
# TYPE capi_machinedeployment_spec_paused gauge
capi_machinedeployment_spec_paused{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
# HELP capi_machinedeployment_spec_replicas The number of desired machines for a machinedeployment.
# TYPE capi_machinedeployment_spec_replicas gauge
capi_machinedeployment_spec_replicas{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
# HELP capi_machinedeployment_spec_strategy_rollingupdate_max_surge Maximum number of replicas that can be scheduled above the desired number of replicas during a rolling update of a machinedeployment.
# TYPE capi_machinedeployment_spec_strategy_rollingupdate_max_surge gauge
capi_machinedeployment_spec_strategy_rollingupdate_max_surge{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
# HELP capi_machinedeployment_spec_strategy_rollingupdate_max_unavailable Maximum number of unavailable replicas during a rolling update of a machinedeployment.
# TYPE capi_machinedeployment_spec_strategy_rollingupdate_max_unavailable gauge
capi_machinedeployment_spec_strategy_rollingupdate_max_unavailable{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
# HELP capi_machinedeployment_status_condition The condition of a machinedeployment.
# TYPE capi_machinedeployment_status_condition stateset
capi_machinedeployment_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="False",type="Available",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
capi_machinedeployment_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="False",type="Ready",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
capi_machinedeployment_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="True",type="Available",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
capi_machinedeployment_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="True",type="Ready",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
capi_machinedeployment_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="Unknown",type="Available",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
capi_machinedeployment_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="Unknown",type="Ready",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
# HELP capi_machinedeployment_status_condition_last_transition_time The condition last transition time of a machinedeployment.
# TYPE capi_machinedeployment_status_condition_last_transition_time gauge
capi_machinedeployment_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="False",type="Available",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1.69297396e+09
capi_machinedeployment_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",status="False",type="Ready",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1.69297396e+09
# HELP capi_machinedeployment_status_phase The machinedeployments current phase.
# TYPE capi_machinedeployment_status_phase stateset
capi_machinedeployment_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",phase="Failed",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
capi_machinedeployment_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",phase="Running",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
capi_machinedeployment_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",phase="ScalingDown",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
capi_machinedeployment_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",phase="ScalingUp",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
capi_machinedeployment_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",phase="Unknown",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
# HELP capi_machinedeployment_status_replicas The number of replicas per machinedeployment.
# TYPE capi_machinedeployment_status_replicas gauge
capi_machinedeployment_status_replicas{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
# HELP capi_machinedeployment_status_replicas_available The number of available replicas per machinedeployment.
# TYPE capi_machinedeployment_status_replicas_available gauge
capi_machinedeployment_status_replicas_available{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
# HELP capi_machinedeployment_status_replicas_ready The number of ready replicas per machinedeployment.
# TYPE capi_machinedeployment_status_replicas_ready gauge
capi_machinedeployment_status_replicas_ready{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 0
# HELP capi_machinedeployment_status_replicas_unavailable The number of unavailable replicas per machinedeployment.
# TYPE capi_machinedeployment_status_replicas_unavailable gauge
capi_machinedeployment_status_replicas_unavailable{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
# HELP capi_machinedeployment_status_replicas_updated The number of updated replicas per machinedeployment.
# TYPE capi_machinedeployment_status_replicas_updated gauge
capi_machinedeployment_status_replicas_updated{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineDeployment",customresource_version="v1beta1",name="capi-test-md-0",namespace="default",uid="75237ca8-f643-4121-9963-83d1d1a1a555"} 1
# HELP capi_machine_addresses Address information about a machine.
# TYPE capi_machine_addresses info
capi_machine_addresses{address="10.180.192.196",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",type="ExternalIP",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_addresses{address="10.180.202.245",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",type="ExternalIP",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_addresses{address="fd01:3:8:208:250:56ff:febc:b4e1",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",type="ExternalIP",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_addresses{address="10.180.201.232",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",type="ExternalIP",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
capi_machine_addresses{address="fd01:3:8:208:250:56ff:febc:63f7",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",type="ExternalIP",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
# HELP capi_machine_annotation_paused Whether the machine is paused and any of its resources will not be processed by the controllers.
# TYPE capi_machine_annotation_paused info
# HELP capi_machine_created Unix creation timestamp.
# TYPE capi_machine_created gauge
capi_machine_created{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692973972e+09
capi_machine_created{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1.692974065e+09
# HELP capi_machine_info Information about a machine.
# TYPE capi_machine_info info
capi_machine_info{bootstrap_reference_kind="KubeadmConfig",bootstrap_reference_name="capi-test-gbg6g",cluster_name="capi-test",container_runtime_version="containerd://1.6.4",control_plane_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",infrastructure_reference_kind="VSphereMachine",infrastructure_reference_name="capi-test-svxfh",kernel_version="5.4.0-153-generic",kube_proxy_version="v1.27.3",kubelet_version="v1.27.3",name="capi-test-dq88p",namespace="default",os_image="Ubuntu 20.04.6 LTS",provider_id="vsphere://423ce63e-a013-c3e6-6f2b-1d3db6796d66",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0",version="v1.27.3"} 1
capi_machine_info{bootstrap_reference_kind="KubeadmConfig",bootstrap_reference_name="capi-test-md-0-sfn9r",cluster_name="capi-test",container_runtime_version="containerd://1.6.4",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",infrastructure_reference_kind="VSphereMachine",infrastructure_reference_name="capi-test-worker-jsvqr",kernel_version="5.4.0-153-generic",kube_proxy_version="v1.27.3",kubelet_version="v1.27.3",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",os_image="Ubuntu 20.04.6 LTS",provider_id="vsphere://423cc094-413c-4de0-c476-d8929b46c93f",uid="72c2270a-a399-406c-aa32-bb8698dd341f",version="v1.27.3"} 1
# HELP capi_machine_owner Owner references.
# TYPE capi_machine_owner info
capi_machine_owner{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",owner_is_controller="true",owner_kind="KubeadmControlPlane",owner_name="capi-test",owner_uid="a3f79737-9c15-496d-ab04-f59a9973a5a4",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_owner{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",owner_is_controller="true",owner_kind="MachineSet",owner_name="capi-test-md-0-67dfc798c7x8gpqb",owner_uid="0e9a3878-de2d-4e1a-ad74-cd894219da16",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
# HELP capi_machine_status_certificatesexpirydate Information about certificate expiration date of a control plane node.
# TYPE capi_machine_status_certificatesexpirydate gauge
capi_machine_status_certificatesexpirydate{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.724510017e+09
capi_machine_status_certificatesexpirydate{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
# HELP capi_machine_status_condition The condition of a machine.
# TYPE capi_machine_status_condition stateset
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="APIServerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="BootstrapReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="ControllerManagerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="EtcdMemberHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="EtcdPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="InfrastructureReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="NodeHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="Ready",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="SchedulerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="APIServerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="BootstrapReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="ControllerManagerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="EtcdMemberHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="EtcdPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="InfrastructureReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="NodeHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="Ready",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="SchedulerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="APIServerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="BootstrapReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="ControllerManagerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="EtcdMemberHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="EtcdPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="InfrastructureReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="NodeHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="Ready",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="SchedulerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="BootstrapReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="InfrastructureReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="NodeHealthy",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="Ready",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="BootstrapReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="InfrastructureReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="NodeHealthy",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="Ready",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="BootstrapReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="InfrastructureReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="NodeHealthy",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="Ready",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
# HELP capi_machine_status_condition_last_transition_time The condition last transition time of a machine.
# TYPE capi_machine_status_condition_last_transition_time gauge
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="NodeHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974054e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="APIServerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974055e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="BootstrapReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692973973e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="ControllerManagerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974055e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="EtcdMemberHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.69297406e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="EtcdPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974055e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="InfrastructureReady",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974046e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="Ready",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974046e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="SchedulerPodHealthy",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1.692974055e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="NodeHealthy",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1.692974135e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="BootstrapReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1.692974066e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="InfrastructureReady",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1.692974135e+09
capi_machine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="Ready",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1.692974135e+09
# HELP capi_machine_status_noderef Information about the node reference of a machine.
# TYPE capi_machine_status_noderef info
capi_machine_status_noderef{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",node_name="capi-test-dq88p",node_uid="cad6ae5f-d8ea-478a-a70a-5e4114e42fa1",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_noderef{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",node_name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",node_uid="9dec6abc-deb5-4bfa-92e8-0868bfbb30a8",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
# HELP capi_machine_status_phase The machines current phase.
# TYPE capi_machine_status_phase stateset
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Deleted",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Deleting",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Failed",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Pending",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Provisioned",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Provisioning",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Running",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 1
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",phase="Unknown",uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Deleted",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Deleting",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Failed",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Pending",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Provisioned",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Provisioning",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Running",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 1
capi_machine_status_phase{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="Machine",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",phase="Unknown",uid="72c2270a-a399-406c-aa32-bb8698dd341f"} 0
# HELP capi_machineset_annotation_paused Whether the machineset is paused and any of its resources will not be processed by the controllers.
# TYPE capi_machineset_annotation_paused info
# HELP capi_machineset_created Unix creation timestamp.
# TYPE capi_machineset_created gauge
capi_machineset_created{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1.69297396e+09
# HELP capi_machineset_info Information about a machineset.
# TYPE capi_machineset_info info
capi_machineset_info{bootstrap_reference_kind="KubeadmConfigTemplate",bootstrap_reference_name="capi-test-md-0",cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",infrastructure_reference_kind="VSphereMachineTemplate",infrastructure_reference_name="capi-test-worker",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16",version="v1.27.3"} 1
# HELP capi_machineset_owner Owner references.
# TYPE capi_machineset_owner info
capi_machineset_owner{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",owner_is_controller="true",owner_kind="MachineDeployment",owner_name="capi-test-md-0",owner_uid="75237ca8-f643-4121-9963-83d1d1a1a555",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
# HELP capi_machineset_spec_replicas The number of desired machines for a machineset.
# TYPE capi_machineset_spec_replicas gauge
capi_machineset_spec_replicas{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
# HELP capi_machineset_status_condition The condition of a machineset.
# TYPE capi_machineset_status_condition stateset
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="False",type="MachinesCreated",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="False",type="MachinesReady",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="False",type="Ready",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="False",type="Resized",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="True",type="MachinesCreated",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="True",type="MachinesReady",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="True",type="Ready",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="True",type="Resized",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="Unknown",type="MachinesCreated",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="Unknown",type="MachinesReady",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="Unknown",type="Ready",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
capi_machineset_status_condition{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="Unknown",type="Resized",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
# HELP capi_machineset_status_condition_last_transition_time The condition last transition time of a machineset.
# TYPE capi_machineset_status_condition_last_transition_time gauge
capi_machineset_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="False",type="Ready",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1.692974065e+09
capi_machineset_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="False",type="Resized",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1.69297396e+09
capi_machineset_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="True",type="MachinesCreated",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1.692974065e+09
capi_machineset_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",status="True",type="MachinesReady",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1.692974135e+09
# HELP capi_machineset_status_replicas The number of replicas per machineset.
# TYPE capi_machineset_status_replicas gauge
capi_machineset_status_replicas{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
# HELP capi_machineset_status_replicas_available The number of available replicas per machineset.
# TYPE capi_machineset_status_replicas_available gauge
capi_machineset_status_replicas_available{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
# HELP capi_machineset_status_replicas_fully_labeled The number of fully labeled replicas per machineset.
# TYPE capi_machineset_status_replicas_fully_labeled gauge
capi_machineset_status_replicas_fully_labeled{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 1
# HELP capi_machineset_status_replicas_ready The number of ready replicas per machineset.
# TYPE capi_machineset_status_replicas_ready gauge
capi_machineset_status_replicas_ready{cluster_name="capi-test",customresource_group="cluster.x-k8s.io",customresource_kind="MachineSet",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb",namespace="default",uid="0e9a3878-de2d-4e1a-ad74-cd894219da16"} 0
# HELP capi_kubeadmcontrolplane_annotation_paused Whether the kubeadmcontrolplane is paused and any of its resources will not be processed by the controllers.
# TYPE capi_kubeadmcontrolplane_annotation_paused info
# HELP capi_kubeadmcontrolplane_created Unix creation timestamp.
# TYPE capi_kubeadmcontrolplane_created gauge
capi_kubeadmcontrolplane_created{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692973837e+09
# HELP capi_kubeadmcontrolplane_info Information about a kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_info info
capi_kubeadmcontrolplane_info{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4",version="v1.27.3"} 1
# HELP capi_kubeadmcontrolplane_owner Owner references.
# TYPE capi_kubeadmcontrolplane_owner info
capi_kubeadmcontrolplane_owner{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",owner_is_controller="true",owner_kind="Cluster",owner_name="capi-test",owner_uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
# HELP capi_kubeadmcontrolplane_spec_replicas The number of desired machines for a kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_spec_replicas gauge
capi_kubeadmcontrolplane_spec_replicas{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
# HELP capi_kubeadmcontrolplane_spec_strategy_rollingupdate_max_surge Maximum number of replicas that can be scheduled above the desired number of replicas during a rolling update of a kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_spec_strategy_rollingupdate_max_surge gauge
capi_kubeadmcontrolplane_spec_strategy_rollingupdate_max_surge{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
# HELP capi_kubeadmcontrolplane_status_condition The condition of a kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_status_condition stateset
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="Available",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="CertificatesAvailable",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="ControlPlaneComponentsHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="EtcdClusterHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="MachinesCreated",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="MachinesReady",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="Ready",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="Resized",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Available",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="CertificatesAvailable",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ControlPlaneComponentsHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="EtcdClusterHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="MachinesCreated",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="MachinesReady",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Ready",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Resized",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="Available",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="CertificatesAvailable",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="ControlPlaneComponentsHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="EtcdClusterHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="MachinesCreated",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="MachinesReady",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="Ready",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
capi_kubeadmcontrolplane_status_condition{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="Resized",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
# HELP capi_kubeadmcontrolplane_status_condition_last_transition_time The condition last transition time of a kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_status_condition_last_transition_time gauge
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Available",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692974034e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="CertificatesAvailable",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692973972e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ControlPlaneComponentsHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692974055e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="EtcdClusterHealthy",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.69297406e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="MachinesCreated",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692973993e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="MachinesReady",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692974047e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Ready",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692974047e+09
capi_kubeadmcontrolplane_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Resized",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1.692974003e+09
# HELP capi_kubeadmcontrolplane_status_replicas The number of replicas per kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_status_replicas gauge
capi_kubeadmcontrolplane_status_replicas{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
# HELP capi_kubeadmcontrolplane_status_replicas_ready The number of ready replicas per kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_status_replicas_ready gauge
capi_kubeadmcontrolplane_status_replicas_ready{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 0
# HELP capi_kubeadmcontrolplane_status_replicas_unavailable The number of unavailable replicas per kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_status_replicas_unavailable gauge
capi_kubeadmcontrolplane_status_replicas_unavailable{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
# HELP capi_kubeadmcontrolplane_status_replicas_updated The number of updated replicas per kubeadmcontrolplane.
# TYPE capi_kubeadmcontrolplane_status_replicas_updated gauge
capi_kubeadmcontrolplane_status_replicas_updated{cluster_name="capi-test",customresource_group="controlplane.cluster.x-k8s.io",customresource_kind="KubeadmControlPlane",customresource_version="v1beta1",name="capi-test",namespace="default",uid="a3f79737-9c15-496d-ab04-f59a9973a5a4"} 1
# HELP capv_vspherecluster_annotation_paused Whether the vspherecluster is paused and any of its resources will not be processed by the controllers.
# TYPE capv_vspherecluster_annotation_paused info
# HELP capv_vspherecluster_created Unix creation timestamp.
# TYPE capv_vspherecluster_created gauge
capv_vspherecluster_created{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1.692973837e+09
# HELP capv_vspherecluster_info Information about a vspherecluster.
# TYPE capv_vspherecluster_info info
capv_vspherecluster_info{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",spec_server="wdc-10-180-202-184.nimbus.eng.vmware.com",status_vsphere_version="7.0.0",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1
# HELP capv_vspherecluster_owner Owner references.
# TYPE capv_vspherecluster_owner info
capv_vspherecluster_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",owner_is_controller="true",owner_kind="Cluster",owner_name="capi-test",owner_uid="4cb39f3a-2d99-40e1-9b2c-8aeb41837c0b",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1
# HELP capv_vspherecluster_status_condition The condition of a vspherecluster.
# TYPE capv_vspherecluster_status_condition stateset
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="ClusterModulesAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 0
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="Ready",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 0
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="False",type="VCenterAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 0
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ClusterModulesAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Ready",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="VCenterAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="ClusterModulesAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 0
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="Ready",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 0
capv_vspherecluster_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="Unknown",type="VCenterAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 0
# HELP capv_vspherecluster_status_condition_last_transition_time The condition last transition time of a vspherecluster.
# TYPE capv_vspherecluster_status_condition_last_transition_time gauge
capv_vspherecluster_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="ClusterModulesAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1.692973971e+09
capv_vspherecluster_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="Ready",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1.692973897e+09
capv_vspherecluster_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereCluster",customresource_version="v1beta1",name="capi-test",namespace="default",status="True",type="VCenterAvailable",uid="d15de8d7-1e89-455e-81a7-d353b8a88041"} 1.692973897e+09
# HELP capv_vspheremachine_addresses Address information about a vspheremachine.
# TYPE capv_vspheremachine_addresses info
capv_vspheremachine_addresses{address="10.180.192.196",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",type="ExternalIP",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_addresses{address="10.180.202.245",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",type="ExternalIP",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_addresses{address="fd01:3:8:208:250:56ff:febc:b4e1",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",type="ExternalIP",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_addresses{address="10.180.201.232",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",type="ExternalIP",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
capv_vspheremachine_addresses{address="fd01:3:8:208:250:56ff:febc:63f7",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",type="ExternalIP",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
# HELP capv_vspheremachine_annotation_paused Whether the vspheremachine is paused and any of its resources will not be processed by the controllers.
# TYPE capv_vspheremachine_annotation_paused info
# HELP capv_vspheremachine_created Unix creation timestamp.
# TYPE capv_vspheremachine_created gauge
capv_vspheremachine_created{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1.692973972e+09
capv_vspheremachine_created{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1.692974065e+09
# HELP capv_vspheremachine_info Information about a vspheremachine.
# TYPE capv_vspheremachine_info info
capv_vspheremachine_info{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",provider_id="vsphere://423ce63e-a013-c3e6-6f2b-1d3db6796d66",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_info{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",provider_id="vsphere://423cc094-413c-4de0-c476-d8929b46c93f",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
# HELP capv_vspheremachine_owner Owner references.
# TYPE capv_vspheremachine_owner info
capv_vspheremachine_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",owner_is_controller="true",owner_kind="Machine",owner_name="capi-test-dq88p",owner_uid="fceb8fbe-82f4-4462-aeaa-88421e2509e0",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",owner_kind="VSphereCluster",owner_name="capi-test",owner_uid="d15de8d7-1e89-455e-81a7-d353b8a88041",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",owner_is_controller="true",owner_kind="Machine",owner_name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",owner_uid="72c2270a-a399-406c-aa32-bb8698dd341f",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
capv_vspheremachine_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",owner_kind="VSphereCluster",owner_name="capi-test",owner_uid="d15de8d7-1e89-455e-81a7-d353b8a88041",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
# HELP capv_vspheremachine_status_condition The condition of a vspheremachine.
# TYPE capv_vspheremachine_status_condition stateset
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="False",type="Ready",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="False",type="VMProvisioned",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="True",type="Ready",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="True",type="VMProvisioned",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="Unknown",type="Ready",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="Unknown",type="VMProvisioned",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="False",type="Ready",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="False",type="VMProvisioned",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="True",type="Ready",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="True",type="VMProvisioned",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="Unknown",type="Ready",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 0
capv_vspheremachine_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="Unknown",type="VMProvisioned",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 0
# HELP capv_vspheremachine_status_condition_last_transition_time The condition last transition time of a vspheremachine.
# TYPE capv_vspheremachine_status_condition_last_transition_time gauge
capv_vspheremachine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="True",type="Ready",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1.692974046e+09
capv_vspheremachine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-svxfh",namespace="default",status="True",type="VMProvisioned",uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585"} 1.692974046e+09
capv_vspheremachine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="True",type="Ready",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1.692974135e+09
capv_vspheremachine_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereMachine",customresource_version="v1beta1",name="capi-test-worker-jsvqr",namespace="default",status="True",type="VMProvisioned",uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5"} 1.692974135e+09
# HELP capv_vspherevm_addresses Address information about a vspherevm.
# TYPE capv_vspherevm_addresses info
capv_vspherevm_addresses{address="10.180.192.196",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_addresses{address="10.180.202.245",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_addresses{address="fd01:3:8:208:250:56ff:febc:b4e1",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_addresses{address="10.180.201.232",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
capv_vspherevm_addresses{address="fd01:3:8:208:250:56ff:febc:63f7",cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
# HELP capv_vspherevm_annotation_paused Whether the vspherevm is paused and any of its resources will not be processed by the controllers.
# TYPE capv_vspherevm_annotation_paused info
# HELP capv_vspherevm_created Unix creation timestamp.
# TYPE capv_vspherevm_created gauge
capv_vspherevm_created{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1.692974066e+09
capv_vspherevm_created{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1.692973973e+09
# HELP capv_vspherevm_info Information about a vspherevm.
# TYPE capv_vspherevm_info info
capv_vspherevm_info{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status_clonemode="linkedClone",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_info{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status_clonemode="linkedClone",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
# HELP capv_vspherevm_owner Owner references.
# TYPE capv_vspherevm_owner info
capv_vspherevm_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",owner_kind="VSphereMachine",owner_name="capi-test-svxfh",owner_uid="b4b2c008-8b0f-4501-8adb-7ee6bb12c585",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_owner{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",owner_kind="VSphereMachine",owner_name="capi-test-worker-jsvqr",owner_uid="2626b9e8-e87e-4e67-8b03-b75f6ebfa1a5",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
# HELP capv_vspherevm_status_condition The condition of a vspherevm.
# TYPE capv_vspherevm_status_condition stateset
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="Ready",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="VCenterAvailable",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="False",type="VMProvisioned",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="Ready",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="VCenterAvailable",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="VMProvisioned",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="Ready",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="VCenterAvailable",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="Unknown",type="VMProvisioned",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="Ready",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="VCenterAvailable",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="False",type="VMProvisioned",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="Ready",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="VCenterAvailable",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="VMProvisioned",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="Ready",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="VCenterAvailable",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 0
capv_vspherevm_status_condition{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="Unknown",type="VMProvisioned",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 0
# HELP capv_vspherevm_status_condition_last_transition_time The condition last transition time of a vspherevm.
# TYPE capv_vspherevm_status_condition_last_transition_time gauge
capv_vspherevm_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="Ready",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1.692974046e+09
capv_vspherevm_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="VCenterAvailable",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1.692973973e+09
capv_vspherevm_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-dq88p",namespace="default",status="True",type="VMProvisioned",uid="fcc3c9c2-7c8c-499b-af52-2e7fb1c0b932"} 1.692974046e+09
capv_vspherevm_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="Ready",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1.692974135e+09
capv_vspherevm_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="VCenterAvailable",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1.692974067e+09
capv_vspherevm_status_condition_last_transition_time{cluster_name="capi-test",customresource_group="infrastructure.cluster.x-k8s.io",customresource_kind="VSphereVM",customresource_version="v1beta1",name="capi-test-md-0-67dfc798c7x8gpqb-jc84p",namespace="default",status="True",type="VMProvisioned",uid="7200d9aa-f541-4b30-a1f0-92ae7b1162f0"} 1.692974135e+09
This likely requires feedback from other maintainers: I wonder if it would simplify the release process by a lot if we were able to incorporate it in the kube-state-metrics binary itself. Something like an additional command:
kube-state-metrics generate myfile.go
This likely requires feedback from other maintainers: I wonder if it would simplify the release process by a lot if we were able to incorporate it in the kube-state-metrics binary itself. Something like an additional command:
kube-state-metrics generate myfile.go
That's great feedback 👍
If we like to do that, the caveat is that we will depend on controller-tools. E.g. the go.mod changes if we would do that would be the following:
Edit: see PR diff for up-to-date diff on go.mod
diff --git a/go.mod b/go.mod
index 30db0c47..76edc081 100644
--- a/go.mod
+++ b/go.mod
@@ -24,6 +24,8 @@ require (
k8s.io/klog/v2 v2.100.1
k8s.io/sample-controller v0.27.4
k8s.io/utils v0.0.0-20230711102312-30195339c3c7
+ sigs.k8s.io/controller-tools v0.12.0
+ sigs.k8s.io/yaml v1.3.0
)
require (
@@ -34,6 +36,7 @@ require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
+ github.com/fatih/color v1.15.0 // indirect
github.com/go-kit/log v0.2.1 // indirect
github.com/go-logfmt/logfmt v0.5.1 // indirect
github.com/go-logr/logr v1.2.3 // indirect
@@ -53,6 +56,8 @@ require (
github.com/json-iterator/go v1.1.12 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
+ github.com/mattn/go-colorable v0.1.13 // indirect
+ github.com/mattn/go-isatty v0.0.17 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -69,6 +74,7 @@ require (
github.com/spf13/pflag v1.0.5 // indirect
github.com/subosito/gotenv v1.4.2 // indirect
golang.org/x/crypto v0.9.0 // indirect
+ golang.org/x/mod v0.10.0 // indirect
golang.org/x/net v0.10.0 // indirect
golang.org/x/oauth2 v0.8.0 // indirect
golang.org/x/sync v0.2.0 // indirect
@@ -76,13 +82,14 @@ require (
golang.org/x/term v0.8.0 // indirect
golang.org/x/text v0.9.0 // indirect
golang.org/x/time v0.1.0 // indirect
+ golang.org/x/tools v0.8.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.30.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
+ k8s.io/apiextensions-apiserver v0.27.1 // indirect
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
- sigs.k8s.io/yaml v1.3.0 // indirect
)
Opening up for review. I suggest to postpone documentation to a second PR after merging this.
Also added an integration test. I think this could greatly get built out to a example for later on documentation.
I know this PR is huge and will take time for review. I tried to get to a good code coverage via unit / integration testing.
Kindly asking @mrueg @fpetkovski and @CatherineF-dev as you already showed interest in this PR 😃
Note: if there are questions regarding ownership/maintenance of the code: I'd be happy to help on reviews for changes on this new codebase.
cc @rexagod @dgrisonnet /triage accepted
LGTM in general, since most codes are isolated inside generate repo.
Don't forget about add an example on how to use this awesome feature later.
/lgtm
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: CatherineF-dev, chrischdi Once this PR has been reviewed and has the lgtm label, please assign mrueg for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
cc @rexagod @dgrisonnet to have another review (approval).
New changes are detected. LGTM label has been removed.
@CatherineF-dev: Closed this PR.
In response to this:
/close
(Haven't found the
resolvebutton)
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/reopen
Sry, I wanted to resolve one comment, instead of closing this PR.
I typed /close in one comment, and didn't know it would close the PR.
@CatherineF-dev: Reopened this PR.
In response to this:
/reopen
Sry, I wanted to resolve one comment, instead of closing this issue.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
@CatherineF-dev , kindly asking for another round of review :-) I think this last push should address the open comments if I'm right.
@CatherineF-dev , kindly asking for another round of review :-) I think this last push should address the open comments if I'm right.
@CatherineF-dev , friendly ping :-) Happy to chat about it!
I'll try to have a look at this once I get some time.
Thanks @mrueg for the review, also thanks @dgrisonnet for letting me know.
Also sorry for the long time I required to get this back on track and rebased. I also just came back to this after PTO, organisational changes etc. 👍 but happy to finish this work in the way its best for the community :-)
Hey folks, happy to drive this further or shutdown the PR if its not reasonable to get added.
Great to see this moving forward, IMO this will be a great addition and help move metrics for CRD to the next level (talking from a Cluster API perspective, but many other projects can benefit from this as well)
PR needs rebase.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.
This bot triages PRs according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the PR is closed
You can:
- Mark this PR as fresh with
/remove-lifecycle stale - Close this PR with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale
The Kubernetes project currently lacks enough active contributors to adequately respond to all PRs.
This bot triages PRs according to the following rules:
- After 90d of inactivity,
lifecycle/staleis applied - After 30d of inactivity since
lifecycle/stalewas applied,lifecycle/rottenis applied - After 30d of inactivity since
lifecycle/rottenwas applied, the PR is closed
You can:
- Mark this PR as fresh with
/remove-lifecycle rotten - Close this PR with
/close - Offer to help out with Issue Triage
Please send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle rotten