Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func PodMonitoringResource() metav1.GroupVersionResource
- func Resource(resource string) schema.GroupResource
- type LabelMapping
- type MonitoringCondition
- type MonitoringConditionType
- type PodMonitoring
- func (in *PodMonitoring) DeepCopy() *PodMonitoring
- func (in *PodMonitoring) DeepCopyInto(out *PodMonitoring)
- func (in *PodMonitoring) DeepCopyObject() runtime.Object
- func (pm *PodMonitoring) ScrapeConfigs() (res []*promconfig.ScrapeConfig, err error)
- func (pm *PodMonitoring) ValidateCreate() error
- func (pm *PodMonitoring) ValidateDelete() error
- func (pm *PodMonitoring) ValidateUpdate(old runtime.Object) error
- type PodMonitoringList
- type PodMonitoringSpec
- type PodMonitoringStatus
- type Rule
- type RuleGroup
- type Rules
- type RulesList
- type RulesSpec
- type RulesStatus
- type Scope
- type ScrapeEndpoint
- type TargetLabels
Constants ¶
const EnvVarNodeName = "NODE_NAME"
Environment variable for the current node that needs to be interpolated in generated scrape configurations for a PodMonitoring resource.
const (
Version = "v1alpha1"
)
Variables ¶
var ( // SchemeBuilder initializes a scheme builder. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme. AddToScheme = SchemeBuilder.AddToScheme // SchemeGroupVersion is group version used to register these objects. SchemeGroupVersion = schema.GroupVersion{Group: monitoring.GroupName, Version: Version} )
Functions ¶
func PodMonitoringResource ¶
func PodMonitoringResource() metav1.GroupVersionResource
PodMonitoringResource returns a PodMonitoring GroupVersionResource. This can be used to enforce API types.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type LabelMapping ¶
type LabelMapping struct { // Kubenetes resource label to remap. From string `json:"from"` // Remapped Prometheus target label. // Defaults to the same name as `From`. To string `json:"to,omitempty"` }
LabelMapping specifies how to transfer a label from a Kubernetes resource onto a Prometheus target.
func (*LabelMapping) DeepCopy ¶
func (in *LabelMapping) DeepCopy() *LabelMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelMapping.
func (*LabelMapping) DeepCopyInto ¶
func (in *LabelMapping) DeepCopyInto(out *LabelMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringCondition ¶
type MonitoringCondition struct { Type MonitoringConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // The last time this condition was updated. // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human-readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
MonitoringCondition describes a condition of a PodMonitoring.
func NewDefaultConditions ¶
func NewDefaultConditions(now metav1.Time) []MonitoringCondition
NewDefaultConditions returns a list of default conditions for at the given time for a `PodMonitoringStatus` if never explicitly set.
func (*MonitoringCondition) DeepCopy ¶
func (in *MonitoringCondition) DeepCopy() *MonitoringCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringCondition.
func (*MonitoringCondition) DeepCopyInto ¶
func (in *MonitoringCondition) DeepCopyInto(out *MonitoringCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringConditionType ¶
type MonitoringConditionType string
MonitoringConditionType is the type of MonitoringCondition.
const ( // ConfigurationCreateSuccess indicates that the config generated from the // monitoring resource was created successfully. ConfigurationCreateSuccess MonitoringConditionType = "ConfigurationCreateSuccess" )
type PodMonitoring ¶
type PodMonitoring struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of desired Pod selection for target discovery by // Prometheus. Spec PodMonitoringSpec `json:"spec"` // Most recently observed status of the resource. // +optional Status PodMonitoringStatus `json:"status"` }
PodMonitoring defines monitoring for a set of pods. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*PodMonitoring) DeepCopy ¶
func (in *PodMonitoring) DeepCopy() *PodMonitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodMonitoring.
func (*PodMonitoring) DeepCopyInto ¶
func (in *PodMonitoring) DeepCopyInto(out *PodMonitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodMonitoring) DeepCopyObject ¶
func (in *PodMonitoring) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PodMonitoring) ScrapeConfigs ¶ added in v0.0.3
func (pm *PodMonitoring) ScrapeConfigs() (res []*promconfig.ScrapeConfig, err error)
func (*PodMonitoring) ValidateCreate ¶ added in v0.0.3
func (pm *PodMonitoring) ValidateCreate() error
func (*PodMonitoring) ValidateDelete ¶ added in v0.0.3
func (pm *PodMonitoring) ValidateDelete() error
func (*PodMonitoring) ValidateUpdate ¶ added in v0.0.3
func (pm *PodMonitoring) ValidateUpdate(old runtime.Object) error
type PodMonitoringList ¶
type PodMonitoringList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PodMonitoring `json:"items"` }
PodMonitoringList is a list of PodMonitorings. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*PodMonitoringList) DeepCopy ¶
func (in *PodMonitoringList) DeepCopy() *PodMonitoringList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodMonitoringList.
func (*PodMonitoringList) DeepCopyInto ¶
func (in *PodMonitoringList) DeepCopyInto(out *PodMonitoringList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PodMonitoringList) DeepCopyObject ¶
func (in *PodMonitoringList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PodMonitoringSpec ¶
type PodMonitoringSpec struct { Selector metav1.LabelSelector `json:"selector"` Endpoints []ScrapeEndpoint `json:"endpoints"` TargetLabels TargetLabels `json:"targetLabels,omitempty"` }
PodMonitoringSpec contains specification parameters for PodMonitoring.
func (*PodMonitoringSpec) DeepCopy ¶
func (in *PodMonitoringSpec) DeepCopy() *PodMonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodMonitoringSpec.
func (*PodMonitoringSpec) DeepCopyInto ¶
func (in *PodMonitoringSpec) DeepCopyInto(out *PodMonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PodMonitoringStatus ¶
type PodMonitoringStatus struct { // The generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration"` // Represents the latest available observations of a podmonitor's current state. Conditions []MonitoringCondition `json:"conditions,omitempty"` }
PodMonitoringStatus holds status information of a PodMonitoring resource.
func (*PodMonitoringStatus) DeepCopy ¶
func (in *PodMonitoringStatus) DeepCopy() *PodMonitoringStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodMonitoringStatus.
func (*PodMonitoringStatus) DeepCopyInto ¶
func (in *PodMonitoringStatus) DeepCopyInto(out *PodMonitoringStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rule ¶ added in v0.0.1
type Rule struct { Record string `json:"record"` Alert string `json:"alert"` Expr string `json:"expr"` For string `json:"for"` Labels map[string]string `json:"labels"` Annotations map[string]string `json:"annotations"` }
Rule is a single rule in the Prometheus format: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
func (*Rule) DeepCopy ¶ added in v0.0.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rule.
func (*Rule) DeepCopyInto ¶ added in v0.0.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuleGroup ¶ added in v0.0.1
type RuleGroup struct { Name string `json:"name"` Interval string `json:"interval"` Rules []Rule `json:"rules"` }
RuleGroup declares rules in the Prometheus format: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/
func (*RuleGroup) DeepCopy ¶ added in v0.0.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleGroup.
func (*RuleGroup) DeepCopyInto ¶ added in v0.0.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Rules ¶ added in v0.0.1
type Rules struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of desired Pod selection for target discovery by // Prometheus. Spec RulesSpec `json:"spec"` // Most recently observed status of the resource. // +optional Status RulesStatus `json:"status"` }
Rules defines Prometheus alerting and recording rules. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Rules) DeepCopy ¶ added in v0.0.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rules.
func (*Rules) DeepCopyInto ¶ added in v0.0.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Rules) DeepCopyObject ¶ added in v0.0.1
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RulesList ¶ added in v0.0.1
type RulesList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Rules `json:"items"` }
RulesList is a list of Rules. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*RulesList) DeepCopy ¶ added in v0.0.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesList.
func (*RulesList) DeepCopyInto ¶ added in v0.0.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RulesList) DeepCopyObject ¶ added in v0.0.1
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RulesSpec ¶ added in v0.0.1
RulesSpec contains specification parameters for a Rules resource.
func (*RulesSpec) DeepCopy ¶ added in v0.0.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesSpec.
func (*RulesSpec) DeepCopyInto ¶ added in v0.0.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RulesStatus ¶ added in v0.0.1
type RulesStatus struct { }
RulesStatus contains status information for a Rules resource.
func (*RulesStatus) DeepCopy ¶ added in v0.0.1
func (in *RulesStatus) DeepCopy() *RulesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RulesStatus.
func (*RulesStatus) DeepCopyInto ¶ added in v0.0.1
func (in *RulesStatus) DeepCopyInto(out *RulesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Scope ¶ added in v0.0.1
type Scope string
Scope of metric data a set of rules applies to.
The valid scopes. Currently only cluster and namespace are supported, i.e. rules only select over data for a given cluster or namespace. Support for rules processing over an entire project or even across projects may be added once uses cases have been identified more clearly.
type ScrapeEndpoint ¶
type ScrapeEndpoint struct { // Name or number of the port to scrape. Port intstr.IntOrString `json:"port,omitempty"` // HTTP path to scrape metrics from. Defaults to "/metrics". Path string `json:"path,omitempty"` // Interval at which to scrape metrics. Must be a valid Prometheus duration. Interval string `json:"interval,omitempty"` // Timeout for metrics scrapes. Must be a valid Prometheus duration. Timeout string `json:"timeout,omitempty"` }
ScrapeEndpoint specifies a Prometheus metrics endpoint to scrape.
func (*ScrapeEndpoint) DeepCopy ¶
func (in *ScrapeEndpoint) DeepCopy() *ScrapeEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScrapeEndpoint.
func (*ScrapeEndpoint) DeepCopyInto ¶
func (in *ScrapeEndpoint) DeepCopyInto(out *ScrapeEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetLabels ¶
type TargetLabels struct { // Labels to transfer from the Kubernetes Pod to Prometheus target labels. // In the case of a label mapping conflict: // - Mappings at the end of the array take precedence. FromPod []LabelMapping `json:"fromPod,omitempty"` }
TargetLabels groups label mappings by Kubernetes resource.
func (*TargetLabels) DeepCopy ¶
func (in *TargetLabels) DeepCopy() *TargetLabels
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetLabels.
func (*TargetLabels) DeepCopyInto ¶
func (in *TargetLabels) DeepCopyInto(out *TargetLabels)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.