v1alpha1

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the parca v1alpha1 API group +kubebuilder:object:generate=true +groupName=parca.ricoberger.de

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "parca.ricoberger.de", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Duration

type Duration string

Duration is a valid time duration that can be parsed by Prometheus model.ParseDuration() function. Supported units: y, w, d, h, m, s, ms Examples: `30s`, `1m`, `1h20m15s`, `15d` +kubebuilder:validation:Pattern:="^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$"

type LabelName

type LabelName string

LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores. +kubebuilder:validation:Pattern:="^[a-zA-Z_][a-zA-Z0-9_]*$"

type ParcaScrapeConfig

type ParcaScrapeConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ParcaScrapeConfigSpec   `json:"spec,omitempty"`
	Status ParcaScrapeConfigStatus `json:"status,omitempty"`
}

ParcaScrapeConfig is the Schema for the parcascrapeconfigs API

func (*ParcaScrapeConfig) DeepCopy

func (in *ParcaScrapeConfig) DeepCopy() *ParcaScrapeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParcaScrapeConfig.

func (*ParcaScrapeConfig) DeepCopyInto

func (in *ParcaScrapeConfig) DeepCopyInto(out *ParcaScrapeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ParcaScrapeConfig) DeepCopyObject

func (in *ParcaScrapeConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ParcaScrapeConfigList

type ParcaScrapeConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ParcaScrapeConfig `json:"items"`
}

ParcaScrapeConfigList contains a list of ParcaScrapeConfig

func (*ParcaScrapeConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParcaScrapeConfigList.

func (*ParcaScrapeConfigList) DeepCopyInto

func (in *ParcaScrapeConfigList) DeepCopyInto(out *ParcaScrapeConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ParcaScrapeConfigList) DeepCopyObject

func (in *ParcaScrapeConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ParcaScrapeConfigSpec

type ParcaScrapeConfigSpec struct {
	// selector is the selector for the Pods which should be scraped by Parca.
	Selector metav1.LabelSelector `json:"selector"`
	// port is the port of the targets which is used to expose the HTTP endpoints.
	Port int32 `json:"port,omitempty"`
	// scrapeConfig is the scrape configuration as it can be set in the Parca configuration.
	ScrapeConfig ScrapeConfig `json:"scrapeConfig,omitempty"`
}

ParcaScrapeConfigSpec defines the desired state of ParcaScrapeConfig

func (*ParcaScrapeConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParcaScrapeConfigSpec.

func (*ParcaScrapeConfigSpec) DeepCopyInto

func (in *ParcaScrapeConfigSpec) DeepCopyInto(out *ParcaScrapeConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ParcaScrapeConfigStatus

type ParcaScrapeConfigStatus struct {
	PodIPs     []string           `json:"podIPs,omitempty"`
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ParcaScrapeConfigStatus defines the observed state of ParcaScrapeConfig

func (*ParcaScrapeConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ParcaScrapeConfigStatus.

func (*ParcaScrapeConfigStatus) DeepCopyInto

func (in *ParcaScrapeConfigStatus) DeepCopyInto(out *ParcaScrapeConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PprofConfig

type PprofConfig map[string]*PprofProfilingConfig

func (PprofConfig) DeepCopy

func (in PprofConfig) DeepCopy() PprofConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PprofConfig.

func (PprofConfig) DeepCopyInto

func (in PprofConfig) DeepCopyInto(out *PprofConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PprofProfilingConfig

type PprofProfilingConfig struct {
	Enabled *bool  `json:"enabled,omitempty"`
	Path    string `json:"path,omitempty"`
	Delta   bool   `json:"delta,omitempty"`
}

func (*PprofProfilingConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PprofProfilingConfig.

func (*PprofProfilingConfig) DeepCopyInto

func (in *PprofProfilingConfig) DeepCopyInto(out *PprofProfilingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProfilingConfig

type ProfilingConfig struct {
	PprofConfig PprofConfig `json:"pprof_config,omitempty"`
	PprofPrefix string      `json:"path_prefix,omitempty"`
}

func (*ProfilingConfig) DeepCopy

func (in *ProfilingConfig) DeepCopy() *ProfilingConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProfilingConfig.

func (*ProfilingConfig) DeepCopyInto

func (in *ProfilingConfig) DeepCopyInto(out *ProfilingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RelabelConfig

type RelabelConfig struct {
	// The source labels select values from existing labels. Their content is concatenated using the configured
	// Separator and matched against the configured regular expression.
	//
	// +optional
	SourceLabels []LabelName `json:"source_labels,omitempty"`

	// Separator is the string between concatenated SourceLabels.
	Separator string `json:"separator,omitempty"`

	// Label to which the resulting string is written in a replacement.
	//
	// It is mandatory for `Replace`, `HashMod`, `Lowercase`, `Uppercase`, `KeepEqual` and `DropEqual` actions.
	//
	// Regex capture groups are available.
	TargetLabel string `json:"target_label,omitempty"`

	// Regular expression against which the extracted value is matched.
	Regex string `json:"regex,omitempty"`

	// Modulus to take of the hash of the source label values.
	//
	// Only applicable when the action is `HashMod`.
	Modulus uint64 `json:"modulus,omitempty"`

	// Replacement value against which a Replace action is performed if the regular expression matches.
	//
	// Regex capture groups are available.
	Replacement string `json:"replacement,omitempty"`

	// Action to perform based on the regex matching.
	//
	// `Uppercase` and `Lowercase` actions require Prometheus >= v2.36.0.
	// `DropEqual` and `KeepEqual` actions require Prometheus >= v2.41.0.
	//
	// Default: "Replace"
	//
	// +kubebuilder:validation:Enum=replace;Replace;keep;Keep;drop;Drop;hashmod;HashMod;labelmap;LabelMap;labeldrop;LabelDrop;labelkeep;LabelKeep;lowercase;Lowercase;uppercase;Uppercase;keepequal;KeepEqual;dropequal;DropEqual
	// +kubebuilder:default=replace
	Action string `json:"action,omitempty"`
}

RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples.

func (*RelabelConfig) DeepCopy

func (in *RelabelConfig) DeepCopy() *RelabelConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelabelConfig.

func (*RelabelConfig) DeepCopyInto

func (in *RelabelConfig) DeepCopyInto(out *RelabelConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScrapeConfig

type ScrapeConfig struct {
	// job_name is the name of the section in the configurtion. If no job_name is provided, it will be automatically
	// generated based on the name and namespace of the CR: "namespace.name"
	JobName string `json:"job_name,omitempty"`
	// params is a set of query parameters with which the target is scraped.
	Params map[string][]string `json:"params,omitempty"`
	// scrape_interval defines how frequently to scrape the targets of this scrape config.
	ScrapeInterval Duration `json:"scrape_interval,omitempty"`
	// scrape_timeout defines the timeout for scraping targets of this config.
	ScrapeTimeout Duration `json:"scrape_timeout,omitempty"`
	// schema sets the URL scheme with which to fetch metrics from targets.
	Scheme string `json:"scheme,omitempty"`
	// normalized_addresses can be set to true if the addresses returned by the endpoints have already been normalized.
	NormalizedAddresses bool `json:"normalized_addresses,omitempty"`
	// profiling_config defines the profiling config for the targets, see
	// https://www.parca.dev/docs/ingestion#pull-based for more information.
	ProfilingConfig *ProfilingConfig `json:"profiling_config,omitempty"`
	// relabel_configs allows dynamic rewriting of the label set for the targets. See
	// https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config for more information.
	RelabelConfigs []*RelabelConfig `json:"relabel_configs,omitempty"`

	StaticConfigs []StaticConfig `json:"static_configs,omitempty"`
}

func (*ScrapeConfig) DeepCopy

func (in *ScrapeConfig) DeepCopy() *ScrapeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScrapeConfig.

func (*ScrapeConfig) DeepCopyInto

func (in *ScrapeConfig) DeepCopyInto(out *ScrapeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StaticConfig

type StaticConfig struct {
	Targets []string          `json:"targets,omitempty"`
	Labels  map[string]string `json:"labels,omitempty"`
}

func (*StaticConfig) DeepCopy

func (in *StaticConfig) DeepCopy() *StaticConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticConfig.

func (*StaticConfig) DeepCopyInto

func (in *StaticConfig) DeepCopyInto(out *StaticConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL