v1alpha1

package
v2.1.53 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 4 Imported by: 3

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

type AppInsightsConfig struct {
	// Returned status code that is counted as a success
	// +optional
	StatusCode int `json:"statusCode,omitempty"`

	// If its `true`, falied test will be retry after a short interval. Possible values: `true, false`
	// +optional
	RetryEnable bool `json:"retryEnable,omitempty"`

	// Sets how often the test should run from each test location. Possible values: `300,600,900` seconds
	// +optional
	Frequency int `json:"frequency,omitempty"`
}

AppInsightsConfig defines the configuration for AppInsights Monitor Provider

func (*AppInsightsConfig) DeepCopy

func (in *AppInsightsConfig) DeepCopy() *AppInsightsConfig

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

func (*AppInsightsConfig) DeepCopyInto

func (in *AppInsightsConfig) DeepCopyInto(out *AppInsightsConfig)

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

type EndpointMonitor

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

	Spec   EndpointMonitorSpec   `json:"spec,omitempty"`
	Status EndpointMonitorStatus `json:"status,omitempty"`
}

EndpointMonitor is the Schema for the endpointmonitors API

func (*EndpointMonitor) DeepCopy

func (in *EndpointMonitor) DeepCopy() *EndpointMonitor

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

func (*EndpointMonitor) DeepCopyInto

func (in *EndpointMonitor) DeepCopyInto(out *EndpointMonitor)

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

func (*EndpointMonitor) DeepCopyObject

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

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

type EndpointMonitorList

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

EndpointMonitorList contains a list of EndpointMonitor

func (*EndpointMonitorList) DeepCopy

func (in *EndpointMonitorList) DeepCopy() *EndpointMonitorList

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

func (*EndpointMonitorList) DeepCopyInto

func (in *EndpointMonitorList) DeepCopyInto(out *EndpointMonitorList)

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

func (*EndpointMonitorList) DeepCopyObject

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

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

type EndpointMonitorSpec

type EndpointMonitorSpec struct {
	// URL to monitor
	URL string `json:"url,omitempty"`

	// Force monitor endpoint to use HTTPS
	// +optional
	ForceHTTPS bool `json:"forceHttps,omitempty"`

	// +optional
	HealthEndpoint string `json:"healthEndpoint,omitempty"`

	// Comma separated list of providers
	// +optional
	Providers string `json:"providers"`

	// URL to monitor from either an ingress or route reference
	// +optional
	URLFrom *URLSource `json:"urlFrom,omitempty"`

	// Configuration for UptimeRobot Monitor Provider
	// +optional
	UptimeRobotConfig *UptimeRobotConfig `json:"uptimeRobotConfig,omitempty"`

	// Configuration for Uptime Monitor Provider
	// +optional
	UptimeConfig *UptimeConfig `json:"uptimeConfig,omitempty"`

	// Configuration for Updown Monitor Provider
	// +optional
	UpdownConfig *UpdownConfig `json:"updownConfig,omitempty"`

	// Configuration for StatusCake Monitor Provider
	// +optional
	StatusCakeConfig *StatusCakeConfig `json:"statusCakeConfig,omitempty"`

	// Configuration for Pingdom Monitor Provider
	// +optional
	PingdomConfig *PingdomConfig `json:"pingdomConfig,omitempty"`

	// Configuration for AppInsights Monitor Provider
	// +optional
	AppInsightsConfig *AppInsightsConfig `json:"appInsightsConfig,omitempty"`

	// Configuration for Google Cloud Monitor Provider
	// +optional
	GCloudConfig *GCloudConfig `json:"gcloudConfig,omitempty"`

	// Configuration for Grafana Cloud Monitor Provider
	// +optional
	GrafanaConfig *GrafanaConfig `json:"grafanaConfig,omitempty"`
}

EndpointMonitorSpec defines the desired state of EndpointMonitor

func (*EndpointMonitorSpec) DeepCopy

func (in *EndpointMonitorSpec) DeepCopy() *EndpointMonitorSpec

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

func (*EndpointMonitorSpec) DeepCopyInto

func (in *EndpointMonitorSpec) DeepCopyInto(out *EndpointMonitorSpec)

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

type EndpointMonitorStatus

type EndpointMonitorStatus struct {
}

EndpointMonitorStatus defines the observed state of EndpointMonitor

func (*EndpointMonitorStatus) DeepCopy

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

func (*EndpointMonitorStatus) DeepCopyInto

func (in *EndpointMonitorStatus) DeepCopyInto(out *EndpointMonitorStatus)

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

type GCloudConfig

type GCloudConfig struct {
	// Google Cloud Project ID
	// +optional
	ProjectId string `json:"projectId,omitempty"`
}

GCloudConfiguration defines the configuration for Google Cloud Monitor Provider

func (*GCloudConfig) DeepCopy

func (in *GCloudConfig) DeepCopy() *GCloudConfig

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

func (*GCloudConfig) DeepCopyInto

func (in *GCloudConfig) DeepCopyInto(out *GCloudConfig)

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

type GrafanaConfig added in v2.1.42

type GrafanaConfig struct {
	TenantId int64 `json:"tenantId,omitempty"`

	// The frequency value specifies how often the check runs in milliseconds
	Frequency int64 `json:"frequency,omitempty"`

	// Probes are the monitoring agents responsible for simulating user interactions with your web applications
	// or services. These agents periodically send requests to predefined URLs and record the responses,
	// checking for expected outcomes and measuring performance.
	Probes []string `json:"probes,omitempty"`
}

GrafnaConfiguration defines the configuration for Grafana Cloud Monitor Provider

func (*GrafanaConfig) DeepCopy added in v2.1.42

func (in *GrafanaConfig) DeepCopy() *GrafanaConfig

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

func (*GrafanaConfig) DeepCopyInto added in v2.1.42

func (in *GrafanaConfig) DeepCopyInto(out *GrafanaConfig)

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

type IngressURLSource

type IngressURLSource struct {
	Name string `json:"name"`
}

IngressURLSource selects an Ingress to populate the URL with

func (*IngressURLSource) DeepCopy

func (in *IngressURLSource) DeepCopy() *IngressURLSource

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

func (*IngressURLSource) DeepCopyInto

func (in *IngressURLSource) DeepCopyInto(out *IngressURLSource)

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

type PingdomConfig

type PingdomConfig struct {
	// The pingdom check interval in minutes
	// +optional
	Resolution int `json:"resolution,omitempty"`

	// How many failed check attempts before notifying
	// +optional
	SendNotificationWhenDown int `json:"sendNotificationWhenDown,omitempty"`

	// Set to "true" to pause checks
	// +optional
	Paused bool `json:"paused,omitempty"`

	// Set to "false" to disable recovery notifications
	// +optional
	NotifyWhenBackUp bool `json:"notifyWhenBackUp,omitempty"`

	// Custom pingdom request headers
	// +optional
	RequestHeaders string `json:"requestHeaders,omitempty"`

	// Required for basic-authentication
	// +optional
	BasicAuthUser string `json:"basicAuthUser,omitempty"`

	// Set to text string that has to be present in the HTML code of the page
	// +optional
	ShouldContain string `json:"shouldContain,omitempty"`

	// Comma separated set of tags to apply to check (e.g. "testing,aws")
	// +optional
	Tags string `json:"tags,omitempty"`

	// `-` separated set list of integrations ids (e.g. "91166-12168")
	// +optional
	AlertIntegrations string `json:"alertIntegrations,omitempty"`

	// `-` separated contact id's (e.g. "1234567_8_9-9876543_2_1")
	// +optional
	AlertContacts string `json:"alertContacts,omitempty"`

	// `-` separated team id's (e.g. "1234567_8_9-9876543_2_1")
	// +optional
	TeamAlertContacts string `json:"teamAlertContacts,omitempty"`

	// Monitor SSL/TLS certificate
	// Monitor the validity of your SSL/TLS certificate. With this enabled Uptime checks will be considered DOWN when
	// the certificate becomes invalid or expires.
	// SSL/TLS certificate monitoring is available for HTTP checks.
	// +optional
	VerifyCertificate bool `json:"verifyCertificate,omitempty"`

	// Consider down prior to certificate expiring
	// Select the number of days prior to your certificate expiry date that you want to consider the check down.
	// At this day your check will be considered down and if applicable a down alert will be sent.
	// +optional
	SSLDownDaysBefore int `json:"sslDownDaysBefore,omitempty"`

	// Data that should be posted to the web page, for example submission data for a sign-up or login form.
	// The data needs to be formatted in the same way as a web browser would send it to the web server.
	// Because post data contains sensitive secret this field is only reference to a environment variable.
	// +optional
	PostDataEnvVar string `json:"postDataEnvVar,omitempty"`
}

PingdomConfig defines the configuration for Pingdom Monitor Provider

func (*PingdomConfig) DeepCopy

func (in *PingdomConfig) DeepCopy() *PingdomConfig

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

func (*PingdomConfig) DeepCopyInto

func (in *PingdomConfig) DeepCopyInto(out *PingdomConfig)

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

type RouteURLSource

type RouteURLSource struct {
	Name string `json:"name"`
}

RouteURLSource selects a Route to populate the URL with

func (*RouteURLSource) DeepCopy

func (in *RouteURLSource) DeepCopy() *RouteURLSource

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

func (*RouteURLSource) DeepCopyInto

func (in *RouteURLSource) DeepCopyInto(out *RouteURLSource)

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

type StatusCakeConfig

type StatusCakeConfig struct {
	// Basic Auth User
	// +optional
	BasicAuthUser string `json:"basicAuthUser,omitempty"`

	// Set Check Rate for the monitor
	// +optional
	CheckRate int `json:"checkRate,omitempty"`

	// Set Test type - HTTP, TCP, PING
	// +optional
	TestType string `json:"testType,omitempty"`

	// Pause the service
	// +optional
	Paused bool `json:"paused,omitempty"`

	// Webhook for alerts
	// +optional
	PingURL string `json:"pingUrl,omitempty"`

	// Enable ingress redirects
	// +optional
	FollowRedirect bool `json:"followRedirect,omitempty"`

	// TCP Port
	// +optional
	Port int `json:"port,omitempty"`

	// Minutes to wait before sending an alert
	// +optional
	TriggerRate int `json:"triggerRate,omitempty"`

	// Contact Group to be alerted.
	// +optional
	ContactGroup string `json:"contactGroup,omitempty"`

	// Comma separated list of tags
	// +optional
	TestTags string `json:"testTags,omitempty"`

	// Comma separated list of Node Location IDs
	// +optional
	Regions string `json:"regions,omitempty"`

	// Comma separated list of HTTP codes to trigger error on
	// +optional
	StatusCodes string `json:"statusCodes,omitempty"`

	// Confirmation value ranges from (0,10)
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Minimum=0
	// +optional
	Confirmation int `json:"confirmation,omitempty"`

	// Enable SSL Alert
	// +optional
	EnableSSLAlert bool `json:"enableSslAlert,omitempty"`

	// Enable Real Browser
	// +optional
	RealBrowser bool `json:"realBrowser,omitempty"`

	// String to look for within the response. Considered down if not found
	// +optional
	FindString string `json:"findString,omitempty"`
}

StatusCakeConfig defines the configuration for StatusCake Monitor Provider

func (*StatusCakeConfig) DeepCopy

func (in *StatusCakeConfig) DeepCopy() *StatusCakeConfig

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

func (*StatusCakeConfig) DeepCopyInto

func (in *StatusCakeConfig) DeepCopyInto(out *StatusCakeConfig)

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

type URLSource

type URLSource struct {
	// +optional
	IngressRef *IngressURLSource `json:"ingressRef,omitempty"`
	// +optional
	RouteRef *RouteURLSource `json:"routeRef,omitempty"`
}

URLSource represents the set of resources to fetch the URL from

func (*URLSource) DeepCopy

func (in *URLSource) DeepCopy() *URLSource

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

func (*URLSource) DeepCopyInto

func (in *URLSource) DeepCopyInto(out *URLSource)

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

type UpdownConfig

type UpdownConfig struct {
	// Enable or disable checks
	// +optional
	Enable bool `json:"enable,omitempty"`

	// The pingdom check interval in seconds
	// +optional
	Period int `json:"period,omitempty"`

	// Make status page public or not
	// +optional
	PublishPage bool `json:"publishPage,omitempty"`

	// Additional request headers for API calls
	// +optional
	RequestHeaders string `json:"requestHeaders,omitempty"`
}

UpdownConfig defines the configuration for Updown Monitor Provider

func (*UpdownConfig) DeepCopy

func (in *UpdownConfig) DeepCopy() *UpdownConfig

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

func (*UpdownConfig) DeepCopyInto

func (in *UpdownConfig) DeepCopyInto(out *UpdownConfig)

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

type UptimeConfig

type UptimeConfig struct {
	// The uptime check interval in seconds
	// +optional
	Interval int `json:"interval,omitempty"`

	// The uptime check type that can be HTTP/DNS/ICMP etc.
	// +optional
	CheckType string `json:"checkType,omitempty"`

	// Add one or more contact groups separated by `,`
	// +optional
	Contacts string `json:"contacts,omitempty"`

	// Add different locations for the check
	// +optional
	Locations string `json:"locations,omitempty"`

	// Add one or more tags for the check separated by `,`
	// +optional
	Tags string `json:"tags,omitempty"`
}

UptimeConfig defines the configuration for Uptime Monitor Provider

func (*UptimeConfig) DeepCopy

func (in *UptimeConfig) DeepCopy() *UptimeConfig

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

func (*UptimeConfig) DeepCopyInto

func (in *UptimeConfig) DeepCopyInto(out *UptimeConfig)

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

type UptimeRobotConfig

type UptimeRobotConfig struct {
	// The uptimerobot alertContacts to be associated with this monitor
	// +optional
	AlertContacts string `json:"alertContacts,omitempty"`

	// The uptimerobot check interval in seconds
	// +kubebuilder:validation:Minimum=60
	// +optional
	Interval int `json:"interval,omitempty"`

	// Specify maintenanceWindows i.e. once or recurring “do-not-monitor periods”
	// +optional
	MaintenanceWindows string `json:"maintenanceWindows,omitempty"`

	// The uptimerobot monitor type (http or keyword)
	// +kubebuilder:validation:Enum=http;keyword
	// +optional
	MonitorType string `json:"monitorType,omitempty"`

	// Alert if value exist (yes) or doesn't exist (no) (Only if monitor-type is keyword)
	// +kubebuilder:validation:Enum=yes;no
	// +optional
	KeywordExists string `json:"keywordExists,omitempty"`

	// keyword to check on URL (e.g.'search' or '404') (Only if monitor-type is keyword)
	// +optional
	KeywordValue string `json:"keywordValue,omitempty"`

	// The uptimerobot public status page ID to add this monitor to
	// +optional
	StatusPages string `json:"statusPages,omitempty"`

	// Defines which http status codes are treated as up or down
	// For ex: 200:0_401:1_503:1 (to accept 200 as down and 401 and 503 as up)
	CustomHTTPStatuses string `json:"customHTTPStatuses,omitempty"`
}

UptimeRobotConfig defines the configuration for UptimeRobot Monitor Provider

func (*UptimeRobotConfig) DeepCopy

func (in *UptimeRobotConfig) DeepCopy() *UptimeRobotConfig

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

func (*UptimeRobotConfig) DeepCopyInto

func (in *UptimeRobotConfig) DeepCopyInto(out *UptimeRobotConfig)

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