v1

package
v0.0.0-...-42feff4 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the synthetics v1 API group +kubebuilder:object:generate=true +groupName=synthetics.kentiklabs.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "synthetics.kentiklabs.com", Version: "v1"}

	// 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 Fetch

type Fetch struct {
	// Service is the name of the service for the check
	// +kubebuilder:validation:Required
	Service string `json:"service"`
	// Port is the port to use for the check
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Required
	Port int `json:"port"`
	// TLS is a bool to use HTTPS for the check
	// +optional
	TLS bool `json:"tls"`
	// Target is the target for the check
	// +kubebuilder:validation:Required
	Target string `json:"target"`
	// Method is the http method for the check
	// +kubebuilder:validation:Enum=get;head;post;GET;HEAD;POST
	// +kubebuilder:default=`get`
	// +kubebuilder:validation:Required
	Method string `json:"method"`
	// Period is the interval for which the server to run the check
	// +kubebuilder:default=`60s`
	// +optional
	Period string `json:"period"`
	// Expiry is the timeout for the check
	// +kubebuilder:default=`5s`
	// +optional
	Expiry string `json:"expiry"`
	// IgnoreTLSErrors is a bool to specify to ignore TLS errors
	// +optional
	IgnoreTLSErrors bool `json:"ignoreTLSErrors"`
}

func (*Fetch) DeepCopy

func (in *Fetch) DeepCopy() *Fetch

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

func (*Fetch) DeepCopyInto

func (in *Fetch) DeepCopyInto(out *Fetch)

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

func (*Fetch) ID

func (f *Fetch) ID() string

func (*Fetch) Yaml

func (f *Fetch) Yaml() (string, error)

type InfluxDB

type InfluxDB struct {
	// Endpoint is the InfluxDB host
	// +kubebuilder:validation:Required
	Endpoint string `json:"endpoint"`
	// Token is the auth token
	// +optional
	Token string `json:"token"`
	// Username is the auth username
	// +optional
	Username string `json:"username"`
	// Password is the auth password
	// +optional
	Password string `json:"password"`
	// Organization is the InfluxDB organization
	// +kubebuilder:validation:Required
	Organization string `json:"organization"`
	// Bucket is the InfluxDB bucket
	// +kubebuilder:validation:Required
	Bucket string `json:"bucket"`
}

func (*InfluxDB) DeepCopy

func (in *InfluxDB) DeepCopy() *InfluxDB

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

func (*InfluxDB) DeepCopyInto

func (in *InfluxDB) DeepCopyInto(out *InfluxDB)

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

type Ping

type Ping struct {
	// Kind is the k8s object for the check
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=deployment;pod;service;ingress
	Kind string `json:"kind"`
	// Name is the name of the k8s object to check
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Protocol is the protocol for the check
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=icmp;tcp;udp
	// +kubebuilder:default=icmp
	Protocol string `json:"protocol"`
	// Port is the port to use for the check
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=0
	// +optional
	Port int `json:"port"`
	// Count is the number of tries to use for the check
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:default=1
	// +optional
	Count int `json:"count"`
	// Timeout is the timeout interval for the check
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100000
	// +kubebuilder:default=1000
	Timeout int `json:"timeout"`
	// Period is the interval for which the server to run the check
	// +kubebuilder:default=`60s`
	// +optional
	Period string `json:"period"`
	// Delay is the duration to wait between checks
	// +kubebuilder:validation:Pattern=`^[0-9]+ms`
	// +kubebuilder:default=`0ms`
	// +optional
	Delay string `json:"delay"`
	// Expiry is the timeout for the check
	// +kubebuilder:default=`2s`
	// +optional
	Expiry string `json:"expiry"`

	// Target is used in the yaml definition but not exposed to the user
	// +optional
	Target string `json:"-"`
}

func (*Ping) DeepCopy

func (in *Ping) DeepCopy() *Ping

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

func (*Ping) DeepCopyInto

func (in *Ping) DeepCopyInto(out *Ping)

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

func (*Ping) ID

func (p *Ping) ID() string

func (*Ping) Yaml

func (p *Ping) Yaml() (string, error)

type SyntheticTask

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

	Spec   SyntheticTaskSpec   `json:"spec,omitempty"`
	Status SyntheticTaskStatus `json:"status,omitempty"`
}

SyntheticTask is the Schema for the synthetictasks API

func (*SyntheticTask) DeepCopy

func (in *SyntheticTask) DeepCopy() *SyntheticTask

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

func (*SyntheticTask) DeepCopyInto

func (in *SyntheticTask) DeepCopyInto(out *SyntheticTask)

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

func (*SyntheticTask) DeepCopyObject

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

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

type SyntheticTaskList

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

SyntheticTaskList contains a list of SyntheticTask

func (*SyntheticTaskList) DeepCopy

func (in *SyntheticTaskList) DeepCopy() *SyntheticTaskList

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

func (*SyntheticTaskList) DeepCopyInto

func (in *SyntheticTaskList) DeepCopyInto(out *SyntheticTaskList)

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

func (*SyntheticTaskList) DeepCopyObject

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

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

type SyntheticTaskSpec

type SyntheticTaskSpec struct {
	// KentikSite is the site name to send data to Kentik
	// +optional
	KentikSite string `json:"kentik_site"`
	// KentikRegion is the region to configure for sending data to Kentik
	// +optional
	// +kubebuilder:validation:Enum=us;eu;US;EU
	// +kubebuilder:default=`US`
	KentikRegion string `json:"kentik_region"`
	// ServerImage is an optional override server image
	// +optional
	ServerImage string `json:"server_image,omitempty"`
	// ServerCommand is an optional override command for the server
	// +optional
	ServerCommand []string `json:"server_command,omitempty"`
	// AgentImage is an optional override agent image
	// +optional
	AgentImage string `json:"agent_image,omitempty"`
	// AgentCommand is an optional override command for the agent
	// +optional
	AgentCommand []string `json:"agent_command,omitempty"`
	// InfluxDB is a remote InfluxDB service to receive agent metrics
	// +optional
	InfluxDB *InfluxDB `json:"influxdb,omitempty"`
	// Fetch is a list of fetch checks
	// +optional
	Fetch []*Fetch `json:"fetch,omitempty"`
	// TLSHandshake is a list of TLS Handshake checks
	// +optional
	TLSHandshake []*TLSHandshake `json:"tls_handshake,omitempty"`
	// Trace is a list of Trace checks
	// +optional
	Trace []*Trace `json:"trace,omitempty"`
	// Ping is a list of Ping checks
	// +optional
	Ping []*Ping `json:"ping,omitempty"`
}

SyntheticTaskSpec defines the desired state of SyntheticTask

func (*SyntheticTaskSpec) DeepCopy

func (in *SyntheticTaskSpec) DeepCopy() *SyntheticTaskSpec

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

func (*SyntheticTaskSpec) DeepCopyInto

func (in *SyntheticTaskSpec) DeepCopyInto(out *SyntheticTaskSpec)

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

type SyntheticTaskStatus

type SyntheticTaskStatus struct {
	// UpdateID is the current updateID for the server
	// +optional
	UpdateID string `json:"update_id"`
	// DeployNeeded indicates the server needs re-deployed for changes
	// +optional
	DeployNeeded bool `json:"deploy_needed"`
}

SyntheticTaskStatus defines the observed state of SyntheticTask

func (*SyntheticTaskStatus) DeepCopy

func (in *SyntheticTaskStatus) DeepCopy() *SyntheticTaskStatus

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

func (*SyntheticTaskStatus) DeepCopyInto

func (in *SyntheticTaskStatus) DeepCopyInto(out *SyntheticTaskStatus)

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

type TLSHandshake

type TLSHandshake struct {
	// Ingress is the name of the ingress for the check
	// +kubebuilder:validation:Required
	Ingress string `json:"ingress"`
	// Port is the port to use for the check
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=443
	// +optional
	Port int `json:"port"`
	// Period is the interval for which the server to run the check
	// +kubebuilder:default=`10s`
	// +optional
	Period string `json:"period"`
	// Expiry is the timeout for the check
	// +kubebuilder:default=`5s`
	// +optional
	Expiry string `json:"expiry"`

	// Target is used in the yaml definition but not exposed to the user
	// +optional
	Target string `json:"-"`
}

func (*TLSHandshake) DeepCopy

func (in *TLSHandshake) DeepCopy() *TLSHandshake

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

func (*TLSHandshake) DeepCopyInto

func (in *TLSHandshake) DeepCopyInto(out *TLSHandshake)

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

func (*TLSHandshake) ID

func (t *TLSHandshake) ID() string

func (*TLSHandshake) Yaml

func (t *TLSHandshake) Yaml() (string, error)

type Trace

type Trace struct {
	// Kind is the k8s object for the check
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=deployment;pod;service;ingress
	Kind string `json:"kind"`
	// Name is the name of the k8s object to check
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Port is the port to use for the check
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=0
	// +optional
	Port int `json:"port"`
	// Count is the number of tries to use for the check
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:default=3
	Count int `json:"count"`
	// Timeout is the timeout interval for the check
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100000
	// +kubebuilder:default=1000
	Timeout int `json:"timeout"`
	// Limit is the maximum number of hops to use for the check
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=50
	// +kubebuilder:default=3
	// +optional
	Limit int `json:"limit"`
	// Period is the interval for which the server to run the check
	// +kubebuilder:default=`60s`
	// +optional
	Period string `json:"period"`
	// Delay is the duration to wait between checks
	// +kubebuilder:validation:Pattern=`^[0-9]+ms`
	// +kubebuilder:default=`0ms`
	// +optional
	Delay string `json:"delay"`
	// Expiry is the timeout for the check
	// +kubebuilder:default=`5s`
	// +optional
	Expiry string `json:"expiry"`

	// Protocol is used in the yaml definition but not exposed to the user
	// +optional
	Protocol string `json:"-"`
	// Target is used in the yaml definition but not exposed to the user
	// +optional
	Target string `json:"-"`
}

func (*Trace) DeepCopy

func (in *Trace) DeepCopy() *Trace

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

func (*Trace) DeepCopyInto

func (in *Trace) DeepCopyInto(out *Trace)

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

func (*Trace) ID

func (t *Trace) ID() string

func (*Trace) Yaml

func (t *Trace) Yaml() (string, error)

Jump to

Keyboard shortcuts

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