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 ¶
- Variables
- type ComponentsSpec
- type Deployment
- type DeploymentSpec
- type ErrorTrackingComponentsSpec
- type ErrorTrackingSpec
- type FreeForm
- type GrafanaPlugin
- type Group
- type GroupList
- type GroupOverridesSpec
- type GroupSpec
- type GroupStatus
- type IngressRoute
- type JaegerComponentsSpec
- type JaegerDeploymentSpec
- type JaegerPluginConfigOptions
- type JaegerSamplingSpec
- type JaegerSpec
- type OpenTelemetryComponentsSpec
- type OpenTelemetrySpec
- type PluginList
- func (in PluginList) DeepCopy() PluginList
- func (in PluginList) DeepCopyInto(out *PluginList)
- func (l PluginList) GetInstalledVersionOf(plugin *GrafanaPlugin) *GrafanaPlugin
- func (l PluginList) HasExactVersionOf(plugin *GrafanaPlugin) bool
- func (l PluginList) HasNewerVersionOf(plugin *GrafanaPlugin) (bool, error)
- func (l PluginList) HasSomeVersionOf(plugin *GrafanaPlugin) bool
- func (l PluginList) VersionsOf(plugin *GrafanaPlugin) int
- type Service
- type ServiceMonitor
- type ServiceMonitorSpec
- type StatefulSet
- type StatefulSetSpec
- type StatusPhase
- type Tenant
- type TenantList
- type TenantSpec
- type TenantStatus
Constants ¶
This section is empty.
Variables ¶
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 ¶
func (in *ErrorTrackingComponentsSpec) DeepCopy() *ErrorTrackingComponentsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ErrorTrackingComponentsSpec.
func (*ErrorTrackingComponentsSpec) DeepCopyInto ¶
func (in *ErrorTrackingComponentsSpec) DeepCopyInto(out *ErrorTrackingComponentsSpec)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreeForm.
func (*FreeForm) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.
func (*Group) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Group) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.
func (*GroupList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GroupList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.
func (*GroupSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GroupSpec) GetHostURL ¶
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 ¶
func (in *JaegerComponentsSpec) DeepCopy() *JaegerComponentsSpec
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 ¶
func (in *JaegerDeploymentSpec) DeepCopy() *JaegerDeploymentSpec
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 ¶
func (in *JaegerPluginConfigOptions) DeepCopy() *JaegerPluginConfigOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JaegerPluginConfigOptions.
func (*JaegerPluginConfigOptions) DeepCopyInto ¶
func (in *JaegerPluginConfigOptions) DeepCopyInto(out *JaegerPluginConfigOptions)
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 ¶
func (in *OpenTelemetryComponentsSpec) DeepCopy() *OpenTelemetryComponentsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenTelemetryComponentsSpec.
func (*OpenTelemetryComponentsSpec) DeepCopyInto ¶
func (in *OpenTelemetryComponentsSpec) DeepCopyInto(out *OpenTelemetryComponentsSpec)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
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.