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 AlertingSpec
- type AlertmanagerEndpoints
- type Authorization
- type CollectionSpec
- type ExportFilters
- 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 Rule
- type RuleEvaluatorSpec
- type RuleGroup
- type Rules
- type RulesList
- type RulesSpec
- type RulesStatus
- type Scope
- type ScrapeEndpoint
- 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 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 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 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"`
}
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 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
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 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"`
}
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 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
type RulesSpec struct {
// The scope at which to evaluate rules. Must be "Cluster" or "Namespace". It acts as
// safety mechanism against unintentionally having rules query more data than intended
// without requiring adjusting all selectors of the PromQL expression.
//
// At the Cluster scope only metrics with target labels "project_id" and "cluster"
// matching the current one are used as input to rules.
// At the Namespace scope they are further restricted by the namespace the Rules
// resource is in.
Scope Scope `json:"scope"`
// 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 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.
// Must not be larger then the scrape interval.
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 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 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.