v1alpha1

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2023 License: Apache-2.0 Imports: 9 Imported by: 7

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the lib v1alpha1 API group +kubebuilder:object:generate=true +groupName=lib.projectsveltos.io

Index

Constants

View Source
const (
	AccessRequestFinalizer = "accessrequestfinalizer.projectsveltos.io"

	AccessRequestKind = "AccessRequest"

	// AccessRequestLabelName is added to each Secret generated for an AccessRequest
	AccessRequestLabelName = "projectsveltos.io/access-request-name"
)
View Source
const (
	// ClassifierFinalizer allows ClassifierReconciler to clean up resources associated with
	// Classifier before removing it from the apiserver.
	ClassifierFinalizer = "classifierfinalizer.projectsveltos.io"

	// ClassifierReportClusterNameLabel is added to each ClassifierReport
	ClassifierReportClusterNameLabel = "projectsveltos.io/cluster-name"

	// ClassifierReportClusterTypeLabel is added to each ClassifierReport
	ClassifierReportClusterTypeLabel = "projectsveltos.io/cluster-type"

	ClassifierKind = "Classifier"

	FeatureClassifier = "Classifier"
)
View Source
const (
	// OperationEqual will verify equality. Corresponds to ==
	OperationEqual = Operation("Equal")

	// OperationDifferent will verify difference. Corresponds to !=
	OperationDifferent = Operation("Different")
)
View Source
const (
	// ClusterTypeCapi indicates type is CAPI Cluster
	ClusterTypeCapi = ClusterType("Capi")

	// ClusterTypeSveltos indicates type is Sveltos Cluster
	ClusterTypeSveltos = ClusterType("Sveltos")
)
View Source
const (
	// ClassifierLabelName is added to each ClassifierReport generated
	// for a Classifier instance
	ClassifierLabelName = "projectsveltos.io/classifier-name"

	ClassifierReportKind = "ClassifierReport"

	// This is the namespace/name of the secret containing the kubeconfig
	// to send ClassifierReport to management cluster when classifier agent
	// is configured to send ClassifierReports
	ClassifierSecretName      = "classifier-agent"
	ClassifierSecretNamespace = "projectsveltos"
)
View Source
const (
	// ReportWaitingForDelivery indicates the report has yet to be sent to the
	// management cluster
	ReportWaitingForDelivery = ReportPhase("WaitingForDelivery")

	// ReportDelivering indicates the report has been sent to the management
	// cluster but not ack-ed yet
	ReportDelivering = ReportPhase("Delivering")

	// ReportProcessed indicates the report has been already delivered and acked
	// in the management cluster.
	ReportProcessed = ReportPhase("Processed")
)
View Source
const (
	// SveltosStatusProvisioning indicates that sveltos feature is being
	// provisioned in the workload cluster
	SveltosStatusProvisioning = SveltosFeatureStatus("Provisioning")

	// SveltosStatusProvisioned indicates that sveltos has been
	// provisioned in the workload cluster
	SveltosStatusProvisioned = SveltosFeatureStatus("Provisioned")

	// SveltosStatusFailed indicates that configuring sveltos feature
	// in the workload cluster failed
	SveltosStatusFailed = SveltosFeatureStatus("Failed")

	// SveltosStatusRemoving indicates that sveltos feature is being
	// removed
	SveltosStatusRemoving = SveltosFeatureStatus("Removing")

	// SveltosStatusRemoved indicates that sveltos feature is removed
	SveltosStatusRemoved = SveltosFeatureStatus("Removed")
)
View Source
const (
	// LogLevelNotSet indicates log severity is not set. Default configuration will apply.
	LogLevelNotSet = LogLevel("LogLevelNotSet")

	// LogLevelInfo indicates log severity info (V(0)) is set
	LogLevelInfo = LogLevel("LogLevelInfo")

	// LogLevelDebug indicates log severity debug (V(5)) is set
	LogLevelDebug = LogLevel("LogLevelDebug")

	// LogLevelVerbose indicates log severity debug (V(10)) is set
	LogLevelVerbose = LogLevel("LogLevelVerbose")
)
View Source
const (
	// ComponentSveltosManager is the sveltos-manager pod
	ComponentSveltosManager = Component("SveltosManager")

	// Classifier is the classifier pod
	ComponentClassifier = Component("Classifier")

	// ClassifierAgent is the classifier agent pod
	ComponentClassifierAgent = Component("ClassifierAgent")

	// ComponentSveltosClusterManager is the sveltoscluster-manager pod
	ComponentSveltosClusterManager = Component("SveltosClusterManager")

	// ComponentDriftDetectionManager is the drift-detection-manager pod
	ComponentDriftDetectionManager = Component("DriftDetectionManager")

	// ComponentAccessManager is the access-manager pod
	ComponentAccessManager = Component("AccessManager")
)
View Source
const (
	// ResourceSummaryFinalizer is finalizer added to ResourceSummary
	ResourceSummaryFinalizer = "resourcesummaryfinalizer.projectsveltos.io"

	ResourceSummaryKind = "ResourceSummary"

	// ClusterSummaryLabelName is added to all ResourceSummary instances
	ClusterSummaryLabelName = "projectsveltos.io/cluster-summary-name"

	// ClusterSummaryLabelNamespace is added to all ResourceSummary instances
	ClusterSummaryLabelNamespace = "projectsveltos.io/cluster-summary-namespace"
)
View Source
const (
	RoleRequestFinalizer = "rolerequestfinalizer.projectsveltos.io"

	RoleRequestKind = "RoleRequest"

	// RoleRequestLabel is added to each object generated for a RoleRequest
	// in both management and managed clusters
	RoleRequestLabel = "projectsveltos.io/role-request-name"

	FeatureRoleRequest = "RoleRequest"
)
View Source
const (
	// ClassifierAgent is the request type to generate kubeconfig
	// for classifier agent
	ClassifierAgentRequest = RequestType("ClassifierAgent")
)
View Source
const (
	// ClusterProfileSecretType is the only accepted type of secret in resources.
	ClusterProfileSecretType corev1.SecretType = "addons.projectsveltos.io/cluster-profile"
)
View Source
const (
	DebuggingConfigurationKind = "DebuggingConfiguration"
)
View Source
const (
	SveltosClusterKind = "SveltosCluster"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "lib.projectsveltos.io", 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
)
View Source
var (
	// ErrSecretTypeNotSupported signals that a Secret is not supported.
	ErrSecretTypeNotSupported = errors.New("unsupported secret type")
)

Functions

func GetClassifierReportLabels added in v0.3.0

func GetClassifierReportLabels(classifierName, clusterName string, clusterType *ClusterType) map[string]string

func GetClassifierReportName added in v0.3.0

func GetClassifierReportName(classifierName, clusterName string, clusterType *ClusterType) string

func GetClusterInfo added in v0.3.0

func GetClusterInfo(clusterNamespace, clusterName string) string

Types

type AccessRequest added in v0.3.0

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

	Spec   AccessRequestSpec   `json:"spec,omitempty"`
	Status AccessRequestStatus `json:"status,omitempty"`
}

AccessRequest is the Schema for the accessrequest API

func (*AccessRequest) DeepCopy added in v0.3.0

func (in *AccessRequest) DeepCopy() *AccessRequest

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

func (*AccessRequest) DeepCopyInto added in v0.3.0

func (in *AccessRequest) DeepCopyInto(out *AccessRequest)

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

func (*AccessRequest) DeepCopyObject added in v0.3.0

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

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

type AccessRequestList added in v0.3.0

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

AccessRequestList contains a list of AccessRequest

func (*AccessRequestList) DeepCopy added in v0.3.0

func (in *AccessRequestList) DeepCopy() *AccessRequestList

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

func (*AccessRequestList) DeepCopyInto added in v0.3.0

func (in *AccessRequestList) DeepCopyInto(out *AccessRequestList)

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

func (*AccessRequestList) DeepCopyObject added in v0.3.0

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

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

type AccessRequestSpec added in v0.3.0

type AccessRequestSpec struct {
	// Namespace is the namespace of the service account created
	// for this AccessRequest
	Namespace string `json:"namespace"`

	// Name is the name of the service account created
	// for this AccessRequest
	Name string `json:"name"`

	// Type represent the type of the request
	Type RequestType `json:"type"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the
	// management cluster controlplane endpoint. It will be used when generating the
	// kubeconfig.
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
}

AccessRequestSpec defines the desired state of AccessRequest

func (*AccessRequestSpec) DeepCopy added in v0.3.0

func (in *AccessRequestSpec) DeepCopy() *AccessRequestSpec

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

func (*AccessRequestSpec) DeepCopyInto added in v0.3.0

func (in *AccessRequestSpec) DeepCopyInto(out *AccessRequestSpec)

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

type AccessRequestStatus added in v0.3.0

type AccessRequestStatus struct {
	// SecretRef points to the Secret containing Kubeconfig
	// +optional
	SecretRef *corev1.ObjectReference `json:"secretRef,omitempty"`

	// FailureMessage provides more information if an error occurs.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

AccessRequestStatus defines the status of AccessRequest

func (*AccessRequestStatus) DeepCopy added in v0.3.0

func (in *AccessRequestStatus) DeepCopy() *AccessRequestStatus

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

func (*AccessRequestStatus) DeepCopyInto added in v0.3.0

func (in *AccessRequestStatus) DeepCopyInto(out *AccessRequestStatus)

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

type Classifier added in v0.2.1

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

	Spec   ClassifierSpec   `json:"spec,omitempty"`
	Status ClassifierStatus `json:"status,omitempty"`
}

Classifier is the Schema for the classifiers API

func (*Classifier) DeepCopy added in v0.2.1

func (in *Classifier) DeepCopy() *Classifier

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

func (*Classifier) DeepCopyInto added in v0.2.1

func (in *Classifier) DeepCopyInto(out *Classifier)

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

func (*Classifier) DeepCopyObject added in v0.2.1

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

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

type ClassifierLabel added in v0.2.1

type ClassifierLabel struct {
	// Key is the label key
	Key string `json:"key"`

	// Value is the label value
	Value string `json:"value"`
}

func (*ClassifierLabel) DeepCopy added in v0.2.1

func (in *ClassifierLabel) DeepCopy() *ClassifierLabel

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

func (*ClassifierLabel) DeepCopyInto added in v0.2.1

func (in *ClassifierLabel) DeepCopyInto(out *ClassifierLabel)

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

type ClassifierList added in v0.2.1

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

ClassifierList contains a list of Classifier

func (*ClassifierList) DeepCopy added in v0.2.1

func (in *ClassifierList) DeepCopy() *ClassifierList

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

func (*ClassifierList) DeepCopyInto added in v0.2.1

func (in *ClassifierList) DeepCopyInto(out *ClassifierList)

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

func (*ClassifierList) DeepCopyObject added in v0.2.1

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

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

type ClassifierReport added in v0.2.1

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

	Spec   ClassifierReportSpec   `json:"spec,omitempty"`
	Status ClassifierReportStatus `json:"status,omitempty"`
}

ClassifierReport is the Schema for the classifierreports API

func (*ClassifierReport) DeepCopy added in v0.2.1

func (in *ClassifierReport) DeepCopy() *ClassifierReport

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

func (*ClassifierReport) DeepCopyInto added in v0.2.1

func (in *ClassifierReport) DeepCopyInto(out *ClassifierReport)

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

func (*ClassifierReport) DeepCopyObject added in v0.2.1

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

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

type ClassifierReportList added in v0.2.1

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

ClassifierReportList contains a list of ClassifierReport

func (*ClassifierReportList) DeepCopy added in v0.2.1

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

func (*ClassifierReportList) DeepCopyInto added in v0.2.1

func (in *ClassifierReportList) DeepCopyInto(out *ClassifierReportList)

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

func (*ClassifierReportList) DeepCopyObject added in v0.2.1

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

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

type ClassifierReportSpec added in v0.2.1

type ClassifierReportSpec struct {
	// ClusterNamespace is the namespace of the Cluster this
	// ClusterReport is for.
	ClusterNamespace string `json:"clusterNamespace"`

	// ClusterName is the name of the Cluster this ClusterReport
	// is for.
	ClusterName string `json:"clusterName"`

	// ClusterType is the type of Cluster
	ClusterType ClusterType `json:"clusterType"`

	// ClassifierName is the name of the Classifier instance this report
	// is for.
	ClassifierName string `json:"classifierName"`

	// Match indicates whether Cluster is currently a match for
	// the Classifier instance this report is for
	Match bool `json:"match"`
}

ClassifierReportSpec defines the desired state of ClassifierReport

func (*ClassifierReportSpec) DeepCopy added in v0.2.1

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

func (*ClassifierReportSpec) DeepCopyInto added in v0.2.1

func (in *ClassifierReportSpec) DeepCopyInto(out *ClassifierReportSpec)

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

type ClassifierReportStatus added in v0.2.1

type ClassifierReportStatus struct {
	// Phase represents the current phase of report.
	// +optional
	Phase *ReportPhase `json:"phase,omitempty"`
}

ClassifierReportStatus defines the observed state of ClassifierReport

func (*ClassifierReportStatus) DeepCopy added in v0.2.1

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

func (*ClassifierReportStatus) DeepCopyInto added in v0.2.1

func (in *ClassifierReportStatus) DeepCopyInto(out *ClassifierReportStatus)

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

type ClassifierSpec added in v0.2.1

type ClassifierSpec struct {
	// DeployedResourceConstraints allows to classify based on current deployed resources
	DeployedResourceConstraints []DeployedResourceConstraint `json:"deployedResourceConstraints,omitempty"`

	// KubernetesVersionConstraints allows to classify based on current kubernetes version
	KubernetesVersionConstraints []KubernetesVersionConstraint `json:"kubernetesVersionConstraints,omitempty"`

	// ClassifierLabels is set of labels, key,value pair, that will be added to each
	// cluster matching Classifier instance
	ClassifierLabels []ClassifierLabel `json:"classifierLabels"`
}

ClassifierSpec defines the desired state of Classifier

func (*ClassifierSpec) DeepCopy added in v0.2.1

func (in *ClassifierSpec) DeepCopy() *ClassifierSpec

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

func (*ClassifierSpec) DeepCopyInto added in v0.2.1

func (in *ClassifierSpec) DeepCopyInto(out *ClassifierSpec)

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

type ClassifierStatus added in v0.2.1

type ClassifierStatus struct {
	// MatchingClusterRefs reference all the cluster-api Cluster currently matching
	// Classifier
	MachingClusterStatuses []MachingClusterStatus `json:"machingClusterStatuses,omitempty"`

	// ClusterInfo reference all the cluster-api Cluster where Classifier
	// has been/is being deployed
	ClusterInfo []ClusterInfo `json:"clusterInfo,omitempty"`
}

ClassifierStatus defines the observed state of Classifier

func (*ClassifierStatus) DeepCopy added in v0.2.1

func (in *ClassifierStatus) DeepCopy() *ClassifierStatus

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

func (*ClassifierStatus) DeepCopyInto added in v0.2.1

func (in *ClassifierStatus) DeepCopyInto(out *ClassifierStatus)

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

type ClusterInfo added in v0.2.1

type ClusterInfo struct {
	// Cluster references the Cluster
	Cluster corev1.ObjectReference `json:"cluster"`

	// Hash represents the hash of the Classifier currently deployed
	// in the Cluster
	Hash []byte `json:"hash"`

	// Status represents the state of the feature in the workload cluster
	Status SveltosFeatureStatus `json:"status"`

	// FailureMessage provides more information about the error.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

func (*ClusterInfo) DeepCopy added in v0.2.1

func (in *ClusterInfo) DeepCopy() *ClusterInfo

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

func (*ClusterInfo) DeepCopyInto added in v0.2.1

func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo)

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

type ClusterType added in v0.3.0

type ClusterType string

type Component

type Component string

+kubebuilder:validation:Enum:=SveltosManager;Classifier;ClassifierAgent;SveltosClusterManager;DriftDetectionManager;AccessManager

type ComponentConfiguration

type ComponentConfiguration struct {
	// Component indicates which Sveltos component the configuration applies to.
	Component Component `json:"component"`

	// LogLevel is the log severity above which logs are sent to the stdout. [Default: Info]
	LogLevel LogLevel `json:"logLevel,omitempty"`
}

ComponentConfiguration is the debugging configuration to be applied to a Sveltos component.

func (*ComponentConfiguration) DeepCopy

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

func (*ComponentConfiguration) DeepCopyInto

func (in *ComponentConfiguration) DeepCopyInto(out *ComponentConfiguration)

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

type DebuggingConfiguration

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

	Spec DebuggingConfigurationSpec `json:"spec,omitempty"`
}

DebuggingConfiguration is the Schema for the debuggingconfigurations API

func (*DebuggingConfiguration) DeepCopy

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

func (*DebuggingConfiguration) DeepCopyInto

func (in *DebuggingConfiguration) DeepCopyInto(out *DebuggingConfiguration)

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

func (*DebuggingConfiguration) DeepCopyObject

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

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

type DebuggingConfigurationList

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

DebuggingConfigurationList contains a list of DebuggingConfiguration

func (*DebuggingConfigurationList) DeepCopy

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

func (*DebuggingConfigurationList) DeepCopyInto

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

func (*DebuggingConfigurationList) DeepCopyObject

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

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

type DebuggingConfigurationSpec

type DebuggingConfigurationSpec struct {
	// Configuration contains debugging configuration as granular as per component.
	// +listType=atomic
	// +optional
	Configuration []ComponentConfiguration `json:"configuration,omitempty"`
}

DebuggingConfigurationSpec defines the desired state of DebuggingConfiguration

func (*DebuggingConfigurationSpec) DeepCopy

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

func (*DebuggingConfigurationSpec) DeepCopyInto

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

type DeployedResourceConstraint added in v0.2.1

type DeployedResourceConstraint struct {
	// Namespace of the resource deployed in the  Cluster.
	// Empty for resources scoped at cluster level.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Group of the resource deployed in the Cluster.
	Group string `json:"group"`

	// Version of the resource deployed in the Cluster.
	Version string `json:"version"`

	// Kind of the resource deployed in the Cluster.
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// LabelFilters allows to filter resources based on current labels.
	LabelFilters []LabelFilter `json:"labelFilters,omitempty"`

	// FieldFilters allows to filter resources based on current field values.
	// Internally uses FieldSelector so only fields supported by FieldSelector can
	// be used.
	// Current list: https://github.com/kubernetes/kubernetes/blob/9d577d8a29893062dfbd669997396dbd01ab0e47/pkg/apis/core/v1/conversion.go#L33
	FieldFilters []FieldFilter `json:"fieldFilters,omitempty"`

	// MinCount is the minimum number of resources to match
	// +optional
	MinCount *int `json:"minCount,omitempty"`

	// MaxCount is the maximun number of resources to match
	// +optional
	MaxCount *int `json:"maxCount,omitempty"`
}

func (*DeployedResourceConstraint) DeepCopy added in v0.2.1

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

func (*DeployedResourceConstraint) DeepCopyInto added in v0.2.1

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

type FieldFilter added in v0.2.1

type FieldFilter struct {
	// Field is the field
	Field string `json:"field"`

	// Operation is the comparison operation
	Operation Operation `json:"operation"`

	// Value is the field value
	Value string `json:"value"`
}

func (*FieldFilter) DeepCopy added in v0.2.1

func (in *FieldFilter) DeepCopy() *FieldFilter

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

func (*FieldFilter) DeepCopyInto added in v0.2.1

func (in *FieldFilter) DeepCopyInto(out *FieldFilter)

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

type HelmResources added in v0.3.0

type HelmResources struct {
	// ChartName is the chart name
	// +kubebuilder:validation:MinLength=1
	ChartName string `json:"chartName"`

	// ReleaseName is the chart release
	// +kubebuilder:validation:MinLength=1
	ReleaseName string `json:"releaseName"`

	// ReleaseNamespace is the namespace release will be installed
	// +kubebuilder:validation:MinLength=1
	ReleaseNamespace string `json:"releaseNamespace"`

	// Resources deployed by ClusterSummary because of helm charts
	// +optional
	Resources []Resource `json:"group,omitempty"`
}

func (*HelmResources) DeepCopy added in v0.3.0

func (in *HelmResources) DeepCopy() *HelmResources

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

func (*HelmResources) DeepCopyInto added in v0.3.0

func (in *HelmResources) DeepCopyInto(out *HelmResources)

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

type KubernetesComparison added in v0.2.1

type KubernetesComparison string
const (
	ComparisonEqual                KubernetesComparison = "Equal"
	ComparisonNotEqual             KubernetesComparison = "NotEqual"
	ComparisonGreaterThan          KubernetesComparison = "GreaterThan"
	ComparisonLessThan             KubernetesComparison = "LessThan"
	ComparisonGreaterThanOrEqualTo KubernetesComparison = "GreaterThanOrEqualTo"
	ComparisonLessThanOrEqualTo    KubernetesComparison = "LessThanOrEqualTo"
)

Define the Action constants.

type KubernetesVersionConstraint added in v0.2.1

type KubernetesVersionConstraint struct {
	// Version is the kubernetes version
	Version string `json:"version"`

	// Comparison indicate how to compare cluster kubernetes version with the specified version
	// +kubebuilder:validation:Enum=Equal;NotEqual;GreaterThan;LessThan;GreaterThanOrEqualTo;LessThanOrEqualTo
	Comparison string `json:"comparison"`
}

func (*KubernetesVersionConstraint) DeepCopy added in v0.2.1

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

func (*KubernetesVersionConstraint) DeepCopyInto added in v0.2.1

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

type LabelFilter added in v0.2.1

type LabelFilter struct {
	// Key is the label key
	Key string `json:"key"`

	// Operation is the comparison operation
	Operation Operation `json:"operation"`

	// Value is the label value
	Value string `json:"value"`
}

func (*LabelFilter) DeepCopy added in v0.2.1

func (in *LabelFilter) DeepCopy() *LabelFilter

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

func (*LabelFilter) DeepCopyInto added in v0.2.1

func (in *LabelFilter) DeepCopyInto(out *LabelFilter)

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

type LogLevel

type LogLevel string

+kubebuilder:validation:Enum:=LogLevelNotSet;LogLevelInfo;LogLevelDebug;LogLevelVerbose

type MachingClusterStatus added in v0.2.1

type MachingClusterStatus struct {
	// ClusterRef references the matching Cluster
	ClusterRef corev1.ObjectReference `json:"clusterRef"`

	// ManagedLabels indicates the labels being managed on
	// the cluster by this Classifier instance
	// +optional
	ManagedLabels []string `json:"managedLabels,omitempty"`

	// UnManagedLabel indicates the labels this Classifier instance
	// would like to manage but cannot because different instance is
	// already managing it
	// +optional
	UnManagedLabels []UnManagedLabel `json:"unManagedLabels,omitempty"`
}

func (*MachingClusterStatus) DeepCopy added in v0.2.1

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

func (*MachingClusterStatus) DeepCopyInto added in v0.2.1

func (in *MachingClusterStatus) DeepCopyInto(out *MachingClusterStatus)

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

type Operation added in v0.2.1

type Operation string

Operation specifies +kubebuilder:validation:Enum:=Equal;Different

type PolicyRef

type PolicyRef struct {
	// Namespace of the referenced resource.
	// Namespace can be left empty. In such a case, namespace will
	// be implicit set to cluster's namespace.
	Namespace string `json:"namespace"`

	// Name of the rreferenced resource.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Kind of the resource. Supported kinds are: Secrets and ConfigMaps.
	// +kubebuilder:validation:Enum=Secret;ConfigMap
	Kind string `json:"kind"`
}

PolicyRef specifies a resource containing one or more policy to deploy in matching Clusters.

func (*PolicyRef) DeepCopy

func (in *PolicyRef) DeepCopy() *PolicyRef

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

func (*PolicyRef) DeepCopyInto

func (in *PolicyRef) DeepCopyInto(out *PolicyRef)

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

func (PolicyRef) String

func (r PolicyRef) String() string

type ReferencedResourceKind added in v0.4.0

type ReferencedResourceKind string

ReferencedResourceKind is a string representation of allowed kind of resources that can be referenced in a ClusterProfile

const (
	SecretReferencedResourceKind    ReferencedResourceKind = "Secret"
	ConfigMapReferencedResourceKind ReferencedResourceKind = "ConfigMap"
)

Define the ReferencedResourceKind constants.

type ReportPhase added in v0.2.1

type ReportPhase string

ReportPhase describes the state of a classifierReport. +kubebuilder:validation:Enum:=WaitingForDelivery;Delivering;Processed

type RequestType added in v0.3.0

type RequestType string

RequestType specifies the type of AccessRequest +kubebuilder:validation:Enum:=ClassifierAgent;Different

type Resource added in v0.3.0

type Resource struct {
	// Name of the resource deployed in the Cluster.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Namespace of the resource deployed in the Cluster.
	// Empty for resources scoped at cluster level.
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Group of the resource deployed in the Cluster.
	Group string `json:"group"`

	// Kind of the resource deployed in the Cluster.
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Version of the resource deployed in the Cluster.
	Version string `json:"version"`
}

func (*Resource) DeepCopy added in v0.3.0

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto added in v0.3.0

func (in *Resource) DeepCopyInto(out *Resource)

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

type ResourceHash added in v0.3.0

type ResourceHash struct {
	// Resource specifies a resource.
	Resource `json:",inline"`

	// Hash is the hash of a resource's data.
	Hash string `json:"hash,omitempty"`
}

func (*ResourceHash) DeepCopy added in v0.3.0

func (in *ResourceHash) DeepCopy() *ResourceHash

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

func (*ResourceHash) DeepCopyInto added in v0.3.0

func (in *ResourceHash) DeepCopyInto(out *ResourceHash)

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

type ResourceSummary added in v0.3.0

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

	Spec   ResourceSummarySpec   `json:"spec,omitempty"`
	Status ResourceSummaryStatus `json:"status,omitempty"`
}

ResourceSummary is the Schema for the ResourceSummary API

func (*ResourceSummary) DeepCopy added in v0.3.0

func (in *ResourceSummary) DeepCopy() *ResourceSummary

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

func (*ResourceSummary) DeepCopyInto added in v0.3.0

func (in *ResourceSummary) DeepCopyInto(out *ResourceSummary)

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

func (*ResourceSummary) DeepCopyObject added in v0.3.0

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

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

type ResourceSummaryList added in v0.3.0

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

ResourceSummaryList contains a list of ResourceSummary

func (*ResourceSummaryList) DeepCopy added in v0.3.0

func (in *ResourceSummaryList) DeepCopy() *ResourceSummaryList

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

func (*ResourceSummaryList) DeepCopyInto added in v0.3.0

func (in *ResourceSummaryList) DeepCopyInto(out *ResourceSummaryList)

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

func (*ResourceSummaryList) DeepCopyObject added in v0.3.0

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

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

type ResourceSummarySpec added in v0.3.0

type ResourceSummarySpec struct {
	// Resources deployed by ClusterSummary because of referenced ConfigMaps/Secrets
	// +optional
	Resources []Resource `json:"resources,omitempty"`

	// Resources deployed by ClusterSummary because of referenced Helm charts
	// +optional
	ChartResources []HelmResources `json:"chartResources,omitempty"`
}

ResourceSummarySpec defines the desired state of ResourceSummary

func (*ResourceSummarySpec) DeepCopy added in v0.3.0

func (in *ResourceSummarySpec) DeepCopy() *ResourceSummarySpec

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

func (*ResourceSummarySpec) DeepCopyInto added in v0.3.0

func (in *ResourceSummarySpec) DeepCopyInto(out *ResourceSummarySpec)

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

type ResourceSummaryStatus added in v0.3.0

type ResourceSummaryStatus struct {
	// Resources changed.
	// +optional
	ResourcesChanged bool `json:"resourcesChanged,omitempty"`

	// Helm Resources changed.
	// +optional
	HelmResourcesChanged bool `json:"helmResourcesChanged,omitempty"`

	// ResourceHashes specifies a list of resource plus hash
	ResourceHashes []ResourceHash `json:"resourceHashes,omitempty"`

	// HelmResourceHashes specifies list of resource plus hash.
	HelmResourceHashes []ResourceHash `json:"helmResourceHashes,omitempty"`
}

ResourceSummaryStatus defines the status of ResourceSummary

func (*ResourceSummaryStatus) DeepCopy added in v0.3.0

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

func (*ResourceSummaryStatus) DeepCopyInto added in v0.3.0

func (in *ResourceSummaryStatus) DeepCopyInto(out *ResourceSummaryStatus)

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

type RoleRequest added in v0.4.0

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

	Spec   RoleRequestSpec   `json:"spec,omitempty"`
	Status RoleRequestStatus `json:"status,omitempty"`
}

RoleRequest is the Schema for the rolerequest API

func (*RoleRequest) DeepCopy added in v0.4.0

func (in *RoleRequest) DeepCopy() *RoleRequest

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

func (*RoleRequest) DeepCopyInto added in v0.4.0

func (in *RoleRequest) DeepCopyInto(out *RoleRequest)

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

func (*RoleRequest) DeepCopyObject added in v0.4.0

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

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

type RoleRequestList added in v0.4.0

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

RoleRequestList contains a list of RoleRequest

func (*RoleRequestList) DeepCopy added in v0.4.0

func (in *RoleRequestList) DeepCopy() *RoleRequestList

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

func (*RoleRequestList) DeepCopyInto added in v0.4.0

func (in *RoleRequestList) DeepCopyInto(out *RoleRequestList)

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

func (*RoleRequestList) DeepCopyObject added in v0.4.0

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

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

type RoleRequestSpec added in v0.4.0

type RoleRequestSpec struct {
	// ClusterSelector identifies clusters where permissions requestes
	// in this instance will be granted
	ClusterSelector Selector `json:"clusterSelector"`

	// PolicyRefs references all the ConfigMaps containing kubernetes Roles/ClusterRoles
	// that need to be deployed in the matching clusters.
	RoleRefs []PolicyRef `json:"roleRefs,omitempty"`

	// Admin is the name of the admin for which those permissions are requested
	Admin string `json:"admin,omitempty"`
}

RoleRequestSpec defines the desired state of RoleRequest

func (*RoleRequestSpec) DeepCopy added in v0.4.0

func (in *RoleRequestSpec) DeepCopy() *RoleRequestSpec

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

func (*RoleRequestSpec) DeepCopyInto added in v0.4.0

func (in *RoleRequestSpec) DeepCopyInto(out *RoleRequestSpec)

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

type RoleRequestStatus added in v0.4.0

type RoleRequestStatus struct {
	// MatchingClusterRefs reference all the cluster currently matching
	// RoleRequest ClusterSelector
	MatchingClusterRefs []corev1.ObjectReference `json:"matchingClusters,omitempty"`

	// ClusterInfo represents the hash of the ClusterRoles/Roles deployed in
	// a matching cluster for the admin.
	// +optional
	ClusterInfo []ClusterInfo `json:"clusterInfo,omitempty"`

	// FailureMessage provides more information if an error occurs.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

RoleRequestStatus defines the status of RoleRequest

func (*RoleRequestStatus) DeepCopy added in v0.4.0

func (in *RoleRequestStatus) DeepCopy() *RoleRequestStatus

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

func (*RoleRequestStatus) DeepCopyInto added in v0.4.0

func (in *RoleRequestStatus) DeepCopyInto(out *RoleRequestStatus)

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

type Selector added in v0.4.0

type Selector string

type SveltosCluster added in v0.3.0

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

	Spec   SveltosClusterSpec   `json:"spec,omitempty"`
	Status SveltosClusterStatus `json:"status,omitempty"`
}

SveltosCluster is the Schema for the SveltosCluster API

func (*SveltosCluster) DeepCopy added in v0.3.0

func (in *SveltosCluster) DeepCopy() *SveltosCluster

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

func (*SveltosCluster) DeepCopyInto added in v0.3.0

func (in *SveltosCluster) DeepCopyInto(out *SveltosCluster)

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

func (*SveltosCluster) DeepCopyObject added in v0.3.0

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

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

type SveltosClusterList added in v0.3.0

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

SveltosClusterList contains a list of SveltosCluster

func (*SveltosClusterList) DeepCopy added in v0.3.0

func (in *SveltosClusterList) DeepCopy() *SveltosClusterList

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

func (*SveltosClusterList) DeepCopyInto added in v0.3.0

func (in *SveltosClusterList) DeepCopyInto(out *SveltosClusterList)

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

func (*SveltosClusterList) DeepCopyObject added in v0.3.0

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

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

type SveltosClusterSpec added in v0.3.0

type SveltosClusterSpec struct {
	// Paused can be used to prevent controllers from processing the
	// SveltosCluster and all its associated objects.
	// +optional
	Paused bool `json:"paused,omitempty"`
}

SveltosClusterSpec defines the desired state of SveltosCluster

func (*SveltosClusterSpec) DeepCopy added in v0.3.0

func (in *SveltosClusterSpec) DeepCopy() *SveltosClusterSpec

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

func (*SveltosClusterSpec) DeepCopyInto added in v0.3.0

func (in *SveltosClusterSpec) DeepCopyInto(out *SveltosClusterSpec)

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

type SveltosClusterStatus added in v0.3.0

type SveltosClusterStatus struct {
	// Ready is the state of the cluster.
	// +optional
	Ready bool `json:"ready,omitempty"`

	// FailureMessage is a human consumable message explaining the
	// misconfiguration
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

SveltosClusterStatus defines the status of SveltosCluster

func (*SveltosClusterStatus) DeepCopy added in v0.3.0

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

func (*SveltosClusterStatus) DeepCopyInto added in v0.3.0

func (in *SveltosClusterStatus) DeepCopyInto(out *SveltosClusterStatus)

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

type SveltosFeatureStatus added in v0.4.0

type SveltosFeatureStatus string

+kubebuilder:validation:Enum:=Provisioning;Provisioned;Failed;Removing;Removed

type UnManagedLabel added in v0.2.1

type UnManagedLabel struct {
	// Key represents a label Classifier would like to manage
	// but cannot because currently managed by different instance
	Key string `json:"key"`

	// FailureMessage is a human consumable message explaining the
	// misconfiguration
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`
}

func (*UnManagedLabel) DeepCopy added in v0.2.1

func (in *UnManagedLabel) DeepCopy() *UnManagedLabel

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

func (*UnManagedLabel) DeepCopyInto added in v0.2.1

func (in *UnManagedLabel) DeepCopyInto(out *UnManagedLabel)

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