v1alpha1

package
v0.0.0-...-321caff Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 License: Apache-2.0, MIT Imports: 11 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the opstrace v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=opstrace.com

Package v1alpha1 contains API Schema definitions for the opstrace.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=opstrace.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "opstrace.com", 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 ComponentsSpec

type ComponentsSpec struct {
	// +optional
	Ingress IngressRoute `json:"ingress"`
	// +optional
	Service Service `json:"service"`
	// +optional
	Deployment Deployment `json:"deployment"`
	// +optional
	StatefulSet StatefulSet `json:"statefulset"`
	// +optional
	ServiceMonitor ServiceMonitor `json:"serviceMonitor"`
}

func (*ComponentsSpec) DeepCopy

func (in *ComponentsSpec) DeepCopy() *ComponentsSpec

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

func (*ComponentsSpec) DeepCopyInto

func (in *ComponentsSpec) DeepCopyInto(out *ComponentsSpec)

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

type Deployment

type Deployment struct {
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Spec *DeploymentSpec `json:"spec,omitempty"`
}

Deployment provides a means to configure the deployment.

func (*Deployment) DeepCopy

func (in *Deployment) DeepCopy() *Deployment

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

func (*Deployment) DeepCopyInto

func (in *Deployment) DeepCopyInto(out *Deployment)

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

type DeploymentSpec

type DeploymentSpec struct {
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`

	// Label selector for pods. Existing ReplicaSets whose pods are
	// selected by this will be the ones affected by this deployment.
	// It must match the pod template's labels.
	// +optional
	Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`

	// Template describes the pods that will be created.
	// +optional
	Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`

	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	// +patchStrategy=retainKeys
	Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys" protobuf:"bytes,4,opt,name=strategy"`

	// Minimum number of seconds for which a newly created pod should be ready
	// without any of its container crashing, for it to be considered available.
	// Defaults to 0 (pod will be considered available as soon as it is ready)
	// +optional
	MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,5,opt,name=minReadySeconds"`

	// The number of old ReplicaSets to retain to allow rollback.
	// This is a pointer to distinguish between explicit zero and not specified.
	// Defaults to 10.
	// +optional
	RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,6,opt,name=revisionHistoryLimit"`

	// Indicates that the deployment is paused.
	// +optional
	Paused bool `json:"paused,omitempty" protobuf:"varint,7,opt,name=paused"`

	// The maximum time in seconds for a deployment to make progress before it
	// is considered to be failed. The deployment controller will continue to
	// process failed deployments and a condition with a ProgressDeadlineExceeded
	// reason will be surfaced in the deployment status. Note that progress will
	// not be estimated during the time a deployment is paused. Defaults to 600s.
	ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty" protobuf:"varint,9,opt,name=progressDeadlineSeconds"`
}

////////////////////////////// Below is all copied from k8s.io/api/apps/v1 and changed all fields to be optional with omitempty for overrides. ///////////////////////////// DeploymentSpec is the specification of the desired behavior of the Deployment.

func (*DeploymentSpec) DeepCopy

func (in *DeploymentSpec) DeepCopy() *DeploymentSpec

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

func (*DeploymentSpec) DeepCopyInto

func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)

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

type ErrorTrackingComponentsSpec

type ErrorTrackingComponentsSpec struct {
	// +optional
	IngressRoute IngressRoute `json:"ingressRoute"`
	// +optional
	Service Service `json:"service"`
	// +optional
	Deployment Deployment `json:"deployment"`
	// +optional
	StatefulSet StatefulSet `json:"statefulset"`
	// +optional
	ServiceMonitor ServiceMonitor `json:"serviceMonitor"`
	// +optional
	Quotas v1.ConfigMap `json:"quotas"`
}

func (*ErrorTrackingComponentsSpec) DeepCopy

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

func (*ErrorTrackingComponentsSpec) DeepCopyInto

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

type ErrorTrackingSpec

type ErrorTrackingSpec struct {
	// +optional
	Components ErrorTrackingComponentsSpec `json:"components"`
}

func (*ErrorTrackingSpec) DeepCopy

func (in *ErrorTrackingSpec) DeepCopy() *ErrorTrackingSpec

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

func (*ErrorTrackingSpec) DeepCopyInto

func (in *ErrorTrackingSpec) DeepCopyInto(out *ErrorTrackingSpec)

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

type FreeForm

type FreeForm struct {
	Json *[]byte `json:"-"`
}

FreeForm defines a common options parameter that maintains the hierarchical structure of the data, unlike Options which flattens the hierarchy into a key/value map where the hierarchy is converted to '.' separated items in the key.

func (*FreeForm) DeepCopy

func (in *FreeForm) DeepCopy() *FreeForm

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

func (*FreeForm) DeepCopyInto

func (in *FreeForm) DeepCopyInto(out *FreeForm)

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

type GrafanaPlugin

type GrafanaPlugin struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	Version string `json:"version"`
}

GrafanaPlugin contains information about a single plugin. +k8s:openapi-gen=true

func (*GrafanaPlugin) DeepCopy

func (in *GrafanaPlugin) DeepCopy() *GrafanaPlugin

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

func (*GrafanaPlugin) DeepCopyInto

func (in *GrafanaPlugin) DeepCopyInto(out *GrafanaPlugin)

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

type Group

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

	Spec   GroupSpec   `json:"spec,omitempty"`
	Status GroupStatus `json:"status,omitempty"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status Group is the Schema for the Groups API.

func (*Group) DeepCopy

func (in *Group) DeepCopy() *Group

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

func (*Group) DeepCopyInto

func (in *Group) DeepCopyInto(out *Group)

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

func (*Group) DeepCopyObject

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

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

type GroupList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status GroupList contains a list of Group.

func (*GroupList) DeepCopy

func (in *GroupList) DeepCopy() *GroupList

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

func (*GroupList) DeepCopyInto

func (in *GroupList) DeepCopyInto(out *GroupList)

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

func (*GroupList) DeepCopyObject

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

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

type GroupOverridesSpec

type GroupOverridesSpec struct {
	// +optional
	ErrorTracking ErrorTrackingSpec `json:"errortracking"`
	// +optional
	Jaeger JaegerSpec `json:"jaeger"`
	// +optional
	OpenTelemetry OpenTelemetrySpec `json:"opentelemetry"`
	// +optional
	Features map[string]string `json:"features,omitempty"`
}

func (*GroupOverridesSpec) DeepCopy

func (in *GroupOverridesSpec) DeepCopy() *GroupOverridesSpec

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

func (*GroupOverridesSpec) DeepCopyInto

func (in *GroupOverridesSpec) DeepCopyInto(out *GroupOverridesSpec)

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

type GroupSpec

type GroupSpec struct {
	ID                int64   `json:"id"`
	Name              string  `json:"name"`
	Path              string  `json:"path"`
	FullPath          string  `json:"full_path"`
	Description       string  `json:"description"`
	AvatarURL         string  `json:"avatar_url"`
	WebURL            string  `json:"web_url"`
	ClickhouseAddress *string `json:"clickhouseAddress,omitempty"`
	// domain which this group is configured for, e.g. observe.gitlab.com
	// +optional
	Domain *string `json:"domain,omitempty"`
	// +optional
	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
	// Set overrides for components and config
	// +optional
	Overrides GroupOverridesSpec `json:"overrides"`
	// Setup features for group and its resources
	// +optional
	Features map[string]string `json:"features,omitempty"`
}

GroupSpec defines the desired state of Group.

func (*GroupSpec) DeepCopy

func (in *GroupSpec) DeepCopy() *GroupSpec

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

func (*GroupSpec) DeepCopyInto

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

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

func (*GroupSpec) GetHost

func (g *GroupSpec) GetHost() string

func (*GroupSpec) GetHostURL

func (g *GroupSpec) GetHostURL() string

type GroupStatus

type GroupStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Inventory contains the list of Kubernetes resource object references that have been successfully applied.
	// +optional
	Inventory map[string]*v1beta2.ResourceInventory `json:"inventory,omitempty"`
}

GroupStatus defines the observed state of Group.

func (*GroupStatus) DeepCopy

func (in *GroupStatus) DeepCopy() *GroupStatus

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

func (*GroupStatus) DeepCopyInto

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

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

type IngressRoute

type IngressRoute struct {
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Spec *traefik.IngressRouteSpec `json:"spec,omitempty"`
}

IngressRoute provides a means to configure the ingress created.

func (*IngressRoute) DeepCopy

func (in *IngressRoute) DeepCopy() *IngressRoute

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

func (*IngressRoute) DeepCopyInto

func (in *IngressRoute) DeepCopyInto(out *IngressRoute)

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

type JaegerComponentsSpec

type JaegerComponentsSpec struct {
	// +optional
	IngressRoute IngressRoute `json:"ingressRoute"`
	// +optional
	Service Service `json:"service"`
	// +optional
	Deployment JaegerDeploymentSpec `json:"deployment"`
	// +optional
	ServiceMonitor ServiceMonitor `json:"serviceMonitor"`
	// +optional
	Quotas v1.ConfigMap `json:"quotas"`
}

func (*JaegerComponentsSpec) DeepCopy

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

func (*JaegerComponentsSpec) DeepCopyInto

func (in *JaegerComponentsSpec) DeepCopyInto(out *JaegerComponentsSpec)

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

type JaegerDeploymentSpec

type JaegerDeploymentSpec struct {
	// +optional
	Labels map[string]string `json:"labels"`
	// +optional
	Annotations map[string]string `json:"annotations"`
	// +optional
	Spec *[]byte `json:"-"`
}

func (*JaegerDeploymentSpec) DeepCopy

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

func (*JaegerDeploymentSpec) DeepCopyInto

func (in *JaegerDeploymentSpec) DeepCopyInto(out *JaegerDeploymentSpec)

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

type JaegerPluginConfigOptions

type JaegerPluginConfigOptions struct {
	// ClickHouse service address
	Address string `json:"address,omitempty"`
	// maximum number of pending spans in memory before discarding data.
	// default is 10_000_000, but that was observed to use multiple gigs of memory if
	// clickhouse was too bogged down, to the point of evicting the pod on a 16GB host node.
	// meanwhile 100K results in ~1.2GB of memory usage when the queue is full/stuck.
	MaxSpanCount int `json:"max_span_count,omitempty"`
	// wait until 10k spans have been received, or after 5s, whichever comes first
	BatchWriteSize int `json:"batch_write_size,omitempty"`
	// duration e.g. "5s"
	BatchFlushInterval string `json:"batch_flush_interval,omitempty"`
	// json or protobuf: guessing that protobuf is a bit faster/smaller
	Encoding string `json:"encoding,omitempty"`
	// ClickHouse username
	Username string `json:"username,omitempty"`
	// ClickHouse password
	Password string `json:"password,omitempty"`
	// shared tracing DB across tenants
	Database string `json:"database,omitempty"`
	// include a tenant name for shared/multitenant tables
	// the value just needs to be a valid string that's distinct to the tenant
	Tenant string `json:"tenant,omitempty"`
	// prometheus scraping endpoint
	MetricsEndpoint string `json:"metrics_endpoint,omitempty"`
	// use replication-enabled schemas in clickhouse
	Replication bool `json:"replication,omitempty"`
	// days of data retention, or 0 to disable. configured at table setup via init sql scripts
	// reference: https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/mergetree/#table_engine-mergetree-ttl
	TTLDays int `json:"ttl,omitempty"`
	// Directory with .sql files to run at plugin startup
	// Depending on the value of "init_tables", this can be run as a
	// replacement or supplement to creating default tables for span storage.
	// If `init_tables` is also enabled, the scripts in this directory will be run first.
	InitSQLScriptsDir string `json:"init_sql_scripts_dir,omitempty"`
	// Whether to automatically attempt to create tables in ClickHouse.
	// By default, this is enabled if init_sql_scripts_dir is empty,
	// or disabled if init_sql_scripts_dir is provided.
	InitTables bool `json:"init_tables,omitempty"`
	// Expands TraceID to its hex string representation while writing.
	ExpandTraceID *bool `json:"expand_trace_id,omitempty"`
	// Table with spans. Default "jaeger_spans_local" or "jaeger_spans" when replication is enabled.
	SpansTable string `json:"spans_table,omitempty"`
	// Span index table. Default "jaeger_index_local" or "jaeger_index" when replication is enabled.
	SpansIndexTable string `json:"spans_index_table,omitempty"`
	// Operations table. Default "jaeger_operations_local" or "jaeger_operations" when replication is enabled.
	OperationsTable string `json:"operations_table,omitempty"`
}

func (*JaegerPluginConfigOptions) DeepCopy

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

func (*JaegerPluginConfigOptions) DeepCopyInto

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

type JaegerSamplingSpec

type JaegerSamplingSpec struct {
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Options FreeForm `json:"options,omitempty"`
}

func (*JaegerSamplingSpec) DeepCopy

func (in *JaegerSamplingSpec) DeepCopy() *JaegerSamplingSpec

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

func (*JaegerSamplingSpec) DeepCopyInto

func (in *JaegerSamplingSpec) DeepCopyInto(out *JaegerSamplingSpec)

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

type JaegerSpec

type JaegerSpec struct {
	// +optional
	Sampling JaegerSamplingSpec `json:"sampling"`
	// +optional
	Config JaegerPluginConfigOptions `json:"plugin_config"`
	// +optional
	Components JaegerComponentsSpec `json:"components"`
}

func (*JaegerSpec) DeepCopy

func (in *JaegerSpec) DeepCopy() *JaegerSpec

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

func (*JaegerSpec) DeepCopyInto

func (in *JaegerSpec) DeepCopyInto(out *JaegerSpec)

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

type OpenTelemetryComponentsSpec

type OpenTelemetryComponentsSpec struct {
	// +optional
	IngressRoute IngressRoute `json:"ingressRoute"`
	// +optional
	JaegerIngress IngressRoute `json:"jaegerIngressRoute"`
	// +optional
	Service Service `json:"service"`
	// +optional
	Deployment Deployment `json:"deployment"`
	// +optional
	StatefulSet StatefulSet `json:"statefulset"`
	// +optional
	ServiceMonitor ServiceMonitor `json:"serviceMonitor"`
}

Considering this is a temporary change only specific to the OpenTelemetrySpec object, creating a new one here. We can resort back to using our general ComponentsSpec once we drop jaeger-support from our OpenTelemetry collector deployment.

func (*OpenTelemetryComponentsSpec) DeepCopy

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

func (*OpenTelemetryComponentsSpec) DeepCopyInto

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

type OpenTelemetrySpec

type OpenTelemetrySpec struct {
	// See https://opentelemetry.io/docs/collector/configuration/
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Config runtime.RawExtension `json:"config"`
	// +optional
	Components OpenTelemetryComponentsSpec `json:"components"`
}

func (*OpenTelemetrySpec) DeepCopy

func (in *OpenTelemetrySpec) DeepCopy() *OpenTelemetrySpec

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

func (*OpenTelemetrySpec) DeepCopyInto

func (in *OpenTelemetrySpec) DeepCopyInto(out *OpenTelemetrySpec)

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

type PluginList

type PluginList []GrafanaPlugin

func (PluginList) DeepCopy

func (in PluginList) DeepCopy() PluginList

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

func (PluginList) DeepCopyInto

func (in PluginList) DeepCopyInto(out *PluginList)

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

func (PluginList) GetInstalledVersionOf

func (l PluginList) GetInstalledVersionOf(plugin *GrafanaPlugin) *GrafanaPlugin

GetInstalledVersionOf gets the plugin from the list regardless of the version.

func (PluginList) HasExactVersionOf

func (l PluginList) HasExactVersionOf(plugin *GrafanaPlugin) bool

HasExactVersionOf returns true if the list contains the same plugin in the same version.

func (PluginList) HasNewerVersionOf

func (l PluginList) HasNewerVersionOf(plugin *GrafanaPlugin) (bool, error)

HasNewerVersionOf returns true if the list contains the same plugin but in a newer version.

func (PluginList) HasSomeVersionOf

func (l PluginList) HasSomeVersionOf(plugin *GrafanaPlugin) bool

HasSomeVersionOf returns true if the list contains the same plugin in the exact or a different version.

func (PluginList) VersionsOf

func (l PluginList) VersionsOf(plugin *GrafanaPlugin) int

VersionsOf returns the number of different versions of a given plugin in the list.

type Service

type Service struct {
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Spec *v1.ServiceSpec `json:"spec,omitempty"`
}

Service provides a means to configure the service.

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

type ServiceMonitor

type ServiceMonitor struct {
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Spec *ServiceMonitorSpec `json:"spec,omitempty"`
}

func (*ServiceMonitor) DeepCopy

func (in *ServiceMonitor) DeepCopy() *ServiceMonitor

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

func (*ServiceMonitor) DeepCopyInto

func (in *ServiceMonitor) DeepCopyInto(out *ServiceMonitor)

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

type ServiceMonitorSpec

type ServiceMonitorSpec struct {
	// Chooses the label of the Kubernetes `Endpoints`.
	// Its value will be used for the `job`-label's value of the created metrics.
	//
	// Default & fallback value: the name of the respective Kubernetes `Endpoint`.
	// +optional
	JobLabel string `json:"jobLabel,omitempty"`
	// TargetLabels transfers labels from the Kubernetes `Service` onto the created metrics.
	// +optional
	TargetLabels []string `json:"targetLabels,omitempty"`
	// PodTargetLabels transfers labels on the Kubernetes `Pod` onto the created metrics.
	// +optional
	PodTargetLabels []string `json:"podTargetLabels,omitempty"`
	// A list of endpoints allowed as part of this ServiceMonitor.
	// +optional
	Endpoints []monitoring.Endpoint `json:"endpoints,omitempty"`
	// Selector to select Endpoints objects.
	// +optional
	Selector metav1.LabelSelector `json:"selector,omitempty"`
	// Selector to select which namespaces the Kubernetes Endpoints objects are discovered from.
	// +optional
	NamespaceSelector monitoring.NamespaceSelector `json:"namespaceSelector,omitempty"`
	// SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
	// +optional
	SampleLimit uint64 `json:"sampleLimit,omitempty"`
	// TargetLimit defines a limit on the number of scraped targets that will be accepted.
	// +optional
	TargetLimit uint64 `json:"targetLimit,omitempty"`
	// Per-scrape limit on number of labels that will be accepted for a sample.
	// Only valid in Prometheus versions 2.27.0 and newer.
	// +optional
	LabelLimit uint64 `json:"labelLimit,omitempty"`
	// Per-scrape limit on length of labels name that will be accepted for a sample.
	// Only valid in Prometheus versions 2.27.0 and newer.
	// +optional
	LabelNameLengthLimit uint64 `json:"labelNameLengthLimit,omitempty"`
	// Per-scrape limit on length of labels value that will be accepted for a sample.
	// Only valid in Prometheus versions 2.27.0 and newer.
	// +optional
	LabelValueLengthLimit uint64 `json:"labelValueLengthLimit,omitempty"`
}

////////////////////////////// Below is all copied from github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1 and changed all fields to be optional with omitempty for overrides. ///////////////////////////// ServiceMonitorSpec contains specification parameters for a ServiceMonitor.

func (*ServiceMonitorSpec) DeepCopy

func (in *ServiceMonitorSpec) DeepCopy() *ServiceMonitorSpec

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

func (*ServiceMonitorSpec) DeepCopyInto

func (in *ServiceMonitorSpec) DeepCopyInto(out *ServiceMonitorSpec)

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

type StatefulSet

type StatefulSet struct {
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// +optional
	Spec *StatefulSetSpec `json:"spec,omitempty"`
}

StatefulSet provides a means to configure the deployment.

func (*StatefulSet) DeepCopy

func (in *StatefulSet) DeepCopy() *StatefulSet

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

func (*StatefulSet) DeepCopyInto

func (in *StatefulSet) DeepCopyInto(out *StatefulSet)

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

type StatefulSetSpec

type StatefulSetSpec struct {
	// replicas is the desired number of replicas of the given Template.
	// These are replicas in the sense that they are instantiations of the
	// same Template, but individual replicas also have a consistent identity.
	// If unspecified, defaults to 1.
	// TODO: Consider a rename of this field.
	// +optional
	Replicas *int32 `json:"replicas,omitempty" protobuf:"varint,1,opt,name=replicas"`

	// selector is a label query over pods that should match the replica count.
	// It must match the pod template's labels.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
	// +optional
	Selector *metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"`

	// template is the object that describes the pod that will be created if
	// insufficient replicas are detected. Each pod stamped out by the StatefulSet
	// will fulfill this Template, but have a unique identity from the rest
	// of the StatefulSet.
	// +optional
	Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`

	// volumeClaimTemplates is a list of claims that pods are allowed to reference.
	// The StatefulSet controller is responsible for mapping network identities to
	// claims in a way that maintains the identity of a pod. Every claim in
	// this list must have at least one matching (by name) volumeMount in one
	// container in the template. A claim in this list takes precedence over
	// any volumes in the template, with the same name.
	// TODO: Define the behavior if a claim already exists with the same name.
	// +optional
	VolumeClaimTemplates []v1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty" protobuf:"bytes,4,rep,name=volumeClaimTemplates"`

	// serviceName is the name of the service that governs this StatefulSet.
	// This service must exist before the StatefulSet, and is responsible for
	// the network identity of the set. Pods get DNS/hostnames that follow the
	// pattern: pod-specific-string.serviceName.default.svc.cluster.local
	// where "pod-specific-string" is managed by the StatefulSet controller.
	// +optional
	ServiceName string `json:"serviceName" protobuf:"bytes,5,opt,name=serviceName"`

	// podManagementPolicy controls how pods are created during initial scale up,
	// when replacing pods on nodes, or when scaling down. The default policy is
	// `OrderedReady`, where pods are created in increasing order (pod-0, then
	// pod-1, etc) and the controller will wait until each pod is ready before
	// continuing. When scaling down, the pods are removed in the opposite order.
	// The alternative policy is `Parallel` which will create pods in parallel
	// to match the desired scale without waiting, and on scale down will delete
	// all pods at once.
	// +optional
	PodManagementPolicy appsv1.PodManagementPolicyType `json:"podManagementPolicy,omitempty" protobuf:"bytes,6,opt,name=podManagementPolicy,casttype=PodManagementPolicyType"`

	// updateStrategy indicates the StatefulSetUpdateStrategy that will be
	// employed to update Pods in the StatefulSet when a revision is made to
	// Template.
	// +optional
	UpdateStrategy appsv1.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,7,opt,name=updateStrategy"`

	// revisionHistoryLimit is the maximum number of revisions that will
	// be maintained in the StatefulSet's revision history. The revision history
	// consists of all revisions not represented by a currently applied
	// StatefulSetSpec version. The default value is 10.
	// +optional
	RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,8,opt,name=revisionHistoryLimit"`

	// Minimum number of seconds for which a newly created pod should be ready
	// without any of its container crashing for it to be considered available.
	// Defaults to 0 (pod will be considered available as soon as it is ready)
	// This is an alpha field and requires enabling StatefulSetMinReadySeconds feature gate.
	// +optional
	MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,9,opt,name=minReadySeconds"`

	// persistentVolumeClaimRetentionPolicy describes the lifecycle of persistent
	// volume claims created from volumeClaimTemplates. By default, all persistent
	// volume claims are created as needed and retained until manually deleted. This
	// policy allows the lifecycle to be altered, for example by deleting persistent
	// volume claims when their stateful set is deleted, or when their pod is scaled
	// down. This requires the StatefulSetAutoDeletePVC feature gate to be enabled,
	// which is alpha.  +optional
	PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty" protobuf:"bytes,10,opt,name=persistentVolumeClaimRetentionPolicy"`
}

A StatefulSetSpec is the specification of a StatefulSet.

func (*StatefulSetSpec) DeepCopy

func (in *StatefulSetSpec) DeepCopy() *StatefulSetSpec

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

func (*StatefulSetSpec) DeepCopyInto

func (in *StatefulSetSpec) DeepCopyInto(out *StatefulSetSpec)

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

type StatusPhase

type StatusPhase string
var (
	NoPhase          StatusPhase
	PhaseReconciling StatusPhase = "reconciling"
	PhaseFailing     StatusPhase = "failing"
)

type Tenant

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

	Spec   TenantSpec   `json:"spec,omitempty"`
	Status TenantStatus `json:"status,omitempty"`
}

Tenant is the Schema for the tenants API. +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*Tenant) DeepCopy

func (in *Tenant) DeepCopy() *Tenant

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

func (*Tenant) DeepCopyInto

func (in *Tenant) DeepCopyInto(out *Tenant)

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

func (*Tenant) DeepCopyObject

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

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

type TenantList

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

TenantList contains a list of Tenant. +kubebuilder:object:root=true

func (*TenantList) DeepCopy

func (in *TenantList) DeepCopy() *TenantList

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

func (*TenantList) DeepCopyInto

func (in *TenantList) DeepCopyInto(out *TenantList)

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

func (*TenantList) DeepCopyObject

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

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

type TenantSpec

type TenantSpec struct {
	// domain which this tenant is running under, e.g. observe.gitlab.com
	Domain *string `json:"domain,omitempty"`
	// +optional
	ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}

func (*TenantSpec) DeepCopy

func (in *TenantSpec) DeepCopy() *TenantSpec

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

func (*TenantSpec) DeepCopyInto

func (in *TenantSpec) DeepCopyInto(out *TenantSpec)

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

type TenantStatus

type TenantStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// Inventory contains the list of Kubernetes resource object references that have been successfully applied.
	// +optional
	Inventory map[string]*v1beta2.ResourceInventory `json:"inventory,omitempty"`
}

func (*TenantStatus) DeepCopy

func (in *TenantStatus) DeepCopy() *TenantStatus

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

func (*TenantStatus) DeepCopyInto

func (in *TenantStatus) DeepCopyInto(out *TenantStatus)

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