Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the lib v1alpha1 API group +kubebuilder:object:generate=true +groupName=lib.projectsveltos.io
Index ¶
- Constants
- Variables
- func GetClassifierReportLabels(classifierName, clusterName string, clusterType *ClusterType) map[string]string
- func GetClassifierReportName(classifierName, clusterName string, clusterType *ClusterType) string
- func GetClusterInfo(clusterNamespace, clusterName string) string
- func GetEventReportLabels(eventSourceName, clusterName string, clusterType *ClusterType) map[string]string
- func GetEventReportName(healthName, clusterName string, clusterType *ClusterType) string
- func GetHealthCheckReportLabels(healthCheckName, clusterName string, clusterType *ClusterType) map[string]string
- func GetHealthCheckReportName(healthCheckName, clusterName string, clusterType *ClusterType) string
- func GetReloaderReportAnnotations(kind, namespace, name string) map[string]string
- func GetReloaderReportLabels(clusterName string, clusterType *ClusterType) map[string]string
- func GetReloaderReportName(mountedResourcekind, mountedResourceNamespace, mountedResourceName, ... string, ...) string
- type AccessRequest
- type AccessRequestList
- type AccessRequestSpec
- type AccessRequestStatus
- type Action
- type ActiveWindow
- type CELRule
- type Classifier
- type ClassifierLabel
- type ClassifierList
- type ClassifierReport
- type ClassifierReportList
- type ClassifierReportSpec
- type ClassifierReportStatus
- type ClassifierSpec
- type ClassifierStatus
- type ClusterCheck
- type ClusterCondition
- type ClusterHealthCheck
- type ClusterHealthCheckList
- type ClusterHealthCheckSpec
- type ClusterHealthCheckStatus
- type ClusterInfo
- type ClusterSet
- type ClusterSetList
- type ClusterType
- type CollectionStatus
- type Component
- type ComponentConfiguration
- type Condition
- type ConditionSeverity
- type ConditionType
- type ConfigurationBundle
- type ConfigurationBundleList
- type ConfigurationBundleSpec
- type ConfigurationBundleStatus
- type ConfigurationGroup
- type ConfigurationGroupList
- type ConfigurationGroupSpec
- type ConfigurationGroupStatus
- type ConfigurationItem
- type ConnectionStatus
- type DebuggingConfiguration
- type DebuggingConfigurationList
- type DebuggingConfigurationSpec
- type DeliveryMethod
- type DeliveryType
- type DeployedResourceConstraint
- type DriftExclusion
- type Event
- type EventReport
- type EventReportList
- type EventReportSpec
- type EventReportStatus
- type EventSource
- type EventSourceList
- type EventSourceSpec
- type EventType
- type FeatureDeploymentInfo
- type FeatureID
- type FeatureStatus
- type FromManaged
- type FromManagement
- type HealthCheck
- type HealthCheckList
- type HealthCheckReport
- type HealthCheckReportList
- type HealthCheckReportSpec
- type HealthCheckReportStatus
- type HealthCheckSpec
- type HealthStatus
- type HelmResources
- type KubernetesComparison
- type KubernetesVersionConstraint
- type LabelFilter
- type LicenseStatusType
- type LivenessCheck
- type LivenessType
- type Log
- type LogLevel
- type MachingClusterStatus
- type MessagingMatchCriteria
- type Notification
- type NotificationStatus
- type NotificationSummary
- type NotificationType
- type Operation
- type Patch
- type PatchSelector
- type PolicyRef
- type ReferencedResourceKind
- type Reloader
- type ReloaderInfo
- type ReloaderList
- type ReloaderReport
- type ReloaderReportList
- type ReloaderReportSpec
- type ReloaderReportStatus
- type ReloaderSpec
- type ReportPhase
- type RequestType
- type Resource
- type ResourceAction
- type ResourceHash
- type ResourceReport
- type ResourceSelector
- type ResourceStatus
- type ResourceSummary
- type ResourceSummaryList
- type ResourceSummaryResource
- type ResourceSummarySpec
- type ResourceSummaryStatus
- type RoleRequest
- type RoleRequestList
- type RoleRequestSpec
- type RoleRequestStatus
- type SchedulingConfig
- type Selector
- type Set
- type SetList
- type SourceStatus
- type Spec
- type Status
- type SveltosCluster
- type SveltosClusterList
- type SveltosClusterSpec
- type SveltosClusterStatus
- type SveltosFeatureStatus
- type SveltosLicense
- type SveltosLicenseList
- type SveltosLicenseStatus
- type Techsupport
- type TechsupportList
- type TechsupportSpec
- type TechsupportStatus
- type TokenRequestRenewalOption
- type UnManagedLabel
- type UpdatePhase
- type ValidateHealth
Constants ¶
const ( AccessRequestFinalizer = "accessrequestfinalizer.projectsveltos.io" AccessRequestKind = "AccessRequest" // AccessRequestNameLabel is added to each Secret generated for an AccessRequest AccessRequestNameLabel = "projectsveltos.io/access-request-name" )
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 = "classifier.projectsveltos.io/cluster-name" // ClassifierReportClusterTypeLabel is added to each ClassifierReport ClassifierReportClusterTypeLabel = "classifier.projectsveltos.io/cluster-type" ClassifierKind = "Classifier" FeatureClassifier = "Classifier" )
const ( // ClusterTypeCapi indicates type is CAPI Cluster ClusterTypeCapi = ClusterType("Capi") // ClusterTypeSveltos indicates type is Sveltos Cluster ClusterTypeSveltos = ClusterType("Sveltos") )
const ( // ClassifierNameLabel is added to each ClassifierReport generated // for a Classifier instance ClassifierlNameLabel = "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" )
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") )
const ( // ClusterHealthCheckFinalizer allows ClusterHealthCheckReconciler to clean up resources associated with // ClusterHealthCheck before removing it from the apiserver. ClusterHealthCheckFinalizer = "clusterhcfinalizer.projectsveltos.io" ClusterHealthCheckKind = "ClusterHealthCheck" FeatureClusterHealthCheck = "ClusterHealthCheck" )
const ( SlackToken = "SLACK_TOKEN" SlackChannelID = "SLACK_CHANNEL_ID" )
Slack constant To have Sveltos sends a slack notification, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set both slack token and slack channel id
const ( WebexToken = "WEBEX_TOKEN" WebexRoomID = "WEBEX_ROOM_ID" )
Webex constant To have Sveltos sends a webex notification, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set both webex token and webex room ID
const ( DiscordToken = "DISCORD_TOKEN" DiscordChannelID = "DISCORD_CHANNEL_ID" )
Discord constant To have Sveltos sends a Discord notification, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set both discord token and discord server ID
const ( TelegramToken = "TELEGRAM_TOKEN" TelegramChatID = "TELEGRAM_CHAT_ID" )
Telegram constant To have Sveltos sends a Telegram notification, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set both discord token and discord server ID
const ( SmtpRecipients = "SMTP_RECIPIENTS" SmtpCc = "SMTP_CC" SmtpBcc = "SMTP_BCC" SmtpSender = "SMTP_SENDER" SmtpPassword = "SMTP_PASSWORD" SmtpHost = "SMTP_HOST" SmtpPort = "SMTP_PORT" )
SMTP constant To have Sveltos sends an SMTP notification, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set the SMTP information
const ( // LivenessTypeAddons refers to add-ons deployment state. LivenessTypeAddons = LivenessType("Addons") // LivenessTypeHealthCheck refers to HealthCheck state. LivenessTypeHealthCheck = LivenessType("HealthCheck") )
const ( // NotificationTypeKubernetesEvent refers to generating a Kubernetes event NotificationTypeKubernetesEvent = NotificationType("KubernetesEvent") // NotificationTypeSlack refers to generating a Slack message NotificationTypeSlack = NotificationType("Slack") // NotificationTypeWebex refers to generating a Webex message NotificationTypeWebex = NotificationType("Webex") // NotificationTypeDiscord refers to generating a Discord message NotificationTypeDiscord = NotificationType("Discord") // NotificationTypeTeams refers to generating a Teams message NotificationTypeTeams = NotificationType("Teams") // NotificationTypeSMTP refers to generating an email message NotificationTypeSMTP = NotificationType("SMTP") // NotificationTypeTelegram refers to generating a telegram message NotificationTypeTelegram = NotificationType("Telegram") )
const ( // NotificationStatusDelivered indicates notification has been delivered NotificationStatusDelivered = NotificationStatus("Delivered") // NotificationStatusFailedToDeliver indicates notification was not delivered // due to an error NotificationStatusFailedToDeliver = NotificationStatus("FailedToDeliver") )
const ( // ClusterSetFinalizer allows ClusterSetReconciler to clean up resources associated with // ClusterSet before removing it from the apiserver. ClusterSetFinalizer = "clustersetfinalizer.projectsveltos.io" ClusterSetKind = "ClusterSet" )
const ( // PolicyTemplateAnnotation is the annotation that must be set on a policy when the // policy is a template and needs variable substitution. PolicyTemplateAnnotation = "projectsveltos.io/template" // PolicyLuaAnnotation is the annotation that must be set on a policy when the // policy contains Lua script. PolicyLuaAnnotation = "projectsveltos.io/lua" )
const ( // ServiceAccountNameLabel can be set on various Sveltos resources (ClusterProfile/EventSource/...) // to indicate which admin (represented by a ServiceAccount) is creating it (service account name). // ServiceAccountNameLabel used along with RoleRequest is Sveltos solution for multi tenancy. ServiceAccountNameLabel = "projectsveltos.io/serviceaccount-name" // ServiceAccountNamespaceLabel can be set on various Sveltos resources (ClusterProfile/EventSource/...) // to indicate which admin (represented by a ServiceAccount) is creating it (service account namespace). // ServiceAccountNamespaceLabel used along with RoleRequest is Sveltos solution for multi tenancy. ServiceAccountNamespaceLabel = "projectsveltos.io/serviceaccount-namespace" )
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") )
const ( // OperationEqual will verify equality. Corresponds to == OperationEqual = Operation("Equal") // OperationDifferent will verify difference. Corresponds to != OperationDifferent = Operation("Different") // OperationHas will verify key is present OperationHas = Operation("Has") // OperationDoesNotHave will verify key is not present OperationDoesNotHave = Operation("DoesNotHave") )
const ( // FeatureResources is the identifier for generic Resources feature FeatureResources = FeatureID("Resources") // FeatureHelm is the identifier for Helm feature FeatureHelm = FeatureID("Helm") // FeatureKustomize is the identifier for Kustomize feature FeatureKustomize = FeatureID("Kustomize") )
const ( // FeatureStatusProvisioning indicates that feature is being // provisioned in the workload cluster FeatureStatusProvisioning = FeatureStatus("Provisioning") // FeatureStatusProvisioned indicates that feature has being // provisioned in the workload cluster FeatureStatusProvisioned = FeatureStatus("Provisioned") // FeatureStatusFailed indicates that configuring the feature // in the workload cluster failed FeatureStatusFailed = FeatureStatus("Failed") // FeatureStatusFailedNonRetriable indicates that configuring the feature // in the workload cluster failed with a non retriable error FeatureStatusFailedNonRetriable = FeatureStatus("FailedNonRetriable") // FeatureStatusRemoving indicates that feature is being // removed FeatureStatusRemoving = FeatureStatus("Removing") // FeatureStatusAgentRemoving indicates that feature is being // removed by agent when in pull mode FeatureStatusAgentRemoving = FeatureStatus("AgentRemoving") // FeatureStatusRemoved indicates that feature is removed FeatureStatusRemoved = FeatureStatus("Removed") )
const ( // ActionDeploy indicates to deploy the content referenced by the ConfigurationGroup ActionDeploy = Action("Deploy") // ActionRemove indicates to withdraw the content deployed because of the ConfigurationGroup ActionRemove = Action("Remove") )
const ( // UpdatePhaseReady indicates the ConfigurationGroup is ready for deployment UpdatePhaseReady = UpdatePhase("Ready") // UpdatePhasePreparing indicates a new version of the ConfigurationGroup is being prepared UpdatePhasePreparing = UpdatePhase("Preparing") )
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") )
const ( // ComponentAddonManager is the addon-manager pod ComponentAddonManager = Component("AddonManager") // Classifier is the classifier pod ComponentClassifier = Component("Classifier") // ClassifierAgent is the classifier agent pod ComponentSveltosAgent = Component("SveltosAgent") // 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") // ComponentHealthCheckManager is the healthcheck-manager pod ComponentHealthCheckManager = Component("HealthCheckManager") // ComponentEventManager is the event-manager pod ComponentEventManager = Component("EventManager") // ComponentShardController is the shard-controller pod ComponentShardController = Component("ShardController") // ComponentUIBackend is the ui backend pod ComponentUIBackend = Component("UIBackend") // ComponentConversionWebhook is conversion webhook pod ComponentConversionWebhook = Component("ConversionWebhook") // ComponentTechsupport is the techsupport pod ComponentTechsupport = Component("Techsupport") // ComponentMCPServer is the MCP Server pod ComponentMCPServer = Component("MCPServer") )
const ( EventReportKind = "EventReport" // EventReportFinalizer allows EventReportReconciler to clean up resources associated with // EventReport before removing it from the apiserver. EventReportFinalizer = "eventreport.finalizer.projectsveltos.io" // EventSourceNameLabel is added to each EventReport generated // for a EventSource instance EventSourceNameLabel = "projectsveltos.io/eventsource-name" // EventReportClusterNameLabel is added to each EventReport EventReportClusterNameLabel = "eventreport.projectsveltos.io/cluster-name" // EventReportClusterTypeLabel is added to each EventReport EventReportClusterTypeLabel = "eventreport.projectsveltos.io/cluster-type" )
const ( // EventSourceFinalizer allows EventSourceReconciler to clean up resources associated with // EventSource before removing it from the apiserver. EventSourceFinalizer = "eventsource.finalizer.projectsveltos.io" EventSourceKind = "EventSource" )
const ( // HealthCheckFinalizer allows HealthReconciler to clean up resources associated with // HealthCheck before removing it from the apiserver. HealthCheckFinalizer = "healthcheck.finalizer.projectsveltos.io" HealthCheckKind = "HealthCheck" )
const ( HealthCheckReportKind = "HealthCheckReport" // HealthCheckReportFinalizer allows HealthReconciler to clean up resources associated with // HealthCheckReport before removing it from the apiserver. HealthCheckReportFinalizer = "healthcheckreport.finalizer.projectsveltos.io" // HealthCheckNameLabel is added to each HealthCheckReport generated // for a HealthCheck instance HealthCheckNameLabel = "projectsveltos.io/healthcheck-name" // HealthCheckReportClusterNameLabel is added to each HealthCheckReport HealthCheckReportClusterNameLabel = "healthcheckreport.projectsveltos.io/cluster-name" // HealthCheckReportClusterTypeLabel is added to each HealthCheckReport HealthCheckReportClusterTypeLabel = "healthcheckreport.projectsveltos.io/cluster-type" )
const ( // HealthStatusHealthy indicates healthy status HealthStatusHealthy = HealthStatus("Healthy") // HealthStatusProgressing indicates resource is not healthy yet but // it is progressing HealthStatusProgressing = HealthStatus("Progressing") // HealthStatusDegraded indicates resource is degraded HealthStatusDegraded = HealthStatus("Degraded") // HealthStatusSuspended indicates resource is suspended HealthStatusSuspended = HealthStatus("Suspended") )
const ( // ReloaderFinalizer finalizer ReloaderFinalizer = "reloader.finalizer.projectsveltos.io" ReloaderKind = "Reloader" )
const ( ReloaderReportKind = "ReloaderReport" // ReloaderReportFinalizer allows ReloaderReportReconciler to clean up resources associated with // ReloaderReport before removing it from the apiserver. ReloaderReportFinalizer = "reloaderreport.finalizer.projectsveltos.io" // ReloaderReportClusterNameLabel is added to each ReloaderReport ReloaderReportClusterNameLabel = "reloaderreport.projectsveltos.io/cluster-name" // ReloaderReportClusterTypeLabel is added to each ReloaderReport ReloaderReportClusterTypeLabel = "reloaderreport.projectsveltos.io/cluster-type" // ReloaderReportResourceKindAnnotation is added to each ReloaderReport ReloaderReportResourceKindAnnotation = "reloaderreport.projectsveltos.io/resource-kind" // ReloaderReportResourceNamespaceAnnotation is added to each ReloaderReport ReloaderReportResourceNamespaceAnnotation = "reloaderreport.projectsveltos.io/resource-namespace" // ReloaderReportResourceNameAnnotation is added to each ReloaderReport ReloaderReportResourceNameAnnotation = "reloaderreport.projectsveltos.io/resource-name" )
const ( // ResourceSummaryFinalizer is finalizer added to ResourceSummary ResourceSummaryFinalizer = "resourcesummaryfinalizer.projectsveltos.io" ResourceSummaryKind = "ResourceSummary" // ClusterSummaryNameLabel is added to all ResourceSummary instances // Deprecated: Use ClusterSummaryNameAnnotation ClusterSummaryNameLabel = "projectsveltos.io/cluster-summary-name" // ClusterSummaryNamespaceLabel is added to all ResourceSummary instances // Deprecated: Use ClusterSummaryNamespaceAnnotation ClusterSummaryNamespaceLabel = "projectsveltos.io/cluster-summary-namespace" // ClusterSummaryNameLabel is added to all ResourceSummary instances ClusterSummaryNameAnnotation = "projectsveltos.io/cluster-summary-name" // ClusterSummaryNamespaceLabel is added to all ResourceSummary instances ClusterSummaryNamespaceAnnotation = "projectsveltos.io/cluster-summary-namespace" )
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" FeatureRoleRequest = "RoleRequest" )
const ( // SetFinalizer allows SetReconciler to clean up resources associated with // Set before removing it from the apiserver. SetFinalizer = "setfinalizer.projectsveltos.io" SetKind = "Set" )
const ( // ConnectionHealthy indicates connection from management cluster to managed cluster is healthy ConnectionHealthy = ConnectionStatus("Healthy") // ConnectionDown indicates connection from management cluster to managed cluster is down ConnectionDown = ConnectionStatus("Down") )
const ( SFTPHost = "SFTP_HOST" SFTPPort = "SFTP_PORT" SFTPPath = "SFTP_PATH" SFTPHostKey = "SFTP_HOST_KEY" SFTPUsername = "SFTP_USERNAME" SFTPPassowrd = "SFTP_PASSWORD" SFTPCert = "SFTP_CERT" )
SFTP constant To have Sveltos upload to an SFTP, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set following fields
const ( // CollectionStatusStatusInProgress indicates that collection is being collected CollectionStatusInProgress = CollectionStatus("InProgress") // CollectionStatusStatusCollected indicates that collection succeeded CollectionStatusCollected = CollectionStatus("Collected") // CollectionStatusStatusFailed indicates that last collection failed CollectionStatusFailed = CollectionStatus("Failed") )
const ( // DeliveryTypeSlack refers to generating a Slack message DeliveryTypeSlack = DeliveryType("Slack") // DeliveryTypeWebex refers to generating a Webex message DeliveryTypeWebex = DeliveryType("Webex") // DeliveryTypeDiscord refers to generating a Discord message DeliveryTypeDiscord = DeliveryType("Discord") // DeliveryTypeTelegram refers to generating a telegram message DeliveryTypeTelegram = DeliveryType("Telegram") // DeliveryTypeSMTP refers to generating an email message DeliveryTypeSMTP = DeliveryType("SMTP") // DeliveryTypeSFTP refers to uploading to an SFTP server DeliveryTypeSFTP = DeliveryType("SFTP") )
const ( // ClusterProfileSecretType is the only accepted type of secret in resources. ClusterProfileSecretType corev1.SecretType = "addons.projectsveltos.io/cluster-profile" )
const (
ConfigurationBundleKind = "ConfigurationBundle"
)
const (
ConfigurationGroupKind = "ConfigurationGroup"
)
const (
DebuggingConfigurationKind = "DebuggingConfiguration"
)
const ( // DeployedBySveltosAnnotation is an annotation Sveltos adds to // EventSource/HealthCheck/Classifier/ResourceSummary instances deployed // by sveltos in managed clusters. Those resources, once deployed in a // managed cluster, are evaluated by sveltos services (sveltos-agent and // drift-detection-manager) running in the managed cluster DeployedBySveltosAnnotation = "projectsveltos.io/deployed-by-sveltos" )
const ( // SveltosAgent is the request type to generate kubeconfig // for sveltos agent SveltosAgentRequest = RequestType("SveltosAgent") )
const (
SveltosClusterKind = "SveltosCluster"
)
const (
SveltosLicenseKind = "SveltosLicense"
)
const (
TeamsWebhookURL = "TEAMS_WEBHOOK_URL"
)
Teams constant To have Sveltos sends a Microsoft Teams notification, create a Secret of type "addons.projectsveltos.io/cluster-profile" In the data section set the Webhook URL
const ( // TechsupportFinalizer allows TechsupportReconciler to clean up resources associated with // Techsupport instance before removing it from the apiserver. TechsupportFinalizer = "techsupportfinalizer.projectsveltos.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "lib.projectsveltos.io", Version: "v1beta1"} // 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 )
var ( // ErrSecretTypeNotSupported signals that a Secret is not supported. ErrSecretTypeNotSupported = errors.New("unsupported secret type") )
Functions ¶
func GetClassifierReportLabels ¶
func GetClassifierReportLabels(classifierName, clusterName string, clusterType *ClusterType) map[string]string
func GetClassifierReportName ¶
func GetClassifierReportName(classifierName, clusterName string, clusterType *ClusterType) string
func GetClusterInfo ¶
func GetEventReportLabels ¶
func GetEventReportLabels(eventSourceName, clusterName string, clusterType *ClusterType) map[string]string
func GetEventReportName ¶
func GetEventReportName(healthName, clusterName string, clusterType *ClusterType) string
func GetHealthCheckReportLabels ¶
func GetHealthCheckReportLabels(healthCheckName, clusterName string, clusterType *ClusterType) map[string]string
func GetHealthCheckReportName ¶
func GetHealthCheckReportName(healthCheckName, clusterName string, clusterType *ClusterType) string
func GetReloaderReportAnnotations ¶
GetReloaderReportAnnotations returns the annotation to add to ReloaderReport kind, namespace, name identify mounted resource (ConfigMap or Secret) which was modified causing a reload
func GetReloaderReportLabels ¶
func GetReloaderReportLabels(clusterName string, clusterType *ClusterType) map[string]string
func GetReloaderReportName ¶
func GetReloaderReportName(mountedResourcekind, mountedResourceNamespace, mountedResourceName, clusterName string, clusterType *ClusterType) string
mountedResourcekind is the kind of the resource being mounted as volume (either ConfigMap or Secret) mountedResourceNamespace/mountedResourceName is the namespace/name of the resource being mounted as volume clusterName and clusterType identify the managed cluster
Types ¶
type AccessRequest ¶
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 ¶
func (in *AccessRequest) DeepCopy() *AccessRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRequest.
func (*AccessRequest) DeepCopyInto ¶
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 ¶
func (in *AccessRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessRequestList ¶
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 ¶
func (in *AccessRequestList) DeepCopy() *AccessRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRequestList.
func (*AccessRequestList) DeepCopyInto ¶
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 ¶
func (in *AccessRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessRequestSpec ¶
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 ¶
func (in *AccessRequestSpec) DeepCopy() *AccessRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRequestSpec.
func (*AccessRequestSpec) DeepCopyInto ¶
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 ¶
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 ¶
func (in *AccessRequestStatus) DeepCopy() *AccessRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRequestStatus.
func (*AccessRequestStatus) DeepCopyInto ¶
func (in *AccessRequestStatus) DeepCopyInto(out *AccessRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ActiveWindow ¶ added in v0.36.0
type ActiveWindow struct {
// From in Cron format, see https://en.wikipedia.org/wiki/Cron.
// Indicates when to un-pause the cluster (cluster in paused state receives no update from sveltos).
// +kubebuilder:validation:MinLength=1
From string `json:"from"`
// To in Cron format, see https://en.wikipedia.org/Cron.
// Indicates when to pause the cluster (cluster in paused state receives no update from sveltos).
// +kubebuilder:validation:MinLength=1
To string `json:"to"`
}
func (*ActiveWindow) DeepCopy ¶ added in v0.36.0
func (in *ActiveWindow) DeepCopy() *ActiveWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActiveWindow.
func (*ActiveWindow) DeepCopyInto ¶ added in v0.36.0
func (in *ActiveWindow) DeepCopyInto(out *ActiveWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CELRule ¶ added in v0.57.0
type CELRule struct {
// Name is a human-readable identifier for the rule.
Name string `json:"name"`
// Rule is the CEL (Common Expression Language) expression to evaluate.
// It must return a bool
Rule string `json:"rule"`
}
CELRule defines a named CEL rule used in EvaluateCEL.
func (*CELRule) DeepCopy ¶ added in v0.57.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CELRule.
func (*CELRule) DeepCopyInto ¶ added in v0.57.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Classifier ¶
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 ¶
func (in *Classifier) DeepCopy() *Classifier
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Classifier.
func (*Classifier) DeepCopyInto ¶
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 ¶
func (in *Classifier) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClassifierLabel ¶
type ClassifierLabel struct {
// Key is the label key
Key string `json:"key"`
// Value is the label value
Value string `json:"value"`
}
func (*ClassifierLabel) DeepCopy ¶
func (in *ClassifierLabel) DeepCopy() *ClassifierLabel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierLabel.
func (*ClassifierLabel) DeepCopyInto ¶
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 ¶
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 ¶
func (in *ClassifierList) DeepCopy() *ClassifierList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierList.
func (*ClassifierList) DeepCopyInto ¶
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 ¶
func (in *ClassifierList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClassifierReport ¶
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 ¶
func (in *ClassifierReport) DeepCopy() *ClassifierReport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierReport.
func (*ClassifierReport) DeepCopyInto ¶
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 ¶
func (in *ClassifierReport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClassifierReportList ¶
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 ¶
func (in *ClassifierReportList) DeepCopy() *ClassifierReportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierReportList.
func (*ClassifierReportList) DeepCopyInto ¶
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 ¶
func (in *ClassifierReportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClassifierReportSpec ¶
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"`
}
func (*ClassifierReportSpec) DeepCopy ¶
func (in *ClassifierReportSpec) DeepCopy() *ClassifierReportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierReportSpec.
func (*ClassifierReportSpec) DeepCopyInto ¶
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 ¶
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 ¶
func (in *ClassifierReportStatus) DeepCopy() *ClassifierReportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierReportStatus.
func (*ClassifierReportStatus) DeepCopyInto ¶
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 ¶
type ClassifierSpec struct {
// DeployedResourceConstraint allows to classify based on current deployed resources
// +optional
DeployedResourceConstraint *DeployedResourceConstraint `json:"deployedResourceConstraint,omitempty"`
// KubernetesVersionConstraints allows to classify based on current kubernetes version
// +optional
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 ¶
func (in *ClassifierSpec) DeepCopy() *ClassifierSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierSpec.
func (*ClassifierSpec) DeepCopyInto ¶
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 ¶
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 ¶
func (in *ClassifierStatus) DeepCopy() *ClassifierStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClassifierStatus.
func (*ClassifierStatus) DeepCopyInto ¶
func (in *ClassifierStatus) DeepCopyInto(out *ClassifierStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterCheck ¶ added in v0.48.0
type ClusterCheck struct {
// Name of the cluster check.
// Must be a DNS_LABEL and unique within the ClusterChecks.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// ResourceSelectors identifies what Kubernetes resources to select
ResourceSelectors []ResourceSelector `json:"resourceSelectors"`
// This field is used to specify a Lua function that will be used to evaluate
// this check.
// The function will receive the array of resources selected by ResourceSelectors.
// The Lua function name is evaluate and must return a struct with:
// - "result" field: boolean indicating whether check passed or failed;
// - "message" field: (optional) message.
Condition string `json:"condition"`
}
func (*ClusterCheck) DeepCopy ¶ added in v0.48.0
func (in *ClusterCheck) DeepCopy() *ClusterCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCheck.
func (*ClusterCheck) DeepCopyInto ¶ added in v0.48.0
func (in *ClusterCheck) DeepCopyInto(out *ClusterCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterCondition ¶
type ClusterCondition struct {
ClusterInfo ClusterInfo `json:"clusterInfo"`
// Cluster conditions.
// +optional
Conditions []Condition `json:"conditions,omitempty"`
// NotificationSummaries contains status information on notifications
// +optional
NotificationSummaries []NotificationSummary `json:"notificationSummaries,omitempty"`
}
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 ClusterHealthCheck ¶
type ClusterHealthCheck struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterHealthCheckSpec `json:"spec,omitempty"`
Status ClusterHealthCheckStatus `json:"status,omitempty"`
}
ClusterHealthCheck is the Schema for the clusterhealthchecks API
func (*ClusterHealthCheck) DeepCopy ¶
func (in *ClusterHealthCheck) DeepCopy() *ClusterHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterHealthCheck.
func (*ClusterHealthCheck) DeepCopyInto ¶
func (in *ClusterHealthCheck) DeepCopyInto(out *ClusterHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterHealthCheck) DeepCopyObject ¶
func (in *ClusterHealthCheck) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterHealthCheckList ¶
type ClusterHealthCheckList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterHealthCheck `json:"items"`
}
ClusterHealthCheckList contains a list of ClusterHealthChecks
func (*ClusterHealthCheckList) DeepCopy ¶
func (in *ClusterHealthCheckList) DeepCopy() *ClusterHealthCheckList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterHealthCheckList.
func (*ClusterHealthCheckList) DeepCopyInto ¶
func (in *ClusterHealthCheckList) DeepCopyInto(out *ClusterHealthCheckList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterHealthCheckList) DeepCopyObject ¶
func (in *ClusterHealthCheckList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterHealthCheckSpec ¶
type ClusterHealthCheckSpec struct {
// Selector identifies clusters to associate to.
// +optional
ClusterSelector Selector `json:"clusterSelector,omitempty"`
// LivenessChecks is a list of source of liveness checks to evaluate.
// Anytime one of those changes, notifications will be sent
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
LivenessChecks []LivenessCheck `json:"livenessChecks"`
// Notification is a list of notification mechanisms.
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
Notifications []Notification `json:"notifications"`
}
ClusterHealthCheckSpec defines the desired state of ClusterHealthCheck
func (*ClusterHealthCheckSpec) DeepCopy ¶
func (in *ClusterHealthCheckSpec) DeepCopy() *ClusterHealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterHealthCheckSpec.
func (*ClusterHealthCheckSpec) DeepCopyInto ¶
func (in *ClusterHealthCheckSpec) DeepCopyInto(out *ClusterHealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterHealthCheckStatus ¶
type ClusterHealthCheckStatus struct {
// MatchingClusterRefs reference all the clusters currently matching
// ClusterHealthCheck ClusterSelector
MatchingClusterRefs []corev1.ObjectReference `json:"matchingClusters,omitempty"`
// ClusterConditions contains conditions and notification status for all clusters
// matching ClusterHealthCheck instance
// +optional
ClusterConditions []ClusterCondition `json:"clusterCondition,omitempty"`
}
func (*ClusterHealthCheckStatus) DeepCopy ¶
func (in *ClusterHealthCheckStatus) DeepCopy() *ClusterHealthCheckStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterHealthCheckStatus.
func (*ClusterHealthCheckStatus) DeepCopyInto ¶
func (in *ClusterHealthCheckStatus) DeepCopyInto(out *ClusterHealthCheckStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterInfo ¶
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
// +optional
Status SveltosFeatureStatus `json:"status,omitempty"`
// FailureMessage provides more information about the error.
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
}
func (*ClusterInfo) DeepCopy ¶
func (in *ClusterInfo) DeepCopy() *ClusterInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterInfo.
func (*ClusterInfo) DeepCopyInto ¶
func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSet ¶
type ClusterSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec Spec `json:"spec,omitempty"`
Status Status `json:"status,omitempty"`
}
ClusterSet is the Schema for the clustersets API
func (*ClusterSet) DeepCopy ¶
func (in *ClusterSet) DeepCopy() *ClusterSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSet.
func (*ClusterSet) DeepCopyInto ¶
func (in *ClusterSet) DeepCopyInto(out *ClusterSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSet) DeepCopyObject ¶
func (in *ClusterSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSetList ¶
type ClusterSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterSet `json:"items"`
}
ClusterSetList contains a list of ClusterSet
func (*ClusterSetList) DeepCopy ¶
func (in *ClusterSetList) DeepCopy() *ClusterSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSetList.
func (*ClusterSetList) DeepCopyInto ¶
func (in *ClusterSetList) DeepCopyInto(out *ClusterSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSetList) DeepCopyObject ¶
func (in *ClusterSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterType ¶
type ClusterType string
type CollectionStatus ¶ added in v0.45.0
type CollectionStatus string
+kubebuilder:validation:Enum:=Collected;InProgress;Failed
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 ¶
func (in *ComponentConfiguration) DeepCopy() *ComponentConfiguration
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 Condition ¶
type Condition struct {
// Condition name
Name string `json:"name"`
// Type of condition in CamelCase or in foo.example.com/CamelCase.
Type ConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Severity provides an explicit classification of Reason code, so the users or machines can immediately
// understand the current situation and act accordingly.
// The Severity field MUST be set only when Status=False.
// +optional
Severity ConditionSeverity `json:"severity,omitempty"`
// Last time the condition transitioned from one status to another.
// This should be when the underlying condition changed. If that is not known, then using the time when
// the API field changed is acceptable.
LastTransitionTime metav1.Time `json:"lastTransitionTime"`
// The reason for the condition's last transition in CamelCase.
// The specific API may choose whether or not this field is considered a guaranteed API.
// This field may not be empty.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// This field may be empty.
// +optional
Message string `json:"message,omitempty"`
}
Condition defines an observation of a Cluster API resource operational state.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionSeverity ¶
type ConditionSeverity string
ConditionSeverity expresses the severity of a Condition Type failing.
const ( // ConditionSeverityError specifies that a condition with `Status=False` is an error. ConditionSeverityError ConditionSeverity = "Error" // ConditionSeverityWarning specifies that a condition with `Status=False` is a warning. ConditionSeverityWarning ConditionSeverity = "Warning" // ConditionSeverityInfo specifies that a condition with `Status=False` is informative. ConditionSeverityInfo ConditionSeverity = "Info" // ConditionSeverityNone should apply only to conditions with `Status=True`. ConditionSeverityNone ConditionSeverity = "" )
type ConfigurationBundle ¶ added in v1.0.0
type ConfigurationBundle struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConfigurationBundleSpec `json:"spec,omitempty"`
Status ConfigurationBundleStatus `json:"status,omitempty"`
}
ConfigurationBundle is the Schema for the configurationbundle API
func (*ConfigurationBundle) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationBundle) DeepCopy() *ConfigurationBundle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationBundle.
func (*ConfigurationBundle) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationBundle) DeepCopyInto(out *ConfigurationBundle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationBundle) DeepCopyObject ¶ added in v1.0.0
func (in *ConfigurationBundle) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationBundleList ¶ added in v1.0.0
type ConfigurationBundleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ConfigurationBundle `json:"items"`
}
ConfigurationBundleList contains a list of ConfigurationBundle
func (*ConfigurationBundleList) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationBundleList) DeepCopy() *ConfigurationBundleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationBundleList.
func (*ConfigurationBundleList) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationBundleList) DeepCopyInto(out *ConfigurationBundleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationBundleList) DeepCopyObject ¶ added in v1.0.0
func (in *ConfigurationBundleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationBundleSpec ¶ added in v1.0.0
type ConfigurationBundleSpec struct {
// Resources contains all resources that need to be deployed.
// Content is either YAML or JSON
// +listType=atomic
// +optional
Resources []string `json:"resources,omitempty"`
// NotTracked, when true, signifies that the resources managed by the
// ConfigurationBundles should not be tracked for conflicts
// with other configurations and will not be automatically removed when the
// ConfigurationGroup is deleted. This is intended for resources like
// Sveltos CRDs or the agents Sveltos deploys in the managed clusters.
NotTracked bool `json:"notTracked,omitempty"`
// time to wait for Kubernetes operation (like Jobs for hooks)
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// HelmReleaseNamespace indicates the namespace of the Helm release
// these resources belong to, if any
// +optional
HelmReleaseNamespace string `json:"helmReleaseNamespace,omitempty"`
// HelmReleaseName indicates the name of the Helm release
// these resources belong to, if any
// +optional
HelmReleaseName string `json:"helmReleaseName,omitempty"`
// HelmChartVersion indicates the chart version of the Helm release
// these resources belong to, if any
// +optional
HelmChartVersion string `json:"helmChartVersion,omitempty"`
// HelmIcon indicates the URL of the icon of the Helm release
// these resources belong to, if any
// +optional
HelmIcon string `json:"helmIcon,omitempty"`
// HelmRepoURL indicates the repo URL of the Helm release
// these resources belong to, if any
// +optional
HelmRepoURL string `json:"helmRepoURL,omitempty"`
// HelmReleaseUninstall, when true, indicates that these resources are
// part of a Helm release uninstallation process.
// This can be used to trigger specific cleanup or post-uninstall hooks.
// +kubebuilder:default:=false
// +optional
HelmReleaseUninstall bool `json:"helmReleaseUninstall,omitempty"`
// IsLastHelmReleaseBundle, when true, indicates that this ConfigurationBundle
// is the final bundle in the sequence for the associated Helm release.
// This can be used to trigger finalization steps, such as marking the
// release as fully deployed or completely uninstalled in external tracking systems.
// +kubebuilder:default:=false
// +optional
IsLastHelmReleaseBundle bool `json:"isLastHelmReleaseBundle,omitempty"`
// ReferencedObjectKind is the Kind of the object (ConfigMap, Secret, etc)
// referenced by PolicyRefs/KustomizationRef which contributed to this ConfigurationBundle.
// +optional
ReferencedObjectKind string `json:"referencedObjectKind,omitempty"`
// ReferencedObjectNamespace is the Namespace of the object (ConfigMap, Secret, etc)
// referenced by PolicyRefs/KustomizationRef which contributed to this ConfigurationBundle.
// +optional
ReferencedObjectNamespace string `json:"referencedObjectNamespace,omitempty"`
// ReferencedObjectName is the Name of the object (ConfigMap, Secret, etc)
// referenced by PolicyRefs/KustomizationRef which contributed to this ConfigurationBundle.
// +optional
ReferencedObjectName string `json:"referencedObjectName,omitempty"`
// ReferenceTier indicates the tier of the object (ConfigMap, Secret, etc)
// referenced by PolicyRefs/KustomizationRef which contributed to this ConfigurationBundle.
// +optional
ReferenceTier int32 `json:"referenceTier,omitempty"`
}
func (*ConfigurationBundleSpec) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationBundleSpec) DeepCopy() *ConfigurationBundleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationBundleSpec.
func (*ConfigurationBundleSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationBundleSpec) DeepCopyInto(out *ConfigurationBundleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationBundleStatus ¶ added in v1.0.0
type ConfigurationBundleStatus struct {
// Hash represents of a unique value for the content stored in
// the ConfigurationBundle
// +optional
Hash []byte `json:"hash,omitempty"`
}
func (*ConfigurationBundleStatus) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationBundleStatus) DeepCopy() *ConfigurationBundleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationBundleStatus.
func (*ConfigurationBundleStatus) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationBundleStatus) DeepCopyInto(out *ConfigurationBundleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationGroup ¶ added in v1.0.0
type ConfigurationGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConfigurationGroupSpec `json:"spec,omitempty"`
Status ConfigurationGroupStatus `json:"status,omitempty"`
}
ConfigurationGroup is the Schema for the configurationgroup API
func (*ConfigurationGroup) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationGroup) DeepCopy() *ConfigurationGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroup.
func (*ConfigurationGroup) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationGroup) DeepCopyInto(out *ConfigurationGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationGroup) DeepCopyObject ¶ added in v1.0.0
func (in *ConfigurationGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationGroupList ¶ added in v1.0.0
type ConfigurationGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ConfigurationGroup `json:"items"`
}
ConfigurationGroupList contains a list of ConfigurationGroup
func (*ConfigurationGroupList) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationGroupList) DeepCopy() *ConfigurationGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupList.
func (*ConfigurationGroupList) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationGroupList) DeepCopyInto(out *ConfigurationGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationGroupList) DeepCopyObject ¶ added in v1.0.0
func (in *ConfigurationGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationGroupSpec ¶ added in v1.0.0
type ConfigurationGroupSpec struct {
// +kubebuilder:default:=Deploy
Action Action `json:"action,omitempty"`
// SourceRef is the user facing Sveltos resource that caused this ConfigurationGroup to be
// created. For instance, when a ClusterSummary creates a ConfigurationGroup, the user
// facing resource is either a ClusterProfile or a Profile.
// +optional
SourceRef *corev1.ObjectReference `json:"sourceRef,omitempty"`
// SourceStatus indicates the lifecycle status of the source resource (e.g., ClusterSummary)
// that created this ConfigurationGroup. Valid values are "Active" and "Deleted".
// This field helps determine if the ConfigurationGroup was created by a source that is
// no longer present or in a different state.
// +kubebuilder:default:=Active
SourceStatus SourceStatus `json:"sourceStatus,omitempty"`
// ConfigurationItems represents a list of configurations to deploy
// The order of items in this list determines deployment sequence
// +listType=atomic
// +optional
ConfigurationItems []ConfigurationItem `json:"configurationItem,omitempty"`
// Tier controls the order of deployment for ClusterProfile or Profile resources targeting
// the same cluster resources.
// Imagine two configurations (ClusterProfiles or Profiles) trying to deploy the same resource (a Kubernetes
// resource or an helm chart). By default, the first one to reach the cluster "wins" and deploys it.
// Tier allows you to override this. When conflicts arise, the ClusterProfile or Profile with the **lowest**
// Tier value takes priority and deploys the resource.
// Higher Tier values represent lower priority. The default Tier value is 100.
// Using Tiers provides finer control over resource deployment within your cluster, particularly useful
// when multiple configurations manage the same resources.
// +kubebuilder:default:=100
// +kubebuilder:validation:Minimum=1
// +optional
Tier int32 `json:"tier,omitempty"`
// DryRun means no change will be propagated to matching cluster. A report
// instead will be generated summarizing what would happen in any matching cluster
// because of the changes made by this ConfigurationGroup
// +kubebuilder:default:=false
// +optional
DryRun bool `json:"dryRun,omitempty"`
// Reloader indicates whether Deployment/StatefulSet/DaemonSet instances deployed
// by Sveltos and part of this ConfigurationGroup need to be restarted via rolling upgrade
// when a ConfigMap/Secret instance mounted as volume is modified.
// When set to true, when any mounted ConfigMap/Secret is modified, Sveltos automatically
// starts a rolling upgrade for Deployment/StatefulSet/DaemonSet instances mounting it.
// +kubebuilder:default:=false
// +optional
Reloader bool `json:"reloader,omitempty"`
// DriftDetection indicates Sveltos must monitors deployed for resources configuration
// drift. If drift is detected, a reconciliation is triggered to ensure the managed
// cluster's configuration aligns with the expected configuration defined in the management
// cluster
// +kubebuilder:default:=false
// +optional
DriftDetection bool `json:"driftDetection,omitempty"`
// DriftExclusions is a list of configuration drift exclusions to be applied when syncMode is
// set to ContinuousWithDriftDetection. Each exclusion specifies JSON6902 paths to ignore
// when evaluating drift, optionally targeting specific resources and features.
// +listType=atomic
// +optional
DriftExclusions []DriftExclusion `json:"driftExclusions,omitempty"`
// By default (when ContinueOnConflict is unset or set to false), Sveltos stops deployment after
// encountering the first conflict (e.g., another ClusterProfile already deployed the resource).
// If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even
// if conflicts are detected for previous resources.
// +kubebuilder:default:=false
// +optional
ContinueOnConflict bool `json:"continueOnConflict,omitempty"`
// By default (when ContinueOnError is unset or set to false), Sveltos stops deployment after
// encountering the first error.
// If set to true, Sveltos will attempt to deploy remaining resources in the ClusterProfile even
// if errors are detected for previous resources.
// +kubebuilder:default:=false
// +optional
ContinueOnError bool `json:"continueOnError,omitempty"`
// The maximum number of consecutive deployment failures that Sveltos will permit.
// After this many consecutive failures, the deployment will be considered failed, and Sveltos will stop retrying.
// This setting applies only to feature deployments, not resource removal.
// This field is optional. If not set, Sveltos default behavior is to keep retrying.
// +optional
MaxConsecutiveFailures *uint `json:"maxConsecutiveFailures,omitempty"`
// Indicates whether deployed resources must be left on the managed cluster.
// +kubebuilder:default:=false
// +optional
LeavePolicies bool `json:"leavePolicies,omitempty"`
// ValidateHealths is a slice of Lua functions to run against
// the managed cluster to validate the state of those add-ons/applications
// is healthy
// +listType=atomic
// +optional
ValidateHealths []ValidateHealth `json:"validateHealths,omitempty"`
// DeployedGroupVersionKind contains all GroupVersionKinds deployed in either
// the workload cluster or the management cluster because of this feature.
// Each element has format kind.version.group
// +optional
DeployedGroupVersionKind []string `json:"deployedGroupVersionKind,omitempty"`
// UpdatePhase indicates the current phase of configuration updates. When set to "Preparing",
// it signals that a new version of this ConfigurationGroup is being prepared, forcing
// metadata.generation to advance. This allows detection of differences between
// status.observedGeneration and metadata.generation when agents process an older version,
// enabling tracking of update propagation across managed clusters.
// +kubebuilder:default:=Ready
// +optional
UpdatePhase UpdatePhase `json:"updatePhase,omitempty"`
// RequestorHash represents a hash of the state of the requestor that created this ConfigurationGroup.
// This field is optional and can be used to determine when the creating resource's state has
// changed and the ConfigurationGroup needs to be updated accordingly.
// +optional
RequestorHash []byte `json:"requestorHash,omitempty"`
// ServiceAccountName is the name of the ServiceAccount to impersonate when applying
// the configuration. If empty, the default ServiceAccount for the Sveltos-applier
// will be used.
// The ServiceAccount must exist in the managed cluster.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// ServiceAccountNamespace is the namespace of the ServiceAccount to impersonate when applying
// the configuration. If empty, the default namespace for the Sveltos-applier
// will be used (typically the same namespace where the Sveltos-applier is deployed).
// The ServiceAccount must exist in the managed cluster.
// +optional
ServiceAccountNamespace string `json:"serviceAccountNamespace,omitempty"`
}
func (*ConfigurationGroupSpec) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationGroupSpec) DeepCopy() *ConfigurationGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupSpec.
func (*ConfigurationGroupSpec) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationGroupSpec) DeepCopyInto(out *ConfigurationGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationGroupStatus ¶ added in v1.0.0
type ConfigurationGroupStatus struct {
// DeployedGroupVersionKind contains all GroupVersionKinds deployed because of
// the ConfigurationGroup.
// Each element has format kind.version.group
// +optional
DeployedGroupVersionKind []string `json:"deployedGroupVersionKind,omitempty"`
// Status represents the state of the feature in the workload cluster
// +optional
DeploymentStatus *FeatureStatus `json:"status,omitempty"`
// FailureMessage provides more information about the error.
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
// LastAppliedTime is the time feature was last reconciled
// +optional
LastAppliedTime *metav1.Time `json:"lastAppliedTime,omitempty"`
// ObservedGeneration reflects the generation of the most recently observed ConfigurationGroup.
// When this value matches the ConfigurationGroup's metadata.generation, it indicates that the
// status reflects the latest desired specification. If observedGeneration is less than generation,
// it means the controller has not yet processed the latest changes to the specification.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// ObservedRequestorHash reflects the requestor hash that was last processed by the controller.
// When this value matches the spec.requestorHash, it indicates that the controller has
// processed the latest state of the creating resource. If observedRequestorHash differs
// from spec.requestorHash, it means the requestor has changed and reconciliation is needed.
// +optional
ObservedRequestorHash []byte `json:"observedRequestorHash,omitempty"`
}
func (*ConfigurationGroupStatus) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationGroupStatus) DeepCopy() *ConfigurationGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationGroupStatus.
func (*ConfigurationGroupStatus) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationGroupStatus) DeepCopyInto(out *ConfigurationGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigurationItem ¶ added in v1.0.0
type ConfigurationItem struct {
// ContentRef references the Kubernetes resource containing
// the content to deploy.
// +optional
ContentRef *corev1.ObjectReference `json:"contentRef,omitempty"`
// Hash represents of a unique value for the content stored in
// the referenced contentRef
// +optional
Hash []byte `json:"hash,omitempty"`
}
func (*ConfigurationItem) DeepCopy ¶ added in v1.0.0
func (in *ConfigurationItem) DeepCopy() *ConfigurationItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationItem.
func (*ConfigurationItem) DeepCopyInto ¶ added in v1.0.0
func (in *ConfigurationItem) DeepCopyInto(out *ConfigurationItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionStatus ¶ added in v0.36.0
type ConnectionStatus string
ConnectionStatus specifies whether connecting to managed cluster is healthy or not +kubebuilder:validation:Enum:=Healthy;Down
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 ¶
func (in *DebuggingConfiguration) DeepCopy() *DebuggingConfiguration
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 ¶
func (in *DebuggingConfigurationList) DeepCopy() *DebuggingConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DebuggingConfigurationList.
func (*DebuggingConfigurationList) DeepCopyInto ¶
func (in *DebuggingConfigurationList) DeepCopyInto(out *DebuggingConfigurationList)
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 ¶
func (in *DebuggingConfigurationSpec) DeepCopy() *DebuggingConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DebuggingConfigurationSpec.
func (*DebuggingConfigurationSpec) DeepCopyInto ¶
func (in *DebuggingConfigurationSpec) DeepCopyInto(out *DebuggingConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeliveryMethod ¶ added in v0.45.0
type DeliveryMethod struct {
// Name of the delivery mechanism.
// Must be a DNS_LABEL and unique within the TechsupportSpec.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// DeliveryType specifies the type of notification
Type DeliveryType `json:"type"`
// SecretRef is a reference to a delivery mechanism-specific Secret
// that holds the details for the delivery.
// +optional
SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`
}
func (*DeliveryMethod) DeepCopy ¶ added in v0.45.0
func (in *DeliveryMethod) DeepCopy() *DeliveryMethod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeliveryMethod.
func (*DeliveryMethod) DeepCopyInto ¶ added in v0.45.0
func (in *DeliveryMethod) DeepCopyInto(out *DeliveryMethod)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeliveryType ¶ added in v0.45.0
type DeliveryType string
DeliveryType specifies different type of delivery mechanism +kubebuilder:validation:Enum:=Slack;Webex;Discord;Telegram;SMTP;SFTP
type DeployedResourceConstraint ¶
type DeployedResourceConstraint struct {
// ResourceSelectors identifies what resources to select
// If no AggregatedClassification is specified, a cluster is
// a match for Classifier instance, if all ResourceSelectors returns at
// least one match.
ResourceSelectors []ResourceSelector `json:"resourceSelectors"`
// AggregatedClassification is optional and can be used to specify a Lua function
// that will be used to further detect whether the subset of the resources
// selected using the ResourceSelector field are a match for this Classifier.
// The function will receive the array of resources selected by ResourceSelectors.
// If this field is not specified, a cluster is a match for Classifier instance,
// if all ResourceSelectors returns at least one match.
// This field allows to perform more complex evaluation on the resources, looking
// at all resources together.
// This can be useful for more sophisticated tasks, such as identifying resources
// that are related to each other or that have similar properties.
// The Lua function must return a struct with:
// - "matching" field: boolean indicating whether cluster is a match;
// - "message" field: (optional) message.
// +optional
AggregatedClassification string `json:"aggregatedClassification,omitempty"`
}
func (*DeployedResourceConstraint) DeepCopy ¶
func (in *DeployedResourceConstraint) DeepCopy() *DeployedResourceConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeployedResourceConstraint.
func (*DeployedResourceConstraint) DeepCopyInto ¶
func (in *DeployedResourceConstraint) DeepCopyInto(out *DeployedResourceConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DriftExclusion ¶ added in v1.0.0
type DriftExclusion struct {
// Paths is a slice of JSON6902 paths to exclude from configuration drift evaluation.
// +required
Paths []string `json:"paths"`
// Target points to the resources that the paths refers to.
// +optional
Target *PatchSelector `json:"target,omitempty"`
}
func (*DriftExclusion) DeepCopy ¶ added in v1.0.0
func (in *DriftExclusion) DeepCopy() *DriftExclusion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriftExclusion.
func (*DriftExclusion) DeepCopyInto ¶ added in v1.0.0
func (in *DriftExclusion) DeepCopyInto(out *DriftExclusion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Event ¶ added in v0.45.0
type Event struct {
// Namespace of the events.
// An empty string "" indicates all namespaces.
// +optional
Namespace string `json:"namespace,omitempty"`
// Type filters events based on the type of the events (Normal, Warning),
// +kubebuilder:validation:Enum=Normal;Warning
// +optional
Type string `json:"type,omitempty"`
}
func (*Event) DeepCopy ¶ added in v0.45.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Event.
func (*Event) DeepCopyInto ¶ added in v0.45.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventReport ¶
type EventReport struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EventReportSpec `json:"spec,omitempty"`
Status EventReportStatus `json:"status,omitempty"`
}
EventReport is the Schema for the EventReport API
func (*EventReport) DeepCopy ¶
func (in *EventReport) DeepCopy() *EventReport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventReport.
func (*EventReport) DeepCopyInto ¶
func (in *EventReport) DeepCopyInto(out *EventReport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventReport) DeepCopyObject ¶
func (in *EventReport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventReportList ¶
type EventReportList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EventReport `json:"items"`
}
EventReportList contains a list of EventReport
func (*EventReportList) DeepCopy ¶
func (in *EventReportList) DeepCopy() *EventReportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventReportList.
func (*EventReportList) DeepCopyInto ¶
func (in *EventReportList) DeepCopyInto(out *EventReportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventReportList) DeepCopyObject ¶
func (in *EventReportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventReportSpec ¶
type EventReportSpec struct {
// ClusterNamespace is the namespace of the Cluster this
// EventReport is for.
ClusterNamespace string `json:"clusterNamespace"`
// ClusterName is the name of the Cluster this EventReport
// is for.
ClusterName string `json:"clusterName"`
// ClusterType is the type of Cluster this EventReport
// is for.
ClusterType ClusterType `json:"clusterType"`
// EventSourceName is the name of the EventSource instance this report
// is for.
EventSourceName string `json:"eventSourceName"`
// MatchingResources contains a list of resources matching an EventSource
// +listType=atomic
// +optional
MatchingResources []corev1.ObjectReference `json:"matchingResources,omitempty"`
// If EventSource Spec.CollectResources is set to true, all matching resources
// will be collected and contained in the Resources field.
// +optional
Resources []byte `json:"resources,omitempty"`
// CloudEvents contains a list of CloudEvents matching an EventSource
// +optional
CloudEvents [][]byte `json:"cloudEvents,omitempty"`
}
func (*EventReportSpec) DeepCopy ¶
func (in *EventReportSpec) DeepCopy() *EventReportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventReportSpec.
func (*EventReportSpec) DeepCopyInto ¶
func (in *EventReportSpec) DeepCopyInto(out *EventReportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventReportStatus ¶
type EventReportStatus struct {
// Phase represents the current phase of report.
// +optional
Phase *ReportPhase `json:"phase,omitempty"`
}
EventReportStatus defines the observed state of EventReport
func (*EventReportStatus) DeepCopy ¶
func (in *EventReportStatus) DeepCopy() *EventReportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventReportStatus.
func (*EventReportStatus) DeepCopyInto ¶
func (in *EventReportStatus) DeepCopyInto(out *EventReportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventSource ¶
type EventSource struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EventSourceSpec `json:"spec,omitempty"`
}
EventSource is the Schema for the EventSource API
func (*EventSource) DeepCopy ¶
func (in *EventSource) DeepCopy() *EventSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventSource.
func (*EventSource) DeepCopyInto ¶
func (in *EventSource) DeepCopyInto(out *EventSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventSource) DeepCopyObject ¶
func (in *EventSource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventSourceList ¶
type EventSourceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []EventSource `json:"items"`
}
EventSourceList contains a list of EventSource
func (*EventSourceList) DeepCopy ¶
func (in *EventSourceList) DeepCopy() *EventSourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventSourceList.
func (*EventSourceList) DeepCopyInto ¶
func (in *EventSourceList) DeepCopyInto(out *EventSourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EventSourceList) DeepCopyObject ¶
func (in *EventSourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EventSourceSpec ¶
type EventSourceSpec struct {
// ResourceSelectors identifies what Kubernetes resources to select
// +optional
ResourceSelectors []ResourceSelector `json:"resourceSelectors,omitempty"`
// This field is optional and can be used to specify a Lua function
// that will be used to further select a subset of the resources that
// have already been selected using the ResourceSelector field.
// The function will receive the array of resources selected by ResourceSelectors.
// If this field is not specified, all resources selected by the ResourceSelector
// field will be considered.
// This field allows to perform more complex filtering or selection operations
// on the resources, looking at all resources together.
// This can be useful for more sophisticated tasks, such as identifying resources
// that are related to each other or that have similar properties.
// The Lua function must return a struct with:
// - "resources" field: slice of matching resorces;
// - "message" field: (optional) message.
AggregatedSelection string `json:"aggregatedSelection,omitempty"`
// CollectResources indicates whether matching resources need
// to be collected and added to EventReport.
// +kubebuilder:default:=false
// +optional
CollectResources bool `json:"collectResources,omitempty"`
// MessagingMatchCriteria defines a list of MessagingMatchCriteria. Each criteria specifies
// how to match CloudEvents received on specific NATS/JetStream subjects.
// +optional
MessagingMatchCriteria []MessagingMatchCriteria `json:"messagingMatchCriteria,omitempty"`
}
EventSourceSpec defines the desired state of EventSource
func (*EventSourceSpec) DeepCopy ¶
func (in *EventSourceSpec) DeepCopy() *EventSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventSourceSpec.
func (*EventSourceSpec) DeepCopyInto ¶
func (in *EventSourceSpec) DeepCopyInto(out *EventSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventType ¶ added in v0.45.0
type EventType string
EventType represents the possible types of events.
type FeatureDeploymentInfo ¶ added in v1.0.0
type FeatureDeploymentInfo struct {
// FeatureID is an indentifier of the feature whose status is reported
FeatureID FeatureID `json:"featureID"`
// DeployedGroupVersionKind contains all GroupVersionKinds deployed in either
// the workload cluster or the management cluster because of this feature.
// Each element has format kind.version.group
// +optional
DeployedGroupVersionKind []string `json:"deployedGroupVersionKind,omitempty"`
}
func (*FeatureDeploymentInfo) DeepCopy ¶ added in v1.0.0
func (in *FeatureDeploymentInfo) DeepCopy() *FeatureDeploymentInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureDeploymentInfo.
func (*FeatureDeploymentInfo) DeepCopyInto ¶ added in v1.0.0
func (in *FeatureDeploymentInfo) DeepCopyInto(out *FeatureDeploymentInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureID ¶ added in v1.0.0
type FeatureID string
+kubebuilder:validation:Enum:=Resources;Helm;Kustomize
type FeatureStatus ¶ added in v1.0.0
type FeatureStatus string
+kubebuilder:validation:Enum:=Provisioning;Provisioned;Failed;FailedNonRetriable;Removing;Removed;AgentRemoving
type FromManaged ¶ added in v0.45.0
type FromManaged struct {
// ClusterSelector identifies clusters to collect techsupport from.
// +optional
ClusterSelector Selector `json:"clusterSelector,omitempty"`
// ClusterRefs identifies clusters to collect techsupport from.
// +optional
ClusterRefs []corev1.ObjectReference `json:"clusterRefs,omitempty"`
// Resources indicates what resorces to collect
// +optional
Resources []ResourceSelector `json:"resources,omitempty"`
// Logs indicates what pods' log to collect
// +optional
Logs []Log `json:"logs,omitempty"`
// Events indicates what events to collect
// +optional
Events []Event `json:"events,omitempty"`
}
func (*FromManaged) DeepCopy ¶ added in v0.45.0
func (in *FromManaged) DeepCopy() *FromManaged
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FromManaged.
func (*FromManaged) DeepCopyInto ¶ added in v0.45.0
func (in *FromManaged) DeepCopyInto(out *FromManaged)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FromManagement ¶ added in v0.45.0
type FromManagement struct {
// Resources indicates what resorces to collect
// +optional
Resources []ResourceSelector `json:"resources,omitempty"`
// Logs indicates what pods' log to collect
// +optional
Logs []Log `json:"logs,omitempty"`
// Events indicates what events to collect
// +optional
Events []Event `json:"events,omitempty"`
}
func (*FromManagement) DeepCopy ¶ added in v0.45.0
func (in *FromManagement) DeepCopy() *FromManagement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FromManagement.
func (*FromManagement) DeepCopyInto ¶ added in v0.45.0
func (in *FromManagement) DeepCopyInto(out *FromManagement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HealthCheckSpec `json:"spec,omitempty"`
}
HealthCheck is the Schema for the HealthCheck API
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheck) DeepCopyObject ¶
func (in *HealthCheck) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckList ¶
type HealthCheckList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HealthCheck `json:"items"`
}
HealthCheckList contains a list of Event
func (*HealthCheckList) DeepCopy ¶
func (in *HealthCheckList) DeepCopy() *HealthCheckList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckList.
func (*HealthCheckList) DeepCopyInto ¶
func (in *HealthCheckList) DeepCopyInto(out *HealthCheckList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckList) DeepCopyObject ¶
func (in *HealthCheckList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckReport ¶
type HealthCheckReport struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HealthCheckReportSpec `json:"spec,omitempty"`
Status HealthCheckReportStatus `json:"status,omitempty"`
}
HealthCheckReport is the Schema for the HealthCheckReport API
func (*HealthCheckReport) DeepCopy ¶
func (in *HealthCheckReport) DeepCopy() *HealthCheckReport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckReport.
func (*HealthCheckReport) DeepCopyInto ¶
func (in *HealthCheckReport) DeepCopyInto(out *HealthCheckReport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckReport) DeepCopyObject ¶
func (in *HealthCheckReport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckReportList ¶
type HealthCheckReportList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []HealthCheckReport `json:"items"`
}
HealthCheckReportList contains a list of HealthCheckReport
func (*HealthCheckReportList) DeepCopy ¶
func (in *HealthCheckReportList) DeepCopy() *HealthCheckReportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckReportList.
func (*HealthCheckReportList) DeepCopyInto ¶
func (in *HealthCheckReportList) DeepCopyInto(out *HealthCheckReportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckReportList) DeepCopyObject ¶
func (in *HealthCheckReportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckReportSpec ¶
type HealthCheckReportSpec struct {
// ClusterNamespace is the namespace of the Cluster this
// HealthCheckReport is for.
ClusterNamespace string `json:"clusterNamespace"`
// ClusterName is the name of the Cluster this HealthCheckReport
// is for.
ClusterName string `json:"clusterName"`
// ClusterType is the type of Cluster this HealthCheckReport
// is for.
ClusterType ClusterType `json:"clusterType"`
// HealthName is the name of the HealthCheck instance this report
// is for.
HealthCheckName string `json:"healthCheckName"`
// ResourceStatuses contains a list of resources with their status
// +optional
ResourceStatuses []ResourceStatus `json:"resourceStatuses,omitempty"`
}
func (*HealthCheckReportSpec) DeepCopy ¶
func (in *HealthCheckReportSpec) DeepCopy() *HealthCheckReportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckReportSpec.
func (*HealthCheckReportSpec) DeepCopyInto ¶
func (in *HealthCheckReportSpec) DeepCopyInto(out *HealthCheckReportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckReportStatus ¶
type HealthCheckReportStatus struct {
// Phase represents the current phase of report.
// +optional
Phase *ReportPhase `json:"phase,omitempty"`
}
HealthCheckReportStatus defines the observed state of HealthCheckReport
func (*HealthCheckReportStatus) DeepCopy ¶
func (in *HealthCheckReportStatus) DeepCopy() *HealthCheckReportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckReportStatus.
func (*HealthCheckReportStatus) DeepCopyInto ¶
func (in *HealthCheckReportStatus) DeepCopyInto(out *HealthCheckReportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckSpec ¶
type HealthCheckSpec struct {
// ResourceSelectors identifies what resources to select to evaluate health
ResourceSelectors []ResourceSelector `json:"resourceSelectors"`
// The EvaluateHealth field specifies a Lua function responsible for evaluating the
// health of the resources selected by resourceSelectors.
// This function can assess the health of each resource independently or consider inter-resource relationships.
// The function must be named *evaluate* and can access all objects identified by resourceSelectors using
// the *resources* variable. It should return an array of structured instances, each containing the following fields:
// - resource: The resource being evaluated
// - healthStatus: The health status of the resource, which can be one of "Healthy", "Progressing", "Degraded", or "Suspended"
// - message: An optional message providing additional information about the health status
// - reEvaluate: If set to true, this healthCheck instances will be re-evaluated in 10 seconds
// +kubebuilder:validation:MinLength=1
EvaluateHealth string `json:"evaluateHealth"`
// CollectResources indicates whether matching resources need
// to be collected and added to HealthReport.
// +kubebuilder:default:=false
// +optional
CollectResources bool `json:"collectResources,omitempty"`
}
HealthCheckSpec defines the desired state of HealthCheck
func (*HealthCheckSpec) DeepCopy ¶
func (in *HealthCheckSpec) DeepCopy() *HealthCheckSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckSpec.
func (*HealthCheckSpec) DeepCopyInto ¶
func (in *HealthCheckSpec) DeepCopyInto(out *HealthCheckSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthStatus ¶
type HealthStatus string
+kubebuilder:validation:Enum:=Healthy;Progressing;Degraded;Suspended
type HelmResources ¶
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 []ResourceSummaryResource `json:"group,omitempty"`
}
func (*HelmResources) DeepCopy ¶
func (in *HelmResources) DeepCopy() *HelmResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmResources.
func (*HelmResources) DeepCopyInto ¶
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 ¶
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 ¶
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 ¶
func (in *KubernetesVersionConstraint) DeepCopy() *KubernetesVersionConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesVersionConstraint.
func (*KubernetesVersionConstraint) DeepCopyInto ¶
func (in *KubernetesVersionConstraint) DeepCopyInto(out *KubernetesVersionConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LabelFilter ¶
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
// +optional
Value string `json:"value,omitempty"`
}
func (*LabelFilter) DeepCopy ¶
func (in *LabelFilter) DeepCopy() *LabelFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelFilter.
func (*LabelFilter) DeepCopyInto ¶
func (in *LabelFilter) DeepCopyInto(out *LabelFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LicenseStatusType ¶ added in v1.0.0
type LicenseStatusType string
LicenseStatusType defines the type for the license status.
const ( // LicenseStatusValid indicates the license secret was found, // its signature is valid, and it has not expired. LicenseStatusValid LicenseStatusType = "Valid" // LicenseStatusExpired indicates the license secret was found, // its signature is valid, but it has expired. LicenseStatusExpired LicenseStatusType = "Expired" // LicenseStatusInvalid indicates the license secret was found, // but its signature is invalid or the data is malformed. LicenseStatusInvalid LicenseStatusType = "Invalid" // LicenseStatusNotFound indicates no license secret was found at the // specified reference. LicenseStatusNotFound LicenseStatusType = "NotFound" )
type LivenessCheck ¶
type LivenessCheck struct {
// Name of the liveness check.
// Must be a DNS_LABEL and unique within the ClusterHealthCheck.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// Type specifies the type of liveness
Type LivenessType `json:"type"`
// LivenessSourceRef is a reference to a liveness-specific resource that holds
// the details for the liveness check.
// +optional
LivenessSourceRef *corev1.ObjectReference `json:"livenessSourceRef,omitempty"`
}
func (*LivenessCheck) DeepCopy ¶
func (in *LivenessCheck) DeepCopy() *LivenessCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LivenessCheck.
func (*LivenessCheck) DeepCopyInto ¶
func (in *LivenessCheck) DeepCopyInto(out *LivenessCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LivenessType ¶
type LivenessType string
Event specifies different type of liveness checks +kubebuilder:validation:Enum:=Addons;HealthCheck
type Log ¶ added in v0.45.0
type Log struct {
// Namespace of the pods deployed in the Cluster.
// An empty string "" indicates all namespaces.
// +optional
Namespace string `json:"namespace,omitempty"`
// Name of the pods deployed in the Cluster.
// +optional
Name string `json:"name,omitempty"`
// LabelFilters allows to filter pods based on current labels.
// +optional
LabelFilters []LabelFilter `json:"labelFilters,omitempty"`
// A relative time in seconds before the current time from which to collect logs.
// If this value precedes the time a pod was started, only logs since the pod
// start will be returned.
// +optional
SinceSeconds *int64 `json:"sinceSeconds,omitempty"`
}
LogFilter allows to select which logs to collect
func (*Log) DeepCopy ¶ added in v0.45.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Log.
func (*Log) DeepCopyInto ¶ added in v0.45.0
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 ¶
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 ¶
func (in *MachingClusterStatus) DeepCopy() *MachingClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachingClusterStatus.
func (*MachingClusterStatus) DeepCopyInto ¶
func (in *MachingClusterStatus) DeepCopyInto(out *MachingClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MessagingMatchCriteria ¶ added in v0.46.0
type MessagingMatchCriteria struct {
// Subject is an optional NATS/JetStream subject filter. If specified, this criteria will
// only consider CloudEvents received on this specific subject. Leaving it empty
// means the criteria will match CloudEvents from any of the subjects Sveltos
// is subscribed to. Regular expressions are supported.
// +optional
Subject string `json:"subject,omitempty"`
// CloudEventSource filters CloudEvents based on their "source" attribute.
// If specified, only CloudEvents with a matching source will be considered.
// Regular expressions are supported.
// +optional
CloudEventSource string `json:"cloudEventSource,omitempty"`
// CloudEventType filters CloudEvents based on their "type" attribute.
// If specified, only CloudEvents with a matching type will be considered.
// Regular expressions are supported.
// +optional
CloudEventType string `json:"cloudEventType,omitempty"`
// CloudEventSubject filters CloudEvents based on their "subject" attribute.
// If specified, only CloudEvents with a matching subject will be considered.
// Regular expressions are supported.
// +optional
CloudEventSubject string `json:"cloudEventSubject,omitempty"`
}
MessagingMatchCriteria defines criteria for matching CloudEvents received via NATS. Sveltos listens to NATS/JetStream subjects, and the messages delivered on those subjects are expected to be CloudEvents.
func (*MessagingMatchCriteria) DeepCopy ¶ added in v0.46.0
func (in *MessagingMatchCriteria) DeepCopy() *MessagingMatchCriteria
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MessagingMatchCriteria.
func (*MessagingMatchCriteria) DeepCopyInto ¶ added in v0.46.0
func (in *MessagingMatchCriteria) DeepCopyInto(out *MessagingMatchCriteria)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Notification ¶
type Notification struct {
// Name of the notification check.
// Must be a DNS_LABEL and unique within the ClusterHealthCheck.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// NotificationType specifies the type of notification
Type NotificationType `json:"type"`
// NotificationRef is a reference to a notification-specific resource that holds
// the details for the notification.
// +optional
NotificationRef *corev1.ObjectReference `json:"notificationRef,omitempty"`
}
func (*Notification) DeepCopy ¶
func (in *Notification) DeepCopy() *Notification
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Notification.
func (*Notification) DeepCopyInto ¶
func (in *Notification) DeepCopyInto(out *Notification)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationStatus ¶
type NotificationStatus string
NotificationStatus specifies status of notifications +kubebuilder:validation:Enum:=Delivered;FailedToDeliver
type NotificationSummary ¶
type NotificationSummary struct {
// Name of the notification check.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// NotificationStatus specifies the notification status
Status NotificationStatus `json:"status"`
// FailureMessage is a human consumable message explaining the
// misconfiguration
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
}
func (*NotificationSummary) DeepCopy ¶
func (in *NotificationSummary) DeepCopy() *NotificationSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationSummary.
func (*NotificationSummary) DeepCopyInto ¶
func (in *NotificationSummary) DeepCopyInto(out *NotificationSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationType ¶
type NotificationType string
NotificationType specifies different type of notifications +kubebuilder:validation:Enum:=KubernetesEvent;Slack;Webex;Discord;Teams;Telegram;SMTP
type Operation ¶
type Operation string
Operation specifies +kubebuilder:validation:Enum:=Equal;Different;Has;DoesNotHave
type Patch ¶ added in v0.34.0
type Patch struct {
// Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
// an array of operation objects.
// These values can be static or leverage Go templates for dynamic customization.
// When expressed as templates, the values are filled in using information from
// resources within the management cluster before deployment (Cluster and TemplateResourceRefs)
// +required
Patch string `json:"patch"`
// Target points to the resources that the patch document should be applied to.
// +optional
Target *PatchSelector `json:"target,omitempty"`
}
Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should be applied to.
func (*Patch) DeepCopy ¶ added in v0.34.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Patch.
func (*Patch) DeepCopyInto ¶ added in v0.34.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PatchSelector ¶ added in v0.34.0
type PatchSelector struct {
// Version of the API Group to select resources from.
// Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
// https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
// +optional
Version string `json:"version,omitempty"`
// Group is the API group to select resources from.
// Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
// https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
// +optional
Group string `json:"group,omitempty"`
// Kind of the API Group to select resources from.
// Together with Group and Version it is capable of unambiguously
// identifying and/or selecting resources.
// https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
// +optional
Kind string `json:"kind,omitempty"`
// Namespace to select resources from.
// +optional
Namespace string `json:"namespace,omitempty"`
// Name to match resources with.
// +optional
Name string `json:"name,omitempty"`
// AnnotationSelector is a string that follows the label selection expression
// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
// It matches with the resource annotations.
// +optional
AnnotationSelector string `json:"annotationSelector,omitempty"`
// LabelSelector is a string that follows the label selection expression
// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
// It matches with the resource labels.
// +optional
LabelSelector string `json:"labelSelector,omitempty"`
}
func (*PatchSelector) DeepCopy ¶ added in v0.34.0
func (in *PatchSelector) DeepCopy() *PatchSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchSelector.
func (*PatchSelector) DeepCopyInto ¶ added in v0.34.0
func (in *PatchSelector) DeepCopyInto(out *PatchSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 referenced 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyRef.
func (*PolicyRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReferencedResourceKind ¶
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 Reloader ¶
type Reloader struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ReloaderSpec `json:"spec,omitempty"`
}
Reloader is the Schema for the Reloader API
func (*Reloader) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Reloader.
func (*Reloader) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Reloader) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReloaderInfo ¶
type ReloaderInfo struct {
// Namespace of the referenced resource.
// +kubebuilder:validation:MinLength=1
Namespace string `json:"namespace"`
// Name of the referenced resource.
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Kind of the resource. Supported kinds are: Deployment StatefulSet DaemonSet.
// +kubebuilder:validation:Enum=Deployment;StatefulSet;DaemonSet
Kind string `json:"kind"`
// +optional
Value string `json:"value,omitempty"`
}
ReloaderInfo represents a resource that need to be reloaded if any mounted ConfigMap/Secret changes.
func (*ReloaderInfo) DeepCopy ¶
func (in *ReloaderInfo) DeepCopy() *ReloaderInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderInfo.
func (*ReloaderInfo) DeepCopyInto ¶
func (in *ReloaderInfo) DeepCopyInto(out *ReloaderInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReloaderList ¶
type ReloaderList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Reloader `json:"items"`
}
ReloaderList contains a list of Reloader
func (*ReloaderList) DeepCopy ¶
func (in *ReloaderList) DeepCopy() *ReloaderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderList.
func (*ReloaderList) DeepCopyInto ¶
func (in *ReloaderList) DeepCopyInto(out *ReloaderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReloaderList) DeepCopyObject ¶
func (in *ReloaderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReloaderReport ¶
type ReloaderReport struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ReloaderReportSpec `json:"spec,omitempty"`
Status ReloaderReportStatus `json:"status,omitempty"`
}
ReloaderReport is the Schema for the ReloaderReport API
func (*ReloaderReport) DeepCopy ¶
func (in *ReloaderReport) DeepCopy() *ReloaderReport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderReport.
func (*ReloaderReport) DeepCopyInto ¶
func (in *ReloaderReport) DeepCopyInto(out *ReloaderReport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReloaderReport) DeepCopyObject ¶
func (in *ReloaderReport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReloaderReportList ¶
type ReloaderReportList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ReloaderReport `json:"items"`
}
ReloaderReportList contains a list of ReloaderReport
func (*ReloaderReportList) DeepCopy ¶
func (in *ReloaderReportList) DeepCopy() *ReloaderReportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderReportList.
func (*ReloaderReportList) DeepCopyInto ¶
func (in *ReloaderReportList) DeepCopyInto(out *ReloaderReportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReloaderReportList) DeepCopyObject ¶
func (in *ReloaderReportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ReloaderReportSpec ¶
type ReloaderReportSpec struct {
// ClusterNamespace is the namespace of the Cluster this
// ReloaderReport is for.
ClusterNamespace string `json:"clusterNamespace"`
// ClusterName is the name of the Cluster this ReloaderReport
// is for.
ClusterName string `json:"clusterName"`
// ClusterType is the type of Cluster this ReloaderReport
// is for.
ClusterType ClusterType `json:"clusterType"`
// ResourcesToReload contains a list of resources that requires
// rolling upgrade
// +optional
ResourcesToReload []ReloaderInfo `json:"resourcesToReload,omitempty"`
}
func (*ReloaderReportSpec) DeepCopy ¶
func (in *ReloaderReportSpec) DeepCopy() *ReloaderReportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderReportSpec.
func (*ReloaderReportSpec) DeepCopyInto ¶
func (in *ReloaderReportSpec) DeepCopyInto(out *ReloaderReportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReloaderReportStatus ¶
type ReloaderReportStatus struct {
// Phase represents the current phase of report.
// +optional
Phase *ReportPhase `json:"phase,omitempty"`
}
ReloaderReportStatus defines the observed state of ReloaderReport
func (*ReloaderReportStatus) DeepCopy ¶
func (in *ReloaderReportStatus) DeepCopy() *ReloaderReportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderReportStatus.
func (*ReloaderReportStatus) DeepCopyInto ¶
func (in *ReloaderReportStatus) DeepCopyInto(out *ReloaderReportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReloaderSpec ¶
type ReloaderSpec struct {
// +optional
ReloaderInfo []ReloaderInfo `json:"reloaderInfo,omitempty"`
}
ReloaderSpec defines the desired state of Reloader
func (*ReloaderSpec) DeepCopy ¶
func (in *ReloaderSpec) DeepCopy() *ReloaderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReloaderSpec.
func (*ReloaderSpec) DeepCopyInto ¶
func (in *ReloaderSpec) DeepCopyInto(out *ReloaderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReportPhase ¶
type ReportPhase string
ReportPhase describes the state of a classifierReport/healthReport/eventReport/reloaderReport. +kubebuilder:validation:Enum:=WaitingForDelivery;Delivering;Processed
type RequestType ¶
type RequestType string
RequestType specifies the type of AccessRequest +kubebuilder:validation:Enum:=SveltosAgent;Different
type Resource ¶
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.
// +kubebuilder:validation:MinLength=1
Version string `json:"version"`
// IgnoreForConfigurationDrift indicates to not track resource
// for configuration drift detection.
// This field has a meaning only when mode is ContinuousWithDriftDetection
// +kubebuilder:default:=false
// +optional
IgnoreForConfigurationDrift bool `json:"ignoreForConfigurationDrift,omitempty"`
// LastAppliedTime identifies when this resource was last applied to the cluster.
// +optional
LastAppliedTime *metav1.Time `json:"lastAppliedTime,omitempty"`
}
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceAction ¶ added in v1.0.0
type ResourceAction string
const ( NoResourceAction ResourceAction = "No Action" CreateResourceAction ResourceAction = "Create" UpdateResourceAction ResourceAction = "Update" DeleteResourceAction ResourceAction = "Delete" ConflictResourceAction ResourceAction = "Conflict" )
Define the Action constants.
type ResourceHash ¶
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 ¶
func (in *ResourceHash) DeepCopy() *ResourceHash
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceHash.
func (*ResourceHash) DeepCopyInto ¶
func (in *ResourceHash) DeepCopyInto(out *ResourceHash)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceReport ¶ added in v1.0.0
type ResourceReport struct {
// Resource contains information about Kubernetes Resource
Resource Resource `json:"resource"`
// Action represent the type of operation on the Kubernetes resource.
// +kubebuilder:validation:Enum=No Action;Create;Update;Delete;Conflict
Action string `json:"action,omitempty"`
// Message is for any message that needs to added to better
// explain the action.
// +optional
Message string `json:"message,omitempty"`
}
func (*ResourceReport) DeepCopy ¶ added in v1.0.0
func (in *ResourceReport) DeepCopy() *ResourceReport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReport.
func (*ResourceReport) DeepCopyInto ¶ added in v1.0.0
func (in *ResourceReport) DeepCopyInto(out *ResourceReport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSelector ¶
type ResourceSelector struct {
// 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.
// +optional
LabelFilters []LabelFilter `json:"labelFilters,omitempty"`
// Namespace of the resource deployed in the Cluster.
// Empty for resources scoped at cluster level.
// For namespaced resources, an empty string "" indicates all namespaces.
// +optional
Namespace string `json:"namespace,omitempty"`
// Name of the resource deployed in the Cluster.
// +optional
Name string `json:"name,omitempty"`
// Evaluate contains a function "evaluate" in lua language.
// The function will be passed one of the object selected based on
// above criteria.
// Must return struct with field "matching" representing whether
// object is a match and an optional "message" field.
// +optional
Evaluate string `json:"evaluate,omitempty"`
// EvaluateCEL contains a list of named CEL (Common Expression Language) rules.
// Each rule will be evaluated in order against each object selected based on
// the criteria defined above. Each rule's expression must return a boolean value
// indicating whether the object is a match.
//
// Evaluation stops at the first rule that returns true; subsequent
// rules will not be evaluated.
// +optional
EvaluateCEL []CELRule `json:"evaluateCEL,omitempty"`
}
ResourceSelector defines what resources are a match
func (*ResourceSelector) DeepCopy ¶
func (in *ResourceSelector) DeepCopy() *ResourceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSelector.
func (*ResourceSelector) DeepCopyInto ¶
func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceStatus ¶
type ResourceStatus struct {
// ObjectRef for which status is reported
ObjectRef corev1.ObjectReference `json:"objectRef"`
// If HealthCheck Spec.CollectResources is set to true, resource
// will be collected and contained in the Resource field.
// +optional
Resource []byte `json:"resource,omitempty"`
// HealthStatus is the health status of the object
HealthStatus HealthStatus `json:"healthStatus"`
// Message is an extra message for human consumption
// +optional
Message string `json:"message,omitempty"`
}
func (*ResourceStatus) DeepCopy ¶
func (in *ResourceStatus) DeepCopy() *ResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
func (*ResourceStatus) DeepCopyInto ¶
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSummary ¶
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 ¶
func (in *ResourceSummary) DeepCopy() *ResourceSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSummary.
func (*ResourceSummary) DeepCopyInto ¶
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 ¶
func (in *ResourceSummary) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceSummaryList ¶
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 ¶
func (in *ResourceSummaryList) DeepCopy() *ResourceSummaryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSummaryList.
func (*ResourceSummaryList) DeepCopyInto ¶
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 ¶
func (in *ResourceSummaryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceSummaryResource ¶ added in v1.0.0
type ResourceSummaryResource 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"`
// IgnoreForConfigurationDrift indicates to not track resource
// for configuration drift detection.
// +kubebuilder:default:=false
IgnoreForConfigurationDrift bool `json:"ignoreForConfigurationDrift"`
}
func (*ResourceSummaryResource) DeepCopy ¶ added in v1.0.0
func (in *ResourceSummaryResource) DeepCopy() *ResourceSummaryResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSummaryResource.
func (*ResourceSummaryResource) DeepCopyInto ¶ added in v1.0.0
func (in *ResourceSummaryResource) DeepCopyInto(out *ResourceSummaryResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSummarySpec ¶
type ResourceSummarySpec struct {
// Resources deployed by ClusterSummary because of referenced ConfigMaps/Secrets
// +optional
Resources []Resource `json:"resources,omitempty"`
// KustomizeResources deployed by ClusterSummary because of referenced
// KustomizationRef
// +optional
KustomizeResources []Resource `json:"kustomizeResources,omitempty"`
// Resources deployed by ClusterSummary because of referenced Helm charts
// +optional
ChartResources []HelmResources `json:"chartResources,omitempty"`
// Defines additional inline patches specifically designed to exclude certain fields from
// configuration drift evaluation.
// +optional
Patches []Patch `json:"patches,omitempty"`
}
ResourceSummarySpec defines the desired state of ResourceSummary
func (*ResourceSummarySpec) DeepCopy ¶
func (in *ResourceSummarySpec) DeepCopy() *ResourceSummarySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSummarySpec.
func (*ResourceSummarySpec) DeepCopyInto ¶
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 ¶
type ResourceSummaryStatus struct {
// Resources changed.
// +optional
ResourcesChanged bool `json:"resourcesChanged,omitempty"`
// KustomizeResources changed.
// +optional
KustomizeResourcesChanged bool `json:"kustomizeResourcesChanged,omitempty"`
// Helm Resources changed.
// +optional
HelmResourcesChanged bool `json:"helmResourcesChanged,omitempty"`
// ResourceHashes specifies a list of resource plus hash
ResourceHashes []ResourceHash `json:"resourceHashes,omitempty"`
// KustomizeResourceHashes specifies a list of resource plus hash
KustomizeResourceHashes []ResourceHash `json:"kustomizeResourceHashes,omitempty"`
// HelmResourceHashes specifies list of resource plus hash.
HelmResourceHashes []ResourceHash `json:"helmResourceHashes,omitempty"`
}
ResourceSummaryStatus defines the status of ResourceSummary
func (*ResourceSummaryStatus) DeepCopy ¶
func (in *ResourceSummaryStatus) DeepCopy() *ResourceSummaryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSummaryStatus.
func (*ResourceSummaryStatus) DeepCopyInto ¶
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 ¶
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 ¶
func (in *RoleRequest) DeepCopy() *RoleRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRequest.
func (*RoleRequest) DeepCopyInto ¶
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 ¶
func (in *RoleRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RoleRequestList ¶
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 ¶
func (in *RoleRequestList) DeepCopy() *RoleRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRequestList.
func (*RoleRequestList) DeepCopyInto ¶
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 ¶
func (in *RoleRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RoleRequestSpec ¶
type RoleRequestSpec struct {
// Selector identifies clusters to associate to.
// +optional
ClusterSelector Selector `json:"clusterSelector,omitempty"`
// RoleRefs references all the Secret/ConfigMaps containing kubernetes
// Roles/ClusterRoles that need to be deployed in the matching clusters.
// +optional
RoleRefs []PolicyRef `json:"roleRefs,omitempty"`
// ExpirationSeconds is the requested duration of validity of the TokenRequest
// associated to ServiceAccount. If not specified, default value is used
// +optional
ExpirationSeconds *int64 `json:"expirationSeconds,omitempty"`
// ServiceAccountName is the name of the ServiceAccount representing a tenant admin for which
// those permissions are requested
ServiceAccountName string `json:"serviceAccountName"`
// ServiceAccountNamespace is the name of the ServiceAccount representing a tenant admin
// for which those permissions are requested
ServiceAccountNamespace string `json:"serviceAccountNamespace"`
}
RoleRequestSpec defines the desired state of RoleRequest
func (*RoleRequestSpec) DeepCopy ¶
func (in *RoleRequestSpec) DeepCopy() *RoleRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRequestSpec.
func (*RoleRequestSpec) DeepCopyInto ¶
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 ¶
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 ¶
func (in *RoleRequestStatus) DeepCopy() *RoleRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleRequestStatus.
func (*RoleRequestStatus) DeepCopyInto ¶
func (in *RoleRequestStatus) DeepCopyInto(out *RoleRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulingConfig ¶ added in v0.45.0
type SchedulingConfig struct {
// Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
Schedule string `json:"schedule"`
// Optional deadline in seconds for starting the job if it misses scheduled
// time for any reason. Missed jobs executions will be counted as failed ones.
// +optional
StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"`
}
func (*SchedulingConfig) DeepCopy ¶ added in v0.45.0
func (in *SchedulingConfig) DeepCopy() *SchedulingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingConfig.
func (*SchedulingConfig) DeepCopyInto ¶ added in v0.45.0
func (in *SchedulingConfig) DeepCopyInto(out *SchedulingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Selector ¶
type Selector struct {
metav1.LabelSelector `json:",inline"`
}
func (*Selector) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector.
func (*Selector) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Set ¶
type Set struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec Spec `json:"spec,omitempty"`
Status Status `json:"status,omitempty"`
}
Set is the Schema for the sets API
func (*Set) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Set.
func (*Set) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Set) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SetList ¶
type SetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Set `json:"items"`
}
SetList contains a list of Set
func (*SetList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SetList.
func (*SetList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SetList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SourceStatus ¶ added in v1.0.0
type SourceStatus string
SourceStatus defines the lifecycle status of a source resource. +kubebuilder:validation:Enum=Active;Deleted
const ( // SourceStatusActive indicates the source resource is active. SourceStatusActive SourceStatus = "Active" // SourceStatusDeleted indicates the source resource has been deleted. SourceStatusDeleted SourceStatus = "Deleted" )
type Spec ¶
type Spec struct {
// ClusterSelector identifies clusters to associate to
// +optional
ClusterSelector Selector `json:"clusterSelector,omitempty"`
// ClusterRefs identifies clusters to associate to.
// +optional
ClusterRefs []corev1.ObjectReference `json:"clusterRefs,omitempty"`
// MaxReplicas specifies the maximum number of clusters to be selected
// from the pool matching the clusterSelector.
MaxReplicas int `json:"maxReplicas,omitempty"`
}
func (*Spec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Spec.
func (*Spec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct {
// MatchingClusterRefs reference all the clusters currently matching
// ClusterSet/Set ClusterSelector
MatchingClusterRefs []corev1.ObjectReference `json:"matchingClusterRefs,omitempty"`
// SelectedClusters reference all the cluster currently selected among
// all the ones matching
SelectedClusterRefs []corev1.ObjectReference `json:"selectedClusterRefs,omitempty"`
}
Status defines the observed state of ClusterSet/Set
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SveltosCluster ¶
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 ¶
func (in *SveltosCluster) DeepCopy() *SveltosCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosCluster.
func (*SveltosCluster) DeepCopyInto ¶
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 ¶
func (in *SveltosCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SveltosClusterList ¶
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 ¶
func (in *SveltosClusterList) DeepCopy() *SveltosClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosClusterList.
func (*SveltosClusterList) DeepCopyInto ¶
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 ¶
func (in *SveltosClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SveltosClusterSpec ¶
type SveltosClusterSpec struct {
// KubeconfigName allows overriding the default Sveltos convention which expected a valid kubeconfig
// to be hosted in a secret with the pattern ${sveltosClusterName}-sveltos-kubeconfig.
//
// When a value is specified, the referenced Kubernetes Secret object must exist,
// and will be used to connect to the Kubernetes cluster.
// +optional
KubeconfigName string `json:"kubeconfigName,omitempty"`
// KubeconfigKeyName specifies the key within the Secret that holds the kubeconfig.
// If not specified, Sveltos will use first key in the Secret.
// +optional
KubeconfigKeyName string `json:"kubeconfigKeyName,omitempty"`
// Paused can be used to prevent controllers from processing the
// SveltosCluster and all its associated objects.
// +optional
Paused bool `json:"paused,omitempty"`
// TokenRequestRenewalOption contains options describing how to renew TokenRequest
// +optional
TokenRequestRenewalOption *TokenRequestRenewalOption `json:"tokenRequestRenewalOption,omitempty"`
// ArbitraryData allows for arbitrary nested structures
// +optional
ArbitraryData map[string]string `json:"data,omitempty"`
// ActiveWindow is an optional field for automatically pausing and unpausing
// the cluster.
// If not specified, the cluster will not be paused or unpaused automatically.
ActiveWindow *ActiveWindow `json:"activeWindow,omitempty"`
// ConsecutiveFailureThreshold is the maximum number of consecutive connection
// failures before setting the problem status in Status.ConnectionStatus
// +kubebuilder:default:=3
// +optional
ConsecutiveFailureThreshold int `json:"consecutiveFailureThreshold,omitempty"`
// ReadinessChecks is an optional list of custom checks to verify cluster
// readiness
// +optional
ReadinessChecks []ClusterCheck `json:"readinessChecks,omitempty"`
// LivenessChecks is an optional list of custom checks to verify cluster
// is healthy
// +optional
LivenessChecks []ClusterCheck `json:"livenessChecks,omitempty"`
// PullMode indicates whether the cluster is in pull mode.
// If true, the agent in the managed cluster will fetch the configuration.
// If false (default), the management cluster will push the configuration.
//+kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
// +kubebuilder:default:=false
// +optional
PullMode bool `json:"pullMode,omitempty"`
}
SveltosClusterSpec defines the desired state of SveltosCluster
func (*SveltosClusterSpec) DeepCopy ¶
func (in *SveltosClusterSpec) DeepCopy() *SveltosClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosClusterSpec.
func (*SveltosClusterSpec) DeepCopyInto ¶
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 ¶
type SveltosClusterStatus struct {
// The Kubernetes version of the cluster.
// +optional
Version string `json:"version,omitempty"`
// Ready is the state of the cluster.
// +optional
Ready bool `json:"ready,omitempty"`
// ConnectionStatus indicates whether connection from the management cluster
// to the managed cluster is healthy
// +optional
ConnectionStatus ConnectionStatus `json:"connectionStatus,omitempty"`
// FailureMessage is a human consumable message explaining the
// misconfiguration
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
// LastReconciledTokenRequestAt is the last time the TokenRequest
// was renewed.
// +optional
LastReconciledTokenRequestAt string `json:"lastReconciledTokenRequestAt,omitempty"`
// AgentLastReportTime indicates the last time the Sveltos agent in the managed cluster
// successfully reported its status to the management cluster's API server.
// This field is updated exclusively when Sveltos operates in pull mode,
// serving as a heartbeat from the agent's perspective.
// +optional
AgentLastReportTime *metav1.Time `json:"agentLastReportTime,omitempty"`
// Information when next unpause cluster is scheduled
// +optional
NextUnpause *metav1.Time `json:"nextUnpause,omitempty"`
// Information when next pause cluster is scheduled
// +optional
NextPause *metav1.Time `json:"nextPause,omitempty"`
// connectionFailures is the number of consecutive failed attempts to connect
// to the remote cluster.
// +kubebuilder:default:=0
// +optional
ConnectionFailures int `json:"connectionFailures,omitempty"`
}
SveltosClusterStatus defines the status of SveltosCluster
func (*SveltosClusterStatus) DeepCopy ¶
func (in *SveltosClusterStatus) DeepCopy() *SveltosClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosClusterStatus.
func (*SveltosClusterStatus) DeepCopyInto ¶
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 ¶
type SveltosFeatureStatus string
+kubebuilder:validation:Enum:=Provisioning;Provisioned;Failed;Removing;Removed
type SveltosLicense ¶ added in v1.0.0
type SveltosLicense struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Status SveltosLicenseStatus `json:"status,omitempty"`
}
SveltosLicense is the Schema for the clustersets API
func (*SveltosLicense) DeepCopy ¶ added in v1.0.0
func (in *SveltosLicense) DeepCopy() *SveltosLicense
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosLicense.
func (*SveltosLicense) DeepCopyInto ¶ added in v1.0.0
func (in *SveltosLicense) DeepCopyInto(out *SveltosLicense)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SveltosLicense) DeepCopyObject ¶ added in v1.0.0
func (in *SveltosLicense) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SveltosLicenseList ¶ added in v1.0.0
type SveltosLicenseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SveltosLicense `json:"items"`
}
SveltosLicenseList contains a list of SveltosLicense
func (*SveltosLicenseList) DeepCopy ¶ added in v1.0.0
func (in *SveltosLicenseList) DeepCopy() *SveltosLicenseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosLicenseList.
func (*SveltosLicenseList) DeepCopyInto ¶ added in v1.0.0
func (in *SveltosLicenseList) DeepCopyInto(out *SveltosLicenseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SveltosLicenseList) DeepCopyObject ¶ added in v1.0.0
func (in *SveltosLicenseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SveltosLicenseStatus ¶ added in v1.0.0
type SveltosLicenseStatus struct {
// Status indicates the overall state of the license.
// Possible values:
// - Valid: License secret found, valid signature, not expired.
// - Expired: License secret found, valid signature, but expired.
// - Invalid: License secret found, but signature invalid or data malformed.
// - NotFound: No license secret found at the specified reference.
// +kubebuilder:validation:Enum=Valid;Expired;Invalid;NotFound
Status LicenseStatusType `json:"status,omitempty"`
// Message provides a human-readable explanation of the current license status.
Message string `json:"message,omitempty"`
// ExpirationDate is the exact expiration timestamp from the license payload,
// if a license was found and successfully parsed. This field will be present
// even if the license is expired or invalid, as long as the date could be extracted.
// +kubebuilder:validation:Format=date-time
ExpirationDate *metav1.Time `json:"expirationDate,omitempty"`
// Features is a list of feature strings enabled by this license.
// +optional
Features []string `json:"features,omitempty"`
// MaxClusters is the maximum number of clusters allowed for this license.
// +optional
MaxClusters *int `json:"maxClusters,omitempty"`
}
SveltosLicenseStatus defines the observed state of SveltosLicense
func (*SveltosLicenseStatus) DeepCopy ¶ added in v1.0.0
func (in *SveltosLicenseStatus) DeepCopy() *SveltosLicenseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SveltosLicenseStatus.
func (*SveltosLicenseStatus) DeepCopyInto ¶ added in v1.0.0
func (in *SveltosLicenseStatus) DeepCopyInto(out *SveltosLicenseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Techsupport ¶ added in v0.45.0
type Techsupport struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TechsupportSpec `json:"spec,omitempty"`
Status TechsupportStatus `json:"status,omitempty"`
}
Techsupport is the Schema for the techsupport API
func (*Techsupport) DeepCopy ¶ added in v0.45.0
func (in *Techsupport) DeepCopy() *Techsupport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Techsupport.
func (*Techsupport) DeepCopyInto ¶ added in v0.45.0
func (in *Techsupport) DeepCopyInto(out *Techsupport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Techsupport) DeepCopyObject ¶ added in v0.45.0
func (in *Techsupport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TechsupportList ¶ added in v0.45.0
type TechsupportList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Techsupport `json:"items"`
}
TechsupportList contains a list of Techsupport instances
func (*TechsupportList) DeepCopy ¶ added in v0.45.0
func (in *TechsupportList) DeepCopy() *TechsupportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportList.
func (*TechsupportList) DeepCopyInto ¶ added in v0.45.0
func (in *TechsupportList) DeepCopyInto(out *TechsupportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TechsupportList) DeepCopyObject ¶ added in v0.45.0
func (in *TechsupportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TechsupportSpec ¶ added in v0.45.0
type TechsupportSpec struct {
// FromManagement identifies which resources and logs to collect
// from the management cluster
// +optional
FromManagement FromManagement `json:"fromManagement,omitempty"`
// FromManaged specifies which resources and logs to collect from
// matching managed cluster.
// +optional
FromManaged FromManaged `json:"fromManaged,omitempty"`
// OnDemand indicates if tech support should be collected immediately.
// +optional
OnDemand bool `json:"onDemand,omitempty"`
// SchedulingConfig defines a schedule options for recurring tech support
// collections.
// +optional
SchedulingConfig *SchedulingConfig `json:"schedulingConfig,omitempty"`
// Notification is a list of delivery mechanisms.
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
DeliveryMethods []DeliveryMethod `json:"deliveryMethods"`
}
TechsupportSpec defines the desired state of Techsupport
func (*TechsupportSpec) DeepCopy ¶ added in v0.45.0
func (in *TechsupportSpec) DeepCopy() *TechsupportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportSpec.
func (*TechsupportSpec) DeepCopyInto ¶ added in v0.45.0
func (in *TechsupportSpec) DeepCopyInto(out *TechsupportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TechsupportStatus ¶ added in v0.45.0
type TechsupportStatus struct {
// Information when next techsupport is scheduled
// +optional
NextScheduleTime *metav1.Time `json:"nextScheduleTime,omitempty"`
// Information when was the last time a techsupport was successfully scheduled.
// +optional
LastRunTime *metav1.Time `json:"lastRunTime,omitempty"`
// Status indicates what happened to last techsupport collection.
LastRunStatus *CollectionStatus `json:"lastRunStatus,omitempty"`
// FailureMessage provides more information about the error, if
// any occurred
// +optional
FailureMessage *string `json:"failureMessage,omitempty"`
// Hash represents of a unique value for techsupport Spec at a fixed point in
// time
// +optional
Hash []byte `json:"hash,omitempty"`
}
TechsupportStatus defines the observed state of Techsupport
func (*TechsupportStatus) DeepCopy ¶ added in v0.45.0
func (in *TechsupportStatus) DeepCopy() *TechsupportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TechsupportStatus.
func (*TechsupportStatus) DeepCopyInto ¶ added in v0.45.0
func (in *TechsupportStatus) DeepCopyInto(out *TechsupportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TokenRequestRenewalOption ¶
type TokenRequestRenewalOption struct {
// RenewTokenRequestInterval is the interval at which to renew the TokenRequest
RenewTokenRequestInterval metav1.Duration `json:"renewTokenRequestInterval"`
// TokenDuration is the duration the requested token will be valid for.
// If not specified, the value of RenewTokenRequestInterval will be used.
// This allows the token to remain valid beyond the renewal interval,
// providing a buffer in case of connectivity loss.
// Example: renew every hour, token lasts 3 hours (buffer for disconnection)
// renewTokenRequestInterval: 1h
// tokenDuration: 3h
// +optional
TokenDuration metav1.Duration `json:"tokenDuration,omitempty"`
// SANamespace is the namespace of the ServiceAccount to renew the token for.
// If specified, ServiceAccount must exist in the managed cluster.
// If not specified, sveltos will try to deduce it from current kubeconfig
// +optional
SANamespace string `json:"saNamespace,omitempty"`
// SAName is name of the ServiceAccount to renew the token for.
// If specified, ServiceAccount must exist in the managed cluster.
// If not specified, sveltos will try to deduce it from current kubeconfig
// +optional
SAName string `json:"saName,omitempty"`
}
func (*TokenRequestRenewalOption) DeepCopy ¶
func (in *TokenRequestRenewalOption) DeepCopy() *TokenRequestRenewalOption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenRequestRenewalOption.
func (*TokenRequestRenewalOption) DeepCopyInto ¶
func (in *TokenRequestRenewalOption) DeepCopyInto(out *TokenRequestRenewalOption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnManagedLabel ¶
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 ¶
func (in *UnManagedLabel) DeepCopy() *UnManagedLabel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnManagedLabel.
func (*UnManagedLabel) DeepCopyInto ¶
func (in *UnManagedLabel) DeepCopyInto(out *UnManagedLabel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdatePhase ¶ added in v1.0.0
type UpdatePhase string
+kubebuilder:validation:Enum:=Ready;Preparing
type ValidateHealth ¶ added in v1.0.0
type ValidateHealth struct {
// Name is the name of this check
Name string `json:"name"`
// FeatureID is an indentifier of the feature (Helm/Kustomize/Resources)
// This field indicates when to run this check.
// For instance:
// - if set to Helm this check will be run after all helm
// charts specified in the ClusterProfile are deployed.
// - if set to Resources this check will be run after the content
// of all the ConfigMaps/Secrets referenced by ClusterProfile in the
// PolicyRef sections is deployed
FeatureID FeatureID `json:"featureID"`
// Group of the resource to fetch in the managed Cluster.
Group string `json:"group"`
// Version of the resource to fetch in the managed Cluster.
Version string `json:"version"`
// Kind of the resource to fetch in the managed Cluster.
// +kubebuilder:validation:MinLength=1
Kind string `json:"kind"`
// LabelFilters allows to filter resources based on current labels.
// +optional
LabelFilters []LabelFilter `json:"labelFilters,omitempty"`
// Namespace of the resource to fetch in the managed Cluster.
// Empty for resources scoped at cluster level.
// +optional
Namespace string `json:"namespace,omitempty"`
// Script is a text containing a lua script.
// Must return struct with field "health"
// representing whether object is a match (true or false)
// +optional
Script string `json:"script,omitempty"`
// EvaluateCEL contains a list of named CEL (Common Expression Language) rules.
// Each rule will be evaluated in order against each object selected based on
// the criteria defined above. Each rule's expression must return a boolean value
// indicating whether the object is a match.
//
// Evaluation stops at the first rule that returns true; subsequent
// rules will not be evaluated.
//
// +optional
EvaluateCEL []CELRule `json:"evaluateCEL,omitempty"`
}
func (*ValidateHealth) DeepCopy ¶ added in v1.0.0
func (in *ValidateHealth) DeepCopy() *ValidateHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidateHealth.
func (*ValidateHealth) DeepCopyInto ¶ added in v1.0.0
func (in *ValidateHealth) DeepCopyInto(out *ValidateHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- accessrequest_type.go
- classifier_types.go
- classifierreport_types.go
- clusterhealthcheck_type.go
- clusterset_type.go
- common_types.go
- configurationbundle_type.go
- configurationgroup_type.go
- debuggingconfiguration_types.go
- eventreport_type.go
- eventsource_type.go
- groupversion_info.go
- healthcheck_type.go
- healthcheckreport_type.go
- policyref.go
- reloader_type.go
- reloaderreport_type.go
- resourcesummary_type.go
- rolerequest_type.go
- set_type.go
- spec.go
- status.go
- sveltoscluster_type.go
- sveltoslicense_type.go
- techsupport_type.go
- zz_generated.deepcopy.go