Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func ClusterPodMonitoringResource() metav1.GroupVersionResource
- func ClusterRulesResource() metav1.GroupVersionResource
- func GlobalRulesResource() metav1.GroupVersionResource
- func Kind(kind string) schema.GroupKind
- func OperatorConfigResource() metav1.GroupVersionResource
- func PodMonitoringResource() metav1.GroupVersionResource
- func Resource(resource string) schema.GroupResource
- func RulesResource() metav1.GroupVersionResource
- type AlertingSpec
- type AlertmanagerEndpoints
- type Authorization
- type ClusterPodMonitoring
- func (in *ClusterPodMonitoring) DeepCopy() *ClusterPodMonitoring
- func (in *ClusterPodMonitoring) DeepCopyInto(out *ClusterPodMonitoring)
- func (in *ClusterPodMonitoring) DeepCopyObject() runtime.Object
- func (cm *ClusterPodMonitoring) ScrapeConfigs() (res []*promconfig.ScrapeConfig, err error)
- func (cm *ClusterPodMonitoring) ValidateCreate() error
- func (cm *ClusterPodMonitoring) ValidateDelete() error
- func (cm *ClusterPodMonitoring) ValidateUpdate(old runtime.Object) error
- type ClusterPodMonitoringList
- type ClusterPodMonitoringSpec
- type ClusterRules
- type ClusterRulesList
- type CollectionSpec
- type ExportFilters
- type GlobalRules
- type GlobalRulesList
- type LabelMapping
- type MonitoringCondition
- type MonitoringConditionType
- type OperatorConfig
- type OperatorConfigList
- 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 RelabelingRule
- type Rule
- type RuleEvaluatorSpec
- type RuleGroup
- type Rules
- type RulesList
- type RulesSpec
- type RulesStatus
- type ScrapeEndpoint
- type ScrapeLimits
- type SecretOrConfigMap
- type TLSConfig
- 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 ClusterPodMonitoringResource ¶ added in v0.2.0
func ClusterPodMonitoringResource() metav1.GroupVersionResource
ClusterPodMonitoringResource returns a ClusterPodMonitoring GroupVersionResource. This can be used to enforce API types.
func ClusterRulesResource ¶ added in v0.2.0
func ClusterRulesResource() metav1.GroupVersionResource
ClusterRulesResource returns a ClusterRules GroupVersionResource. This can be used to enforce API types.
func GlobalRulesResource ¶ added in v0.2.0
func GlobalRulesResource() metav1.GroupVersionResource
GlobalRulesResource returns a GlobalRules GroupVersionResource. This can be used to enforce API types.
func OperatorConfigResource ¶ added in v0.2.0
func OperatorConfigResource() metav1.GroupVersionResource
OperatorConfigResource returns a OperatorConfig GroupVersionResource. This can be used to enforce API types.
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.
func RulesResource ¶ added in v0.2.0
func RulesResource() metav1.GroupVersionResource
RulesResource returns a Rules GroupVersionResource. This can be used to enforce API types.
Types ¶
type AlertingSpec ¶ added in v0.0.9
type AlertingSpec struct { // Alertmanagers contains endpoint configuration for designated Alertmanagers. Alertmanagers []AlertmanagerEndpoints `json:"alertmanagers,omitempty"` }
AlertingSpec defines alerting configuration.
func (*AlertingSpec) DeepCopy ¶ added in v0.0.9
func (in *AlertingSpec) DeepCopy() *AlertingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertingSpec.
func (*AlertingSpec) DeepCopyInto ¶ added in v0.0.9
func (in *AlertingSpec) DeepCopyInto(out *AlertingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlertmanagerEndpoints ¶ added in v0.0.9
type AlertmanagerEndpoints struct { // Namespace of Endpoints object. Namespace string `json:"namespace"` // Name of Endpoints object in Namespace. Name string `json:"name"` // Port the Alertmanager API is exposed on. Port intstr.IntOrString `json:"port"` // Scheme to use when firing alerts. Scheme string `json:"scheme,omitempty"` // Prefix for the HTTP path alerts are pushed to. PathPrefix string `json:"pathPrefix,omitempty"` // TLS Config to use for alertmanager connection. TLS *TLSConfig `json:"tls,omitempty"` // Authorization section for this alertmanager endpoint Authorization *Authorization `json:"authorization,omitempty"` // Version of the Alertmanager API that rule-evaluator uses to send alerts. It // can be "v1" or "v2". APIVersion string `json:"apiVersion,omitempty"` // Timeout is a per-target Alertmanager timeout when pushing alerts. Timeout string `json:"timeout,omitempty"` }
AlertmanagerEndpoints defines a selection of a single Endpoints object containing alertmanager IPs to fire alerts against.
func (*AlertmanagerEndpoints) DeepCopy ¶ added in v0.0.9
func (in *AlertmanagerEndpoints) DeepCopy() *AlertmanagerEndpoints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerEndpoints.
func (*AlertmanagerEndpoints) DeepCopyInto ¶ added in v0.0.9
func (in *AlertmanagerEndpoints) DeepCopyInto(out *AlertmanagerEndpoints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Authorization ¶ added in v0.0.11
type Authorization struct { // Set the authentication type. Defaults to Bearer, Basic will cause an // error Type string `json:"type,omitempty"` // The secret's key that contains the credentials of the request Credentials *v1.SecretKeySelector `json:"credentials,omitempty"` }
Authorization specifies a subset of the Authorization struct, that is safe for use in Endpoints (no CredentialsFile field).
func (*Authorization) DeepCopy ¶ added in v0.0.11
func (in *Authorization) DeepCopy() *Authorization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authorization.
func (*Authorization) DeepCopyInto ¶ added in v0.0.11
func (in *Authorization) DeepCopyInto(out *Authorization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPodMonitoring ¶ added in v0.2.0
type ClusterPodMonitoring struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of desired Pod selection for target discovery by // Prometheus. Spec ClusterPodMonitoringSpec `json:"spec"` // Most recently observed status of the resource. // +optional Status PodMonitoringStatus `json:"status"` }
ClusterPodMonitoring defines monitoring for a set of pods. +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status
func (*ClusterPodMonitoring) DeepCopy ¶ added in v0.2.0
func (in *ClusterPodMonitoring) DeepCopy() *ClusterPodMonitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodMonitoring.
func (*ClusterPodMonitoring) DeepCopyInto ¶ added in v0.2.0
func (in *ClusterPodMonitoring) DeepCopyInto(out *ClusterPodMonitoring)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPodMonitoring) DeepCopyObject ¶ added in v0.2.0
func (in *ClusterPodMonitoring) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterPodMonitoring) ScrapeConfigs ¶ added in v0.2.0
func (cm *ClusterPodMonitoring) ScrapeConfigs() (res []*promconfig.ScrapeConfig, err error)
func (*ClusterPodMonitoring) ValidateCreate ¶ added in v0.2.0
func (cm *ClusterPodMonitoring) ValidateCreate() error
func (*ClusterPodMonitoring) ValidateDelete ¶ added in v0.2.0
func (cm *ClusterPodMonitoring) ValidateDelete() error
func (*ClusterPodMonitoring) ValidateUpdate ¶ added in v0.2.0
func (cm *ClusterPodMonitoring) ValidateUpdate(old runtime.Object) error
type ClusterPodMonitoringList ¶ added in v0.2.0
type ClusterPodMonitoringList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterPodMonitoring `json:"items"` }
ClusterPodMonitoringList is a list of ClusterPodMonitorings. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ClusterPodMonitoringList) DeepCopy ¶ added in v0.2.0
func (in *ClusterPodMonitoringList) DeepCopy() *ClusterPodMonitoringList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodMonitoringList.
func (*ClusterPodMonitoringList) DeepCopyInto ¶ added in v0.2.0
func (in *ClusterPodMonitoringList) DeepCopyInto(out *ClusterPodMonitoringList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterPodMonitoringList) DeepCopyObject ¶ added in v0.2.0
func (in *ClusterPodMonitoringList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPodMonitoringSpec ¶ added in v0.2.0
type ClusterPodMonitoringSpec struct { // Label selector that specifies which pods are selected for this monitoring // configuration. Selector metav1.LabelSelector `json:"selector"` // The endpoints to scrape on the selected pods. Endpoints []ScrapeEndpoint `json:"endpoints"` // Labels to add to the Prometheus target for discovered endpoints TargetLabels TargetLabels `json:"targetLabels,omitempty"` // Limits to apply at scrape time. Limits *ScrapeLimits `json:"limits,omitempty"` }
ClusterPodMonitoringSpec contains specification parameters for PodMonitoring.
func (*ClusterPodMonitoringSpec) DeepCopy ¶ added in v0.2.0
func (in *ClusterPodMonitoringSpec) DeepCopy() *ClusterPodMonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPodMonitoringSpec.
func (*ClusterPodMonitoringSpec) DeepCopyInto ¶ added in v0.2.0
func (in *ClusterPodMonitoringSpec) DeepCopyInto(out *ClusterPodMonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterRules ¶ added in v0.1.0
type ClusterRules struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of rules to record and alert on. Spec RulesSpec `json:"spec"` // Most recently observed status of the resource. // +optional Status RulesStatus `json:"status"` }
ClusterRules defines Prometheus alerting and recording rules that are scoped to the current cluster. Only metric data from the current cluster is processed and all rule results have their project_id and cluster label preserved for query processing. If the location label is not preserved by the rule, it defaults to the cluster's location.
+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status
func (*ClusterRules) DeepCopy ¶ added in v0.1.0
func (in *ClusterRules) DeepCopy() *ClusterRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRules.
func (*ClusterRules) DeepCopyInto ¶ added in v0.1.0
func (in *ClusterRules) DeepCopyInto(out *ClusterRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterRules) DeepCopyObject ¶ added in v0.1.0
func (in *ClusterRules) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterRulesList ¶ added in v0.1.0
type ClusterRulesList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterRules `json:"items"` }
ClusterRulesList is a list of ClusterRules. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ClusterRulesList) DeepCopy ¶ added in v0.1.0
func (in *ClusterRulesList) DeepCopy() *ClusterRulesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterRulesList.
func (*ClusterRulesList) DeepCopyInto ¶ added in v0.1.0
func (in *ClusterRulesList) DeepCopyInto(out *ClusterRulesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterRulesList) DeepCopyObject ¶ added in v0.1.0
func (in *ClusterRulesList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CollectionSpec ¶ added in v0.0.11
type CollectionSpec struct { // ExternalLabels specifies external labels that are attached to all scraped // data before being written to Cloud Monitoring. The precedence behavior matches that // of Prometheus. ExternalLabels map[string]string `json:"externalLabels,omitempty"` // Filter limits which metric data is sent to Cloud Monitoring. Filter ExportFilters `json:"filter,omitempty"` // A reference to GCP service account credentials with which Prometheus collectors // are run. It needs to have metric write permissions for all project IDs to which // data is written. // Within GKE, this can typically be left empty if the compute default // service account has the required permissions. Credentials *v1.SecretKeySelector `json:"credentials,omitempty"` }
CollectionSpec specifies how the operator configures collection of metric data.
func (*CollectionSpec) DeepCopy ¶ added in v0.0.11
func (in *CollectionSpec) DeepCopy() *CollectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CollectionSpec.
func (*CollectionSpec) DeepCopyInto ¶ added in v0.0.11
func (in *CollectionSpec) DeepCopyInto(out *CollectionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExportFilters ¶ added in v0.0.11
type ExportFilters struct { // A list Prometheus time series matchers. Every time series must match at least one // of the matchers to be exported. This field can be used equivalently to the match[] // parameter of the Prometheus federation endpoint to selectively export data. // // Example: `["{job='prometheus'}", "{__name__=~'job:.*'}"]` MatchOneOf []string `json:"matchOneOf,omitempty"` }
ExportFilters provides mechanisms to filter the scraped data that's sent to GMP.
func (*ExportFilters) DeepCopy ¶ added in v0.0.11
func (in *ExportFilters) DeepCopy() *ExportFilters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExportFilters.
func (*ExportFilters) DeepCopyInto ¶ added in v0.0.11
func (in *ExportFilters) DeepCopyInto(out *ExportFilters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalRules ¶ added in v0.2.0
type GlobalRules struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of rules to record and alert on. Spec RulesSpec `json:"spec"` // Most recently observed status of the resource. // +optional Status RulesStatus `json:"status"` }
GlobalRules defines Prometheus alerting and recording rules that are scoped to all data in the queried project. If the project_id or location labels are not preserved by the rule, they default to the values of the cluster.
+genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status
func (*GlobalRules) DeepCopy ¶ added in v0.2.0
func (in *GlobalRules) DeepCopy() *GlobalRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRules.
func (*GlobalRules) DeepCopyInto ¶ added in v0.2.0
func (in *GlobalRules) DeepCopyInto(out *GlobalRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRules) DeepCopyObject ¶ added in v0.2.0
func (in *GlobalRules) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalRulesList ¶ added in v0.2.0
type GlobalRulesList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GlobalRules `json:"items"` }
GlobalRulesList is a list of GlobalRules. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*GlobalRulesList) DeepCopy ¶ added in v0.2.0
func (in *GlobalRulesList) DeepCopy() *GlobalRulesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRulesList.
func (*GlobalRulesList) DeepCopyInto ¶ added in v0.2.0
func (in *GlobalRulesList) DeepCopyInto(out *GlobalRulesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalRulesList) DeepCopyObject ¶ added in v0.2.0
func (in *GlobalRulesList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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 OperatorConfig ¶ added in v0.0.9
type OperatorConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Rules specifies how the operator configures and deployes rule-evaluator. Rules RuleEvaluatorSpec `json:"rules,omitempty"` // Collection specifies how the operator configures collection. Collection CollectionSpec `json:"collection,omitempty"` }
OperatorConfig defines configuration of the gmp-operator. +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*OperatorConfig) DeepCopy ¶ added in v0.0.9
func (in *OperatorConfig) DeepCopy() *OperatorConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfig.
func (*OperatorConfig) DeepCopyInto ¶ added in v0.0.9
func (in *OperatorConfig) DeepCopyInto(out *OperatorConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatorConfig) DeepCopyObject ¶ added in v0.0.9
func (in *OperatorConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OperatorConfigList ¶ added in v0.0.9
type OperatorConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []OperatorConfig `json:"items"` }
OperatorConfigList is a list of OperatorConfigs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*OperatorConfigList) DeepCopy ¶ added in v0.0.9
func (in *OperatorConfigList) DeepCopy() *OperatorConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatorConfigList.
func (*OperatorConfigList) DeepCopyInto ¶ added in v0.0.9
func (in *OperatorConfigList) DeepCopyInto(out *OperatorConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OperatorConfigList) DeepCopyObject ¶ added in v0.0.9
func (in *OperatorConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
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 +kubebuilder:subresource:status
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)
ScrapeConfigs generated Prometheus scrape configs for the PodMonitoring.
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 { // Label selector that specifies which pods are selected for this monitoring // configuration. Selector metav1.LabelSelector `json:"selector"` // The endpoints to scrape on the selected pods. Endpoints []ScrapeEndpoint `json:"endpoints"` // Labels to add to the Prometheus target for discovered endpoints. TargetLabels TargetLabels `json:"targetLabels,omitempty"` // Limits to apply at scrape time. Limits *ScrapeLimits `json:"limits,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.
func (*PodMonitoringStatus) SetPodMonitoringCondition ¶ added in v0.2.0
func (status *PodMonitoringStatus) SetPodMonitoringCondition(gen int64, now metav1.Time, cond *MonitoringCondition) (bool, error)
SetPodMonitoringCondition merges the provided PodMonitoring resource to the along with the provided condition iff the resource generation has changed or there is a status condition state transition.
type RelabelingRule ¶ added in v0.2.0
type RelabelingRule struct { // The source labels select values from existing labels. Their content is concatenated // using the configured separator and matched against the configured regular expression // for the replace, keep, and drop actions. SourceLabels []string `json:"sourceLabels,omitempty"` // Separator placed between concatenated source label values. Defaults to ';'. Separator string `json:"separator,omitempty"` // Label to which the resulting value is written in a replace action. // It is mandatory for replace actions. Regex capture groups are available. TargetLabel string `json:"targetLabel,omitempty"` // Regular expression against which the extracted value is matched. Defaults to '(.*)'. Regex string `json:"regex,omitempty"` // Modulus to take of the hash of the source label values. Modulus uint64 `json:"modulus,omitempty"` // Replacement value against which a regex replace is performed if the // regular expression matches. Regex capture groups are available. Defaults to '$1'. Replacement string `json:"replacement,omitempty"` // Action to perform based on regex matching. Defaults to 'replace'. Action string `json:"action,omitempty"` }
RelabelingRule defines a single Prometheus relabeling rule.
func (*RelabelingRule) DeepCopy ¶ added in v0.2.0
func (in *RelabelingRule) DeepCopy() *RelabelingRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelabelingRule.
func (*RelabelingRule) DeepCopyInto ¶ added in v0.2.0
func (in *RelabelingRule) DeepCopyInto(out *RelabelingRule)
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 the result of the expression to this metric name. // Only one of `record` and `alert` must be set. Record string `json:"record,omitempty"` // Name of the alert to evaluate the expression as. // Only one of `record` and `alert` must be set. Alert string `json:"alert,omitempty"` // The PromQL expression to evaluate. Expr string `json:"expr"` // The duration to wait before a firing alert produced by this rule is sent to Alertmanager. // Only valid if `alert` is set. For string `json:"for,omitempty"` // A set of labels to attach to the result of the query expression. Labels map[string]string `json:"labels,omitempty"` // A set of annotations to attach to alerts produced by the query expression. // Only valid if `alert` is set. Annotations map[string]string `json:"annotations,omitempty"` }
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 RuleEvaluatorSpec ¶ added in v0.0.9
type RuleEvaluatorSpec struct { // ExternalLabels specifies external labels that are attached to any rule // results and alerts produced by rules. The precedence behavior matches that // of Prometheus. ExternalLabels map[string]string `json:"externalLabels,omitempty"` // QueryProjectID is the GCP project ID to evaluate rules against. // If left blank, the rule-evaluator will try attempt to infer the Project ID // from the environment. QueryProjectID string `json:"queryProjectID,omitempty"` // Alerting contains how the rule-evaluator configures alerting. Alerting AlertingSpec `json:"alerting,omitempty"` // A reference to GCP service account credentials with which the rule // evaluator container is run. It needs to have metric read permissions // against queryProjectId and metric write permissions against all projects // to which rule results are written. // Within GKE, this can typically be left empty if the compute default // service account has the required permissions. Credentials *v1.SecretKeySelector `json:"credentials,omitempty"` }
RuleEvaluatorSpec defines configuration for deploying rule-evaluator.
func (*RuleEvaluatorSpec) DeepCopy ¶ added in v0.0.9
func (in *RuleEvaluatorSpec) DeepCopy() *RuleEvaluatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleEvaluatorSpec.
func (*RuleEvaluatorSpec) DeepCopyInto ¶ added in v0.0.9
func (in *RuleEvaluatorSpec) DeepCopyInto(out *RuleEvaluatorSpec)
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 { // The name of the rule group. Name string `json:"name"` // The interval at which to evaluate the rules. Must be a valid Prometheus duration. Interval string `json:"interval"` // A list of rules that are executed sequentially as part of this group. 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 rules to record and alert on. Spec RulesSpec `json:"spec"` // Most recently observed status of the resource. // +optional Status RulesStatus `json:"status"` }
Rules defines Prometheus alerting and recording rules that are scoped to the namespace of the resource. Only metric data from this namespace is processed and all rule results have their project_id, cluster, and namespace label preserved for query processing. If the location label is not preserved by the rule, it defaults to the cluster's location.
+genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status
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
type RulesSpec struct { // A list of Prometheus rule groups. Groups []RuleGroup `json:"groups"` }
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 ScrapeEndpoint ¶
type ScrapeEndpoint struct { // Name or number of the port to scrape. Port intstr.IntOrString `json:"port,omitempty"` // Protocol scheme to use to scrape. Scheme string `json:"scheme,omitempty"` // HTTP path to scrape metrics from. Defaults to "/metrics". Path string `json:"path,omitempty"` // HTTP GET params to use when scraping. Params map[string][]string `json:"params,omitempty"` // Proxy URL to scrape through. Encoded passwords are not supported. ProxyURL string `json:"proxyUrl,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. // Must not be larger then the scrape interval. Timeout string `json:"timeout,omitempty"` // Relabeling rules for metrics scraped from this endpoint. Relabeling rules that // override protected target labels (project_id, location, cluster, namespace, job, // instance, or __address__) are not permitted. The labelmap action is not permitted // in general. MetricRelabeling []RelabelingRule `json:"metricRelabeling,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 ScrapeLimits ¶ added in v0.2.0
type ScrapeLimits struct { // Maximum number of samples accepted within a single scrape. // Uses Prometheus default if left unspecified. Samples uint64 `json:"samples,omitempty"` // Maximum number of labels accepted for a single sample. // Uses Prometheus default if left unspecified. Labels uint64 `json:"labels,omitempty"` // Maximum label name length. // Uses Prometheus default if left unspecified. LabelNameLength uint64 `json:"labelNameLength,omitempty"` // Maximum label value length. // Uses Prometheus default if left unspecified. LabelValueLength uint64 `json:"labelValueLength,omitempty"` }
ScrapeLimits limits applied to scraped targets.
func (*ScrapeLimits) DeepCopy ¶ added in v0.2.0
func (in *ScrapeLimits) DeepCopy() *ScrapeLimits
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScrapeLimits.
func (*ScrapeLimits) DeepCopyInto ¶ added in v0.2.0
func (in *ScrapeLimits) DeepCopyInto(out *ScrapeLimits)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretOrConfigMap ¶ added in v0.0.11
type SecretOrConfigMap struct { // Secret containing data to use for the targets. Secret *v1.SecretKeySelector `json:"secret,omitempty"` // ConfigMap containing data to use for the targets. ConfigMap *v1.ConfigMapKeySelector `json:"configMap,omitempty"` }
SecretOrConfigMap allows to specify data as a Secret or ConfigMap. Fields are mutually exclusive. Taking inspiration from prometheus-operator: https://github.com/prometheus-operator/prometheus-operator/blob/2c81b0cf6a5673e08057499a08ddce396b19dda4/Documentation/api.md#secretorconfigmap
func (*SecretOrConfigMap) DeepCopy ¶ added in v0.0.11
func (in *SecretOrConfigMap) DeepCopy() *SecretOrConfigMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretOrConfigMap.
func (*SecretOrConfigMap) DeepCopyInto ¶ added in v0.0.11
func (in *SecretOrConfigMap) DeepCopyInto(out *SecretOrConfigMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSConfig ¶ added in v0.0.9
type TLSConfig struct { // Struct containing the CA cert to use for the targets. CA *SecretOrConfigMap `json:"ca,omitempty"` // Struct containing the client cert file for the targets. Cert *SecretOrConfigMap `json:"cert,omitempty"` // Secret containing the client key file for the targets. KeySecret *v1.SecretKeySelector `json:"keySecret,omitempty"` // Used to verify the hostname for the targets. ServerName string `json:"serverName,omitempty"` // Disable target certificate validation. InsecureSkipVerify bool `json:"insecureSkipVerify,omitempty"` }
SafeTLSConfig specifies TLS configuration parameters from Kubernetes resources.
func (*TLSConfig) DeepCopy ¶ added in v0.0.9
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶ added in v0.0.9
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 configures labels for the discovered Prometheus targets.
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.