Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=monitoring.spotahome.com
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- func VersionKind(kind string) schema.GroupVersionKind
- type Output
- type PrometheusOutputSource
- type PrometheusSLISource
- type SLI
- type SLISource
- type SLO
- type ServiceLevel
- type ServiceLevelList
- type ServiceLevelSpec
Constants ¶
const ( ServiceLevelKind = "ServiceLevel" ServiceLevelName = "servicelevel" ServiceLevelNamePlural = "servicelevels" ServiceLevelScope = apiextensionsv1beta1.NamespaceScoped )
ServiceLevel constants
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: monitoring.GroupName, Version: version}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func VersionKind ¶
func VersionKind(kind string) schema.GroupVersionKind
VersionKind takes an unqualified kind and returns back a Group qualified GroupVersionKind
Types ¶
type Output ¶
type Output struct { //Prometheus is the prometheus format for the SLO output. // +optional Prometheus *PrometheusOutputSource `json:"prometheus,omitempty"` }
Output is how the SLO will expose the generated SLO.
func (*Output) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Output.
func (*Output) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusOutputSource ¶
type PrometheusOutputSource struct { // Labels are the labels that will be set to the output metrics of this SLO. // +optional Labels map[string]string `json:"labels,omitempty"` }
PrometheusOutputSource is the source of the output in prometheus format.
func (*PrometheusOutputSource) DeepCopy ¶
func (in *PrometheusOutputSource) DeepCopy() *PrometheusOutputSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusOutputSource.
func (*PrometheusOutputSource) DeepCopyInto ¶
func (in *PrometheusOutputSource) DeepCopyInto(out *PrometheusOutputSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PrometheusSLISource ¶
type PrometheusSLISource struct { // Address is the address of the Prometheus. Address string `json:"address"` // TotalQuery is the query that gets the total that will be the base to get the unavailability // of the SLO based on the errorQuery (errorQuery / totalQuery). TotalQuery string `json:"totalQuery"` // ErrorQuery is the query that gets the total errors that then will be divided against the total. ErrorQuery string `json:"errorQuery"` }
PrometheusSLISource is the source to get SLIs from a Prometheus backend.
func (*PrometheusSLISource) DeepCopy ¶
func (in *PrometheusSLISource) DeepCopy() *PrometheusSLISource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrometheusSLISource.
func (*PrometheusSLISource) DeepCopyInto ¶
func (in *PrometheusSLISource) DeepCopyInto(out *PrometheusSLISource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SLI ¶
type SLI struct {
SLISource `json:",inline"`
}
SLI is the SLI to get for the SLO.
func (*SLI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLI.
func (*SLI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SLISource ¶
type SLISource struct { // Prometheus is the prometheus SLI source. // +optional Prometheus *PrometheusSLISource `json:"prometheus,omitempty"` }
SLISource is where the SLI will get from.
func (*SLISource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLISource.
func (*SLISource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SLO ¶
type SLO struct { // Name of the SLO, must be made of [a-zA-z0-9] and '_'(underscore) characters. Name string `json:"name"` // Description is a description of the SLO. // +optional Description string `json:"description,omitempty"` // Disable will disable the SLO. Disable bool `json:"disable,omitempty"` // AvailabilityObjectivePercent is the percentage of availability target for the SLO. AvailabilityObjectivePercent float64 `json:"availabilityObjectivePercent"` // ServiceLevelIndicator is the SLI associated with the SLO. ServiceLevelIndicator SLI `json:"serviceLevelIndicator"` // Output is the output backedn of the SLO. Output Output `json:"output"` }
SLO represents a SLO.
func (*SLO) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SLO.
func (*SLO) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceLevel ¶
type ServiceLevel struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Specification of the ddesired behaviour of the pod terminator. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status // +optional Spec ServiceLevelSpec `json:"spec,omitempty"` }
ServiceLevel represents a service level policy to measure the service level of an application.
func (*ServiceLevel) DeepCopy ¶
func (in *ServiceLevel) DeepCopy() *ServiceLevel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceLevel.
func (*ServiceLevel) DeepCopyInto ¶
func (in *ServiceLevel) DeepCopyInto(out *ServiceLevel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceLevel) DeepCopyObject ¶
func (in *ServiceLevel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServiceLevel) Validate ¶
func (s *ServiceLevel) Validate() error
Validate validates and sets defaults on the ServiceLevel Kubernetes resource object.
type ServiceLevelList ¶
type ServiceLevelList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ServiceLevel `json:"items"` }
ServiceLevelList is a list of ServiceLevel resources
func (*ServiceLevelList) DeepCopy ¶
func (in *ServiceLevelList) DeepCopy() *ServiceLevelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceLevelList.
func (*ServiceLevelList) DeepCopyInto ¶
func (in *ServiceLevelList) DeepCopyInto(out *ServiceLevelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceLevelList) DeepCopyObject ¶
func (in *ServiceLevelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceLevelSpec ¶
type ServiceLevelSpec struct { // ServiceLevelName is override for setting service_level to a value other than the ObjectMeta.Name. // +optional ServiceLevelName string `json:"serviceLevelName,omitempty"` // ServiceLevelObjectives is the list of SLOs of a service/app. // +optional ServiceLevelObjectives []SLO `json:"serviceLevelObjectives,omitempty"` }
ServiceLevelSpec is the spec for a ServiceLevel resource.
func (*ServiceLevelSpec) DeepCopy ¶
func (in *ServiceLevelSpec) DeepCopy() *ServiceLevelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceLevelSpec.
func (*ServiceLevelSpec) DeepCopyInto ¶
func (in *ServiceLevelSpec) DeepCopyInto(out *ServiceLevelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.