v1alpha1

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 24, 2019 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=ingressmonitor.sphc.io

Index

Constants

View Source
const (
	// GroupName is the group name for the Monitor CRD.
	GroupName = "ingressmonitor.sphc.io"

	// APIVersion is the version for the API
	APIVersion = "v1alpha1"
)

Variables

View Source
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
)
View Source
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

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

func (in *Monitor) DeepCopy() *Monitor

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

func (*Monitor) DeepCopyInto

func (in *Monitor) DeepCopyInto(out *Monitor)

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

func (*Monitor) DeepCopyObject

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

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

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

func (*Provider) DeepCopyObject

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

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

func (in *SecretVar) DeepCopy() *SecretVar

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

func (*SecretVar) DeepCopyInto

func (in *SecretVar) DeepCopyInto(out *SecretVar)

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.

Jump to

Keyboard shortcuts

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