Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=ingressmonitor.sphc.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type HTTPTemplate
- type IngressMonitor
- type IngressMonitorList
- type IngressMonitorSpec
- type IngressMonitorStatus
- type Monitor
- type MonitorList
- type MonitorSpec
- type MonitorTemplate
- type MonitorTemplateList
- type MonitorTemplateSpec
- type NamespacedProvider
- type Provider
- type ProviderList
- type ProviderSpec
- type SecretVar
- type StatusCakeProvider
Constants ¶
const ( // GroupName is the group name for the Monitor CRD. GroupName = "ingressmonitor.sphc.io" // APIVersion is the version for the API APIVersion = "v1alpha1" )
Variables ¶
var ( // SchemeBuilder collects the scheme builder functions for the // Monitor Custom Resources. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme applies the SchemeBuilder functions to a specified scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: APIVersion}
SchemeGroupVersion is the GroupVersion for the Monitor CRD.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource gets an Monitor GroupResource for a specified resource.
Types ¶
type HTTPTemplate ¶
type HTTPTemplate struct { // URL describes the fully qualified URL that will be used for the monitor. // +optional URL string `json:"url,omitempty"` // Endpoint describes the Endpoint we want to check for the given website. // Defaults to `/_healthz`. // +optional Endpoint *string `json:"endpoint,omitempty"` // CustomHeader is a special header that will be sent along with the check // request. Defaults to the provider's default. // +optional CustomHeader string `json:"customHeader,omitempty"` // UserAgent describes the UserAgent that will be used to perform the check. // Defaults to the provider's default. // +optional UserAgent string `json:"userAgent,omitempty"` // VerifyCertificate specifies if the check should validate the SSL // Certificate. Defaults to false. // +optional VerifyCertificate bool `json:"verifyCertificate,omitempty"` // ShouldContain describes the string the response body should contain when // performing the check. Defaults to “. // +optional ShouldContain string `json:"shouldContain,omitempty"` // ShouldNotContain describes the string which should not be present in the // response body when performing the check. Defaults to “. // +optional ShouldNotContain string `json:"shouldNotContain,omitempty"` // FollowRedirects specifies if the check should follow redirects or not. // +optional FollowRedirects bool `json:"followRedirects,omitempty"` }
HTTPTemplate describes the configuration options for a HTTP Check.
func (*HTTPTemplate) DeepCopy ¶
func (in *HTTPTemplate) DeepCopy() *HTTPTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPTemplate.
func (*HTTPTemplate) DeepCopyInto ¶
func (in *HTTPTemplate) DeepCopyInto(out *HTTPTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressMonitor ¶
type IngressMonitor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec IngressMonitorSpec `json:"spec"` Status IngressMonitorStatus `json:"status"` }
IngressMonitor is the detailed implementation of a Monitor which relates to a HTTP check. It's a fully qualified configuration which doesn't need to fetch any other data and can live on it's own. This can also be used to set up external monitors.
func (*IngressMonitor) DeepCopy ¶
func (in *IngressMonitor) DeepCopy() *IngressMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressMonitor.
func (*IngressMonitor) DeepCopyInto ¶
func (in *IngressMonitor) DeepCopyInto(out *IngressMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressMonitor) DeepCopyObject ¶
func (in *IngressMonitor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressMonitorList ¶
type IngressMonitorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []IngressMonitor `json:"items"` }
IngressMonitorList is a list of Monitors
func (*IngressMonitorList) DeepCopy ¶
func (in *IngressMonitorList) DeepCopy() *IngressMonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressMonitorList.
func (*IngressMonitorList) DeepCopyInto ¶
func (in *IngressMonitorList) DeepCopyInto(out *IngressMonitorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressMonitorList) DeepCopyObject ¶
func (in *IngressMonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressMonitorSpec ¶
type IngressMonitorSpec struct { // Provider describes the provider we want to use to set up the monitor // with. Provider NamespacedProvider `json:"provider"` // Template describes the monitor configuration. Template MonitorTemplateSpec `json:"template"` }
IngressMonitorSpec is the detailed configuration for an Monitor.
func (*IngressMonitorSpec) DeepCopy ¶
func (in *IngressMonitorSpec) DeepCopy() *IngressMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressMonitorSpec.
func (*IngressMonitorSpec) DeepCopyInto ¶
func (in *IngressMonitorSpec) DeepCopyInto(out *IngressMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressMonitorStatus ¶
type IngressMonitorStatus struct { // ID describes the ID of the monitor which is registered with the provider. // This is used to update or delete the monitor with the provider. ID string `json:"id"` // IngressName is the name of the Ingress this IngressMonitor is linked to. IngressName string `json:"ingressName"` }
IngressMonitorStatus describes the status of an IngressMonitor. This is data which is used to handle Operator restarts or upgrades.
func (*IngressMonitorStatus) DeepCopy ¶
func (in *IngressMonitorStatus) DeepCopy() *IngressMonitorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressMonitorStatus.
func (*IngressMonitorStatus) DeepCopyInto ¶
func (in *IngressMonitorStatus) DeepCopyInto(out *IngressMonitorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Monitor ¶
type Monitor struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec MonitorSpec `json:"spec"` }
Monitor is the CRD specification for an Monitor. This Monitor allows you to configure monitors for the resources selected by it's configuration and instantiate them in the specified MonitorProvider.
func (*Monitor) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitor.
func (*Monitor) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Monitor) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MonitorList ¶
type MonitorList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Monitor `json:"items"` }
MonitorList is a list of Monitors
func (*MonitorList) DeepCopy ¶
func (in *MonitorList) DeepCopy() *MonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorList.
func (*MonitorList) DeepCopyInto ¶
func (in *MonitorList) DeepCopyInto(out *MonitorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitorList) DeepCopyObject ¶
func (in *MonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MonitorSpec ¶
type MonitorSpec struct { // Selector describes the LabelSelector which will be used to select the // enabled Ingresses which we want to set up monitors for. Selector *metav1.LabelSelector `json:"selector"` // Provider describes the provider we want to use to set up the monitor // with. Provider v1.LocalObjectReference `json:"provider"` // Template describes the monitor configuration. Template v1.LocalObjectReference `json:"template"` }
MonitorSpec is the detailed configuration for an Monitor.
func (*MonitorSpec) DeepCopy ¶
func (in *MonitorSpec) DeepCopy() *MonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorSpec.
func (*MonitorSpec) DeepCopyInto ¶
func (in *MonitorSpec) DeepCopyInto(out *MonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitorTemplate ¶
type MonitorTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec MonitorTemplateSpec `json:"spec"` }
MonitorTemplate is the CRD specification for a MonitorTemplate. This MonitorTemplate allows you to configure monitors for the resources selected by it's configuration and instantiate them in the specified MonitorProvider.
func (*MonitorTemplate) DeepCopy ¶
func (in *MonitorTemplate) DeepCopy() *MonitorTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorTemplate.
func (*MonitorTemplate) DeepCopyInto ¶
func (in *MonitorTemplate) DeepCopyInto(out *MonitorTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitorTemplate) DeepCopyObject ¶
func (in *MonitorTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MonitorTemplateList ¶
type MonitorTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []MonitorTemplate `json:"items"` }
MonitorTemplateList is a list of MonitorTemplates
func (*MonitorTemplateList) DeepCopy ¶
func (in *MonitorTemplateList) DeepCopy() *MonitorTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorTemplateList.
func (*MonitorTemplateList) DeepCopyInto ¶
func (in *MonitorTemplateList) DeepCopyInto(out *MonitorTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MonitorTemplateList) DeepCopyObject ¶
func (in *MonitorTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MonitorTemplateSpec ¶
type MonitorTemplateSpec struct { // Type describes the type of check we want to use. Type string `json:"type"` // Name is the template that will be used to set the name of the check. If // configured through a Monitor, this follows the Go Template Syntax. Name string `json:"name"` // CheckRate describes the number of seconds between checks. This defaults // to the provider's default. // +optional CheckRate *string `json:"checkRate,omitempty"` // Confirmations describes the amount of fails should occur before a check // is marked as a failure. This defaults to the provider's default. // +optional Confirmations *int `json:"confirmations,omitempty"` // Timeout describes the duration of how long a check should wait before // marking itself as unhealthy. Defaults to the provider's default. // +optional Timeout *string `json:"timeout,omitempty"` // HTTP is the template for a HTTP Check. This is required when the type is // set to `HTTP`. HTTP *HTTPTemplate `json:"http,omitempty"` }
MonitorTemplateSpec is the concrete configuration for a Monitor Check.
func (*MonitorTemplateSpec) DeepCopy ¶
func (in *MonitorTemplateSpec) DeepCopy() *MonitorTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorTemplateSpec.
func (*MonitorTemplateSpec) DeepCopyInto ¶
func (in *MonitorTemplateSpec) DeepCopyInto(out *MonitorTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedProvider ¶
type NamespacedProvider struct { Namespace string `json:"namespace"` ProviderSpec `json:",inline"` }
NamespacedProvider contains all the details about a provider, including the namespace where the provider lives. This namespace will be used to fetch
func (*NamespacedProvider) DeepCopy ¶
func (in *NamespacedProvider) DeepCopy() *NamespacedProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedProvider.
func (*NamespacedProvider) DeepCopyInto ¶
func (in *NamespacedProvider) DeepCopyInto(out *NamespacedProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Provider ¶
type Provider struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ProviderSpec `json:"spec"` }
Provider is the CRD specification for an Provider. This Provider allows you to configure providers which will be used to set up monitors.
func (*Provider) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provider.
func (*Provider) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Provider) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProviderList ¶
type ProviderList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Provider `json:"items"` }
ProviderList is a list of Providers.
func (*ProviderList) DeepCopy ¶
func (in *ProviderList) DeepCopy() *ProviderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderList.
func (*ProviderList) DeepCopyInto ¶
func (in *ProviderList) DeepCopyInto(out *ProviderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProviderList) DeepCopyObject ¶
func (in *ProviderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProviderSpec ¶
type ProviderSpec struct { // Type describes the type of Provider which this CRD will configure. Type string `json:"type"` // StatusCake describes the StatusCake Monitoring Provider // +optional StatusCake *StatusCakeProvider `json:"statusCake,omitempty"` }
ProviderSpec is the detailed configuration for a Provider.
func (*ProviderSpec) DeepCopy ¶
func (in *ProviderSpec) DeepCopy() *ProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderSpec.
func (*ProviderSpec) DeepCopyInto ¶
func (in *ProviderSpec) DeepCopyInto(out *ProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretVar ¶
type SecretVar struct { // Optional: Specifies a plaintext value of // +optional Value *string `json:"value,omitempty"` // Optional: Specifies a source the value of this var should come from. // +optional ValueFrom *v1.SecretKeySelector `json:"valueFrom,omitempty"` }
SecretVar describes a secret var option which can be used to either provide a plaintext value or a secret value.
func (*SecretVar) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretVar.
func (*SecretVar) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusCakeProvider ¶
type StatusCakeProvider struct { // Username is the username used to connect to StatusCake. Username SecretVar `json:"username"` // APIKey is the API Key used to connect to StatusCake. APIKey SecretVar `json:"apiKey"` // Optional: ContactGroups is a list of IDs which describes the groups which // should be alerted when a monitor check fails. // +optional ContactGroups []string `json:"contactGroups,omitempty"` }
StatusCakeProvider describes the configuration options for the StatusCake provider.
func (*StatusCakeProvider) DeepCopy ¶
func (in *StatusCakeProvider) DeepCopy() *StatusCakeProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCakeProvider.
func (*StatusCakeProvider) DeepCopyInto ¶
func (in *StatusCakeProvider) DeepCopyInto(out *StatusCakeProvider)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.