v1beta1

package
v0.0.0-...-ba674e6 Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2018 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=sensu.io

Index

Constants

View Source
const (
	// AWS S3 related consts
	BackupStorageTypeS3          BackupStorageType = "S3"
	AWSSecretCredentialsFileName                   = "credentials"
	AWSSecretConfigFileName                        = "config"

	// Azure ABS related consts
	BackupStorageTypeABS      BackupStorageType = "ABS"
	AzureSecretStorageAccount                   = "storage-account"
	AzureSecretStorageKey                       = "storage-key"
)
View Source
const (
	SensuClusterResourceKind   = "SensuCluster"
	SensuClusterResourcePlural = "sensuclusters"

	SensuBackupResourceKind   = "SensuBackup"
	SensuBackupResourcePlural = "sensubackups"

	SensuRestoreResourceKind   = "SensuRestore"
	SensuRestoreResourcePlural = "sensurestores"
)
View Source
const (
	ClusterPhaseNone     ClusterPhase = ""
	ClusterPhaseCreating              = "Creating"
	ClusterPhaseRunning               = "Running"
	ClusterPhaseFailed                = "Failed"

	// See ./doc/user/conditions_and_events.md
	ClusterConditionAvailable  ClusterConditionType = "Available"
	ClusterConditionRecovering                      = "Recovering"
	ClusterConditionScaling                         = "Scaling"
	ClusterConditionUpgrading                       = "Upgrading"
)
View Source
const (

	// TODO: probably should default to a stable version eventually
	DefaultSensuVersion = "2.0.0-beta.4.1"
)

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme

	SchemeGroupVersion  = schema.GroupVersion{Group: groupName, Version: "v1beta1"}
	SensuClusterCRDName = SensuClusterResourcePlural + "." + groupName
	SensuBackupCRDName  = SensuBackupResourcePlural + "." + groupName
	SensuRestoreCRDName = SensuRestoreResourcePlural + "." + groupName
)
View Source
var (
	// TODO: move validation code into separate package.
	ErrBackupUnsetRestoreSet = errors.New("spec: backup policy must be set if restore policy is set")
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource gets a SensuCluster GroupResource for a specified resource

Types

type ABSBackupSource

type ABSBackupSource struct {
	// Path is the full abs path where the backup is saved.
	// The format of the path must be: "<abs-container-name>/<path-to-backup-file>"
	// e.g: "myabscontainer/etcd.backup"
	Path string `json:"path"`

	// The name of the secret object that stores the Azure storage credential
	ABSSecret string `json:"absSecret"`
}

ABSBackupSource provides the spec how to store backups on ABS.

func (*ABSBackupSource) DeepCopy

func (in *ABSBackupSource) DeepCopy() *ABSBackupSource

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

func (*ABSBackupSource) DeepCopyInto

func (in *ABSBackupSource) DeepCopyInto(out *ABSBackupSource)

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

type ABSRestoreSource

type ABSRestoreSource struct {
	// Path is the full abs path where the backup is saved.
	// The format of the path must be: "<abs-container-name>/<path-to-backup-file>"
	// e.g: "myabscontainer/etcd.backup"
	Path string `json:"path"`

	// The name of the secret object that stores the Azure Blob Storage credential.
	ABSSecret string `json:"absSecret"`
}

func (*ABSRestoreSource) DeepCopy

func (in *ABSRestoreSource) DeepCopy() *ABSRestoreSource

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

func (*ABSRestoreSource) DeepCopyInto

func (in *ABSRestoreSource) DeepCopyInto(out *ABSRestoreSource)

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

type BackupPolicy

type BackupPolicy struct {
	// TimeoutInSecond is the maximal allowed time in second of the entire backup process.
	TimeoutInSecond int64 `json:"timeoutInSecond,omitempty"`
}

BackupPolicy defines backup policy.

func (*BackupPolicy) DeepCopy

func (in *BackupPolicy) DeepCopy() *BackupPolicy

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

func (*BackupPolicy) DeepCopyInto

func (in *BackupPolicy) DeepCopyInto(out *BackupPolicy)

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

type BackupSource

type BackupSource struct {
	// S3 defines the S3 backup source spec.
	S3 *S3BackupSource `json:"s3,omitempty"`
	// ABS defines the ABS backup source spec.
	ABS *ABSBackupSource `json:"abs,omitempty"`
}

BackupSource contains the supported backup sources.

func (*BackupSource) DeepCopy

func (in *BackupSource) DeepCopy() *BackupSource

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

func (*BackupSource) DeepCopyInto

func (in *BackupSource) DeepCopyInto(out *BackupSource)

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

type BackupSpec

type BackupSpec struct {
	// SensuEndpoints specifies the endpoints of an etcd cluster.
	// When multiple endpoints are given, the backup operator retrieves
	// the backup from the endpoint that has the most up-to-date state.
	// The given endpoints must belong to the same etcd cluster.
	EtcdEndpoints []string `json:"etcdEndpoints,omitempty"`
	// StorageType is the etcd backup storage type.
	// We need this field because CRD doesn't support validation against invalid fields
	// and we cannot verify invalid backup storage source.
	StorageType BackupStorageType `json:"storageType"`
	// BackupPolicy configures the backup process.
	BackupPolicy *BackupPolicy `json:"backupPolicy,omitempty"`
	// BackupSource is the backup storage source.
	BackupSource `json:",inline"`
	// ClientTLSSecret is the secret containing the etcd TLS client certs and
	// must contain the following data items:
	// data:
	//    "etcd-client.crt": <pem-encoded-cert>
	//    "etcd-client.key": <pem-encoded-key>
	//    "etcd-client-ca.crt": <pem-encoded-ca-cert>
	ClientTLSSecret string `json:"clientTLSSecret,omitempty"`
}

BackupSpec contains a backup specification for an etcd cluster.

func (*BackupSpec) DeepCopy

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto

func (in *BackupSpec) DeepCopyInto(out *BackupSpec)

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

type BackupStatus

type BackupStatus struct {
	// Succeeded indicates if the backup has Succeeded.
	Succeeded bool `json:"succeeded"`
	// Reason indicates the reason for any backup related failures.
	Reason string `json:"Reason,omitempty"`
	// EtcdVersion is the version of the backup etcd server.
	EtcdVersion string `json:"etcdVersion,omitempty"`
	// EtcdRevision is the revision of etcd's KV store where the backup is performed on.
	EtcdRevision int64 `json:"etcdRevision,omitempty"`
}

BackupStatus represents the status of the SensuBackup Custom Resource.

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type BackupStorageType

type BackupStorageType string

type ClusterCondition

type ClusterCondition struct {
	// Type of cluster condition.
	Type ClusterConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status"`
	// The last time this condition was updated.
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime string `json:"lastTransitionTime,omitempty"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty"`
}

ClusterCondition represents one current condition of an sensu cluster. A condition might not show up if it is not happening. For example, if a cluster is not upgrading, the Upgrading condition would not show up. If a cluster is upgrading and encountered a problem that prevents the upgrade, the Upgrading condition's status will would be False and communicate the problem back.

func (*ClusterCondition) DeepCopy

func (in *ClusterCondition) DeepCopy() *ClusterCondition

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

func (*ClusterCondition) DeepCopyInto

func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)

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

type ClusterConditionType

type ClusterConditionType string

type ClusterPhase

type ClusterPhase string

type ClusterSpec

type ClusterSpec struct {
	// Size is the expected size of the sensu cluster.
	// The sensu-operator will eventually make the size of the running
	// cluster equal to the expected size.
	// It is currently limited to 1.
	Size int `json:"size"`
	// Repository is the name of the repository that hosts
	// sensu container images. It should be direct clone of the repository in official
	// release:
	//   https://github.com/sensu/sensu-go/releases
	// That means, it should have exact same tags and the same meaning for the tags.
	//
	// By default, it is `sensuapp/sensu-go`.
	Repository string `json:"repository,omitempty"`

	// Version is the expected version of the sensui cluster.
	// The sensu-operator will eventually make the sensu cluster version
	// equal to the expected version.
	//
	// Available versions can be found here: https://hub.docker.com/r/sensuapp/sensu-go/tags/
	//
	// If version is not set, default is "2.0.0-alpha".
	Version string `json:"version,omitempty"`

	// Paused is to pause the control of the operator for the sensu cluster.
	Paused bool `json:"paused,omitempty"`

	// Pod defines the policy to create pod for the sensu pod.
	//
	// Updating Pod does not take effect on any existing sensu pods.
	Pod *PodPolicy `json:"pod,omitempty"`

	// sensu cluster TLS configuration
	TLS *TLSPolicy `json:"TLS,omitempty"`
}

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

func (*ClusterSpec) Validate

func (c *ClusterSpec) Validate() error

TODO: move this to initializer

type ClusterStatus

type ClusterStatus struct {
	// Phase is the cluster running phase
	Phase  ClusterPhase `json:"phase"`
	Reason string       `json:"reason,omitempty"`

	// ControlPuased indicates the operator pauses the control of the cluster.
	ControlPaused bool `json:"controlPaused,omitempty"`

	// Condition keeps track of all cluster conditions, if they exist.
	Conditions []ClusterCondition `json:"conditions,omitempty"`

	// Size is the current size of the cluster.
	// Currently limited to 1.
	Size int `json:"size"`

	// DashboardServiceName is the LB service for accessing the sensu dashboard.
	DashboardServiceName string `json:"dashboardServiceName,omitempty"`

	// DashboardPort is the port for accessing the sensu dashboard.
	DashboardPort int `json:"dashboardPort,omitempty"`

	// AgentServiceName is the LB service for sensu agents to access the sensu backend.
	AgentServiceName string `json:"agentServiceName,omitempty"`

	// AgentPort is the port for sensu agents to connect to the sensu backend.
	AgentPort int `json:"agentPort,omitempty"`

	// APIServiceName is the LB service for clients to access the sensu API.
	APIServiceName string `json:"apiServiceName,omitempty"`

	// APIPort is the port for sensu clients to connect to the sensu API.
	APIPort int `json:"apiPort,omitempty"`

	// Members are the sensu members in the cluster
	Members MembersStatus `json:"members"`
	// CurrentVersion is the current cluster version
	CurrentVersion string `json:"currentVersion"`
	// TargetVersion is the version the cluster upgrading to.
	// If the cluster is not upgrading, TargetVersion is empty.
	TargetVersion string `json:"targetVersion"`
}

func (*ClusterStatus) ClearCondition

func (cs *ClusterStatus) ClearCondition(t ClusterConditionType)

func (*ClusterStatus) Control

func (cs *ClusterStatus) Control()

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

func (*ClusterStatus) IsFailed

func (cs *ClusterStatus) IsFailed() bool

func (*ClusterStatus) PauseControl

func (cs *ClusterStatus) PauseControl()

func (*ClusterStatus) SetPhase

func (cs *ClusterStatus) SetPhase(p ClusterPhase)

func (*ClusterStatus) SetReadyCondition

func (cs *ClusterStatus) SetReadyCondition()

func (*ClusterStatus) SetReason

func (cs *ClusterStatus) SetReason(r string)

func (*ClusterStatus) SetRecoveringCondition

func (cs *ClusterStatus) SetRecoveringCondition()

func (*ClusterStatus) SetScalingDownCondition

func (cs *ClusterStatus) SetScalingDownCondition(from, to int)

func (*ClusterStatus) SetScalingUpCondition

func (cs *ClusterStatus) SetScalingUpCondition(from, to int)

func (*ClusterStatus) SetUpgradingCondition

func (cs *ClusterStatus) SetUpgradingCondition(to string)

func (*ClusterStatus) SetVersion

func (cs *ClusterStatus) SetVersion(v string)

func (*ClusterStatus) UpgradeVersionTo

func (cs *ClusterStatus) UpgradeVersionTo(v string)

type MemberSecret

type MemberSecret struct {
	// PeerSecret is the secret containing TLS certs used by each etcd member pod
	// for the communication between etcd peers.
	PeerSecret string `json:"peerSecret,omitempty"`
	// ServerSecret is the secret containing TLS certs used by each etcd member pod
	// for the communication between etcd server and its clients.
	ServerSecret string `json:"serverSecret,omitempty"`
}

func (*MemberSecret) DeepCopy

func (in *MemberSecret) DeepCopy() *MemberSecret

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

func (*MemberSecret) DeepCopyInto

func (in *MemberSecret) DeepCopyInto(out *MemberSecret)

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

type MembersStatus

type MembersStatus struct {
	// Ready are the sensu members that are ready to serve requests
	// The member names are the same as the sensu pod names
	Ready []string `json:"ready,omitempty"`
	// Unready are the sensu members not ready to serve requests
	Unready []string `json:"unready,omitempty"`
}

func (*MembersStatus) DeepCopy

func (in *MembersStatus) DeepCopy() *MembersStatus

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

func (*MembersStatus) DeepCopyInto

func (in *MembersStatus) DeepCopyInto(out *MembersStatus)

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

type PodPolicy

type PodPolicy struct {
	// Labels specifies the labels to attach to pods the operator creates for the
	// sensu cluster.
	// "app" and "sensu_*" labels are reserved for the internal use of the sensu operator.
	// Do not overwrite them.
	Labels map[string]string `json:"labels,omitempty"`

	// NodeSelector specifies a map of key-value pairs. For the pod to be eligible
	// to run on a node, the node must have each of the indicated key-value pairs as
	// labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// The scheduling constraints on sensu pods.
	Affinity *v1.Affinity `json:"affinity,omitempty"`
	// **DEPRECATED**. Use Affinity instead.
	AntiAffinity bool `json:"antiAffinity,omitempty"`

	// Resources is the resource requirements for the sensu container.
	// This field cannot be updated once the cluster is created.
	Resources v1.ResourceRequirements `json:"resources,omitempty"`

	// Tolerations specifies the pod's tolerations.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// List of environment variables to set in the sensu container.
	// This is used to configure etcd in the sensu process. The sensu cluster cannot be created, when
	// bad environement variables are provided. Do not overwrite any flags used to
	// bootstrap the cluster (for example `--initial-cluster` flag).
	// This field cannot be updated.
	SensuEnv []v1.EnvVar `json:"sensuEnv,omitempty"`

	// PersistentVolumeClaimSpec is the spec to describe PVC for the sensu container
	// This field is optional. If no PVC spec, sensu container will use emptyDir as volume
	// Note. This feature is in alpha stage. It is currently only used as non-stable storage,
	// not the stable storage. Future work need to make it used as stable storage.
	PersistentVolumeClaimSpec *v1.PersistentVolumeClaimSpec `json:"persistentVolumeClaimSpec,omitempty"`

	// Annotations specifies the annotations to attach to pods the operator creates for the
	// sensu cluster.
	// The "sensu.version" annotation is reserved for the internal use of the sensu operator.
	Annotations map[string]string `json:"annotations,omitempty"`

	// busybox init container image. default is busybox:1.28.0-glibc
	// busybox:latest uses uclibc which contains a bug that sometimes prevents name resolution
	// More info: https://github.com/docker-library/busybox/issues/27
	BusyboxImage string `json:"busyboxImage,omitempty"`

	// SecurityContext specifies the security context for the entire pod
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context
	SecurityContext *v1.PodSecurityContext `json:"securityContext,omitempty"`

	// DNSTimeoutInSecond is the maximum allowed time for the init container of the sensu pod to
	// reverse DNS lookup its IP given the hostname.
	// The default is to wait indefinitely and has a vaule of 0.
	DNSTimeoutInSecond int64 `json:"DNSTimeoutInSecond,omitempty"`
}

PodPolicy defines the policy to create pod for the sensu container.

func (*PodPolicy) DeepCopy

func (in *PodPolicy) DeepCopy() *PodPolicy

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

func (*PodPolicy) DeepCopyInto

func (in *PodPolicy) DeepCopyInto(out *PodPolicy)

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

type RestoreSource

type RestoreSource struct {
	// S3 tells where on S3 the backup is saved and how to fetch the backup.
	S3 *S3RestoreSource `json:"s3,omitempty"`

	// ABS tells where on ABS the backup is saved and how to fetch the backup.
	ABS *ABSRestoreSource `json:"abs,omitempty"`
}

func (*RestoreSource) DeepCopy

func (in *RestoreSource) DeepCopy() *RestoreSource

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

func (*RestoreSource) DeepCopyInto

func (in *RestoreSource) DeepCopyInto(out *RestoreSource)

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

type RestoreSpec

type RestoreSpec struct {
	// BackupStorageType is the type of the backup storage which is used as RestoreSource.
	BackupStorageType BackupStorageType `json:"backupStorageType"`
	// RestoreSource tells the where to get the backup and restore from.
	RestoreSource `json:",inline"`
	// SensuCluster references an SensuCluster resource whose metadata and spec
	// will be used to create the new restored SensuCluster CR.
	// This reference SensuCluster CR and all its resources will be deleted before the
	// restored SensuCluster CR is created.
	SensuCluster SensuClusterRef `json:"sensuCluster"`
}

RestoreSpec defines how to restore a sensu cluster from existing backup.

func (*RestoreSpec) DeepCopy

func (in *RestoreSpec) DeepCopy() *RestoreSpec

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

func (*RestoreSpec) DeepCopyInto

func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)

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

type RestoreStatus

type RestoreStatus struct {
	// Succeeded indicates if the backup has Succeeded.
	Succeeded bool `json:"succeeded"`
	// Reason indicates the reason for any backup related failures.
	Reason string `json:"reason,omitempty"`
}

RestoreStatus reports the status of this restore operation.

func (*RestoreStatus) DeepCopy

func (in *RestoreStatus) DeepCopy() *RestoreStatus

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

func (*RestoreStatus) DeepCopyInto

func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)

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

type S3BackupSource

type S3BackupSource struct {
	// Path is the full s3 path where the backup is saved.
	// The format of the path must be: "<s3-bucket-name>/<path-to-backup-file>"
	// e.g: "mybucket/etcd.backup"
	Path string `json:"path"`

	// The name of the secret object that stores the AWS credential and config files.
	// The file name of the credential MUST be 'credentials'.
	// The file name of the config MUST be 'config'.
	// The profile to use in both files will be 'default'.
	//
	// AWSSecret overwrites the default etcd operator wide AWS credential and config.
	AWSSecret string `json:"awsSecret"`

	// Endpoint if blank points to aws. If specified, can point to s3 compatible object
	// stores.
	Endpoint string `json:"endpoint,omitempty"`
}

S3BackupSource provides the spec how to store backups on S3.

func (*S3BackupSource) DeepCopy

func (in *S3BackupSource) DeepCopy() *S3BackupSource

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

func (*S3BackupSource) DeepCopyInto

func (in *S3BackupSource) DeepCopyInto(out *S3BackupSource)

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

type S3RestoreSource

type S3RestoreSource struct {
	// Path is the full s3 path where the backup is saved.
	// The format of the path must be: "<s3-bucket-name>/<path-to-backup-file>"
	// e.g: "mybucket/etcd.backup"
	Path string `json:"path"`

	// The name of the secret object that stores the AWS credential and config files.
	// The file name of the credential MUST be 'credentials'.
	// The file name of the config MUST be 'config'.
	// The profile to use in both files will be 'default'.
	//
	// AWSSecret overwrites the default sensu operator wide AWS credential and config.
	AWSSecret string `json:"awsSecret"`

	// Endpoint if blank points to aws. If specified, can point to s3 compatible object
	// stores.
	Endpoint string `json:"endpoint"`
}

func (*S3RestoreSource) DeepCopy

func (in *S3RestoreSource) DeepCopy() *S3RestoreSource

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

func (*S3RestoreSource) DeepCopyInto

func (in *S3RestoreSource) DeepCopyInto(out *S3RestoreSource)

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

type SensuBackup

type SensuBackup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              BackupSpec   `json:"spec"`
	Status            BackupStatus `json:"status,omitempty"`
}

SensuBackup represents a Kubernetes SensuBackup Custom Resource.

func (*SensuBackup) DeepCopy

func (in *SensuBackup) DeepCopy() *SensuBackup

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

func (*SensuBackup) DeepCopyInto

func (in *SensuBackup) DeepCopyInto(out *SensuBackup)

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

func (*SensuBackup) DeepCopyObject

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

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

type SensuBackupList

type SensuBackupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []SensuBackup `json:"items"`
}

SensuBackupList is a list of SensuBackup.

func (*SensuBackupList) DeepCopy

func (in *SensuBackupList) DeepCopy() *SensuBackupList

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

func (*SensuBackupList) DeepCopyInto

func (in *SensuBackupList) DeepCopyInto(out *SensuBackupList)

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

func (*SensuBackupList) DeepCopyObject

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

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

type SensuCluster

type SensuCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ClusterSpec   `json:"spec"`
	Status            ClusterStatus `json:"status"`
}

func (*SensuCluster) AsOwner

func (c *SensuCluster) AsOwner() metav1.OwnerReference

func (*SensuCluster) DeepCopy

func (in *SensuCluster) DeepCopy() *SensuCluster

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

func (*SensuCluster) DeepCopyInto

func (in *SensuCluster) DeepCopyInto(out *SensuCluster)

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

func (*SensuCluster) DeepCopyObject

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

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

func (*SensuCluster) SetDefaults

func (e *SensuCluster) SetDefaults()

SetDefaults cleans up user passed spec, e.g. defaulting, transforming fields. TODO: move this to initializer

type SensuClusterList

type SensuClusterList struct {
	metav1.TypeMeta `json:",inline"`
	// Standard list metadata
	// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SensuCluster `json:"items"`
}

SensuClusterList is a list of sensu clusters.

func (*SensuClusterList) DeepCopy

func (in *SensuClusterList) DeepCopy() *SensuClusterList

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

func (*SensuClusterList) DeepCopyInto

func (in *SensuClusterList) DeepCopyInto(out *SensuClusterList)

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

func (*SensuClusterList) DeepCopyObject

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

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

type SensuClusterRef

type SensuClusterRef struct {
	// Name is the SensuCluster resource name.
	// This reference SensuCluster must be present in the same namespace as the restore-operator
	Name string `json:"name"`
}

SensuCluster references an SensuCluster resource whose metadata and spec will be used to create the new restored SensuCluster CR. This reference SensuCluster CR and all its resources will be deleted before the restored SensuCluster CR is created.

func (*SensuClusterRef) DeepCopy

func (in *SensuClusterRef) DeepCopy() *SensuClusterRef

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

func (*SensuClusterRef) DeepCopyInto

func (in *SensuClusterRef) DeepCopyInto(out *SensuClusterRef)

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

type SensuRestore

type SensuRestore struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	Spec              RestoreSpec   `json:"spec"`
	Status            RestoreStatus `json:"status,omitempty"`
}

SensuRestore represents a Kubernetes SensuRestore Custom Resource. The SensuRestore CR name will be used as the name of the new restored cluster.

func (*SensuRestore) DeepCopy

func (in *SensuRestore) DeepCopy() *SensuRestore

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

func (*SensuRestore) DeepCopyInto

func (in *SensuRestore) DeepCopyInto(out *SensuRestore)

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

func (*SensuRestore) DeepCopyObject

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

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

type SensuRestoreList

type SensuRestoreList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []SensuRestore `json:"items"`
}

SensuRestoreList is a list of SensuRestore.

func (*SensuRestoreList) DeepCopy

func (in *SensuRestoreList) DeepCopy() *SensuRestoreList

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

func (*SensuRestoreList) DeepCopyInto

func (in *SensuRestoreList) DeepCopyInto(out *SensuRestoreList)

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

func (*SensuRestoreList) DeepCopyObject

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

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

type StaticTLS

type StaticTLS struct {
	// Member contains secrets containing TLS certs used by each etcd member pod.
	Member *MemberSecret `json:"member,omitempty"`
	// OperatorSecret is the secret containing TLS certs used by operator to
	// talk securely to this cluster.
	OperatorSecret string `json:"operatorSecret,omitempty"`
}

func (*StaticTLS) DeepCopy

func (in *StaticTLS) DeepCopy() *StaticTLS

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

func (*StaticTLS) DeepCopyInto

func (in *StaticTLS) DeepCopyInto(out *StaticTLS)

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

type TLSPolicy

type TLSPolicy struct {
	// StaticTLS enables user to generate static x509 certificates and keys,
	// put them into Kubernetes secrets, and specify them into here.
	Static *StaticTLS `json:"static,omitempty"`
}

TLSPolicy defines the TLS policy of an etcd cluster

func (*TLSPolicy) DeepCopy

func (in *TLSPolicy) DeepCopy() *TLSPolicy

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

func (*TLSPolicy) DeepCopyInto

func (in *TLSPolicy) DeepCopyInto(out *TLSPolicy)

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

func (*TLSPolicy) IsSecureClient

func (tp *TLSPolicy) IsSecureClient() bool

func (*TLSPolicy) IsSecurePeer

func (tp *TLSPolicy) IsSecurePeer() bool

func (*TLSPolicy) Validate

func (tp *TLSPolicy) Validate() error

Jump to

Keyboard shortcuts

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